Pages: [1] 2   Go Down
Author Topic: Reading central heating system thermistor's?  (Read 1822 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Full Member
***
Karma: 0
Posts: 106
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi,

i want to read the temps from my central heating system.
I don't have the specs of the thermistor's but tables from the central heating manual (see attachment).
I can measure the voltages with my multimeter and if i look into the tables it looks ok.
But all thermistor reading examples i find require the usage of the Arduino voltage (voltage divider circuit).
Is there a way to read the voltages from the thermistors without coupling the central heating and Arduino voltage?

Attachment:
Table 1: furnace water temp & underfloor heating water temp
Table 2: outside air temp
Table 3: hot water storage tank (water temp)

Thanks for help in advance :-)


* temps.jpg (132.11 KB, 1248x1754 - viewed 30 times.)
Logged

United Kingdom
Offline Offline
Tesla Member
***
Karma: 224
Posts: 6593
Hofstadter's Law: It always takes longer than you expect, even when you take into account Hofstadter's Law.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Yes, it can be done.

First, check that there a common ground connection for all 3 thermistors. If there is, you can use 1 sensor board to measure 3 voltages with respect to that ground, all with the range 0 to +5v. You can make that sensor board using an ADUM6401 digital isolator http://www.analog.com/static/imported-files/data_sheets/ADuM6400_6401_6402_6403_6404.pdf and a 4-channel SPI ADC chip such as http://ww1.microchip.com/downloads/en/DeviceDoc/21298e.pdf. Conveniently, you can buy an evaluation board for the ADUM6401, which saves you making a PCB yourself. You can wire the ADC on the prototyping area of the board.

Not only does the ADUM provide isolation between the ADC and the Arduino, it also provides a 3.3V or 5V isolated power supply to the ADC. Note that there is a minimum load that you must put on the isolated power supply. I normally provide this load using an LED and series resistor, so that I can see that there is power on the isolated side.

A lower cost alternative would be to use opto isolators to isolate the ADC from the Arduino, but then you would still have to provide power to the ADC chip somehow.
« Last Edit: November 22, 2012, 05:40:39 am by dc42 » Logged

Formal verification of safety-critical software, software development, and electronic design and prototyping. See http://www.eschertech.com. Please do not ask for unpaid help via PM, use the forum.

Offline Offline
Full Member
***
Karma: 0
Posts: 106
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ah, didn't know this dc-dc-converters.

Yes all thermistors have common ground.
I have 4 so i need 2 ADUM6401.

The central heating connections are:
AF1 = 0 volt ground
AF2 = outside air thermistor
KF2 = furnace thermistor
VF2 = underfloor heating water thermistor
BF2 = hot water storage tank thermistor

The ADC chip means i read the voltage on the Arduinos digital inputs?
Do you have an example circuit diagram to give me a kick-start?

For the evaluation board i think you mean this one: http://www.analog.com/en/evaluation/eval-adumqs/eb.html
But it's a little bit to difficult to get here in Germany.
Logged

United Kingdom
Offline Offline
Tesla Member
***
Karma: 224
Posts: 6593
Hofstadter's Law: It always takes longer than you expect, even when you take into account Hofstadter's Law.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ah, didn't know this dc-dc-converters.

Yes all thermistors have common ground.
I have 4 so i need 2 ADUM6401.

No you don't, you just need a 4-channel ADC (such as the MCP3204 that I suggested) and one ADUM6401.

The central heating connections are:
AF1 = 0 volt ground
AF2 = outside air thermistor
KF2 = furnace thermistor
VF2 = underfloor heating water thermistor
BF2 = hot water storage tank thermistor

Good, you have a common ground connection.

The ADC chip means i read the voltage on the Arduinos digital inputs?
Do you have an example circuit diagram to give me a kick-start?

I don't have a circuit diagram that I can share, but here is an outline. Connect the MOSI and SCLK pins of the Arduino and one other digital output to the 3 inputs of the ADUM6401. Connect the ADUM6401 output to Arduino MISO. On the isolated side, connect the three ADUM outputs to Din, CLK and CS respectively of the MCP3204. Connect MCP3204 Dout to the input on the isolated side of the ADUM. You will also need a smoothing capacitor on the ADUM power output, and an LC network to feed the Vref pin of the MCP3204.

