SVETELEKTRO

24. apríla 2012   Verzia pre tlač Verzia pre tlač

Vývojová doska pre RF moduly XBee – 2.časť


zawin

Testovacia doska pre moduly XBEE, test dosahu, nastavenie modulov pomocou AT príkazov alebo API módu

Testovacia doska, ktorú sme vyrobili, má slúžiť ako vzdelávacia pomôcka pre katedru Mechatroniky a Elektroniky Žilinskej univerzity. Pomocou nej bude možné vyskúšať si prácu s modulmi Xbee PRO 2. Pri návrhu konceptu sme kládli hlavné nároky na komunikačné rozhrania testovacej dosky tak, aby obsahovala rozhrania USB, RS-232 a RS-485. Je to z toho dôvodu, aby bolo možné najčastejšie používanými sériovými rozhraniami komunikovať s modulom. Ďalej sme požadovali za potrebné umiestniť na testovaciu dosku aj indikačné LED, ktoré nás budú informovať o stave modulu či aktivite prenosu dát. Na testovacej doske sme taktiež umiestnili aj 10-pinový konektor cez ktorý sa možno pripojiť k vstupno/výstupným linkám modulu.

Schému zapojenia a plošný spoj sme realizovali v programe Eagle 6.1. Testovacia doska je vyrobená na obojstrannej doske plošného spoja. Všetky súčiastky použité na testovacej doske sú v SMD puzdrách, čo minimalizovalo rozmery plošného spoja na rozmer 110x45mm.

Download: Schéma zapojenia a DPS v programe Eagle 6.1


Schéma zapojenia testovacej dosky



Doska plošného spoja testovacej dosky

BLOKOVÁ SCHÉMA TESTOVACEJ DOSKY



Modul XBEE PRO 2
Napájanie modulu je podľa špecifikácie 3,3V a maximálny odoberaný prúd modulom je pri vysielaní, a to 300mA. Na zabezpečenie napájacieho napätia pre modul som použil LDO stabilizátor LT1117-3.3V, ktorý svojimi parametrami vyhovuje na tento účel a navyše vďaka svojmu malému puzdru (SOT-223) nezabral na plošnom spoji veľa miesta. Tento stabilizátor môže byť napájaný buď cez USB alebo 12V DC konektor. Obe napätia sú vedené do stabilizátora cez diódy, takže je možné napájať modul aj súčasne z oboch zdrojov napájania.
Asynchrónna sériová linka XBee PRO modulu je pripojená na všetky tri komunikačné rozhrania (USB, RS-232, RS-485). Ku komunikačným modulom sú taktiež pripojené aj signály RTS a CTS, ktoré slúžia na kontrolu toku dát cez UART. Rýchlosť UART modulu môže byť v rozsahu 1200 bps – 1 Mbps.
Piny ON/SLEEP, RSSI a ASSOCIATE modulu sú vyvedené na indikačné LED. Pin ON/SLEEP indikuje či sa modul nachádza v stave spánku alebo je aktívny, RSSI rozsvecuje LED podľa intenzity prijímaného signálu a ASSOCIATE indikuje rýchlosťou blikania LED stav pripojenia k sieti.
Na vývojovej doske sa nachádzajú aj 3 mikrotlačidla. Mikrotlačidlo RESET slúži na reštartovanie modulu. Ďalšie 2 tlačidlá sú pripojené na I/O 0 a 1, kde možno testovať ich stav pomocou príkazov.
Ostatné I/O piny modulu sú vyvedené na 10-pinový konektor, kde ich možno zapojiť podľa potreby.

USB komunikačné rozhranie
Prenos asynchrónnych sériových dát cez USB komunikačné rozhranie zabezpečuje obvod FT232RL od firmy FTDI. Tento obvod dokáže vytvoriť na počítači virtuálne sériové rozhranie pomocou ktorého možno prenášať asynchrónne sériové dáta do rýchlosti až 3 Mbps. Toto komunikačné rozhranie na vývojovej doske bolo zvolené najmä kvôli jednoduchému nastavovaniu parametrov modulu pomocou počítača.
UART modulu Xbee využívajú tri komunikačné rozhrania. Nato aby mohlo dané komunikačné rozhranie prenášať dáta s modulom, musia sa linky ostatných komunikačných rozhraní uviesť do stavu vysokej impedancie. Keďže I/O linky obvodu FT232RL sa nedokážu uviesť do stavu vysokej impedancie, museli sme vymyslieť náhradne riešenie.
Riešenie spočíva vo využití diódovej-rezistorovej logiky na realizovanie hradla AND.
Výstupy komunikačných rozhraní sú v stave bez signálu v log.1. Pri použití hradla AND môžu meniť svoju úroveň bez toho aby sa navzájom ovplyvňovali.
Ďalej sme zabezpečili neustále napájanie obvodu FT232RL, pretože v opačnom prípade by nebolo možné meniť log. Úrovne, nakoľko vnútorné ochranné diódy by nám to znemožnili.


Obr. 4.3 Realizácia hradla AND

RS-232 komunikačné rozhranie
Komunikačné rozhranie RS-232 alebo tiež nazývané sériová linka slúži na prenos asynchrónnych sériových dát na vzdialenosť max. 20m.
Štandardné zapojenie tohto rozhrania je realizované pomocou konektora DB-9 nasledovne:


Obr. 4.4 DB9 konektor rozhrania RS-232

Logické úrovne rozhrania v závislosti od napätí sú definované nasledovne:

Prenos dát na tomto rozhraní zabezpečuje obvod MAX3222. Na prenos dát slúžia signály RX a TX a na riadenie toku signály RTS a CTS. Signály sú privedené na konektor DB9 zo štandardným zapojením. Dôvodov prečo sme nemohli použiť dostupnejší MAX232 je viacero. Obvod MAX232 je určený na napájacie napätie 5V, pričom my používame napätie 3,3V a ďalším dôvodom je fakt, že obvod neobsahuje vstup (pin), ktorým by sa dali uviesť linky do stavu vysokej impedancie, čo je v prípade použitia viacerých rozhraní nutné.
Obvod MAX3222 potrebuje pre svoju prácu minimum externých súčiastok – stačí 5 keramických kondenzátorov o kapacite 100nF. Obvod dokáže zabezpečiť prenos dát do rýchlosti 1 Mbps.


Obr. 4.6 Schéma zapojenia obvodu MA3222 (prevzaté s katalógového listu obvodu)

Na vývojovej doske možno prepínať pomocou jumperov log. stav signálov EN a SHDN, kde možno pomocou nasledovnej tabuľky nastaviť vstupy (R_OUT) alebo výstupy (T_OUT) do aktívneho stavu, alebo stavu vysokej impedancie:

SHDN

EN

T_OUT

R_OUT

0

0

Vysoká impedancia

Aktívny

0

1

Vysoká impedancia

Vysoká impedancia

1

0

Aktívny

Aktívny

1

1

Aktívny

Vysoká impedancia

RS-485 komunikačné rozhranie

Tento štandard asynchrónneho sériového rozhrania sa používa najmä v priemyselnom prostredí. Od štandardu RS232 sa líši hlavne svojou definíciou napäťových úrovní, neprítomnosťou modemových signálov, či možnosťou komunikácie až na vzdialenosť 1200m (oproti 20m u RS232).

