Proto Knowledge
Module by : Noomnamon
XBee-PRO
ฝูงผ�้งสื่อสารไรสาย 2.4GHz สําหรับระบบสมองกล ฝงตัว ตอนที่ 1 นี่คือโมดูลสื่อสารขอมูลไรสายความถี่ 2.4GHz ที่ฮอตที่สุดตัวหนึ่งใน โลกของระบบสมองกลฝงตัว ขามฟามาหารัก ณ ดินแดนสยามเมืองยิ้ม ใหคนรักไมโครฯ ไดสรางระบบติดตอกันแบบไมมีสายไฟมาเกี่ยวของ TPE ภู มิ ใ จน� า เสนออี ก หนึ่ ง บทความชุ ด ที่ ว ่ า กั น ด้ ว ยระบบสื่ อ สารไร้ ส าย 2.4GHz ส�าหรับระบบสมองกลฝังตัวหรือ Embedded system นอกเหนือไปจากเรื่องของบลูทูธที่เรา น�าเสนอมาอย่างต่อเนื่องตั้งแต่ TPE ได้ลืมตามามองโลก ชื่อของอุปกรณ์สื่อสารไร้สายอีกตัว หนึ่งที่จะเข้ามาร่วมแจมในวารสาร TPE นับจากฉบับนี้เปนเวลาอย่างน้อย 4 ตอนคือ XBeePRO โมดูล XBee-PRO มิได้เปนแขกหน้าใหม่อะไรนักส�าหรับวงการสื่อสารข้อมูลไร้สาย โมดูลที่ชื่อมีชื่อเล่นซึ่งพวกเราตั้งกันเองว่า เจ้าผึ้งสื้อสารตัวนี้ได้ก�าเนิดเกิดก่อมาหลายปแล้ว ผู้ให้ก�าเนิดคือ Maxstream ในสหรัฐอเมริกา ก็ไม่รู้ไปท�าอีท่าไหน ปัจจุบัน XBee กลาย เปนสมบัติของ Digi International ไปซะแล้ว ท่านที่ภาษาอังกฤษแข็งแรงสามารถเข้าไป หาข้อมูลเพิ่มเติมได้ที่ www.digi.com
ส�าหรับบทความชุดนี้จะมีด้วยกัน 4 ตอนดังนี้
1. แนะน�าโมดูล XBee-PRO (ที่ท่านก�าลังอ่านอยู่ในขณะนี้ครับ)
2. การติดต่อสื่อสารข้อมูลระหว่างคอมพิวเตอร์กับไมโครคอนโทรลเลอร์ผ่านโมดูล XBee-PRO
56
The Prototype Electronics
3. การติดต่อระหว่างไมโครคอนโทรลเลอร์ 2 ตัวผ่านโมดูล XBee-PRO
4. การติดต่อระหว่างไมโครคอนโทรลเลอร์ 3 ตัวผ่านโมดูล XBee-PRO
ขอเชิญทุกท่านเริ่มติดตามไปพร้อมกัน ณ บัดนี้
ชื่อขา/การทำงาน
ขาที่
Vcc : ขาต่อไฟเลี้ยง +3.3V
2
DOUT : ขาเอาต์พุตส่งข้อมูลอนุกรม
3
DIN : ขาอินพุตรับข้อมูลอนุกรม
4
DO8 : ขาเอาต์พุตดิจิตอล ช่อง 8
5
RESET : ขารีเซตหลัก (แอกตีฟ “0”)
6
PWM0/RSSI : ขาเอาต์พุต PWM ช่อง 0 และขาเอาต์พุตแสดงความแรงของการรับสัญญาณ
7
PWM1 : ขาเอาต์พุต PWM ช่อง 1
8
ไม่ใช้งาน
9
DTR/SLEEP_RQ/DI8 : ขาอินพุตรับสัญญาณให้หยุดท�างานเข้าสู่โหมดสลีป หรือเปนขาอินพุต ดิจิตอลช่อง 8
10
GND : ขาต่อกราวด์
11
AD4/DIO4 : ขาอินพุตอะนาลอก 4 หรือ ขาอินพุตเอาต์พุตดิจิตอล 4
12
CTS/DIO7 : อินพุตรับสัญญาณแจ้งการส่งข้อมูลจากโฮสต์ (Clear-To-Send) ใช้ในการควบคุม จังหวะการรับส่งข้อมูล หรือเปน ขาอินพุตเอาต์พุตดิจิตอล 7
10
11 22.00 มม. (0.866 นิ้ว) 24.38 มม. (0.960 นิ้ว)
13
ON/SLEEP : ขาแสดงสถานะการท�างาน “1” : อยู่ในโหมดท�างานปกติ “0” : อยู่ในโหมดสลีป
14
VREF : ขาต่อแรงดันอ้างอิงส�าหรับโมดูลแปลงสัญญาณอะนาลอกเปนดิจิตอลภายใน XBee-PRO
15
Associated/AD5/DIO5 : ขาแสดงสถานะการเชื่อมต่อ หรือ ขาอินพุตอะนาลอก 5 หรือ ขาอินพุต เอาต์พุตดิจิตอล 5
16
RTS/AD6/DIO6 : ขาเอาต์พุตแจ้งความพร้อมในการส่งข้อมูล (Ready-To-Send) ใช้ควบคุมจังหวะ การรับส่งข้อมูล หรือเปนขาอินพุตอะนาลอก 6 หรือเปนขาอินพุตเอาต์พุตดิจิตอล 6
17
AD3/DIO3 : ขาอินพุตอะนาลอก 3 หรือ ขาอินพุตเอาต์พุตดิจิตอล 3
18
AD2/DIO2 : ขาอินพุตอะนาลอก 2 หรือ ขาอินพุตเอาต์พุตดิจิตอล 2
19
AD1/DIO1 : ขาอินพุตอะนาลอก 1 หรือ ขาอินพุตเอาต์พุตดิจิตอล 1
20
AD0/DIO0 : ขาอินพุตอะนาลอก 0 หรือ ขาอินพุตเอาต์พุตดิจิตอล 0
รูปที่ 1 ก�รจัดข�ของโมดูล XBee-PRO และฟงก์ชั่นในก�รทำ�ง�น
อุปกรณ์ที่ต้องใช้งานร่วมกับ XBee-PRO
- ระยะท� มสูงสุด 300 ฟุ ตหรือกประมาณ 100 เมตร 5 าการในร่ RESET : ขารี เซตหลั (แอกตีฟ "0") - ระยะท�าการกลางแจ้ง (แบบ line-of-sight) สูงสุดถึง 1 ไมล์ หรือประมาณ 1,500 เมตร 6 PWM0/RSSI : ขาเอาต์พุต PWM ช่อง 0 - ก�าลังส่ง 60 มิลลิวัตต์ (18dBm) และขาเอาต์พุตแสดงความแรงของการรับสัญญาณ - ความไวในการรับสัญญาณ -100 dBm (1% packet error rate) - ขนาด : 0.96 x 1.297 นิ ้ว หรือ 2.438 x 3.294 เซนติ 7 PWM1 : ขาเอาต์ พุต PWM ช่อง 1เมตร - ไฟเลี้ยง : 2.8 ถึง 3.4V 8 ไม่ใช้งาน - กระแสไฟฟา : เมื่อส่งข้อมูล 215mA, รับข้อมูล 55mA, น้อยกว่า 10mA ในโหมดลดพลังงาน DTR/SLEEP_RQ/DI8 : ขาอินพุตรับสัญญาณให้หยุดทำงานเข้าสู่โหมดสลีป 9 ที่ไฟเลี้ยง +3.3V
เป็นขาอิ - อุณหภูมิใหรื ช้งอาน -40 ถึ ง 85นoพุ C ตดิจิตอลช่อง 8
10 GND : ขาต่อกราวด์ คุณสมบัติดานการสื่อสารขอมูล 11 นพุตแอะนาลอก - สามารถท�AD4/DIO4 : ขาอิ างานเปนอุปกรณ์มาสเตอร์ ละสเลฟได้ 4 หรือ ขาอินพุตเอาต์พุตดิจิตอล 4
- อัตราถ่ายทอดข้ อมูลผ่านคลืน่นพุ วิทตยุรั : 250,000 บิ ตต่อวินงาที 12 CTS/DIO7 : อิ บสัญญาณแจ้ การส่งข้อมูลจากโฮสต์ (Clear-To-Send) - อัตราการถ่ า ยทอดข้ อ มู ล อนุ ก รม (บอดเรต) : 1,200 ถึ ตต่นอวิ ขาอิ นาที นพุตเอาต์พุตดิจิตอล 7 ใช้ในการควบคุมจังหวะการรับส่งข้งอ 115,200 บิ มูล หรือเป็ - รูปแบบโครงข่ายข้อมูลที่รองรับ : จุดต่อจุด (Point-to-point), จุดต่อหลายจุด (Point-to-multipoint)
13 และเข้ากัON/SLEEP : ขาแสดงสถานะการทำงาน นได้กับอุปกรณ์ตามมาตรฐานรหัส IEEE 802.15.4 - ทางเลือกแอดเดรส : PAN ID, ช่ อง (Channel) และแอดเดรส (Addresses) ส�าหรับแอดเดรส "1" : อยู่ในโหมดทำงานปกติ สามารถก�"0" : อยู าหนดรหัส่ในโหมดสลี แอดเดรสได้มปากถึง 65,000 รหัส - เทคโนโลยีในการกระจายคลื่น : DSSS (Direct Sequence Spread Spectrum)
- รองรับการท� างานทั้งแบบ API และ AT command สามารถก� าหนดได้ผญ ่านทางซอฟต์ แวร์ X-CTU นดิจิตอล 14 VREF : ขาต่ อแรงดันอ้างอิงสำหรับโมดูลแปลงสั ญาณอะนาลอกเป็ - การรับรองมาตรฐาน : สหรั ฐอเมริกา (FCC Part 15.247) ภายใน XBee-PRO
15
แคนาดา (IC) 4214A XBEEPRO Associated/AD5/DIO5 : ขาแสดงสถานะการเชื ยุโรป (CE) ETSI (ที่ก�าลังส่งสูงสุด 10dBm) ่อมต่อ หรือ ขาอินพุตอะนาลอก 5
16
หรือ ขาอินพุตเอาต์พุตดิจิตอล 5
ญี่ปุน 005NYCA0378 (ที่ก�าลังส่งสูงสุด 10dBm)
17 18
AD3/DIO3 : ขาอินพุตอะนาลอก 3 หรือ ขาอินพุตเอาต์พุตดิจิตอล 3 AD2/DIO2 : ขาอินพุตอะนาลอก 2 หรือ ขาอินพุตเอาต์พุตดิจิตอล 2
19 20
AD1/DIO1 : ขาอินพุตอะนาลอก 1 หรือ ขาอินพุตเอาต์พุตดิจิตอล 1 ุ กรม จุดจ ตุ ดต ่อ พ่ อพอร์ อร์ต อนุตอน กรม RS-232 AD0/DIO0 : ขาอินพุตอะนาลอก 0RS-232 หรือ ขาอินพุตเอาต์พุตดิจิตอล 0
จุจุดดต ต่ ออไฟเล ไฟเลี้ยี ้ ยง ง
บอร์ดเชื่อมตอโมดูล XBee-PRO กับคอมพิวเตอร์
RS-232 Serial port
MAX3222
สวิสวิตช ตช์์ เป เปิ ดดป ปิ ดด ไฟ เลีี ้ ยยงง ไฟเล
้ งโมด ทิทศิ ศทางการต ทางการติดิ ตัดต ้งั โมดู ลู ล XBee-PRO XBee-PRO
POWER
+3V D0 D1 D2 D3 D4
POWER
ขาพอร์ตตของโมด ของโมดูลู ล XBee-PRO XBee-PRO
GND
เปนบอร์ดส�าหรับติดตั้งโมดูล XBee-PRO เพื่อเชื่อมต่อกับ คอมพิวเตอร์ส�าหรับตั้งค่าพารามิเตอร์ต่างๆ โดยท�างานร่วมกับ ซอฟต์แวร์ X-CTU (สามารถดาวน์โหลดได้ฟรีที่ www.digi.com) ใน รูปที่ 2 แสดงรายละเอียดของบอร์ดเชื่อมต่อโมดูล XBee-PRO กับ คอมพิวเตอร์และการติดตั้งโมดูล XBee-PRO ลงบนบอร์ด ส�าหรับ วงจรของบอร์ดเชื่อมต่อโมดูล XBee-PRO กับคอมพิวเตอร์แสดงใน รูปที่ 3
RTS/AD6/DIO6 : ขาเอาต์พุตแจ้งความพร้อมในการส่งข้อมูล (Ready-To-Send) ใช้ควบคุมจังหวะการรับส่งข้อมูล หรือเป็นขาอินพุตอะนาลอก 6 หรือเป็นขาอินพุตเอาต์พุตดิจิตอล 6
DC Input 6V
32.94 มม. (1.297 นิ้ว)
1
Vcc : ขาต่อไฟเลี้ยง +3.3V 1 DOUT : ขาเอาต์ ส่งข้อมูลอนุกรมรุ่น XBP24-AWI-001 2 คุณสมบัติของโมดูลพุตXBee-PRO 3 DIN : ขาอินพุตรับข้อมูลอนุกรม คุณสมบัติโดยทั่วไป 4 DO8 : ขาเอาต์พุตดิจิตอล ช่อง 8 - ความถี่ในการท�างาน : 2.4GHz- สายอากาศ : มีสายอากาศแบบเสาสั้นหรือ Whip
ON
ขาที่ ชื่อขา/การทํางาน
20
1
คอนเน็กเตอร์สําหรับรองรับโมดูล XBee-PRO RESET
สวิ ตตช สวิ ช์์ รรีีเซ็เซต็ ต การทำงาน การท� างาน
ON ASS.
ไฟแสดงความแรงของ ไฟแสดงความแรงของ สสัั ญ ญญาณท ญาณทีี ่่อออกอากาศ อกอากาศ
LM339
ในการน�าโมดูล XBee-PRO มาใช้งานสามารถบัดกรีขาของ โมดูลเข้ากับแผ่นวงจรพิมพ์ได้โดยตรง โดยต้องก�าหนดระยะห่างของ จุดบัดกรีในแต่ละขาเปน 80 มิล (1 มิลเท่ากับ 1/1000 นิ้ว) หรือ 2 มม. หรือจะใช้คอนเน็กเตอร์ IDC ตัวเมียแถวเดี่ยว 10 ขา ที่มีระยะ ห่างของขาเท่ากับ 2 มม. จ�านวน 2 ตัวมาท�าเปนซ็อกเก็ตก็ได้ ในรูป ที่ 4 แสดงหน้าตาของคอนเน็กเตอร์ที่น�ามาท�าเปนซ็อกเก็ตส�าหรับ โมดูล XBee-PRO
ไฟแสดงสถานะ ไฟแสดงสถานะ ไฟแสดงสถานะการเชื ไฟแสดงสถานะการเช ่ อมต ่อื มต่ อ่ อ การทำงาน การท�างาน
รูปที่ 2 ร�ยละเอียดบอร์ดเชื่อมต่อโมดูล XBee-PRO กับคอมพิวเตอร์ และก�รติดตั้งโมดูล XBee-PRO ลงบนบอร์ด The Prototype Electronics
57
Technology : XBee-Pro
ครอบครัวของ XBee โมดูล XBee-PRO ที่น�ามาแนะน�าในบทความชุดนี้เปนหนึ่งในสมาชิกของกลุ่ม XBee และ XBee-PRO 802.15.4 OEM RF Modules ซึ่งเปน 1 ใน 9 หมวดของ ZigBee/Mesh/Point-toMultipoint Modules ของ Digi international โมดูล XBee ในแต่ละหมวดมีหน้าตาที่คล้ายกันมาก ความแตกต่างจะขึ้นกับ
1. ลักษณะของเครือข่ายสื่อสาร แบ่งเปน 2 กลุ่มหลักคือ Mesh และ Point-to-Multipoint
2. ในกลุ่มของ Mesh ยังแบ่งออกเปนอีก 2 โปรโตคอลคือ
โมดูล XBee-PRO ใช้ส�ยอ�ก�ศ แบบเส�สั้น (Whip antenna)
2.1 DigiMesh โดย DigiMesh ยังมีอีก 2 กลุ่มย่อยแยกตามความถี่คือ 2.4GHz (DigiMesh 2.4 RF Modules) และ 900MHz (DigiMesh 900 Mesh RF Modules)
2.2 ZigBee
3. ในแต่ละโปรโตคอลยังแบ่งออกเปน 2 กลุ่มตามก�าลังงานไฟฟาคือ แบบก�าลังต�่า (Low power ใช้ชื่อน�าหน้าว่า XBee) และแบบรัศมีท�าการสูง (Extended range ใช้ชื่อน�าหน้าว่า XBeePRO)
โมดูล XBee ใช้ส�ยอ�ก�ศแบบชิป (Chip antenna)
4. ในแต่ละกลุ่มของก�าลังงานไฟฟาและรัศมีท�าการยังแบ่งออกเปน 3 ชนิดย่อยตามชนิดของ สายอากาศอีกคือ สายกาศแบบชิป (chip antenna), สายอากาศแบบเสาสั้น (Whip antenna) และแบบต่อสายอากาศภายนอกผ่านคอนเน็กเตอร์ U.FL หรือ RPSMA
5. ในกลุ่ม Point-to-Multipoint แบ่งออกเปน 5 กลุ่มย่อยคือ
5.1 XBee-PRO 868 OEM RF Modules กลุ่มนี้ใช้ความถี่ 868MHz
5.2 XBee และ XBee-PRO 802.15.4 OEM RF Modules กลุ่มนี้ใช้ความถี่ 2.4GHZ ท�างานภายใต้ข้อก�าหนดของมาตรฐาน IEEE 802.15.4 โมดูล XBee-PRO ที่น�ามาใช้บทความชุดนี้ จะอยู่ในกลุ่มนี้ และมีการแบ่งกลุ่มย่อยตามก�าลังงานไฟฟา, รัศมีท�าการ และชนิดของสายอากาศ ด้วย
โมดูล XBee-PRO แบบใช้คอนเน็กเตอร์ U.FL ต่อส�ยอ�ก�ศภ�ยนอก
5.3 XBee-PRO XSC กลุ่มนี้มีก�าลังส่งไกลมาก โดยมีรัศมีท�าการสูงถึง 15 ไมล์หรือ 24 กิโลเมตร ความถี่ใช้งานคือ 900MHz ใช้สายอากาศแบบต่อภายนอกผ่านคอนเน็กเตอร์ U.FL หรือ RPSMA 5.4 XCite OEM RF Modules เปนโมดูลที่ผลิตขึ้นส�าหรับงานสั่งท�าเฉพาะ (OEM) ความถี่ใช้งานคือ 900MHz ก�าลังส่ง 4 มิลลิวัตต์ รัศมีท�าการ 300 เมตร มีรุ่นสายอากาศแบบเสาสั้น และแบบต่อสายอากาศภายนอกผ่านคอนเน็กเตอร์ U.FL
โมดูล XBee-PRO XSC แบบใช้คอนเน็ก เตอร์ RPSMA ต่อส�ยอ�ก�ศภ�ยนอก
5.5 XStream OEM RF Modules เปนโมดูลที่ผลิตขึ้นส�าหรับงานสั่งท�าเฉพาะ (OEM) เช่นกัน มี 2 รุ่นให้เลือกใช้คือ 5.5.1 ความถี่ 900MHz ก�าลังส่ง 100 มิลลิวัตต์ ระยะท�าการสูงสุด 20 ไมล์หรือ 32 กิโลเมตรแบบ Line-of-Sight 5.5.2 ความถี่ 2.4GHz ก�าลังส่ง 50 มิลลิวัตต์ ระยะท�าการสูงสุด 10 ไมล์หรือ 16 กิโลเมตร มีรุ่นสายอากาศแบบเสาสั้นและแบบต่อสายอากาศภายนอกผ่านคอนเน็กเตอร์ RPSMA ให้เลือกใช้
โมดูล XCite OEM แบบใช้คอนเน็กเตอร์ RPSMA ต่อส�ยอ�ก�ศภ�ยนอก
โมดูล XStream OEM แบบใช้คอนเน็ก เตอร์ RPSMA ต่อส�ยอ�ก�ศภ�ยนอก
58
The Prototype Electronics
+3.3V R1 10k
5
17
C1 0.1/50V
1
9
Vcc
INT0
10
17
AD0/DIO0
18
AD1/DIO1
19
AD2/DIO2
20
AD3/DIO3 AD4/DIO4
11
AD0/DIO0 AD1/DIO1 AD2/DIO2 AD3/DIO3 AD4/DIO4
C3 1/16V
GND
RSSI
15
T1OUT
15
DTR-232
RxD-232
14 R1IN 8 T2OUT 9 R2IN
LED1 ASS.
R5 10k
R6 10k
R4 10k
Q1 2N3904
12 T1IN 13 R1OUT 11 T2IN 10 R2OUT R2 510
R3 10k
C4 1/16V
6
2 TxD 3 RxD 12 CTS 16 RTS
ASS.
3
IC1 MAX3222
4 5
RST
SK1 XBEE socket
SW1 RESET
18
2 C2 1/16V
1 2 3 4
TxD-232
5
C5 1/16V
1
7 8 9 K1 RS-232 DB-9F
7 16
6
CTS-232 RTS-232
6 +3.3V +3.3V
3 6
R7 68k
7
R8 56k
4
R9 56k
8
R10 150k
10
5
9
11
1IN1OUT
1IN+
IC2 LM339
2IN-
2OUT
2IN+ 3IN-
3OUT
R11 1 510
2
14
LED2 LEVEL1
R12 510
LED3 LEVEL2
R13 510
การตั้งค่าคอนฟกูเรชั่นให้แก่โมดูล XBeePRO
LED4 LEVEL3
3IN+ 4IN4IN+ 12
K2 DC.input 4.5-12V
BD1 1A50V
IN C6 220/25V
IC3 1587T GND
J1 DC.input 4.5-12V
+3.3V
OUT R14 510
C7 100/16V
E
B
C
RC1587
LED5 ON
1 2 3 4 5 6 7 8 9 10
+VDD Dout Din DO8 RESET RSSI NC NC DTR/DI8 GND
Xbee
2N3904 SW2 POWER
20 19 18 17 16 15 14 13 12 11
AD0/DIO0 AD1/DIO1 AD2/DIO2 AD3/DIO3 RTS/DIO6 Associate/AD5/DIO5 Vref ON/SLEEP CTS/DIO7 AD4/DIO4
C8 0.1/50V GND IN OUT
รูปที่ 3 วงจรของบอร์ดเชื่อมต่อโมดูล XBee-PRO กับคอมพิวเตอร์ ขาของโมดูล XBee-PRO 1.8k
ขาของโมดูล XBee-PRO 3.3k
receiver pin) และต่อขา RxD ของโมดูล XBeePRO กับขา TxD ของโมดูล UART หรือขาพอร์ต เอาต์พุตใดๆ ที่ก�าหนดให้เปนขาส่งข้อมูลอนุกรม ของไมโครคอนโทรลเลอร์ ซึ่งก�าหนดการท�างาน ด้วยซอฟต์แวร์หรือเรียกว่า ขาส่งข้อมูลอนุกรม แบบซอฟต์แวร์ (Software serial transmitter pin) ทั้งนี้เนื่องจากในบางครั้งไมโครคอนโทรลเลอร์ ก็ มี ข าพอร์ ต ของโมดู ล สื่ อ สารข้ อ มู ล ผ่ า นพอร์ ต อนุกรมหรือ UART เพียงชุดเดียว และต้องน�าไป ใช้งานอื่นแล้ว เมื่อจะน�ามาต่อกับ XBee-PRO จึงต้องใช้งานขาพอร์ตปกติมาท�าหน้าที่แทน ดัง แสดงวงจรการเชื่อมต่อในรูปที่ 6
ขาพอร์ ไมโครคอนโทรลเลอร์ ขาพอร์ตตไมโครคอนโทรลเลอร์ ทีที่มมีแแรงด รงดันั นของระด ของระดับั ลอจิ กทีิ กที บลอจ แอลหรื อ 5V อ 5V ทีทีแอลหรื
จะ ต้อง ใช้ บอร์ด เชื่อม ต่อ XBee-PRO กับ คอมพิวเตอร์ (บอร์ด ZX-XBee) และ ซอฟต์แวร์ X-CTU มา ช่วย ใน การ ก�าหนด ค่า คอ นฟกูเรชั่น หรือ ค่า ก�าหนดการ ท�างาน ทาง ฮาร์ดแวร์ (1) ติดตั้ง โปรแกรม X-CTU เวอร์ชั่น ล่าสุด ดาวน์โหลด ได้ ฟรี จากเวบ ไซต์ ของ ผู้ผลิต ที่ www. digi.com ซึ่ ง ก าร ติ ด ตั้ ง เ หมื อ นกั บ ก าร ติ ด ตั้ ง โปรแกรม ประยุกต์ ทั่วไป (2) ติดตั้ง โมดูล XBee-PRO ลง บน บอร์ด เชื่อม ต่อ กับ คอมพิวเตอร์ ต้องระวัง เรื่อง ต�าแหน่ง ขา และ ทิศทาง ของ โมดูล ต้อง ติดตั้ง ให้ ถูกต้อง และ ไม่ เกิด การ เหลื่อม กัน เด็ดขาด เพราะ หาก ติด ตั้ง ผิด แล้ว เมื่อ จ่ายไฟ จะ ท�าให้ โมดูล เสียหาย ทันที (3) ต่อสายเชื่อมต่อระหว่างบอร์ดกับคอมพิ วเตอร์ ดังรูปที่ 7
(4) จ่ายไฟเลี้ยงบอร์ด จะเห็น LED ใน ต�าแหน่ง POWER และ ON ติด และ LED ใน ต�าแหน่ง ASS. กะพริบ หากไม่เปนไปตามนี้ ให้ รูปที่ 5 วงจรตัวต้�นท�นลดแรงดันข�พอร์ต รีบปดสวิตช์ ปลดไฟเลี้ยง แล้วตรวจสอบการติด รูปที่ 4 หน้�ต�ของคอนเน็กเตอร์ IDC ตัวเมีย 10 ให้เหลือ 3.3V เพื่อต่อกับโมดูล XBee-PRO ตั้งโมดูล XBee-PRO ทันที รวมทั้งตรวจสอบไฟ ข�แถวเดี่ยว ระยะห่�งระหว่�งข� 2 มม.ที่นำ�ม� ในกรณีที่ใช้กับระบบสมองกลฝงตัวที่ใช้แรง เลี้ยงที่ขา Vcc ของ XBee-PRO ว่าต้องอยู่ใน ทำ�เปนซ็อกเก็ตสำ�หรับโมดูล XBee-PRO ดัน +5V ช่วง +2.8 ถึง +3.3V โดยในการตรวจสอบนั้นต้อง ถอดโมดูล XBee-PRO ออกมาก่อน แล้ววัดแรง การเชื่อมต่อกับไมโครคอนโทรลเลอร์ ดันที่คอนเน็กเตอร์ตัวเมียที่ใช้ส�าหรับติดตั้งโมดูล เมือ่ จดั ซอื้ โมดูล XBee-PRO มาแล้ว สามารถ ดัน ที่ ขา พอร์ต +5V โดย ต้อง ต่อตัว ต้านทาน เพื่อ XBee-PRO ใช้งาน ได้ ทนั ที โดย ไม่ ตอ้ ง ม กี าร ตงั้ ค่า ใดๆ ทัง้ สิน้ โดย ลด แรงดัน ลง ดัง แสดง วงจร ตัวอย่าง ใน รูป ที่ 5 (5) เปดโปรแกรม X-CTU โดยดัยเบิลคลิกที่ ค่า ตงั้ ต้น ท มี่ าจาก โรงงาน ผผู้ ลิต คอื อัตรา บอด เปน ส่วนขาต่อใช้งานกับไมโครคอนโทรลเลอร์ ไอคอน บน Desktop ของคอมพิวเตอร์ หรือคลิกที่ 9,600 บิต ตอ่ วนิ าที 8 บิต ขอ้ มูล ไม่ม กี าร ตรวจสอบ ของ XBee-PRO หลักๆ มีเพียง 2 ขาคือ TxD และ Start > All Programs > Digi > X-CTU หน้าต่าง พา รติ ี้ และ 1 บิต หยุด หรือ 9600 8N1 นัน่ เอง RxD โดยต่อขา TxD เข้ากับขา RxD ของโมดูล ก�าหนดการเชื่อมต่อจะปรากฏขึ้นมาให้ท�าการ เนื่ อ งจาก โ มดู ล XBee-PRO ใช้ ไ ฟ เ ลี้ ย ง UART หรือขาพอร์ตอินพุตใดๆ ที่ก�าหนดให้เปน เลื อ กพอร์ ต ที่ ท� า การเชื่ อ มต่ อ เลื อ กอั ต ราบอด ได้ สูงสุด ไม่ เกิน 3.3V ดังนั้น ต้องระ มัด เรื่อง ไฟ ขารับข้อมูลอนุกรมของไมโครคอนโทรลเลอร์ ซึ่ง (Baurate) เปน 9600, Data 8 บิต, Parity ไม่มี เลี้ยง ให้ ดี รวมถึง การ น�าไป ใช้งาน ร่วมกับ ไมโคร ก�าหนดการท�างานด้วยซอฟต์แวร์หรือเรียกว่า ขา การตรวจสอบ และ Stop เปน 1 บิต ดังรูปที่ 8 คอนโทรลเลอร์ ที่ ใช้ ไฟ เลี้ยง +5V และ มี ระดับ แรง รับข้อมูลอนุกรมแบบซอฟต์แวร์ (Software serial The Prototype Electronics
59
Technology : XBee-Pro
+3.3V R1 10k
5 RST
C1 0.1/50V
1 Vcc
IC1
XBee-PRO
SW1 RESET 17
TxD
DIO0
RxD
18 DIO1 19 DIO2 20 DIO3 11 DIO4
Vcc
10
ASS.
Microcontroller 2
RxD
3
TxD
LED1 R2 ASS. 15 510
(7) คลิก ไป ที่ แท็ป Modem Configuration แล้ว กดปุม Read ใน กรอบ Modem Parameters and Firmware จะ ปรากฏ ข้อมูล ชื่อ รุ่น ของ โมดูล XBeePRO ชื่อ ฟัง ก์ชั่น หมายเลข เวอร์ชัน ของ เฟร์มแวร์ และ ค่า พารามิเตอร์ ต่างๆ ดัง รูป ที่ 10
(ก) เชื่อมต่อไมโครคอนโทรลเลอร์ระบบ +3.3V +3.3V +5V
R1 10k
5 RST
C1 0.1/50V
1 Vcc
SW1 RESET
TxD 17
DIO0
Vcc IC1
10
XBee-PRO RxD
Microcontroller
2
RxD 1.8k
3
18 DIO1 19 DIO2
TxD
ASS.
LED1 R2 ASS. 15 510
1 - NA หมายถึง ยังไม่มีการก�าหนดฟังก์ชั่น หรือส�ารองไว้ ต่ต่ออเข เข้้ าาก กัั บบพอร์ พอร์ ตตอน อนุ กุ รมของ กรม คอมพิ วเตอร์ิ โวเตอร์ ดยตรง โดยตรง ของคอมพ
UCON-232S
ต USB ต่ต่ออก กับั บพอร์ พอร์ต USB ของ ของคอมพ คอมพิ วเตอร์ิ วเตอร์
RESET
POWER
POWER
ON ASS.
GND
+3V D0 D1 D2 D3 D4
อพอร์ ุ กรมเข ากับ UCON-232S ต่ตอ่ อสายต สายต่อ่ พอร์ ตอนุตอน กรมเข้ ากับ้ UCON-232S ต ั วแปลงส ั ญญาณพอร์ ต USB ็ นพอร์ ตัวแปลงสัญญาณพอร์ต USB เปนเป พอร์ ตอนุกตอน รม ุ กรม ในกรณีที่คอมพิวเตอร์ ไม่มีพอร์ ตอนุกรม ในกรณีที่คอมพิวเตอร์ไม่มีพอร์ตอนุกรม
ON
บอร์ โมดูั ้ งโมด ล XBee-PRO ไว้ แล้ว ไว้ แล้ว บอร์ดด ZX-XBee ที ZX-XBee่ติดทีตั่ ต้งิ ดต ู ล XBee-PRO
รูปที่ 7 แสดงก�รเชื่อมต่อระหว่�งบอร์ดเชื่อมต่อโมดูล XBee-PRO รุ่น ZX-XBee กับคอมพิวเตอร์
60
The Prototype Electronics
(9) หาก ต้องการ เปลี่ยน อัตรา บอด ให้ ไป ที่ หัวข้อ Serial Interfacing คลิก เลือก ที่ บรรทัด BD - Interface Data Rate จะ ปรากฏ เมนู ให้ เลือก ค่า อัตรา บอด 8 ค่า ตั้งแต่ 1,200 ถึง 115,200 บิตต ่อ วินาที ดัง รูป ที่ 11
0 - DISABLE หมายถึง ปดการท�างาน (ปกติเปนค่าตั้งต้น)
(ข) เชื่อมต่อไมโครคอนโทรลเลอร์ระบบ +5V รูปที่ 6 ก�รเชื่อมต่อโมดูล XBee-PRO กับไมโครคอนโทรลเลอร์ สายต่ อพอร์ตตอน อนุกุ กรม รม สายต ่ อพอร์
(8) เมื่อ มา ถึงขั้น ตอนนี้ ผู้ใช้งาน สามารถ เปลี่ยน ค่า คอ นฟกูเรชั่น ได้ ตาม ต้องการ ไม่ว่า จะ เปนการ เลือก อัตรา บอด ใหม่ หรือ ก�าหนด รูปแบบ การ ท�างาน ของ ขา พอร์ต ของ XBee-PRO
(10) หาก ต ้ อ งการ เ ปลี่ ย น ก าร ท� า งาน ข อง ข า พอร์ต ให้ เลือก ไป ที่ หัวข้อ I/O Setting แล้ว เลือก ไป ที่ ขา พอร์ต ที่ ต้องการ เปลี่ยน ค่า จะ ปรากฎ ช่อง ให้ เลือก ฟัง ก์ชั่น การ ท�างาน ซึ่ง มี ด้วยกัน 5 แบบ คือ
3.3k
20 DIO3 11 DIO4
(6) กดปุม Test เพื่อทดสอบการติดต่อระหว่าง XBee-PRO กับ โปรแกรม X-CTU หาก ติดต่อกัน ได้ จะ ปรากฏ หน้าต่าง แจ้งผล การ ติดต่อ และ ข้อมูล ทาง ฮาร์ดแวร์ เบื้องต้น ของ โมดูล XBee-PRO ดัง รูป ที่ 9 หาก มี การ แจ้งความ ผิด พลาด ใดๆ เกิดขึ้น ใน ขั้น ตอน นี้ ให้ รีบ ปดสวิตช์ ปลด ไฟ เลี้ยง แล้ว ตรวจสอบ การ ติด ตั้ง โมดูล XBee-PRO และ การ เชื่อม ต่อ อีกครั้ง รวมทั้ง ต�าแหน่ง ขา พอร์ต ด้วย และ ถ้า จ�าเปน อาจ ต้อง ทดลอง เลือก อัตรา บอด ใหม่
2 - ADC หมายถึง เลือกเปนอินพุตอะนาลอก
3 - DI หมายถึง เลือกเปนอินพุตดิจิตอล
4 - DO LOW หมายถึง เลือกเปนเอาต์พุต ดิจิตอลลอจิกต�่า 5 - DO HIGH หมายถึง เลือกเปนเอาต์พุต ดิจิตอลลอจิกสูง จากนั้นกดปุม Write รอสักครู่ สังเกตที่ด้าน ล่างของหน้าต่าง Modem Configuration จะแสดง ข้อความเพื่อแจ้งสถานะการท�างาน หากเปนดังรูปที่ 12 แสดงว่า การก�าหนดค่าเสร็จสมบูรณ์ รีจิสเตอร์ที่ควรทราบของโมดูล Xbee-PRO การส่งข้อมูลและควบคุมระหว่างไมโครคอนโทร เลอร์หรือคอมพิวเตอร์กับโมดูล XBee-PRO นั้น จะใช้ การสื่อสารแบบอนุกรม UART ซึ่งโมดูล XBee-PRO
รูปที่ 10 หน้�ต่�งหลักของ X-CTU เมื่ออ่�น ข้อมูลออกม�จ�กโมดูล XBee-PRO
รูปที่ 8 หน้�ต่�งกำ�หนดก�รเชื่อมต่อระหว่�ง X-CTU กับโมดูล XBee-PRO
รูปที่ 12 หน้�ต่�งแสดงก�รกำ�หนดค่�คอนฟกูเรชั่น แก่โมดูล XBee-PRO ที่เสร็จสมบูรณ์ของโปรแกรม X-CTU
รูปที่ 9 หน้�ต่�งแจ้งผลก�รติดต่อและข้อมูล ท�งฮ�ร์ดแวร์เบื้องต้นของโมดูล XBee-PR สามารถใช้ความเร็วในการส่งข้อมูล (Baud rate) รูปที่ 11 ก�รตั้งค่�อัตร�บอด ได้ตั้งแต่ 1,200 จนถึง 115,200 บิตต่อวินาที (bps : bit per second) โดยค่าที่ก�าหนดเปนค่าเริ่มต้นคือ 9,600 บิตต่อวินาที และสามารถเปลี่ยนความเร็วใน ที่รีจีสเตอร์ SH และ SL แทนได้ เพื่อขยายให้มี การส่งข้อมูลได้ที่รีจีสเตอร์ BD จ�านวนโมดูลลูกข่ายได้มากขึ้น โดยก�าหนด MY ในการติดต่อสื่อสารระหว่างโมดูล XBee-PRO เปน 0xFFFE และ 0xFFFF สามารถจัดเครือข่ายได้หลายรูปแบบ โดยการแยก 4. รีจีสเตอร์ SH และ SL (Serial Number ช่องสัญญาณและเครือข่าย รีจีสเตอร์ที่ใช้ส�าหรับ High/Low) เปนรีจิสเตอร์เก็บค่าหมายเลขเฉพาะ จัดการเกี่ยวกับเครือข่าย มีดังนี้ หรือ Serial number ของแต่ละโมดูล สามารถใช้ 1. รีจีสเตอร์ CH (Channel) ใช้ก�าหนดช่อง เปนแอดเดรส 64 บิต (SH รวมกับ SL) โดยต้อง สัญญาณ เลือกได้ตั้งแต่ช่องที่ 0x0C ถึง 0x17 แต่ละ ยกเลิกแอดเดรส 16 บิตที่รีจีสเตอร์ MY ก่อน ค่า ในรีจิสเตอร์ SH และ SL เปลี่ยนแปลงไม่ได้ ช่องไม่สามารถส่งข้อมูลข้ามช่องสัญญาณกันได้ 2. รีจีสเตอร์ ID (PAN ID / Personal Area Network ID) ใช้ก�าหนดหมายเลขเครือข่าย เลือก ค่าได้ตั้งแต่ 0x0000 จนถึง 0xFFFE โดยแต่ละเครือ ข่ายจะไม่สามารถส่งข้อมูลข้ามเครือข่ายได้ ยกเว้น ก�าหนดด้วยค่า 0xFFFF จะสามารถส่งข้อมูลไปทุก เครือข่ายได้ แต่จะไม่สามารถรับข้อมูลจากเครือข่าย อื่นได้
5. รีจีสเตอร์ DH และ DL (Destination Address High/Low) ใช้ก�าหนดแอดเดรสของ โมดูลตัวรับ
การ ตั้งค่า ของ โมดูล XBee-PRO ท�าได้ 2 ทาง คือ ใช้ โปรแกรม X-CTU กับ บอร์ด เชื่อม ต่อ โมดูล XBee-PRO ต่อ กับ คอมพิวเตอร์ อีก ทาง หนึ่ง คือ ใช้ AT Command ซึ่ง สามารถ ดู ค�า สั่ง ต่างๆ เพิ่มเติม ได้ จาก ไฟล์ ดาต้า ชีต ของ โมดูล XBee-PRO ซึ่ง ดา วน์โหลด ได้ จาก www.digi.com เช่นกัน ก่อน การ ใช้ โมดูล XBee PRO ควร จะ ท�าการ ตรวจสอบ ตั้งค่า แอดเด รส ต่างๆ และ รูปแบบ ของ การ ส ่ ง ข ้ อ มู ล ก่ อ น น� า ไป ติ ด ตั้ ง กั บ บ อร์ ด ไ มโคร คอนโทรลเลอร์ เสมอ ในตอนหนาจะวากันดวยตัวอยางการติดตอ กับไมโครคอนโทรลเลอร ATmega16 ดวยโปรแกรม ภาษา C
www.tpemagazine.com
5.1 ถ้ า โมดู ล ตั ว รั บ ใช้ รี จี ส เตอร์ MY (แอดเดรส 16 บิต) ให้กา� หนดค่าของรีจสิ เตอร์ DH เปน 0x0000 และ DL เปนค่า MY ของโมดูลตัวรับ
5.2 ถ้าโมดูลตัวรับใช้รีจีสเตอร์ SH ร่วม 3. รีจีสเตอร์ MY (16-bit Source Address) กับ SL (แอดเดรส 64 บิต) ให้ก�าหนดค่าของรีจิ ใช้ก�าหนดแอดเดรส 16 บิตของแต่ละโมดูล เลือกค่า สเตอร์ DH เปนค่าของ SH และค่าของรีจิสเตอร์ ได้ตั้งแต่ 0x0000 ถึง 0xFFFD และสามารถยกเลิก DL เปนค่าของ SL ของโมดูลตัวรับ แอดเดรส 16 บิตนี้เพื่อไปใช้แอดเดรสขนาด 64 บิต The Prototype Electronics
61