Thursday, January 12, 2012

2011: the year we made contact

Indeed it was a good year! we made contact! with the boiler, via OpenTherm! it has been running for over a month, with little to no hiccups. There are still some bugs to be ironed out in the daemon listening to the whole thing, but that will happen soon!

This weekend I hope to finish the whole project in terms of hardware, the boards have come back from fabrication, and I will assemble it this weekend and get it in the box!! hurray!! So stay tunned for a new post soon!
Meanwhile, here is a snapshot of the boiler data:

boiler data of the last 8 hours: black-setpoint; gray-water leaving the boiler; blue-water returning; yellow-pump running; dark blue-domestic hot water demand; red-flame active

Also in 2011 the garden door got automated, with an RFID reader connected to a JeeNode. Also that has been running fairly reliably. I had some issues with power, as the whole thing, even with some basic power saving was draining the batteries very quickly, so I added a small 6V solar panel, which has so far been capable of loading the batteries during the day, even in the shortest days, with a covered sky. I must say, it is very convenient to be able to just show a card to a door in order for it to open, instead of having to search for the keys in your pocket, and find the keyhole, in the dark and under the rain!

On the software front, I made significant progress on the dashboard, and that will be the next major project to tackle, and I built a little movie center - a small computer based on a mini-itx board, with a big disk, where all (or almost all) my DVDs are saved. Any movie (that I have) is now at the distance of a menu and a click, instantaneous and easy to browse! it uses XBMC! Great package!!

For this year, like mentioned above, I plan to finish the OpenTherm project, and maybe even improve it by making a self powered version (JCS from the bits and bytes is working on it...I don't really understand how it works), finish a version of the dashboard which will be installed in a tablet a friend is getting me, and then develop water sensors to put in the crawling space under my house, as I get water there sometimes, and I want to be warned about it! Also on the water front, I want to make a sensor to detect a clogged main sewer pipe (It happened a few times and it is annoying), and of course, automate the water readings, the only one not yet automated!

I realised yesterday, that I have been collecting data automatically since 2008, so 4 years worth of data! I would also like to do some statistical analysis of that!

Lots of plans!

Friday, December 2, 2011

Now I'm in the mood

For doing calculations, as I have to ascertain whether all the effort was worth it or not.
So, I have this curve fitting against which I can compare my gas consumption based on the average outside temperature for the month. But his is done for a month, and I wanted to see if I could go to a lower level, so I found in the KNMI website a service from which you can download all kinds of meteo data for a time period.
I downloaded the average month temperatures for "De Bilt" as that is where I have been basing my calculations all these years, although not the closest station, and plotted it against the daily gas consumption. I couldn't go away without putting it here, so here goes, for the month of November:

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):


http://www.mnshi.umn.edu/kb/scale/boilers.html

http://blog.triangletube.com/blog/hydronic-heating-solutions/outdoor-reset-maximizes-spring-energy-savings
http://www.navitron.org.uk/forum/index.php?topic=9066.0

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:


1591MSBK
1591LSBK

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!

Tuesday, October 18, 2011

New Dashboard

Progress of the OpenTherm interface is going very well! but that is not what I am here to report today. Today it is just a short post to share the prototype of the new design of my dashboard. My wife made the design, and I implemented the functionality. Still some rough edges to adjust. Here is a snapshot:



All information gets updated regularly via HTML5 and AJAX calls. Half of it is already working even, but there is still some to get done. I'll share the code once it is ready!

By the weekend I should report on the Opentherm!