Řízení prostředí líhně

Jan Vélim, UREL, FEEC, VUT Brno,
xvelim00stud.feec.vutbr.cz

Lukáš Kaláb, UREL, FEEC, VUT Brno,
xkalab01stud.feec.vutbr.cz


Obsah:

  1. Úvod

  2. Realizace

  3. Závěr

  4. Literatura


Úvod

Cílem projektu bylo sestavit elektronické zařízení, pomocí něhož je v uzavřeném prostoru udržována teplota v předepsaném rozsahu. Dále zařízení má zajistit sepnutí/vypnutí stejnosměrného motorku vždy po 4 hodinách, což bude sloužit k pravidelnému otáčení vajec.


Realizace

Projekt je realizován na třech DPS. Bylo tak rozhodnuto z důvodu fyzického oddělení desky, na které se bude vyskytovat síťové napětí 230 V od hlavní desky s mikrokontrolérem. Třetí deska ovládá stejnosměrný motor, který je třeba umístit v zadní části líhně.

Napájení desek obstarává stabilizátor 7805 na jehož vstup je optimální přivést stejnosměrné napětí o velikosti 9 - 12 V. Jádrem systému je 8-bitový mikrokontrolér ATMega16 [1]. K měření teploty jsou použita dvě digitální čidla DS18B20 [4][5] se kterými bylo pracováno v rámci cvičení předmětu MMIA. Čidla lze připojit na libolný pin MCU. V tomto případě je využito pinů PD2, PD3. Čidla posílají do mikrokontroléru již digitální hodnotu po 1-wire sběrnici. K vyhřívání bude použito odporové tepelné těleso s napájením 230 V, které bude spínáno bistabilním relé. Jelikož vejce je třeba otáčet po 4 hodinách, bylo rozhodnuto, že k měření času bude použit externí RTC obvod. Na základě zkušeností byl zvolen obvod PCF8583P. Řídící signály pro motor jsou opticky odděleny obvodem TIL199, přičemž spouštění motoru je provedeno, tak aby při poruše byl motor vypnutý (pull down). Samotné řízení motoru je prováděno H můstkem L298N. K zobrazování byl, zejména z ekonomických důvodů, vybrán malý znakový LCD displej MC0802A-SYL/H, který má dva řádky o délce 8 znaků. Displej má svůj řadič ST7066U se základní znakovou sadou (anglická abeceda). Ačkoli na tak malém displeji nelze vytvořit z pohledu uživatele dokonale příznivé prostředí, k zobrazení teplot i času dostačoval (obr.5, 6).


Schéma zapojení


obr. 1 - Schéma zapojení mikroprocesoru a potřebných periferií


obr. 2 - Schéma zapojení stejnosměrného motoru



Vývojový diagram programu

Chod programu je znázorněn na vývojovém diagramu. Po připojení napájení program skočí do blokou inicializace do kterého spadá inicializace LCD displeje, sběrnice I2C, nastavení čítače/časovače 0, na který je připojen větráček. Nastaví se 16 bitový čítač/časovač, který generuje přerušení přibližně po 300 ms. V obsluze přerušení se kontroluje stisk 4 tlačítek. Následně se nastaví i 8 bitový čítač/časovač 2, pomocí něhož se řídí rychlost otáček stejnosměrného motorku. Jsou nastaveny výstupní porty a vstupní piny mikrokontroléru pro všechny periferie. Na závěr spadá do bloku inicializace globální povolení přerušení.

V dalším bloku jsou změřeny a vypočteny hodnoty teplot z obou čidel. Je vypočten rozdíl i průměrná hodnota. Obdobně se provede měření času. Jak bylo zmíněno výše, čas je získáván z externího RTC obvodu, který komunikuje s mikrokontrelérem prostřednictvím sběrnice I2C. Hodnota času je přenesena v BCD kódu a následně převedena do binární hodnoty, aby ji bylo možné zobrazit na displeji.

