Hlavní navigace

Nenáročný bezdrátový modul Warduxere: sestavení

26. 4. 2016
Doba čtení: 5 minut

Sdílet

Minule jsme se seznámili s hlavními funkčními celky modulu. Dnes shromáždíme součástky, zapneme páječku a programátor a vytvoříme si svůj programovatelný bezdrátový modul.

K sestavení zařízení bude potřebovat plošný spoj, procesor, wireless modul a pár součástek. Pro vyzkoušení a pokud nebude chtít zařízení provozovat dlouho na baterii, lze použít i běžné Arduino pro mini 8 MHz 3,3V. Seznam součástek:

Součástky

C1,C2,C3 100n
C4 10u
D1 LED
IC2 ATMEGA328P-AU
OP1 MCP6042 (MCP6002,MCP6L02)
R1 330R
R3 4k7
R2,R4 10k
R5,R6 2.2M -+0.5%
U1 MCP1700T-3302E/TT
WIRELESS1 DRF4432F20 – SI4432

Cílem je vytvořit zapojení, které je znázorněno na následujícím schématu, které je dostupné i v PDF warduxere-schema:

Deska plošných spojů

DPS (PCB) je navržena tak, aby se bez problému dala osadit i v domácích podmínkách. Proto jsou použity součástky SMD ve velkých v pouzdrech 1206, které jsou rozmístěny tak, aby se daly lehce pájet. Jedná se o dvoustranný plošný spoj s pokovenými otvory. Na kvalitně vyrobené desce s nepájivou maskou se bez problémů dobře pájí i procesor v pouzdře TQFP. Wireless modul je potřeba pájet jako poslední, jinak na pořadí pájení součástek příliš nezáleží.

Sestavení a oživení

Oživení zařízení se dá rozdělit na tyto kroky:

  1. Připájení procesoru a dalších součástek kromě wireless modulu
  2. Vypálení zavaděče
  3. Vyzkoušení programem na blikání
  4. Připájení wireless modulu
  5. Vyzkoušení wireless modulu

Při osazování součástkami začněte připájením procesoru (IC2), který přesně a se správnou orientací usadíte pinzetou a připájíte nejprve dva vývody v protilehlých rozích. Po kontrole přesného usazení připájíte zbylé vývody procesoru. Následuje připájení stabilizátoru U1. Pak už lehce připájíte zbylé součástky na dané straně plošného spoje. Jen nezapomeňte správně orientovat LED.

Na druhé straně začnete připájením operačního zesilovače (OP1). Nezapomeňte na správnou orientaci a postupujte obdobně jako u procesoru. Pak zbylé součástky na této straně desky.

Zavaděč

Nejjednodušší je připájet procesor už s naprogramovaným zavaděčem, ale je možné procesor programovat i po připájení na desku a k tomu jsou i na desce připravené vývody.

K nahrání zavaděče je potřeba hardwarový a softwarový programátor. Například se dá použít paralelní port počítače a pony-stk200 a program Avrdude. Každý asi použije programovací prostředky, na které je zvyklý. Jako programátor je možno použít i přímo Arduino. Do Arduina se nahraje program ArduinoISP a po propojení obou zařízení se vypálení zavaděče spustí přímo z Arduino IDE.

Vývody programátoru je potřeba připojit na plošky vývodu K1. Piny CPU jsou v pořadí zleva: 15 MOSI, 16 MISO, 17 SCK. Tyto piny je potřeba připojit k programátoru v případě Arduino ISP to jsou D11 (MOSI), D12 (MISO), D13 (SCK). Dále je potřeba připojit napájení (dokud není připájen stabilizátor, dá se použít ploška u odporu R4) a GND. Poslední je reset procesoru, ten lze vyvést například z plošky kondenzátoru C3. Jako reset u Arduina ISP slouží pin D10 .

Nyní je možno provést vypálení zavaděče. Jako zavaděč je použit standardní zavaděč pro Arduina. Procesor je nastaven na 8 Mhz s vnitřní oscilací.

Před vypálením zavaděče je potřeba v Arduino IDE vybrat správný typ zařízení, které definuje jeho parametry. Stačí do souboru arduino/hardware/arduino/boards.txt přidat následující obsah:

atmega328Wb.name=Warduxere by www.xeres.cz
atmega328Wb.upload.protocol=stk500
atmega328Wb.upload.maximum_size=30720
atmega328Wb.upload.speed=57600
atmega328Wb.bootloader.low_fuses=0xE2
atmega328Wb.bootloader.high_fuses=0xDA
atmega328Wb.bootloader.extended_fuses=0x05
atmega328Wb.bootloader.path=atmega
atmega328Wb.bootloader.file=warduxere.hex
atmega328Wb.bootloader.unlock_bits=0x3F
atmega328Wb.bootloader.lock_bits=0x0F
atmega328Wb.build.mcu=atmega328p
atmega328Wb.build.f_cpu=8000000L
atmega328Wb.build.core=arduino
atmega328Wb.build.variant=standard

Tyto hodnoty definují veškerou konfiguraci zařízení jak pro nahrání zavaděče, nastavení procesoru – lock bity, tak pro kompilaci programu a i rychlost nahrávaní programu.

Soubor warduxere.hex se zavaděčem včetně programu s blikáním LED je dostupný na GitHubu.

Po připojení USB-UART převodníku na vývody konektoru P1 můžete do procesoru nahrávat programy a vyzkoušet základní funkčnost blikáním LED. Vývody jsou v pořadí: GND,NONE,VCC,TX,RX,DTR. Nezapomeňte, že je třeba RX procesoru připojit na TX převodníku a naopak.

Na závěr připájejte wireless modul. Pro jistotu wireless modul podlepte izolační páskou. Připájejte ho tak, aby dosedal na procesor, tím se značně omezí případné mechanické namáhání spoje. Funkčnost následně ověříte nahráním vzorového programu pro bezdrátovou komunikaci. Pokud by byl modul například špatně připájen, vzorový program pošle po sériové lince informaci o problému s jeho inicializací.

Spotřeba

Orientačně jsem proměřil wireless modul, který při napětí na 3,3 V odebíral při vysílání 9 mA, v idle 1,4 mA , dle dokumentace ve spánku odebírá 1 µA. Procesor Atmega 328P při 5 V ve spánku odebírá 0,16 mA, po vypnutí ADC v jednotkách µA . Po optimalizaci pro minimalizaci odběru a při zapojení pouze procesoru a wireless modulu, jsem naměřil spotřebu 3,4 mA v idle a při uspání procesoru a wireless modulu 5µA.

Orientačně při zanedbání dalších vlivů by Warduxere mohlo vydržet pracovat i několik roků při napájení z jednoho článku Li-Pol/Ion baterie, jaké jsou například v telefonech. (V běžném použití se spíše použije knoflíková baterie.) V reálném použití však nejvíce záleží na konkrétní aplikaci a od toho se odvíjí i reálná výdrž běhu na baterii. Další věcí jsou pak připojené periferie, které je potřeba uspávat nebo musí být úsporné.

U kompletně osazeného Warduina jsem při uspání naměřil spotřebu necelých 10 µA.

Technické parametry

Vlastnosti zkompletovaného zařízení:

  • napájení: DC 3,4–6V
  • frekvence bezdrátové komunikace: 433MHz
  • dosah: až 900m
  • Spotřeba: run mód 5 mA; vysílání 10 mA; sleep 10µA
  • rozměry 25×25mm
  • komunikační rozhraní: sériová linka, 3,3V
  • vývoj je možný na libovolném OS i non-x86 PC

První realizace zařízení

Strana s operačním zesilovačem

Strana s procesorem

Hotové zařízení po připájení wireless modulu

Zhodnocení zařízení

Všech vytyčených bodů, včetně malých rozměrů a dlouhé doby provozu při napájení z baterie, jsem dosáhl. Díky tomu, že jsem vycházel z open-source řešení, byl vývoj ještě hladší a rychlejší než moje optimistické představy. I přes dosažení vytyčeného cíle jsou další možnosti, jak zařízení vylepšit. Dalo by se různě optimalizovat. Například zařízení ještě zmenšit a ideálně vyrobit v jednom kuse, kde by na jednom PCB byl procesor s wireless čipem. A samozřejmě vyvést piny procesoru na lištu.

Toto zapojení již více než rok bez problému slouží.

root_podpora

Další aktuální informace budou na webu autora na stránce o Warduxere. Podklady jsou k dispozici na GitHubu Wireless Arduino

Závěr

Nyní už máte zařízení hotové a můžete začít tvořit jednoduché ale i rozsáhlé bezdrátové senzorové sítě. Základní použití zařízení si popíšeme příště.

Byl pro vás článek přínosný?

Autor článku

Josef Jebavý je profesí linuxový admin a vývojář softwaru, ale zabývá se i hardwarem a elektronikou. Mimo dílnu a počítačové pracoviště se obvykle věnuje sportu.