MĚŘENÍ RELATIVNÍ VLHKOSTI A TEPLOTY VZDUCHU - STM32F429 a HIH-6131
- June 22 2014
- STM32F4, STM32F7, STM32L1, STM32F3, Nucleo, Discovery
- 4198x Přečteno
Zadání
Navrhněte a sestavte zařízení pro měření teploty a vlhkosti vzduchu. Pro měření bude použit snímač HIH-6131 připojený k mikropočítači přes sběrnici I2C. Po zmáčknutí tlačítka mikropočítač přijme od snímače naměřené hodnoty a zobrazí je na několik vteřin na displeji. Poté přejde do stand-by režimu a bude čekat na další stisk tlačítka.
Klimatické požadavky
1. Teplotní rozsah: 0 až 60 °C
2. Dovolená vlhkost: 10 % až 90 %
Požadavky na spotřebu
1. Napájecí napětí: 3 V
2. Napájecí proud mikropočítače: max. 70 mA, ve stand-by režimu 10 μA
Popis zapojení
K měření relativní vlhkosti a teploty vzduch se využívá snímač Honeywell HIH-6131. Ten je připojen k řídícímu mikropočítači pomocí sběrnice I2C. Výrobce udává měřící rozsah teplot -25 °C až +85 °C a rozsah relativní vlhkosti 10% až 90%. V pásmu mezi 5 °C a 50 °C by měla být přesnost ±4% relativní vlhkosti a ± 1°C. Napájecí napětí může být v rozsahu 2,3 V až 5,3 V.
Pro zpracování a zobrazení výsledků měření je využita vývojová deska STM32F429I DISCOVERY. Vše je řízeno mikrokontrolérem STM32F429ZIT6U s jádrem Cortex M4. Změřené výsledky nebo případná hlášení o chybách jsou zobrazovány na barevném LCD displeji. K ovládání slouží tlačítko, jehož stisknutím se měření spouští. Deska je napájena z USB, pro napájení mikrokontroléru i ostatních obvodů se používá napětí 3,3 V z výstupu stabilizátoru LD3985M33R.
Popis programu
Program mikrokontroléru je v jazyce C. Pro dosažení nízké spotřeby jsou co nejvíce využívány úsporné režimy. Po většinu času je mikrokontrolér ve stand-by režimu. Po stisku tlačítka se nejprve resetuje displej, aby byl připraven pro příjem nových dat pro zobrazení. Poté je nastavena I2C sběrnice a časovač TIM2, který je dále využíván pro určování doby trvání sleep režimu. Následuje komunikace se snímačem HIH-6131. Odešle se žádost o změření nových dat. Pak mikrokontrolér přejde na 30 ms do sleep režimu, během kterých snímač změří teplotu a vlhkost. Po probuzení ze sleep režimu se snímači odešle žádost o zaslání změřených dat, která jsou následně přijata. Pak je periferie pro I2C vypnuta. V případě chyby během komunikace po I2C sběrnici je generováno přerušení, komunikace ukončena a do proměnné uložena informace o druhu chyby.
V případě, že byly změřené hodnoty přijaty správně, se přepočte přijatá hodnota teploty na stupně Celsia a hodnota relativní vlhkosti na procenta a výsledky se zobrazí na displeji. V opačném případě se na displeji vypíše chybové hlášení. Dále se displeji pošle příkaz, aby se přepnul ze synchronizačních pulsů od mikrokontroléru na svůj vnitřní oscilátor. Pak mikrokontrolér přejde do sleep režimu, během kterého se dokončí právě vykreslovaný snímek. Pak už tento snímek zůstane zobrazený na displeji a řadič displeje, který je přímo součástí mikrokontroléru, se může vypnout.
Po vypnutí řadiče displeje přejde mikrokontrolér přibližně na 4 sekundy do režimu stop. Během tohoto režimu je většina obvodů mikrokontroléru vypnuta a jeho spotřeba je nízká. Po probuzení je vypnut displej a mikrokontrolér přepnut do stand-by režimu, ze kterého může být opět probuzen stiskem tlačítka.
Spotřeba energie
Průběh proudu odebíraného mikrokontrolérem je na obrázku 4. Maximální odebíraný proud je 23 mA. Staticky změřený proud během režimu stop je 3 mA a během stand-by režimu 2 μA. Při opakovaném spouštění každých deset sekund by tak byl průměrný proud mikrokontrolérem 6,3 mA a jeho průměrný příkon 21 mW. S prodlužujícím se intervalem spouštění by se spotřeba energie díky nízkému příkonu ve stand-by režimu významně snižovala.
K této spotřebované energii je potřeba přičíst ještě příkony displeje a snímače. Proud snímačem by měl být během měření a komunikace do 1 mA, jinak se snímač přepíná do spánku a proud je kolem 1 μA. Největší odběr z celého zapojení má displej. Proto jsou na něm zprávy zobrazovány vždy jen na několik sekund a poté je vypínán. Přesně ale proud displejem není na desce možné změřit.
Závěr
Navržené zařízení splňuje požadavky zadání na funkčnost i spotřebu energie. Program kontroluje správnou funkci a v případě poruchy zobrazí na displeji zprávu o chybě.
zdrojové kódy ke stažení zde.
fotografie zařízení: