http://www.pablox.net

Monitor teploty v chladničke Tlačiť
Hodnotenie čitateľov: / 1
SlabéVynikajúce 
Napísal Administrator   
Piatok, 11 august 2017

 Jednoduché zariadenie na monitorovanie teploty chladničky, mrazničky s alarmom


Nápad na vytvorenie tohoto zariadenia som dostal asi dva mesiace dozadu, kedy nám z ničoho nič prestala chladiť chladnička a skoro celý deň si to nikto z nás nevšimol. Až keď nás ku nej dostal hlad, zistili sme, že je komplet rozmrazená a termostat si veselo čušal vypnutý. Aby sme podobným situáciám predišli, napadlo mi zostrojiť jednoduchý alarm s monitorovaním teploty a varovaním zvukovou signalizáciou.
mon1
Základom je Arduino Nano, ktoré som mal v šuplíku. Je celkom malé a tak sa dalo pekne prichytiť na zadnú časť znakového LCD 16x2 s radičom HD44780 alebo kompatibilným.

 

schema
Schéma pripojenia komponentov k Arduino NANO

 

mon2
Vzhľadovo nič moc, viem :)

Teplota je meraná dvoma kusmi digitálnych čidiel Dallas DS18B20. Sú zapojené trojvodičovou metódou. U dvojvodičového zapojenia bol problém s rušením (ktorá sa dá odstrániť použitím tieneného kábla).

Ako bzučiak poslúži ľubovoľný piezo bzučiak/repráčik, nemusí byť samovybudzujúci, nakoľko tón sa generuje v programe.

Signalizácia stavu monitora je tvorená dvojfarebnou LED (Červeno-zelená) so spoločnou katódou. LED má 4 stavy:
1. zelená - všetko v poriadku
2. oranžová - prekročenie nastavenej alarmovej teploty v priestore (v programe premenná chladnickaAlarmTepl a mraznickaAlarmTepl)
3. červená - alarmová teplota bola prekročená aj po uplynutí času oneskorenia pred spustením zvukového alarmu (v programe premenná oneskAlarm)
4. bliká striedavo oranžová/zelená - chyba niektorého z čidiel, na LCD sa zároveň zobrazuje, ktoré čidlo je vadné
 

mon
Zobrazenie údajov na LCD


Monitor má dva režimy pri zvýšení teploty nad nastavenú hodnotu:
1. režim s oneskorením alarmu (v programe premenná oneskAlarm) - pri krátkodobom zvýšení teploty, napr. dlhšie otvorené dvere pri nakladaní/vyberaní vecí. LED svieti na oranžovo, na LCD hore v pravo je zobrazený symbol výkričníka a zostávajúci čas do spustenia alarmu
2. režim alarmu - LED svieti na červeno, je spustená zvuková signalizácia

 

 

mon
Bola prekročená teplota v chladničke - po uplynutí času zobrazeného vpravo hore sa pustí alarm (ak sa teplota nevráti do normálu)

Zvukový alarm je možné oneskoriť o nastavený čas (v programe odlozenieAlarm) stlačením tlačidla na porte D7. V pravom dolnom rohu je zobrazený symbol hodín a opäť zostávajúci čas, po ktorého uplynutí: ak prekročenie alarmových teplôt trvá, opäť sa spustí zvukový alarm; ak sa teplota počas tohoto času vrátila pod alarmovú hodnotu, LED svieti opäť na zeleno a nič sa ďalej nedeje. 

 

mon
Odloženie zvukového alarmu po dobu zobrazovanú v pravom dolnom rohu


Výstup D13, na ktorom je zapojená zelená LED som prispôsobil tak, aby slúžil aj ako alarmový výstup na externé zariadenie (gsm alarm...). Ak je všetko ok, je v LOG.1, pri alarme alebo výpadku napájania prejde do LOG.0. Po alarme prejde do LOG.1 až keď je všetko v poriadku :)

mon
Chyba čidla - LED bliká zeleno-oranžovo

 

Oživenie:
1. najprv je potrebné zistiť adresy jednotlivých čidiel. Na to slúži program DS18B20_get_address.ino. Zoberieme prvé čidlo a pripojíme ho k Arduinu, dátový pin na pin D6. Nezabudnúť na Pull-up rezistor medzi Vcc a dátovým pinom čidla.

2. V Arduino IDE otvoríme sériový terminál, kde sa nám zobrazí adresa pripojeného čidla. Túto si poznačíme. Rovnaký postup urobíme aj s druhým čidlom. Adresy zadáme v programe do premenných DeviceAddress chladnicka_cidlo a DeviceAddress mraznicka_cidlo.

cidlo

 

3. pripojíme obidve čidlá k Arduinu a nahráme program chladnicka_alarm.ino.

4. V programe zadáme prevádzkové teploty v chladničke a mrazničke do premenných chladnickaNormTepl a mraznickaNormTepl. Teploty si buď odmeráme externým teplomerom alebo rovno osadíme čidlá monitora a odčítame ich z LCD.

5. Do premenných chladnickaAlarmTepl mraznickaAlarmTepl zadáme hraničné hodnoty, kedy sa spustí varovanie/alarm o prekročení teplôt.
6. Upravíme premenné oneskorení. Oneskorenie po prekročení teploty oneskAlarm a trvanie odloženia alarmu po stlačení tlačidla odlozenieAlarm. Defaultne nastavené na 3 minúty a 90 minút. Nakoľko sa pri počítaní času vykonávajú aj ďalšie programové veci, trvá jedna minúta asi 72 sekúnd, čo je upravené v programe. Tých pár sekúnd hore dole aj tak nevadí :)

Pre informáciu sa na LCD okrem aktuálnej nameranej teploty zobrazuje aj rozdiel medzi aktuálne nameranou teplotou a alarmovou teplotou nastavenou v programe (hodnota zobrazená na LCD za symbolom Delta). Stručne - kým je hodnota mínusová, je všetko ok. Akonáhle tu vyskočí kladná hodnota, spúšťa sa alarm.

 Ak riešite problém, ako dostať čidlá do vnútra chladničky/mrazničky bez poškodenia tesnenia dverí (alebo aby ste medzi tesnením a rámom chladničky mali medzeru kvôli prechádzajúcemu káblu), použite v mieste prechodu cez tesnenie páskový vodič. Je jedno aký, nájdete ich v starých CD/DVD mechanikách a iných zariadeniach. 

cidlo
Umiestnenie čidla v chladničke

 

Súbory na stiahnutie:

Hlavný program monitora chladničky
Program na zistenie adresy Dallas čidla
OneWire knižnica pre Arduino
DallasTemperature knižnica pre Arduino

LiquidCrystal knižnica pre Arduino

Posledná úprava ( Sobota, 12 august 2017 )
 
Ďalšia >