Stavíme modul s malou spotřebou pro bezdrátovou komunikaci

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

Sdílet

Postavte si moduly pro bezdrátovou komunikaci, které mohou být po dlouhou dobu provozované na baterii. Používají standardní mikroprocesor Atmega 328P a mají velmi nízkou spotřebu.

Elektronická zařízení se stále rozšiřují. Často je potřeba je propojit. Než doma nebo venku pokládat kabely, je jednodušší použít bezdrátová zařízení. Pro úplnou volnost je nejlepší, když taková zařízení je napájeno z baterie. Pak je ale potřeba zajistit, aby zařízení mělo malou spotřebu!

Chtěl jsem jsem zařízení pro bezdrátovou komunikaci s malým datovým tokem, extra malou spotřebou a možností bateriového napájení. Platformu, která by sloužila jako základ určený k vývoji bezdrátových projektů. Po zkušenostech s jinými platformami, a když jsem nenašel na trhu již hotové řešení, co by vyhovovalo mým potřebám, jsem se rozhodl vyrobit vlastní zařízení.

Nyní se již na trhu vyskytují podobná hotová řešení, například:

  • Moteino
  • JeeNodes
  • Anarduino

Sice jsem je neměl v ruce, ale vypadají zajímavě. Avšak v době, kdy jsem bezdrátová řešení porovnával a navrhoval konstrukci zařízení, nic, co by splňovalo moje požadavky, na trhu nebylo.

Kritéria pro zařízení

Cílem bylo vyrobit zařízení, které bude zároveň obsahovat procesor i čip pro bezdrátovou komunikaci. Celek musí být samostatně použitelný nebo bude sloužit jako znovupoužitelný základ. Důraz je kladen na minimální energetickou spotřebu celého zařízení.

  • Kompilátor musí být: svobodný, multiplatformní, bez podmínek, podporovaný výrobcem procesoru.
  • Multiplatformní vývojové prostředky (IDE).
  • Standardizovaný hardware a software pro programovaní.
  • Možnost snadného vývoje – vyšší programovací jazyk, dostupnost knihoven a rozšiřujících zařízení.
  • Otevřené řešení.
  • Malé zařízení.
  • Energeticky úsporné zařízení, které vydrží dlouho na baterii.
  • Přesné měření baterie.
  • Bezdrátová komunikace.
  • Možnost připojit různé periferie.
  • Standardní práce s pamětí = přímý přístup do paměti.
  • Rozšířenost základních komponent a velká uživatelská komunita.

3D modely zařízeni:

Volba elektroniky

Jako základ jsem se rozhodl použít Arduino a tím pádem i procesory AVR od firmy Atmel. Díky Arduinu nebylo potřeba znovu objevovat již objevené a tvořit již hotové. Dají se použít již existující a osvědčené vývojářské prostředky tedy Arduino IDE. Také je možno k zařízení připojit a lehce používat spousty dalších komponent, pro které už existují knihovny, s jejichž API se připojené periférie rychle dají použít.

Protože druhou nejdůležitější částí je Wireless,chtěl jsem zařízení pojmenovat Warduino, ale pak jsem název upravil na rozumnější: Warduxere.

Procesor

Zařízení řídí mikroprocesor Atmega 328P v pouzdře TQFP. V mikroprocesoru je nahrán bootloader, který slouží pro pohodlné nahrání programu po sériové lince. Oproti běžnému Arduinu je zapojení částečně zjednodušeno, něco je při dáno a něco vyměněno. Úpravy jsou hlavně s ohledem na spotřebu.

Na spotřebu běžného Arduina má zásadní vliv:

  • power dioda
  • stabilizátor

Proto tuto diodu jsem odstranil a stabilizátor vyměnil za MCP1700, který má malou spotřebu. Aby byla snížena spotřeba, pracuje zařízení na 3,3 V a taktu 8 MHz. Z důvodů zmenšení počtu součástek jsem vynechal i krystal.

Wireless

Na trhu jsou ke koupi různé wireless čipy, obvykle i v podobě připravených modulů. Některé komunikují bezdrátově jen jedním směrem, některé umí i WiFi, ZigBee nebo jiné standardy. Liší se u nich i frekvence a komunikační rozhraní, kterým se dají připojit k mikroprocesoru. Někoho napadne i čip ESP8266, ale v době konstrukce zařízení nebyl k dispozici. Pokud je vyžadováno bateriové napájení, bude WiFi méně výhodné i kvůli větší spotřebě.

