RVTG regulátor vlhkosti, teploty a impulsní generátor
vloženo:08.07.2008 aktualizováno:04.10.2015
Regulace vytápění s časově nastavitelným termostatem a týdenním režimem není nic neobvyklého. Když se ale přidá regulátor vlhkosti, nabízí se další využití, například pro terária a líhně. A když líhně, tak ještě impulsní výstup pro automatické otáčení vajec.
RVTG může ale sloužit jenom jako informační panel, ukazující teplotu, vlhkost, čas, den v týdnu a datum.
Měření teploty a relativní vlhkosti zajišťuje sdružené čidlo SHT11. Teplota -40 až 120°C, vlhkost 0 až 100%. Kalibrace není nutná. Výpočet teploty a vlhkosti probíhá podle upraveného katalogového vzorce, včetně korekce vlhkosti podle aktuální teploty.
Regulátor má 5 výstupů, RT teplota, RV vlhkost, RI impuls, RF ventilátor a výstup pro ovládání podsvícení displeje.
Základem regulátoru je UniModul, viz popis VPR. Stejný je i mikroprocesor PIC16F88. Reálný čas ale potřebuje krystal 19660800Hz. Tato frekvence je snadno dělitelná na 1Hz.
MENU: zobrazení na displeji a nastavování.
První displej (po zapnutí napájení) zobrazuje aktuální teplotu a vlhkost a na dolním řádku čas, den v týdnu Po-Ne a datum den/měsíc. Chceme-li změnit čas nebo datum, stiskneme (podržíme) tlačítko S (4s). Jako první začnou blikat hodiny. Další údaje, minuty, sekundy, den v týdnu, datum, měsíc (a zpět na hodiny), vybereme postupně tlačítkem N. Blikající údaj změníme tlačítkem + nebo -. Dlouhý stisk (držení) zrychlí inkrementaci/dekrementaci. Pokud blikající hodnotu nechceme měnit, stiskneme rovnou tlačítko N, přejdeme tak na další údaj. Nastavování můžeme kdykoliv ukončí tlačítkem S. Hodnoty se uloží do EEPROM.
Při nastavování sekund, slouží tlačítka +/- pouze k nulování a zastavení (držení tlačítka), můžeme tak počkat na časový signál z rádia.
Ostatní displeje mají způsob nastavování podobný.
Tlačítko S zahájí/ukončí nastavování.
Tlačítka +/- mění blikající hodnotu.
Tlačítko N přesune nastavování na další, následující hodnotu, nebo zpět na začátek.
Pokud na displeji nic nebliká, nic se nenastavuje, slouží tlačítka +/- k procházení, listování v MENU.
Druhý displej zobrazuje požadovanou referenční teplotu a hysterezi.
Výstup termostatu RT zapne, bude-li aktuální teplota stejná nebo menší než Ref.teplota. A vypne, bude-li aktuální teplota větší než Ref.teplota + hystereze.
Ref.teplota může být nastavena jako dočasná (do) nebo trvalá (tr). Dočasná Ref.teplota (do) bude automaticky změněna dle nastavení časových změn (viz položky časových změn). Trvalá Ref.teplota (tr) zablokuje všechny časové změny, reguluje se pouze podle této Ref.teploty.
Zde můžeme Ref.teplotu také kdykoliv ručně změnit, pokud ale nastavíme (do) dočasná, vydrží pouze do příští časové změny.
Na zadávání časových změn se lze dostat jenom z tohoto displeje, tlačítkem N.
Výstup RF pro ventilátor reaguje také podle Ref.teploty.
RF = 1 (zapne), když bude naměřená teplota o 5°C větší než Ref.teplota.
RF = 0 (vypne), když bude naměřená teplota stejná nebo menší než Ref.teplota.
Třetí displej ukazuje požadovanou referenční vlhkost a svou hysterezi.
Regulace vlhkosti nemá žádné časové změny, provádí se podle zde nastavené hodnoty.
Výstup pro regulaci vlhkosti RV zapne když bude aktuální vlhkost stejná nebo menší než Ref.vlhkost. Jestliže vlhkost stoupne nad referenční + hystereze, výstup RV vypne.
Poslední základní displej zobrazuje impulsní generátor.
Zde jsou nastaveny délky logických stavů výstupu RI, ZAP=1, VYP=0.
Čas pro ZAP je možno zadat v sekundách nebo v minutách (1 sek až 255 min).
Zatímco čas pro VYP se zadává v minutách nebo v hodinách (1 min až 255 hod).
Zobrazení a nastavení časových změn.
K dispozici je 7 položek časových změn.
Na 1. položku časové změny se dostaneme pouze z displeje referenční teploty, tlačítkem N. Položky se potom vybírají tlačítky +/-. Návrat na referenční teplotu je možný z kterékoliv položky, opět tlačítkem N.
Každá položka obsahuje čas, teplotu a dny v týdnu. Po obvyklém nastavení času a teploty se nastavují dny, také tlačítky +/- a N. Postupně od pondělí (pod jedničkou) až po neděli (pod sedmičkou). Aktivní den je označen symbolem * a neaktivní symbolem -. Budou-li všechny dny neaktivní, bude celá položka neúčinná. Takto nastavte nepotřebné položky.
Vyhodnocování položek probíhá jenom když je nastaveno (do) dočasná Ref.teplota. V takovém případě se každou minutu porovnává čas a den v týdnu. Jestliže vše souhlasí, bude teplota časové změny přesunuta do Ref.teploty. Od toho okamžiku probíhá regulace podle této nové Ref.teploty.
Automatický návrat na první displej.
Nebude-li stisknuto žádné tlačítko (30s), vrátí se zobrazení na první displej. To neplatí při jakémkoliv nastavování (něco na displeji bliká).
Ovládání výstupů, podmínky regulace.
Výstupy spínají relé pomocí NPN tranzistorů (Log.1 = ZAP relé).
RT pro termostat.
RT = Log.1 když Teplota <= Ref.teplota
RT = Log.0 když Teplota > Ref.teplota + Hys
RF pro ventilátor (fan).
RF = Log.1 když Teplota > Ref.teplota + 5°C
RF = Log.0 když Teplota <= Ref.teplota
RV pro vlhkost.
RV = Log.1 když Vlhkost <= Ref.vlhkost.
RV = Log.0 když Vlhkost > Ref.vlhkost + Hys
Pozor, při nastavování (na displeji něco bliká), regulace nepracuje!
RI pro impulsní generátor.
Na tomto výstupu se střídají logické stavy 1/0.
Čas (délka) Log.1 dle nastavení imp.ZAP 1 sek až 255 min.
Čas (délka) Log.0 dle nastavení imp.VYP 1 min až 255 hod.
Generátor pracuje při jakémkoliv zobrazení na displeji (mimo vlastního nastavování). Po ukončení nastavování začíná generátor impulsem ZAP, tedy Log.1.
PO podsvícení displeje.
Podsvícení automaticky zhasne po 256s nečinnosti tlačítek. Stisknutí jakéhokoliv tlačítka, displej opět rozsvítí.
Podsvícení displeje se dá zapnout také trvale, připojením vstupu P přímo na +5V. Nebo podle schématu se zálohovacím akumulátorem, bude svítit jenom při napájení ze sítě.
Sdružený senzor teploty a vlhkosti SHT11.
Mikroprocesor komunikuje s čidlem po sběrnici I2C. Pokud se z jakéhokoliv důvodu nepodaří načíst data z čidla, zobrazí se místo teploty a vlhkosti nápis: PORUCHA SENZORU!
Výpočet vlhkosti a teploty.
Katalogové vzorce jsou upraveny tak aby se daly použít matematické podprogramy MPIC24B Matematika pro PIC
Katalogové vzorce:
Linearizace načtené hodnoty vlhkost (rh) s rozlišením 12bitů.
RLH = (rh*C2)+(rh*rh*C3)+C1
kde
RHL=lineární relativní vlhkost[%]
C1=-4
C2=0,0405
C3=-0,0000028
Výpočet teploty z načtené hodnoty (t) s rozlišením 14bitů.
TC = t*0,01-40
kde
TC=teplota[°C]
Korekce vlhkosti podle aktuální teploty.
RHK = (TC-25)*(rh*T2+T1)+RHL
kde
RHK=relativní vlhkost[%]
T1=0,01
T2=0,00008
TC=teplota
Upravené vzorce:
Linearizace načtené hodnoty vlhkost (rh) s rozlišením 12bitů.
HL = (rh*243/600)-(rh*rh/35714)-40
kde
HL=lineární relativní vlhkost *10[%]
Proč krát deset? Výsledek se zobrazuje s jedním desetinným místem.
Výpočet teploty z načtené hodnoty (t) s rozlišením 14bitů.
TC = t/10-400
kde
TC=teplota *10[°C]
Korekce vlhkosti podle aktuální teploty.
HK = ((TC-250)*(rh*10/125+10)+(HL*1000))/1000
kde
HK=relativní vlhkost *10[%]
Schéma zapojení. RVTG_02.sch (1,1 MB)
Základ zapojení tvoří UniModulu (horní část).
Pro ovládání relé stačí běžné tranzistory NPN, např. BC337. Pozor, proudové zatížení výstupů je maximálně 20mA.
TRANSIL D4 je na 20V (25V), D5 na 6,5V a mohou být jak bipolární tak unipolární.
Pokud nepotřebujete záložní akumulátor BAT, můžete vynechat D1 a D2 (nahradit propojkou).
Blokovací kondenzátor C10 naletujte co nejblíže k pouzdru čidla, společně s D5 slouží jako ochrana, obzvlášť při delším propojovacím kablíku. Bude-li kablík krátký (do 1m), můžete tyto součástky vynechat, včetně rezistoru PULLUP, mikroprocesor má totiž na vstupu B0 zapnutý vnitřní PULLUP.
Jumper J1 nabízí 2 možnosti ovládání podsvícení displeje, trvalé (při napájení ze sítě), nebo automatické zhasínání.
Zapojení konektoru.
1 A0 RV relé pro regulaci vlhkosti
2 A1 RI relé impulsního generátoru
3 A3 RF relé ventilátoru
4 A5 (nevyužito)
5 GND
6 B0 DATA čidlo SHT11
7 B1 CLK čidlo SHT11
8 B2 RT relé pro regulaci teploty
9 B3 výstup PO pro podsvícení
10 stabilizované +5V
Deska plošného spoje UniModulu. UM007.brd (37,2 kB)
Tlačítka a konektor displeje jsou naletované ze strany spojů.
Desku prodává www.bucek.name/dps/dpswebnode.dat.htm
pod označením RR72.
Rozpis součástek. (UniModul)
IO1 | PIC16F88 + sokl 18 pinů |
displej | LCD 2x16 znaků BC1602A |
Q1 | krystal 19660800Hz |
T1 | BC337 |
C1, C2 | 15pF keramika |
C3 | 0-33pF kapacitní trimr |
C4 | 100nF keramika |
R1, R2, R3, R4 | 1k |
R5 | (2k2 neosazovat) |
R6 | 8k2 |
R7 | 2k2 trimr (rozteč 5-2,5) |
R8 | 10k |
TL1, TL2, TL3, TL4 | mikrospínač 6x6x17mm 12V/0.5A (B6819) |
konektor LCD | dutinková lišta precizní 16 pinů |
hlavní konektor | kolíky lámací 10 pinů |
Rozpis součástek. (zdroj)
IO2 | senzor SHT11 |
IO3 | stabilizátor 7805 |
D1, D2 | dioda 1N4001 |
D3 | schottky dioda BAT85 |
D4 | transil P6KE20CA-B 20V (25V) |
D5, D6, D7 | transil BZW06-5V8B 6,5V |
C10, C11, C12 | 100nF keramika |
C13 | elektrolyt 2200uF/16V |
C14, C15 | elektrolyt (tantal) 10uF/10V |
R9 | 220 ohm |
R10, R11, R12, R13 | 2k2 |
L1 | tlumivka 10uH |
BAT | akumulátor 4x 1,2V |
PULLUP | 10k |
Soubory ke stažení. (pouze pro nekomerční účely, only for non-commercial purposes)
Opraveno časování (imp.ZAP imp.VYP)
RVTG309.HEX (21,1 kB) program (PIC16F88)
RVTG309.asm (84,6 kB) zdrojový kód (programovací pojistky)