Help wanted: Controlling multiple OpenTherm thermostats with one Arduino
briefly:
an opentherm (ot) thermostat controls boiler 32 bits command.
this command sent manchester coding.
there few topics handling code , commands, e.g.
- https://github.com/amvv/arduinoopentherm (software)
- http://otgw.tclcode.com/index.html (hardware)
- http://www.gammon.com.au/forum/?id=11488 (all interrupts)
above helped me make arduino controlled ot gateway, working fine.
for final step in home automation project, need control 6 ot thermostats (each room has own thermostat).
at point becomes quite complicated, maybe can me out!
the facts:
- ot, thermostat master, boiler (or now: arduino) slave
- there's no way control thermostat via arduino: arduino answering @ questions of master
- each bit (of total of 32 +2 start/stop bits) takes 1msec
- because of manchester coding, level change occur @ 500 microseconds
- thermostat communicating once in second
- within 800msec, slave has answer master
- slave must anwer master (otherwise master stops communicating)
the problem:
above possible 1 thermostat. encountered lots of problems multiple (6) thermostats:
- each thermostat acts master, means different commands of different thermostats arrives 'mixed up' in arduino (e.g.: when handling bit 17 of thermostat one, startbit of thermostat 2 incoming).
- while controlling incoming commands, have generate answer resp. thermostat, controlling boiler , heating zones.
(- more fun, have calculate parity bit each command)
- finally, need i2c communicate rest of ha (another arduino, mega). means: in case of mega, 4 interrupts left.
anyone has ideas or tips? possible 1 arduino?
an opentherm (ot) thermostat controls boiler 32 bits command.
this command sent manchester coding.
there few topics handling code , commands, e.g.
- https://github.com/amvv/arduinoopentherm (software)
- http://otgw.tclcode.com/index.html (hardware)
- http://www.gammon.com.au/forum/?id=11488 (all interrupts)
above helped me make arduino controlled ot gateway, working fine.
for final step in home automation project, need control 6 ot thermostats (each room has own thermostat).
at point becomes quite complicated, maybe can me out!
the facts:
- ot, thermostat master, boiler (or now: arduino) slave
- there's no way control thermostat via arduino: arduino answering @ questions of master
- each bit (of total of 32 +2 start/stop bits) takes 1msec
- because of manchester coding, level change occur @ 500 microseconds
- thermostat communicating once in second
- within 800msec, slave has answer master
- slave must anwer master (otherwise master stops communicating)
the problem:
above possible 1 thermostat. encountered lots of problems multiple (6) thermostats:
- each thermostat acts master, means different commands of different thermostats arrives 'mixed up' in arduino (e.g.: when handling bit 17 of thermostat one, startbit of thermostat 2 incoming).
- while controlling incoming commands, have generate answer resp. thermostat, controlling boiler , heating zones.
(- more fun, have calculate parity bit each command)
- finally, need i2c communicate rest of ha (another arduino, mega). means: in case of mega, 4 interrupts left.
anyone has ideas or tips? possible 1 arduino?
first see blink without delay, shows how things without blocking/delays.
next @ arrays. many of same thing.
add fsm (finite state machine) in playground
and jobs done
mark
next @ arrays. many of same thing.
add fsm (finite state machine) in playground
and jobs done
mark
Arduino Forum > Using Arduino > Programming Questions > Help wanted: Controlling multiple OpenTherm thermostats with one Arduino
arduino
Comments
Post a Comment