Page 1 of 1

Central heating control at my parents' house

Posted: Monday 21 September 2015 21:09
by AngryMop
Hey all,

decided I'll throw my WIP project into the mix.

Hardware:

- Gas-fueled central heating unit. Heating requires closing a control loop via a relay.

- Floor heating on the bottom floor (9 circuits), additional heater in the guest bathroom. Floor heating requires enabling circulatory pump to work.
Additionally, the main salon is divided into 3 circuits, which need to be enabled in turns, due to the maximum recommended length of a heating circuit.

- Heaters on the top floor (5 circuits)

3x 8 relay card connected to RasPi2 GPIO ports with intermediate ULN2803 to have GPIO "High" state to actually enable the relay.

What's done:
- Lua script which enables the heating control loop and checks if the circuit that is to be enabled requires the circulatory pump (and triggers its relay when needed)

What's to be done:
- Since schedules are not needed at the moment, I will have a bunch of virtual switches on the dashboard, like for example "Guest bedroom 1 - enable 1hr" or "Salon - enable 2hrs" etc.
A lua script will keep a set of user variables with current "mode" of operation for each room, and the enable date. Time script will periodically check if the switch has to be disabled.

- 1wire thermometers (12 currently around the house) - I want to use their inputs to enable heating when temperature drops during the night. Based on such thermometers, a constant temperature will be kept in some sort of winter garden my Mom has.

So far I really like this software, I plan to post a few improvement suggestions soon.

Re: Central heating control at my parents' house

Posted: Monday 21 September 2015 23:29
by deennoo
Don't Forget that water underfloor heating needs time to react (6/7 hours) depending of :

External temp
Internal temp
External calorie apport (sun, wind)
And water temperature

You need PID and learnîng périod (1 year)

Re: Central heating control at my parents' house

Posted: Tuesday 22 September 2015 0:09
by AngryMop
Fair points, but that is a new installation and it's very efficient.

The floor is warm after just 30mins, after 2hrs you need to open the windows.

But yes, it always needs some tweaking.

[Update] Central heating control at my parents' house

Posted: Saturday 26 September 2015 19:24
by AngryMop
I've bought something nice for my RasPi: a DIN rail mounted case. Sooo nice. (The big hole on top has a removable transparent insert, so you can add a display there; currently removed).

Image

One downside is that it doesn't have any holes to lead wires outside. 3 relay boards use 30 wires, plus I want to be able to connect 1Wire for the sensors. So, after spending quite a while looking for a compact socket/plug with enough pins, I've decided to use DE-15F, better known as good ol' VGA plug. Small form factor, 15 pins (which leave room for expansion), cheap, easily available. Perfect match.

I've created a layout in inkscape, printed it, marked the holes,

Image

Image

and drilled them with dremel.

Image

Further TODO:

- cut out the holes and trial-fit the sockets

- find a way to keep the GPIO outputs low during boot

- further testing how stable the RasPi is while powering the relays using 5V 2A power supply

Till next update! o/

Re: Central heating control at my parents' house

Posted: Tuesday 08 December 2015 20:57
by pvoj
I really like your project!
I'm working on a very similar one with a different approach.
I have a heat pump with a 1000 liter puffer. 1 circulation pump and 17 controllable floor heating circles.
I can't lead cables in the house so I decided to go wireless. I use mysensors with Domoticz.
Domoticz runs on a RasPi B+, which is connected to the mysensors network with a serial gateway.
Since the house is quite big, I use several repeater nodes.
The heat pump controller is an Arduino mega2560 which can work autonomously. It needs quite a challenging controller to optimize the energy consumption because of the puffer capacity and the outside temperature (it's an air2water heat pump). All settings can be set locally using a keyboard and an lcd.
My approach was to make the whole thing fail safe. If there is something out of order, at least it can be operated manually with less functionality and the nodes can talk to each other in case of RasPi is out.
This will be the first winter in operation. I collect data and experience. I think I will write my story next spring. :-)
Have a nice hacking!