Následující blok obsahuje funkce, kterými jsou řízeny periferie. Vstupní hodnoty funkcí jsou získané údaje z předchozích bloků. Topení se zapíná/vypíná v závislosti na změřené hodnotě teploty. Rychlost otáčení větráčku, je přímoúměrně závislé s velikostí rozdílu teplot na obou čidlech. Větrák v líhni slouží k rozdmýchání stojatých míst, ve kterých se nachází místa studená a místa horká.

Blok menu je závislý na stisku uživatelských tlačítek. Blíže je blok popsán stavovým diagramem níže (obr. 4).

obr. 3 - Vývojový diagram programu



Stavový diagram ovládacího menu

Stavový diagram popisuje reakce přípravku na stisk uživatelských tlačítek. Po připojení napájení program automaticky začne zobrazovat hodnoty teplot obou čidel. Stiskem tlačítka 1 se přepíná mezi zobrazením teploty a času. Pouze ve stavu zobrazení teploty a času lze zapnout/vypnout podsvícení displeje (to ovšem ve stavovém diagramu není zakresleno).

Ze stavu zobrazení teploty se postupným stisknutím tlačítka 2 lze dostat do stavů, ve kterých se nastavuje teplota Tmin, při které se spíná topné těleso a teplota Tmax, při které se vypíná topné těleso. Hodnoty se nastavují postupně nejprve jednotky stupňů a následně desetiny stupňů. Nastavování je prováďěno tlačítkem 3 (nahoru) a tlačítkem 4 (dolů).

Ze stavu zobrazení času (ten je po zapnutí defaultně nastaven na 12:30) se stiskem tlačítka 2 nastavují hodiny a následně minuty, opět tlačítky 3, 4 (nahoru, dolů). Čas byl naprogramován tak, aby byl zobrazován ve 24 hodinovém režimu. Minuty musely byt ošetřeny, aby se při nastavování po hodnotě 59 skočilo do 0.

obr. 4 - Stavový diagram ovládacího menu



Fotodokumentace hotového prototypu

obr. 5 - Osazené a oživené DPS se zobrazením měřených teplot ze dvou čidel


obr. 6 - Ukázka zobrazení hodin na displeji


obr. 7 - Otevřená skříň líhně


obr. 8 - Zavřená skříň líhně



Veškeré zdrojové kódy a podklady pro výrobu DPS lze najít zde.


Závěr

Přípravek byl oživen a otestován v laboratorních podmínkách. Jak bude pracovat v plném nasazení měsíc v kuse bude zjištěno až po odvezdání projektu. Již v průběhu realizace byly zjištěny skutečnosti, které by bylo třeba řešit jiným způsobem, např. zakoupený větráček vyžadoval PWM modulaci s hodnotou 12 V, přičemž na výstupu mikrokontroléru lze dosáhnout nejvýše hodnoty 5 V.


Literatura

[1] ATMEL ATmega16 datasheet [online]. [cit. 22. května 2012]. Dostupné na WWW: http://www.atmel.com/Images/doc2466.pdf
[2] FRÝZA T., FEDRA Z., ŠEBESTA. J. Mikroprocesorová technika - Laboratorní cvičení [online]. [cit. 22. května 2012]. Dostupné na WWW: https://krel.feec.vutbr.cz/VYUKA/M_EST/MMIA/Texty/bmpt_laboratore.pdf
[3] HEJDOVÁ M., HOFMAN J. RTC (Real-Time Clock) [online]. [cit. 22. května 2012]. Dostupné na WWW: http://www.urel.feec.vutbr.cz/MIA/2011/Hejdova/index.html
[4] DALLAS DS18B20 datasheet [online]. [cit. 22. května 2012]. Dostupné na WWW: http://www.gme.cz/dokumentace/530/530-067/dsh.530-067.1.pdf
[5] SVADBÍK V. Ovládání teplotního čidla Dallas DS18B20 pro uC AVR [online]. [cit. 22. května 2012]. Dostupné na WWW: http://svadbik.webnode.cz/products/ovladani-teplotniho-cidla-dallas-ds18b20-pro-uc-avr/