Nakonec jsem vybral čip SI4432. Tento čip umí přijímat i vysílat. S procesorem komunikuje pomocí sběrnice SPI a pracuje na frekvencích 240–930 MHz, má velký dosah a dle dokumentace výstupní výkon až +20 dBm. Také má malé napájecí napětí 1.8 – 3.6 V a malou spotřebu. Pořídil jsem již připravený malý modul DRF4432F20, který obsahuje čip SI4432 a je připravený pro práci na frekvenci 433 MHz. Výhoda této nižší frekvence oproti 2,4 Gh je i lepší propustnost zdmi.

Pro Arduino existují knihovny pro práci s čipem SI4432, konkrétně se jedná o knihovnu RadioHead RF22.

Parametry wireless modulu DRF4432F20 s čipem SI4432:

  • Napájecí napětí: 1,8~3,6 V
  • Pracovní frekvence: 433 MHz nebo 868 MHz
  • Modulace: FSK/GFSK/OOK
  • SPI rozhraní
  • Citlivost: –121dBm
  • Výstupní výkon: +20dBm
  • Rychlost datového přenosu: –0.123~256 kbps
  • Digital RSSI
  • Wake-up Timer
  • 64 bytes TX/RX FIFOs
  • Integrovaný napěťový regulátor
  • Frequency Hopping
  • Teplotní senzor a 8-bit ADC
  • Provozní teplota: –20°C ~+60°C
  • Odběr při standby: ≤ 1uA

Výstupy wireless modulu jsou připojeny na vstupy CPU 6→16, 7→15, 8→17, 9→14, 10→32. Modul je napájen stabilizovaným napětím 3,3 V. Výstupy wireless modulu 11 a 12 jsou připojen na zem. Výstup 5 na 3,3 V.

Rozmístění vývodu modulu DRF4432F20, viz obrázek:

Wireless modul je dodáván včetně antény, která se připojuje na výstup č. 13.

Konstrukce

Vše je voleno s ohledem na velikost a hlavně na úsporu energie. Proto procesor i celé zařízení pracuje na 3,3 voltech a takt procesoru je nastaven na 8MHz. Použit je vnitřní oscilátor, čímž se uspoří i místo na DPS a konstrukce je jednodušší. Jako napájení se předpokládá jeden článek baterie Li-Pol/Ion. Tyto baterie mají vhodné napětí, velkou kapacitu a jsou malé. Také na rozdíl od NiMH baterií netrpí samovybíjením, což při dlouhé době použití je znát. Po nabití baterie Li-Pol/Ion napětí na baterii dosahuje 4,2 V (dle typu baterie a nastavení nabíjecího programu).

Při vybíjení mají tyto baterie stále dostatečné pracovní napětí a právě pod hodnotu 3,3 V by nemělo napětí baterií klesnout. Například hranici 3,6 V je možné brát jako signál, že bude potřeba baterii dobít. Proto tyto parametry dělají z Li-Pol/Ion baterií kandidáta vhodného jako zdroj energie. V případě nejnovějších modelů kvalitních Li-Pol baterií a v závislosti na typu použití lze mít jako hraniční hodnotu i 3,0 V.

Zařízení obsahuje stabilizátor napětí MCP1700, který má malou spotřebu. Volbou stabilizátoru je i definováno vstupní napětí, které může být maximálně 6V. Konkrétně se jedná o stabilizátor MCP1700T-3302E/TT. Dle dokumentace jsou jeho parametry:

  1. typický klidový proud 1.6 μA
  2. maximální výstupní proud 250 mA
  3. úbytek 178mV při 250 mA

Úbytek napětí na stabilizátoru je sice malý, ale i tak je potřeba s ním počítat. V případě maximální hodnoty úbytku by bylo potřeba baterii vyměnit nejpozději při 3,47 V, protože pak by na procesoru a wireless modulu bylo již méně než předpokládané pracovní napětí 3,3V , Odběr zařízení však záleží i na dalších komponentách a obvykle je mnohem menší než maximální možný, takže i úbytek na stabilizátoru bude menší.

bitcoin_skoleni

Zařízení obsahuje operační zesilovač MCP6042, který má dle dokumentace klidový proud 600 nAPro malou spotřebu je potřeba volit i velké odpory (R5,R6) na děliči pro měření baterie, například o hodnotě 2,2M Ohm.

Závěr

Nyní jsou čtenáři seznámeni se hlavními funkčními celky. Příště si budete moci přečíst, jak zařízení sestavit a oživit.

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.