Oil Boiler Control Problem

Hi Chaps,

So I’m entirely new to Arduino / Raspberry Pi, and don’t know where to start. I do, however, know where I want to get to.

My home central heating system is fairly complex – I’ve got a woodburning boiler stove downstairs hooked into a thermal store in the attic. I’ve also got an oil fired boiler in the garage (no mains gas) which is controlled by a thermostat on the thermal store. Currently, every time the thermal store dips below 70degC, the boiler kicks in and burns for about 10 minutes. This is inefficient.

What I would like to do is for the boiler to kick in when the thermal store gets down to 50degC and keep burning until the temperature is back to 70. Beyond this, I’d also like to log the thermal store temperature so I can get some idea of how much my wife’s penchant for hot baths and 40min showers is costing me in kerosene!  There may also be some scope later for a flowmeter on the boiler, but not yet...

I might also be able to tweak the threshold temperatures to really nail an efficient burn time for the oil boiler. May also look at splitting the upstairs into a separate heating zone, but not worried about that at the moment.  What is definitely outside the scope of this project is messing with the control I have set up for the woodburner, heatsink radiator and associated valves, as they have been designed to failsafe on power outage and dump all excess heat into the heatsink. This means I don’t have to worry about my woodburner blowing up.

It would be interesting to log the contribution the woodburner makes to the house heating, but I think that can come later. I realise I’ll need a base unit, a relay board and a temperature monitoring thingy. I’ve got a degree in electronics (unused for the last 15 years) but I reckon I’m ok with the build and installation. I am however, completely at a loss when it comes to programming.

Has anyone done a similar project / able to point me in the direction of some suitable literature?

Much obliged.

Robert Wall's picture

Re: Oil Boiler Control Problem

I think you should be able to do your control with an emonTx, either the V2 or the V3. As you won't apparently be using the electrical inputs, either version will work well for you.  The V2 has many more IO available for use, but requires assembly - and I'm not sure that kits are still available (but that can easily be checked). Rather than relays - assuming you're switching mains to control the oil-burning boiler - I'd suggest using an opto-isolated trigger IC and a triac, as per Robin's MK2 diverter.

If you do that, for parts you'd need an emonTx V2, 5 V usb power supply + lead, opto-trigger, triac, heatsink, stripboard and a few more components, and a programmer and lead. Plus a suitable enclosure. Personally, I'd dispense with the heatsink and use a diecast box as a combined heatsink and enclosure.

If you want to control zone valves, you'd need use more digital outputs and add more trigger ICs and triacs.

That would give you control, but no logging. For logging, you can use a NanodeRF and send the data to emoncms.org; or you can have a Raspberry Pi  and the Gateway card and send the data to emoncms.org; or you can have a Raspberry Pi and a local hard disk and log to a copy of emonCMS running on the Pi - no Internet required. Logging to an SD card is strongly not recommended.

You can connect the emonTx via a serial data connection directly to the RPi, or probably more conveniently equip the RPi with a RFM12Pi radio and use the radio facility of the emonTx to transmit the logging data.

Control software can initially be fairly simple: You use one of our standard sketches as a starting point for the temperature and radio parts, and for control (initially at least) you require to define the pin the boiler is connected to, then in the main control loop you add little more than:

 if (temp < 50) digitalWrite(OILBOILER, ON);
 if (temp > 70) digitalWrite(OILBOILER, OFF);

and throw away all the voltage and current measuring parts (i.e. most of the sketch!).

For learning to program the emonTx, you've got to learn the rudiments of C and C++. My bible for C is of course "Kernigan & Ritchie" http://www.amazon.co.uk/C-Programming-Language-2nd/dp/0131103628/ref=sr_.... This is the standard text book.  The normal place I point people at who want to move up to C++ is http://www.relisoft.com/book/index.htm and that assumes you know C. Because the Arduino environment normally uses a very small subset of the language, neither are the best place for a beginner to start, nor are many of the other on-line tutorials. I'd still suggest you have both of those, and maybe Bruce Eckel's "Thinking in C++" http://www.planetpdf.com/developer/article.asp?ContentID=6634 available for reference.

However, there is this: http://www.me.umn.edu/courses/me2011/arduino/arduinoGuide.pdf which does look to be a good starting place for a beginner. It does not go as far as classes and methods that are used here, though.

 

jimboozle's picture

Re: Oil Boiler Control Problem

fantastic, thanks for the comprehensive reply - I'll do some reading up as you suggest and then crack on - hopefully the next question will be a bit more informed!

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.