I can't remember how stable the 5V output of the ADUM6401 is. Check the datasheet, and if necessary drive Vref from a precision 4.5V precision voltage such as http://uk.farnell.com/maxim-integrated-products/max6145eur-t/ic-v-ref-prec-3-term-sot23-3/dp/1673172 instead of the LC network.

For the evaluation board i think you mean this one: http://www.analog.com/en/evaluation/eval-adumqs/eb.html
But it's a little bit to difficult to get here in Germany.

http://de.farnell.com/analog-devices/eval-adumqsebz/bord-eval-icoupler-isolation/dp/1897086?Ntt=EVAL-ADUMQSEBZ
Logged

Formal verification of safety-critical software, software development, and electronic design and prototyping. See http://www.eschertech.com. Please do not ask for unpaid help via PM, use the forum.

Global Moderator
Netherlands
Offline Offline
Shannon Member
*****
Karma: 212
Posts: 13531
In theory there is no difference between theory and practice, however in practice there are many...
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

for mapping voltage on temperature multimap can be useful if the table is not linear - http://arduino.cc/playground/Main/MultiMap -
Logged

Rob Tillaart

Nederlandse sectie - http://arduino.cc/forum/index.php/board,77.0.html -
(Please do not PM for private consultancy)

Offline Offline
Full Member
***
Karma: 0
Posts: 106
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ok, here the circuit.

To i need the smoothing capacitor if i use the MAX6145?

Is the circuit correct?


* sketch-2.jpg (75.33 KB, 1083x1035 - viewed 19 times.)
Logged

United Kingdom
Offline Offline
Tesla Member
***
Karma: 224
Posts: 6593
Hofstadter's Law: It always takes longer than you expect, even when you take into account Hofstadter's Law.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Yes, you do need smoothing capacitors, see the ADUM6401 datasheet for the recommendations. I attach a schematic of the arrangement I have used when I need a 3.3V output. For 5V output you need to connect pin 10 to VDD2 instead of GND2, also increase the LED series resistor. The LED provides the recommended minimum load of 10mA. C6 is the decoupling capacitor for the MCP3204 and MAX6145.

EDIT: also you need to connect pin 12 (AGND) of the MCP3204 to the isolated supply ground side.


* adum6401.jpg (49.04 KB, 874x452 - viewed 23 times.)
« Last Edit: November 29, 2012, 11:04:27 am by dc42 » Logged

Formal verification of safety-critical software, software development, and electronic design and prototyping. See http://www.eschertech.com. Please do not ask for unpaid help via PM, use the forum.

Offline Offline
Full Member
***
Karma: 0
Posts: 106
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Sorry but now I'm totally confused on the iso side.
Even with the MAX6145 i need the LC network?
Where to place the MAX6145?
Logged

United Kingdom
Offline Offline
Tesla Member
***
Karma: 224
Posts: 6593
Hofstadter's Law: It always takes longer than you expect, even when you take into account Hofstadter's Law.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

You may get away without the LC network, it's hard to say without trying it, it depends on how sensitive the MCP3204 is to power supply noise, and how precise and stable you need the voltage readings to be.

The MAX6145 should take is input from the filtered supply.
Logged

Formal verification of safety-critical software, software development, and electronic design and prototyping. See http://www.eschertech.com. Please do not ask for unpaid help via PM, use the forum.

Offline Offline
Full Member
***
Karma: 0
Posts: 106
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ok, next try smiley-grin (attachment)

And it doesn't matter which ADuM logic output i connect to which pin on the MCP?
Your Arduino pin naming is confusing me - SCLK = Pin 52 SCK?

And should i take the ADUM6401ARWZ-ND or the ADUM6401CRWZ-ND?


* sketch-2.jpg (66.56 KB, 1333x943 - viewed 14 times.)
« Last Edit: November 29, 2012, 05:46:32 pm by MrGlasspoole » Logged

United Kingdom
Offline Offline
Tesla Member
***
Karma: 224
Posts: 6593
Hofstadter's Law: It always takes longer than you expect, even when you take into account Hofstadter's Law.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

A few observations:

- You don't need D1 or C3
- Pin 14 of the MCP3204 should go to the filtered supply (+ve  side of C2), not the unfiltered supply
- C2 in my design was 22uF, not 220uF
- You also need 10uF or 22uF in parallel with 100nF between pins 16 and 9 of the ADUM6401 (the evaluation board is laid out for 22uF and already has the 100nF)
- Pin 12 of IC1 should be connected to pin 7, and separately connected to the common side of the voltages to be measured
- If you use the evaluation board, it is laid out for a 68uF capacitor at C5, and C4 is already on the board.
- I suggest you include 10K resistors in series with the MCP3204 analog inputs, to give some protection against voltage transients

