3.1.2011
Mám doma kondenzační kotel THERM 28KD propojený s termostatem PT55.
Chování kotle jde pomocí termostatu PT55 nastavit mnoha způsoby.
Vysledovat skutečné chování kotle je však časově náročné a těžko uskutečnitelné.
Proto sleduji komunikaci mezi kotlem a termostatem.
Stažená data z komunikace lze pak zpětně analyzovat.
Kondenzační kotel THERM 28KD komunikuje s termostatem PT55 pomocí protokolu zvaného OpenTherm. Abychom získali informaci o vzájemné komunikaci,je nutno vyrobit jakýsi "odposlech" komunikace. Zapojení "odposlechu" je například zde : http://www.domoticaforum.eu/uploaded/bwired/OpenThermostat.pdf
Zapojení jsem upravil následovně:
Na odporu R3 naměříme osciloskopem tyto průběhy:
Zde je vidět,že komunikace mezi kotlem a termostatem probíhá s periodou 1 sec. Termostat pošle do kotle nějakou informaci nebo žádost o informaci z kotle. Tato informace má trvání asi 35ms. Nyní se čeká odezva z kotle. Ta přijde asi za 50ms od konce zprávy z termostatu. Délka zprávy z kotle je stejné délky jako zpráva z termostatu. Signál v komunikaci je zakódován "Manchester kódováním". OpenTherm komunikace probíhá rychlostí 1000bitů/sec.
Z uvedeného vyplývá, že bude zapotřebí komunikaci odchytit nějakým jednočipem, a poslat standardní komunikační rychlostí na PC.
Rozhodl jsem se pro jednočip ATMEGA8.
ATMEGA8 běží na vnitřním oscilátoru 8MHz, dekóduje signál, a posílá ho komunikační rychlostí 38400 b/s na PC.
Program pro ATMEGA jsem vytvořil v BASCOM-AVR ver.1.11.9.0.
Do programu je začleněn digitální filtr vstupního signálu.
Nějaká filtrace byla nutná, bez ní to chytalo falešné pulzy způsobené dlouhým vedením.
ATMEGA8 "měří" délku pulzů z komunikace,výsledkem jsou čísla vyjadřující:
(10-13) - krátká log1
(14-17) - dlouhá log1
(1-3) - krátká log0
(4-7) - dlouhá log0
Výsledný řetězec znaků před dekódováním vypadá následujícím způsobem:
0,11,3,11,5,11,2,11,2,11,2,11,2,11,2,11,2,11,2,11,2,11,2,14,2,12,5,11,2,14,5,11,2,11,2,11,2,11,2,11,2,11,2,11,2,11,2,11,2,11,2,11,2,11,2,11,2,11,2,11,2,14,0,0,0,0
Tato data jsou jednočipem dekódovaná do konečné podoby a zaslána na com port PC.
Zapojení ATMEGA8:
Zobrazení průběhu signálu mezi termostatem a kotlem (žlutý-1000b/s) a zpracovaná dávka dat do PC (modrý-38400b/s):
Hex soubor pro ATMEGA8 je zde: './atmega8/OT1.hex'
Ke zpracování dat je vhodný např. softwarový nástroj Promotic.
Systém PROMOTIC od verze 8 umožňuje bez licenčního klíče vyvíjet a provozovat PROMOTIC aplikaci zdarma, tzn. jako freeware.
Jako freeware (do 30-ti proměnných) je možno využívat všechny komunikační ovladače a rozhraní, která jsou k dispozici v plném režimu.
Aplikaci PROMOTIC o velikosti do 30 proměnných je možno bez HW/SW licenčního klíče provozovat bez časového omezení.
V dané aplikaci tuto podmínku splníme, můžeme ho tedy plně využívat.
Tento softwarový nástroj si můžete stáhnout zde:
http://www.promotic.eu/cz/promotic/download/download.htm
(Promotic 8.0.9)
Aplikace vytvořená v Promoticu, která umí zpracovávat data připravená jednočipem ATMEGA8 je zde:
'./promotic/A89.zip'
Náhledy na vizualizaci a trendy jsou zde:
k.balvar@seznam.cz