Prenos dát je najčastejšie realizovaný pomocou dvojvodičového diferenciálneho páru. Vodiče tohto páru sú označované písmenami A a B prípadne ako + a -. Sníma sa teda rozdiel napätí na vodičoch A a B, na rozdiel od rozhrania RS-232, kde sa napätia vzťahujú ku referenčnému bodu (GND). Výhoda tohto systému je taká, že rušenia ktoré vzniknú na trase sa naindukujú do obidvoch vodičov rovnako a tak ich možno úspešne potlačiť. Preto je možné dosahovať aj oveľa väčšie vzdialenosti v porovnaní s rozhraním RS-232.
Prijímač rozlišuje stav log. 1 (označovaný tiež ako „Mark“) pri rozdieli napätia A-B < -200mV. Stav log. 0 (označovaný ako „Space“) pri rozdieli napätia A-B > + 200mV. Vysielač by mal byť schopný generovať pri log. 1 (kľudový stav) rozdielové napätie A-B = -4V a pri log. 0 A-B = 4V.

Log. úroveň

Vysielač

Prijímač

Log. 0 (Space)

A – B = -4V

A – B > 200mV

Log. 1 (Mark)

A – B = 4V

A – B < -200mV
Nedefinovaná

Od -200 mV do +200 mV


Obr. 4.7 Napäťové úrovne rozhrania RS-485 pri prenose dát

Prenos dát po tomto rozhraní je zabezpečené obvodom MAX3483. Je určený na napájacie napätie 3.3V a dosahuje prenosové rýchlosti do 10 Mbps. Pre svoju činnosť nepotrebuje žiadne externé súčiastky. Signály rozhrania RS-485 sme vyviedli na 3 pólovú svorkovnicu.


Obr. 4.8 Schéma zapojenia obvodu MAX3483 (prevzaté s katalógového listu obvodu)

Na vývojovej doske možno prepínať pomocou jumperov log. stav signálov RE a DE, kde možno pomocou nasledovnej tabuľky nastaviť vysielač (DI) alebo prijímač (RO) do aktívneho stavu, alebo stavu vysokej impedancie:

RE

DE

DI

RO

0

0

Vysoká impedancia

Aktívny

0

1

Aktívny

Aktívny

1

0

Vysoká impedancia

Vysoká impedancia

1

1

Aktívny

Vysoká impedancia

NASTAVENIE PARAMETROV MODULU


AT mód
Prvá možnosť ako nastaviť parametre XBee modulu je pomocou AT príkazov zadávaných priamo do sériového terminálu na počítači.
Pomocou AT príkazov možno pohodlne čítať alebo zapisovať parametre modulu. Pre správnu činnosť treba správne nastaviť v termináli rýchlosť linky (základne nastavenie je 9600 baudov).

Príklad:
– vstup do AT módu zadaním znakov „+++“
– vyčítanie bezdrôtového kanála príkazom „ATCH

– nastavenie výkonu zariadenia príkazom „ATPL 4

– ukončenie command módu pomocou príkazu „ATCN

Pri čítaní parametra modulu nám odpovie jeho hodnotou. V prípade zadania príkazu na zmenu parametra modulu nám odpovie v prípade správnosti „OK“, v opačnom prípade „ERROR“.


Obr. 4.9 Zadávanie AT príkazov cez terminál na počítači

API mód
API mód možno použiť, pokiaľ predpokladáme automatické riadenie systému. Na to, aby sme mohli využívať API mód zariadenia, musíme nahrať príslušný firmware s označením API (v mojom prípade „ZIGBEE COORDINATOR API“) a zapnúť API mód. Potom môžeme riadiť modul cez API dátové rámce. V API móde možno využívať AT príkazy cez API identifikátor 0x08.

Príklad č.1. Zistenie bezdrôtového kanálu zariadenia
V prvom prípade sa pomocou API módu vyčíta bezdrôtový kanál zariadenia. Prislúchajúci AT príkaz je teda „ATCH“.

Pri API móde bude vyslaný packet vyzerať nasledovne:
0x7E 0x00 0x04 0x08 0x01 0x43 0x48 0x6B