The 3 channels passing signals to the isolated side of the ADUM6401 are interchangeable.

You have a choice of how you interface the Arduino Mega to the device:

- For maximum speed, use hardware SPI. In this case, the SCLK pin of the Mega must be routed to SCK of the MCP3204, MOSI must be routed to Din, and Dout must be routed to MISO. You can route any other output pin on the mega to CS on the MCP3204. Maximum SPI speed is 1MHz if you use the A version of the ADUM6401, and as high as the Mega will go (8MHz) if you use the C version. However, if you want to share the SPI subsystem with other devices, then you need to connect a tri-state gate between the ADUM6401 channel D output and MISO (I use a 74LV1G125 for this - it is an SMD device).

- Alternatively, use any 4 pins you like on the Mega and use software SPI. The achievable data rate will be lower, although you can probably approach 1MHz if you use direct port access.

I hope this helps
Logged

Formal verification of safety-critical software, software development, and electronic design and prototyping. See http://www.eschertech.com. Please do not ask for unpaid help via PM, use the forum.

Offline Offline
Full Member
***
Karma: 0
Posts: 106
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ok, i now first order parts that i can start to build something.
But i can't find the 74LV1G125. Not at farnell, not at digikey and in no German shop...
I think it's more future prove to use the 74LV1G125 cause i want to log the data to a SD card
have the network shield and also want to build some radio control for a water-pump (enocean if possible).
Does the wire from the heating system thermistors to the MCP3204 not affect the output of the thermistors (wire resistance)?
Or the 10K resistors? Not that the heating system turns into a air conditioning systems smiley-lol

Maybe its a big thing for an Arduino beginner. But like cabinetmakers say: "start with something
you like and something you have fun with. Don't select your project by easy or difficult".

I think it's learning by doing. And if the help here is so great like yours, than we can build a machine
to take over the world *lol
Logged

United Kingdom
Offline Offline
Tesla Member
***
Karma: 224
Posts: 6593
Hofstadter's Law: It always takes longer than you expect, even when you take into account Hofstadter's Law.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Put 74LVC1G125W5-7 into the Farnell search box, that's the exact part number and it finds it. I attach a schematic of how I connect it. I use a 6-pin SOT23 breakout board from Sparkfun or Futurelec, which I solder on to the eval board using a 2-pin header. Or you could wire it dead-big style. The 10K pullup resistors in the schematic keep the signals clean while the Arduino is powering up.

The MCP3204 has a very high input resistance, so it doesn't affect the voltage you read from the thermistors, neither do the 10K resistors affect it. If there is any noise on the signals being measured, the you might want to put a capacitor (e.g. 1uF ceramic) between each of the analog input pins and AGND, so that it and the 10K resistor act as a low-pass filter.


* adum6401-2.jpg (50.41 KB, 720x475 - viewed 18 times.)

* adum6401-3.jpg (32.93 KB, 327x367 - viewed 15 times.)
Logged

Formal verification of safety-critical software, software development, and electronic design and prototyping. See http://www.eschertech.com. Please do not ask for unpaid help via PM, use the forum.

Offline Offline
Full Member
***
Karma: 0
Posts: 106
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ok, next one smiley

Now i need to read allot about the SPI stuff and why it's now hardware with the 74LVC1G125W5.
It means i need a 74LVC1G125W5 for every device now that uses SPI (SDcard, Ethernet...)?
Logged

United Kingdom
Offline Offline
Tesla Member
***
Karma: 224
Posts: 6593
Hofstadter's Law: It always takes longer than you expect, even when you take into account Hofstadter's Law.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

It means i need a 74LVC1G125W5 for every device now that uses SPI (SDcard, Ethernet...)?

No, devices that use true SPI protocol always have 3-state outputs on the data out pin. But the ADUM6401 is a generic device not specifically intended for SPI, and unfortunately it doesn't have 3-state outputs.
Logged

Formal verification of safety-critical software, software development, and electronic design and prototyping. See http://www.eschertech.com. Please do not ask for unpaid help via PM, use the forum.

Pages: [1] 2   Go Up
Jump to: