Rozdílový termostat RT2DS
vloženo:27.08.2010 aktualizováno:21.10.2015
Regulátor solárního ohřevu, 2x termostat, hodiny, datum, záznam MIN/MAX teploty, ruční provoz.
Rozsah měřených teplot: -55 ... +125°C, rozlišení 0,1°C
Přesnost: ±0,5°C v pásmu –10 ... +85°C.
Výstupy: 3x relé, přepínací kontakty AC250V/8A.
Napájení: AC230V
Program: (pouze pro nekomerční účely, only for non-commercial purposes)
pro PIC16F88 RT2DS_402.HEX (15,9 kB)
pro PIC16F1847 RT2DS-1847_406.HEX (16,4 kB)
Hlavička zdrojového kódu, programovací pojistky:
RT2DS_402.asm.txt (3 kB)
RT2DS-1847_405.asm.txt (3 kB)
Základní zobrazení.
Horní řádek, vlevo teplota kolektoru T1, vpravo teplota zásobníku T2.
Dolní řádek, čas, den v týdnu, datum.
Ovládací tlačítka.
(+) Plus: další zobrazení, plus při nastavování, přepíná výstup RT1 v ručním provozu.
(-) Mínus: předchozí zobrazení, mínus při nastavování, přepíná RT2 v Ru. provozu.
(N) Next: následující hodnota při nastavování, přepíná RT3 v Ru. provozu.
(S) Set: zahájení nastavování, konec nastavování a uložení hodnot.
Kontrolní LED, signalizace sepnutého relé.
Re1 termostat T1 (výstup RT1, kolektor)
Re2 termostat T2 (výstup RT2, zásobník)
Re3 rozdílový termostat (výstup RT3)
Rekord nová MIN/MAX teplota, Test senzorů.
Ovládání.
Při prohlížení slouží tlačítka (+/-) k přepínání zobrazení,
(+)dopředu, (-)dozadu.
Chceme-li nastavit některou, právě zobrazovanou hodnotu, stiskneme, případně podržíme tlačítko (S).
Jakmile začne hodnota blikat, můžeme jí změnit (+/-), dlouhý stisk urychlí přičítání/odečítání.
Tlačítkem (N) přejdeme na další hodnotu (vpravo), nebo zpět na začátek.
Nastavování kdykoliv ukončíme a zároveň hodnoty uložíme tlačítkem (S). Data se zálohují v EEPROM, aby se po vypnutí napájení neztratila.
Podsvícení displeje automaticky vypne po 256 sekundách nečinnosti tlačítek, stisknutím jakéhokoliv tlačítka se opět zapne.
Prohlížení hodnot je omezeno na 30s. od posledního stisknutí tlačítka, potom se automaticky přejde na základní zobrazení, teploty, čas, datum. To neplatí při nastavování (bliká hodnota) a v ručním provozu. V těchto případech také nezhasíná podsvícení displeje.
Regulátor solárního ohřevu.
Teplota v kolektoru T1 se porovnává s teplotou v zásobníku T2.
Bude-li teplota v kolektoru větší než v zásobníku, regulátor zapne oběhové čerpadlo/ventil, (výstup RT3) relé Re3.
Aby výstup nereagoval i na nepatrný rozdíl teplot, lze nastavit zapínací a vypínací diference, T.Dif.ZAP a T.Dif.VYP (0 ... 25,5).
Výstup RT3 zapne když bude T1 větší než T2+T.Dif.ZAP
Výstup RT3 vypne když bude T1 menší než T2+T.Dif.VYP
(S) start nastavování.
(+/-) změna hodnoty (krok 0,1).
(N) přepnout nastavování, ZAP/VYP.
(S) konec nastavování.
Diference ZAP nesmí být menší než VYP, při porušení této podmínky se hodnoty automaticky upravují. Např. chceme-li zvětšit diferenci VYP nad ZAP, zvětší se obě hodnoty.
Termostat T1 a T2.
Teploty T1 a T2 můžeme hlídat také samostatně, pomocí dvou nezávislých termostatů.
Rozsah referenční teploty -55 ... 125°C, hystereze 0 ... 25,5.
Ref.Teplota 1 a Hystereze pro teplotu T1, (výstup RT1) relé Re1.
Ref.Teplota 2 a Hystereze pro teplotu T2, (výstup RT2) relé Re2.
(S) start nastavování.
(+/-) změna hodnoty (krok 0,1).
(N) přepnout nastavování, teplota/hystereze.
(S) konec nastavování.
Hodiny, datum.
Čas a datum je odvozený od taktovací frekvence mikroprocesoru. Přesnost hodin tedy záleží na frekvenci krystalu. Kromě sekund se všechny hodnoty ukládají do EEPROM. Po zapnutí nebo výpadku napájení nemusíme znova všechno nastavovat.
(S) start nastavování, podržet zhruba 3s. dokud nezačnou blikat hodiny.
(+/-) nastavit hodiny.
(N) přechod na minuty.
(S) konec nastavování.
(+/-) nastavit minuty.
(N) přechod na sekundy.
(S) konec nastavování.
(+) nebo (-) podržet - vynulovat a zastavit sekundy. Rozběhnou se až po uvolnění tlačítka.
(N) přechod na datum.
(S) konec nastavování.
Den v týdnu, datum a měsíc se nastavují stejným způsobem.
(+/-) změna hodnoty.
(N) přechod na další hodnotu (z měsíce zpět na hodiny).
(S) konec nastavování.
Záznam MIN/MAX teploty.
Dosažená minimální nebo maximální teplota se ukládá společně s časem a datumem. Pokud došlo k novému záznamu, rozsvítí se LED Rekord a při prohlížení, u konkrétní teploty, bliká nápis MIN/MAX Tx. Kromě záznamu při rekordní teplotě, lze hodnoty přepsat také ručně - podržením tlačítka (S), asi na 3s, vložíme aktuální teplotu, čas a datum.
Ruční provoz.
Pomocí tlačítek můžeme prostřednictvím výstupů RT1, RT2, RT3, ručně ovládat silová relé Re1, Re2, Re3.
Při zapnutí ručního provozu zůstanou stavy relé "zmrazené". Přepínat se mohou při nastavování, kdy stavy výstupů blikají. Signalizační LED vždy ukazuje sepnuté relé, logický stav příslušného výstupu může ale přitom být 1 nebo 0, záleží jak jsou nastavené zkratovací propojky.
(S) start nastavování, podržet asi 3s, dokud nezačnou stavy blikat.
(+) přepne RT1.
(-) přepne RT2.
(N) přepne RT3.
(S) konec přepínání. Stavy výstupů přestanou blikat, regulace ale začne až po opuštění tohoto režimu, přepnutím na jiný displej.
Zkratovací propojky.
Relé Re1, Re2, Re3 reagují na výstupy regulace RT1, RT2, RT3.
Pomocí zkratovacích propojek můžeme nastavit sepnutí relé na Log.1 nebo na Log.0. V obou případech svítí kontrolní LED při sepnutém relé.
Spínací úroveň Log.1 využijem pro ohřev, naopak Log.0 pro chlazení.
Oba JUMPERy vlevo = Log.1, vpravo = Log.0
Spíncí úrovně se nebudou měnit často, pravděpodobně jenom jednou, před uvedením do provozu, takže místo zkratovacích propojek stačí naletovat drátky, nebo kapkou cínu propojit plošný spoj.
Vyhledávání identifikačních čísel senzorů (SEARCH ROM).
Po každém zapnutí napájení (resetu) proběhne na jednovodičové sběrnici (DALLAS 1-Wire) identifikace senzorů DS18B20.
Podprogram HLEDAT načte a uloží prvních 8 bitů sériového čísla. Může se stát, že koupíte 2 senzory a oba budou mít tento první bajt stejný, v takovém případě můžete použít jenom jeden z nich. Stalo se mi to u 2 z 10 senzorů.
Protože komunikace může občas selhat, ověřují se přijatá data kontrolním součtem CRC a navíc, každému čidlu je přiděleno počítadlo poruch. Chybná komunikace počítadlo inkrementuje, zatímco správná ho nuluje. Při dočasné, náhodné chybě zůstává poslední platná teplota, proto se porucha senzoru neprojeví okamžitě. Až po dosažení určité úrovně počítadla poruch, bude místo teploty zobrazena Porucha.
Komunikace s čidlem ale pokračuje dál, a dosáhne-li počítadlo poruch další úrovně, zapíná se testovací režim. Četnost načítání teplot je zhruba 1x za 3 sekundy, tomu také odpovídá rychlost inkrementace počítadla poruch.
Kvalitu komunikace ovlivňuje zejména délka kabelu a úroveň rušení. Pro delší vedení je vhodnější kabel s větším průřezem drátů a stíněný při rušení, například při souběhu silového vedení. Délku kabelu lze kompenzovat Pull-Up rezistorem na 1-Wire, 4k7 až 1k. Delší kabel - menší Pull-Up.
Testovací režim neustále vyhledává identifikační kódy připojených DS obvodů. Nalezené kódy zobrazuje displej v HEX tvaru (00 až FF). Vyhledávání doprovází blikání kontrolní LED Rekord.
Čidlo s nižším kódem je vždy načteno jako první, potom druhé, s vyšším kódem. Pokud jsou obě čidla nová, budou v tomto pořadí také přiřazena, první T1 kolektor, druhé T2 zásobník.
Jestliže vyměníme jedno čidlo, může být to stávající načteno v jiném pořadí než dříve. Tato změna pořadí vedla ve staré verzi programu k opačnému přiřazení, takže senzory bylo nutné fyzicky prohodit. Například čidlo pro zásobník se muselo přendat na kolektor.
V novém programu budou čidla přiřazena podle pořadí jenom když jsou obě nová. Pokud vyměníme jedno čidlo, nové vždy zaujme jeho pozici a stávající zůstane na svém místě.
Testovací režim můžeme kdykoliv opustit stisknutím (podržením) tlačítka (S). Nebude-li stisknuto žádné tlačítko, zhruba 4 minuty, přejde displej do základního zobrazení automaticky.
Vybrat znak °C (kroužek).
Zobrazovací LCD modul BC1602A YPLEHS, má ve znakové sadě ASCII kód kroužku 178 (B2 HEX). Tento kód je v programu přednastaven. Jiný displej s jinou znakovou sadou, může mít místo kroužku jiný znak. Pomocí tohoto režimu lze vybrat jakýkoliv znak ze znakové sady konkrétního displeje.
(S+N) start výběr kroužku, v základním zobrazení stisknout (podržet) obě tlačítka (první S).
(+/-) změna znaku.
(S) konec a uložení kódu do EEPROM.
Napájení teplotních senzorů DS18B20 může být externí i parazitní, nebo kombinace obou způsobů.
Pro parazitní napájení stačí 2 vodiče, GND a datová linka (1-wire). Senzor je napájen pouze z datové linky. Pokud je linka ve stavu Log.1, nabíjí se vnitřní kondenzátor čidla, ten potom dodává napájecí proud, když je linka ve stavu Log.0. POZOR, při parazitním napájení je omezena měřená teplota, MAX 100°C.
Parazitní napájení.
Externí napájení.
Kombinace parazitního a externího napájení.
Schéma zapojení a plošné spoje.
Procesorová část (UniModul).
UM007.sch (151,5 kB) UM007.brd (37,2 kB)
Reálný čas je odvozen od taktovací frekvence mikroprocesoru PIC16F88, proto musí být frekvence krystalu Q1 4194304Hz nastavena přesně. Jemně se doladí kapacitním trimrem C3. Pokud se budou hodiny předcházet, zvětšíme kapacitu. Jestliže C3 nebude stačit, zvětšíme kapacitu kondenzátorů C1 a C2.
Načítání stavů tlačítek a komunikace s LCD displejem probíhá střídavě po 4-bitové sběrnici (RB4,5,6,7).
Kontrast displeje nastavíme trimrem R7, dobře to jde když na displeji bliká nějaký znak, při nastavování.
Propoj B3 - Podsvícení slouží k automatickému vypínání podsvícení LCD. Chcete-li aby displej svítil trvale, připojte na vstup Podsvícení +5V.
Desku UniModul můžete objednat na www.bucek.name/dps/dpswebnode.dat.htm
pod označením RR72.
Zdrojová část.
Z1WIRE.sch (306,6 kB) Z1WIRE.brd (44,4 kB)
Spoj pod cívkou L1 je nutné přerušit, deska je navržena pro variantu bez cívky.
Desku zdroje prodává také www.bucek.name/dps/dpswebnode.dat.htm
pod označením Z1-WIR.
Konstrukce.
Připojení čidla na telefonní kabel.
6-modulová krabička na DIN lištu www.enclosures-din.com/sk
E BOX 6M.
KRYTKA 3P (4ks).
Čelní sklo kouřové PANEL 6S, nebo čiré PANEL 6C .
Distanční plastové sloupky 30mm M3 (zkrácené na 28,5 mm).
Držák pojistky do plošného spoje.
Deska kontrolních LED.
Potisk panelu, papír (fotopapír) pod čelní sklo. Rozměry š. 9,8cm, v. 3,8cm.
Seznam součástek.
Procesorová část (UniModul)
IO1 | PIC16F88-I/P +sokl 18pinů precizní |
Q1 | krystal 4194304Hz |
Displej | LCD 2x16 znaků BC1602A YPLEHS LCD.pdf (380,1 kB) |
T1 | KC238 (BC548 a pod) |
C1,2 | 33p keramický |
C3 | 0-33p kapacitní trimr |
C4 | 100n keramický |
R1,2,3,4 | 1K |
R6 | 8K2 |
R7 | 2k2 trimr (rozteč 5-2,5) |
R8 | 10K |
TL1,2,3,4 | mikrospínač 6x6x17mm 12V/0.05A |
Konektor | konektorové kolíky lámací 10pinů |
Konektor LCD | patice precizní jednořadá 16pinů |
Zdroj.
(T1,2) | DS18B20 teplotní čidlo DALLAS, pouzdro TO-92 |
IC1 | 7805 stabilizátor 5V/1A |
Opto1,2,3 | PC815 optočlen |
U1 | můstkový usměrňovač 400V/1A pouzdro DIP |
D1,2,3 | 1N4007 1000V/1A |
D4 | BZV 06-15B 18V TRANSIL 18V |
D5,6 | BZV 06-5V8B TRANSIL 5,8V |
LED1,2,3,4 | LED dioda 3mm/2mA |
C1 | 1000uF/25V |
C2,3 | 100uF/25V |
C4,5 | M1 keramika |
R1,2,3 | 820 |
R4 | 1K |
(R Pull-Up) | 4K7 |
L1 | 10mH cívka |
Re1,2,3 | relé, cívka DC12V kontakty 2x přepínací AC250V/8A |
TR1 | transformátor do DPS AC230V/9V 1,9VA |
CON1 | dutinková lišta jednořadá 10pinů |
Pojistka | 0,1A + 2x držák pojistky do plošného spoje |
Svorkovnice | řadová, rozteč 5mm, 4x 3póly, 1x 2póly |
Zkratovací propojky | konektorové kolíky lámací 3x 5pinů + 6x zkraty (JUMPER) |