Pričom:
– 0x7E – oddeľovací znak nového packetu
– 0x00 0x04 – dĺžka dátovej časti packetu (4 bajty)
– 0x08 – API identifikátor (AT Command)
– 0x01 – API frame – identifikácia packetu
– 0x43 0x48 – AT príkaz „CH“ – zistenie aktuálneho kanála
– 0x6B – kontrolný súčet (0xFF – 0x08 – 0x01 – 0x43 – 0x48)


Obr. 4.10 Odoslaný a prijatý API packet – zistenie kanálu zariadenia

Odpoveď prišla v tvare:
0x7E 0x00 0x06 0x88 0x01 0x43 0x48 0x00 0x0E 0xDD

Pričom:
– 0x7E – oddeľovací znak nového packetu
– 0x00 0x06 – dĺžka dátovej časti packetu (6 bajtov)
– 0x88 – API identifikátor (AT command Response)
– 0x01 – Frame ID – identifikácia packetu
– 0x43 0x48 – AT príkaz „CH“ – zistenie kanála
– 0x00 0x0E – odpoveď na AT príkaz (nastavený kanál E)
– 0xDD – kontrolný súčet packetu

Príklad č.2. Nastavenie výkonu zariadenia na hodnotu 4

V druhom prípade sa cez API mód nastaví výkon zariadenie na hodnotu 4. Zodpovedajúci AT príkaz je „ATPL 4“.

Vyšleme nasledovný reťazec:
0x7E 0x00 0x05 0x08 0x02 0x50 0x4C 0x04 0x55

Pričom:
– 0x7E – oddeľovací znak nového packetu
– 0x00 0x05 – dĺžka dátovej časti packetu (5 bajtov)
– 0x08 – API identifikátor (AT Command)
– 0x02 – API frame – identifikácia packetu
– 0x50 0x4C – AT príkaz „PL“ – výkon zariadenia
– 0x55 – kontrolný súčet (0xFF – 0x08 – 0x01 – 0x50 – 0x4C – 0x04)


Obr. 4.11 Odoslaný a prijatý API packet – nastavenie výkonu zariadenia

Odpoveď prišla v tvare:
0x7E 0x00 0x05 0x88 0x02 0x50 0x4C 0x00 0xD9

Pričom:
– 0x7E – oddeľovací znak nového packetu
– 0x00 0x06 – dĺžka dátovej časti packetu (6 bajtov)
– 0x88 – API identifikátor (AT command Response)
– 0x02 – Frame ID – identifikácia packetu
– 0x50 0x4C – AT príkaz „PL“ – výkon zariadenia
– 0x00 – odpoveď na AT príkaz (0x00 – znamená OK)
– 0xD9 – kontrolný súčet packetu

Program X-CTU
Aby sme nemuseli vytvárať zložitý a jednoúčelový program na nastavenie parametrov modulu, firma Digi International vyvinula pre jednoduchú prácu s modulom obslužný program pod MS Windows. Program je voľne šíriteľný, veľmi jednoduchý a intuitívny, takže vďaka nemu by malo byť nastavenie modulu vcelku jednoduché a správne.

Program je rozdelený na 4 základne časti:
PC Settings: V tejto časti nastavujeme sériovú linku ktorou budeme s XBee modulom komunikovať. Po nastavení sériovej linky môžeme otestovať komunikáciu s Xbee modulom vyčítaním jeho typu, firmwaru a sériového čísla cez tlačidlo „Test/Query“


Obr. 4.12 Testovanie komunikácie s modulom v programe X-CTU

Range Test: Táto časť slúži na testovanie dosahu XBee modulov. V nekonečnej slučke sa cyklicky odosielajú dáta a čaká sa na ich prijatie, pričom sa testuje úspešnosť ich návratu. Zároveň možno merať aj intenzitu signálu pomocou RSSI indikátora.

Terminál: Slúži ako štandardný terminál. Vyslané dáta sú zobrazené modrou, prijaté zas červenou farbou. Packet na odoslanie možno vytvoriť cez tlačidlo „Assemble Packet“ a to v ASCII alebo HEX formáte. Prijaté aj odoslané dáta možno zobraziť aj v HEX formáte stlačením tlačidla „Show HEX“.


