Temperature sensor for central heating

Hello guys and girls i’m looking temperature sensor for my central heating system i have some thermocoupels but reading data from them is to tricky and too expensive so i decided find some cheaper. I found some temp sensor but there are unsuitable to central heating. I want attach sensors to pipes, stove, boiler.

Thanks :slight_smile:

Did a similar project with a DS18B20 sensor (with the Dallas Temperature Control Library), monitoring the temperature of central heating and hot tap water with succes. Attached the temperature sensors to the pipes with insulation foam!, which was used to prevent heat loss at places where no heating is needed. Especially near the boiler where the watertemperature is highest the heat loss can be substantial.

Measuring at the outside of the pipe does not differ much from the inside with insulation. The max delta I noted with the internal temp sensor of the boiler was 0.5C (within accuracy). For the heater we measured outgoing and incoming temperature of the water, and although we did not measure flow directly - used the spec of the pump - we got a good insight of the heat produced.

The formula:

Energy = volume * tempdifference * specific heat water

Specific heat water = 4186 J/(Kg.C) -- Note: liters/Kg differs by temperature. assumed 1 here Joule = 1W/sec so for KWH we need /3600 and /1000

E = Volume * (Tout - Tin) * 4186 / 3600 / 1000; // E in KWH

Some notes: - you have to sample temperature every second as heating up can go quite fast, a lower frequency may introduce substantial errors (my experience) . - specific heat is temp dependant, I used a constant here - if the pump is not running there is no energy sent into the system. => E = 0; - the values must be summed to get the total energy produced. => advice: log individual samples on a SDcard or webserver - volume must either be measured or expressed in L/sec

So, the core code will look something like:

if (pumpRunning() == true)
  E = Volume * (Tout - Tin) * 4186 / 3600 / 1000;
  Etotal += E;
[i]As it was a commercial project I don't share actual code[/i]

Hopes this helpes you to get started

Assuming you can keep the sensor dry or encapsulate it, you could use the LM335Z, see http://www.st.com/stonline/books/pdf/docs/2158.pdf. Just connect the -ve terminal to ground, the +ve terminal to a 1.8K resistor and an Arduino analog input pin, and the other end of the resistor to +5v.

I'm a big fan of using the Dallas DS18b20 sensors since you can network them together and span hundreds of feet. For your application you might want to take a look at the waterproof version Adafruit is now carrying:

Waterproof DS18B20 Digital temperature sensor http://www.adafruit.com/products/381

Or, check out my tutorial on how to build your own: http://nuewire.com/2011/06/ds18b20-temperature-probe/


I've used K-type thermocouples with my wood stove, didn't think they were tooo expensive, but yes an interface is needed and that does add up if you need several; I used Adafruit's. But I'm also a big fan of the DS18B20, when measurement over 125°C is not needed.


Some How-to on these sensors here: http://arduino-info.wikispaces.com/Brick-Temperature-DS18B20

And I have had good results from the waterproof sensors: http://arduino-info.wikispaces.com/Brick-Temperature-DS18B20#TS

Nice math on the energy measurements!!

Regards, Terry King terry@yourduino.com

Disclaimer: mentioned stuff from my own shop...