Wednesday, November 30, 2011

Considerations on the boiler system

The behaviour I mentioned at the end of the last post, does make sense.
That is, for the boiler to overshoot by a few degrees, once it has reached the set temperature, and by those means bringing the return temperature to the set point is the only way of avoiding it to cycle more.
Once the boiler stops burning, the temperature of the outgoing water drops almost immediately to the return temperature, so to avoid it turning on again, the return should be close to the set temperature, and that is what the boiler is doing, thereby keeping the water in the whole system at the set temperature, and not at the return temperature that happen to be there when the set temperature was first reached... (I hope someone can make sense of all this rambling...)

The system , with the DIY OpenTherm master, has now been running for a few days, with no problems, and quite an accurate temperature in the rooms. The PID controller just needs some small adjustments in order to converge a bit quicker, and converge always (I sometimes have 0.2 degrees below the set point, which is no big deal anyway...)

I found a few graphics depicting the boiler efficiency as a function of the return temperature. Here are a few, all in Fahrenheit (didn't find any in C):

The last is not the efficiency, but the relation of water temperature to outside temperature that I am using. I use a curve near the "1" curve.

Saturday, November 26, 2011

On the way to a finished project

An enclosure is also important! and now that the OpenTherm interface is working, all the software is written, and I just put it to work less than an hour ago (lets see how that goes...), I also went searching for a box.

I went to my trusted shop, probably one of the last in Holland to sell components offline, it is the last one for at least 40Km around...probably more...and found some boxes from Hammond Manufacturing.

These are great, as they have card guides and can fit a Jeenode precisely!! here are some photos:


The low one, one has to cut the flange of the lid to be able to close it (and maybe grind a bit of the sides of the JeeNode), the higher one, which I will be using just fits it all with no problems!!

Here is also a graphic of the gas usage with the first hour with the OpenTherm:

before I always about 4 blocks of burning, as a saw tooth -  burning level increasing slowly, from 0.01 to 0.05m3 per minute in 4 to 5 minutes...maybe I'll try to get one of those images for comparison.

And a bit of the radio transactions already digested:

seq: sequence
set: set temperature received from server
out: temperature of the water leavng the boiler
ret: temperature of the water returning to the boiler
status: status of the boiler

seq       set   out   ret  status
3483    38    42    37    10    @    Sat Nov 26 16:04:19 2011
3523    38    42    38    10    @    Sat Nov 26 16:04:59 2011
3563    38    43    38    2    @    Sat Nov 26 16:05:40 2011
3603    38    39    38    0    @    Sat Nov 26 16:06:20 2011
3643    38    38    38    0    @    Sat Nov 26 16:07:00 2011
3683    38    38    38    0    @    Sat Nov 26 16:07:40 2011
3723    38    38    37    0    @    Sat Nov 26 16:08:20 2011

apparently, the boiler allows an overshoot, or tries to control the water such that the return temperature is controlled...still need to investigate this further...

Wednesday, November 16, 2011

OpenTherm interface ready!

If you have been following this, you know I have been busy getting a JeeNode (arduino compatible) to talk to the boiler suing the OpenTherm protocol.

I am glad to report that the circuit, which you can find here works fine, and the code available in github, is also functional! Sometimes it hangs when first connecting to the boiler, but a reset of the JeeNode solves the problem. Will try to investigate (I have some ideas)

Today I was busy finalising some details, and implementing communication with the server to get the set temperature. All is ready, except one little linking piece of software: the listener that listens to messages coming from the JeeLink has to now accept messages via the serial, which are sent by the module that calculates the set temperature. Maybe for the next post I make a diagram of the software layers involved.

Anyway, here is a picture of the little thing!

The little icons represent: radio link, OpenTherm link, flame, Central Heating, and Hot Water. T1 is the outgoing temperature, T2 is the return temperature, Ts is the set temperature, under the reported set temperature, and to the right of the Ts the received from the radio (for debug...will delete that). The 5 is just a number that changes once a cycle, and serves as an indication that the whole thing is still working.

You can see the yellow antenna, and the home made PCB, the one with the blue connector block.

I will get a PCB done externally, to learn how to do that (although Joao is taking care of that), and then get the whole thing in a nice enclosure.

The next hardware version will be to get the thing powered from the OpenTherm bus, which should be possible, as it provides 5mA for the master to operate. That should be enough, given that the radio only transmits once a minute!