Obr. 4.13 Práca s terminálom X-CTU

Modem Configuration:
Táto časť má 4 základné funkcie:
– Grafický interface na pohodlné nastavenie parametrov XBee modulu
– Zápis alebo čítanie parametrov XBee modulu
– Aktualizovanie firmwaru XBee modulu
– Nastavenie vzdialeného XBee modulu

Možno teda veľmi jednoducho a pohodlne v porovnaní s AT príkazmi nastaviť všetky parametre pripojeného alebo vzdialeného XBee modulu.


Obr. 4.14 Nastavenie parametrov modulu v programe X-CTU

VYTVORENIE SIETE


Pre testovanie bezdrôtového prenosu dát medzi dvoma modulmi som sa rozhodol vytvoriť sieť s topológiou Star. Sieť teda obsahuje jeden koordinátor a jedno koncové zariadenie (End Device). Nastavenie modulov XBee prebiehalo v programe X-CTU.

Nastavenie koordinátora
Koordinátor je zodpovedný za všetky hlavné parametre siete. Nato, aby XBee modul mohol fungovať ako koordinátor, treba najskôr doňho nahrať vhodný firmware. To spravíme v programe X-CTU v záložke Modem Configuration, kde vyberieme funkciu XBee zariadenia na – ZIGBEE COORDINATOR AT. Tlačidlom „write“ nahráme nový firmware, ktorý zmení jeho funkciu.

Po nahraní firmwaru treba nastaviť potrebné parametre pre vytvorenie siete:
– PAN ID – volíme ID siete (64 bitová adresa) – nastavujem na „0xABC“, pokiaľ chceme aby si koordinátor sám zvolil PAN ID zadáme hodnotu „0“.
– BD – Baud Rate – volíme rýchlosť asynchrónnej sériovej linky modulu – nastavujem na – „7 – 115200“

Nastavenie týchto 2 parametrov stačí k základnej činnosti koordinátora. Nastavenie koordinátora je zobrazené na Obr.4.12.
Po zapnutí testovacej dosky s nastavením XBee modulu ako koordinátor svieti LED indikátor RSSI a bliká LED ASSOCIATE frekvenciou 1Hz. Koordinátor teda čaká na pripojenie zariadení.

Nastavenie Koncového zariadenia
Tak ako v predošlom prípade, treba najskôr nastaviť funkciu zariadenia. V tomto prípade vyberám možnosť – ZIGBEE END DEVICE AT. Tlačidlom „write“ nahráme nový firmware, ktorý zmení modul na funkciu koncového zariadenia.

V prípade koncového zariadenia treba nastaviť tieto parametre:
– PAN ID – nastavenie ID siete na ktorú sa má koncové zariadenie pripojiť – nastavujem na „0xABC“
– BD Baud Rate – nastavenie prenosovej rýchlosti asynchrónnej sériovej linky modulu, ktorá musí byť zhodná s rýchlosťou koordinátora – nastavujem na „7 – 115200“

Pri zapnutí testovacej dosky s nastavením modulu XBee ako END DEVICE sa snaží zariadenie o pripojenie ku koordinátoru. Ak sa modulu podarí, indikačná LED ASSOCIATE začne blikať frekvenciou 2 Hz a rozsvieti sa LED RSSI.

Testovanie prenosu dát
Po korektnom nastavení oboch testovacích dosiek prišlo na rad testovanie. Po zapnutí oboch som skontroloval správnosť pripojenia koncového zariadenia ku koordinátoru. Spustil som sériový terminál, kde som nastavil prenosovú rýchlosť na 115 200 baudov. Výsledok testovania prenosu vidno na Obr. 4.17.



Obr. 4.17 Prenos dát pomocou modulov XBee

