Monitorovací jednotka kotle slouží pro sledování činnosti automatického kotle na uhlí. Můj kotel používá řídicí jednotku Tech ST37RS ke které je možné dokoupit internetový modul a sledovat kotel přes internet. Rozhodl jsem se, ale vytvořit vlastní řešení. Nejprve jsem zkoušel analyzovat datagram, který řídicí jednotka pravidelně vysílá přes komunikační konektor RS232 na úrovni 5V. Tento konektor je určen pro propojení s internetovým nebo GSM modulem. K tomuto protokolu jsem nenašel žádné informace a metodou pokusů jsem sice byl schopen některé potřebné data získat, jako třeba požadovanou teplotu, chod kotle, atd. to ale nebylo vše, co jsem chtěl mít k dispozici.
Nakonec jsem zvolil řešení mezikusu s Arduinem Mini k stávající řídicí jednotce ST37RS, která monitoruje stavy výstupů ventilátoru, čerpadla ÚT, šnekového podavače, a vstupu pro pokojový termostat dále má vlastní termočidlo pro měření teploty kotle a venkovní teploty.
Pro řízení ohřevu bojleru používám samostatnou vlastní řídicí jednotku, odkud jsou údaje o teplotě bojleru a chodu čerpadla TUV zasílány bezdrátově přes modul RX 433,92MHz do jednotky monitoru kotle.
Stavy výstupů ventilátoru, čerpadla a podavače na úrovni 230V jsou sledovány pomocí optočlenů CNY17-3 , jen výstup ventilátoru je sledován citlivějším optočlenem 4N35, protože výstup pro ventilátor je z řídicí jednotky řízen triakem s fázovým řízením výkonu ventilátoru. S tímto optočlenem a většími filtračními kondenzátory na vstupu a výstupu optočlenu mohu sledovat chod ventilátoru od cca 9 do 100%, většinou je ventilátor nastaven okolo 30%, takže sledování je bezproblémové.
Sledování stavu pokojového termostatu jsem vyřešil vytažením mínus pólu napětí 16V z řídicí jednotky ST, které je na svorce pro „termic“ což je bezpečnostní bimetalový termostat, protože do pokojového termostatu je posílán plus. Stavy všech sledovaných zařízení jsou načítány každých 100ms.
V monitorovací jednotce kotle se sleduje celková doba chodu podavače a ventilátoru v rozsahu minut, které se v pravidelných intervalech 10min. ukládají do Eeprom procesoru Arduina. Při intervalu zápisu každých 10 minut je to za rok přibližně 52500 zápisů.
Aby nedošlo k překročení povolených počtu zápisů do Eeprom (cca 100 000) jsou počty zápisů do jedné adresy sledovány a při 90 000 zápisech je posunuta adresa pro zápis, celá Eeprom se tak zaplní za asi 113 let což už stačí :-). Uložení hodnot do Eeprom se provede také při poklesu napájecího napětí Arduina 12V pod hodnotu 7V, napětí je kontrolováno analogovým vstupem přes odporový dělič. Napájení jednotky je po komunikačním kabelu.
Monitorovací jednotka měří samostatně teplotu kotle a venkovní teplotu pomocí termočidel KTY81-210 a pomocí přijímacího bezdrátového modulu 433,92MHz přijímá z řídicí jednotky TUV v intervalech 1s teplotu bojleru a stav čerpadla TUV. Data jsou pak upravena do struktury a odeslána na požadavek do EmonHUBu po sběrnici RS485. EmonHUB řídí komunikaci jednotlivých zařízení na RS485 a vydává požadavky na data, které zpracuje a odešle na server EmonCMS kde jsou data archivována zpracována a zobrazena do grafů.
Download:
Emon_monitor_kotle_rs485.ino
EEPROMAnything.zip
SoftEasyTransfer.zip
VirtualWire.zip
Pingback: EmonHUB RS485 | TN Web
Ahoj, přesně to samé s menšími odchylkami chci udělat také 🙂
Díky za odrazový můstek.
Dobrý den, mám také sledování doby chodu šnekového podavače a chtěl jsem získávat další data z jednotky TechST37rs, ale nedaří se mi nějak rozšifrovat jejich protokol. Nechcete se podělit o to co se vám podařilo rozkódovat? V programování Arduina jsem začátečník.
Tak to už asi nenajdu, ale vzpomínám si, že snad zadaná teplota, aktualní teplota kotle a chod čerpadla UT.
Ahoj pro zajímavost ten protokol po RS232 z kotle má už řešení:)
Zde je odkaz na vlákno kde je vše vysvětleno:
https://www.elektroda.pl/rtvforum/topic2689981.html
Tester (dekodér) příkazů z kotle
https://dzien.net/tech/
Snad to někdy někomu pomůže. 🙂
TMK