Testovanie dosahu zariadenia
Testovanie modulov XBee prebiehalo v dvoch prostrediach – v interiéri a exteriéri. Signál som meral v programe X-CTU, v záložke „Range Test“. Na testovacej doske s funkciou koncového zariadenia som spojil signály RX a TX asynchrónnej sériovej linky, tak aby prijaté dáta boli naspäť odosielané koordinátoru. Koordinátor zapojený do počítača cez USB meral v tomto programe signál RSSI prijatých packetov a vyhodnocoval ich správny návrat.

Pri testovaní v interiéri je dosah zariadenia veľmi malý, pretože útlm v tomto prostredí je pre pracovnú frekvenciu 2,4 GHz, ktorú používa zariadenie, značne veľký. Výrobca udáva dosah v budove 90m. Mne sa na vzdialenosť 12 metrov v budove, pričom prekážka bola jedna železobetónová stena, podarilo dosiahnuť silu signálu -86 dBm. Ťažko teda usúdiť či výrobca udáva v špecifikácii výrobku správny údaj, nakoľko dosah v budove je ovplyvnený viacerými faktormi.

Na Obr. 4.18 vidno snímku obrazovky, zostrojenú počas testovania modulov XBee v interiéri.


Obr. 4.18 Testovanie dosahu Xbee modulov v interiéri

Pri testovaní dosahu v exteriéri bol dosah už značne lepší. Testovacia doska s XBee modulom nastaveným ako koordinátor sa nachádzala v okne na 7 poschodí internátu. Testovacia doska s koncovým zariadením sa nachádzala na lúke vo vzdialenosti 250m, pričom bola zabezpečená priama viditeľnosť zariadení. Polohy zariadení možno vidieť na obr.4.16. Signál bol na úrovni -94 dBm, takže údaj o dosahu v exteriéri, udávaný v špecifikácii zariadenia môže byť správny.


Obr. 4.19 Testovanie dosahu XBee modulov v exteriéri


Obr. 4.20 Dosah modulov v exteriéri

Fotografia hotového výrobku



Použitá literatúra

BADIN, PAVEL. 2011. SYSTÉM BEZDRÁTOVÉHO PŘENOSU DAT ZE SNÍMAČE Z OTOČNÉ MEŘICÍ STOLICE. Bakalárska práca. Brno : ČVUT, 2011.
.
Černý, Viktor. 2009. Správa prvků bezdrátové sítě. Diplomová práca. Praha : ČVUT, 2009.
.
Chip, FTDI. 2010. Katalógový list obvodu FT232RL. [Online] 2010. https://www.ftdichip.com/Support/Documents/DataSheets/ICs/DS_FT232R.pdf.
.
International, Digi. 2008. Návod na prácu v programe X-CTU. [Online] 2008. https://ftp1.digi.com/support/documentation/90001003_A.pdf.
.
International, DIGI. Katalógový list obvodu XBee PRO Series 2. [Online] https://ftp1.digi.com/support/documentation/90000982_G.pdf.
.
Maxim-IC. 1994. Katalógový list obvodu MAX3483. [Online] 1994. https://datasheets.maxim-ic.com/en/ds/MAX3483-MAX3491.pdf.
.
Maxim-IC. 2007. Katalógový list obvodu MAX3222. [Online] 2007. https://datasheets.maxim-ic.com/en/ds/MAX3222-MAX3241.pdf.
.

Ako sa vám páčil tento článok?
  • Páči sa mi (0)
  • Súhlasím (0)
  • Zábavné (0)
  • Informatívne (0)
Najnovšie články od zawin (zobraziť všetky)

Komentáre (1)

  1. dxr píše:

    aky signal si mal 10m od intraku kvazi tieni ?
    inak na malovanie signalu pouzit netstumbler on ma taku funkciu ze
    dokaze kreslit cover mapu bude zaujimave co ti z toho vylezie 🙂

Pridaj komentár