I'd appreciate someone running a sanity check on my reasoning.
I need to read a thermistor that's already attached to my heating system and plan to use a conventional voltage divider circuit, consisting of a fixed value resistor at Vcc wired in series with the grounded thermistor, and reading the voltage at the junction of the two.
The thermistor (a Siemens QAC22 - https://hit.sbt.siemens.com/HIT/DB/HQEU/en/Assets/9904_Data%20Sheet%20for%20Product_Strap-on%20temperature%20sensor%20QAD2..,%20FA-T1G_en.pdf
) ranges from 1k @ 0 degrees C, to 1k5 @ 100 degrees C.
However, there is a problem. Doing the maths, I figure that the standard Arduino 5v voltage across the voltage divider would only give me a maximum sensitivity on the analog input pin of just over 1 tick per degree Centigrade, as follows (using a fixed resistor of 1k2)
- 0C = 2.3v = 465 ticks
- 100C = 2.8v = 569 ticks
This is rather too coarse for my needs, as I'd like to get to 0.5C sensitivity.
So I thought if I used 12v across the divider and changed the fixed resistor to 2k1 then I get a bit more than 2 ticks per degree Centigrade - thus:
- 0C = 3.9v = 793 ticks
- 100C = 5v = 1023 ticks
But this then begs the question "what if there's a fault in the wiring to the thermistor" (eg, I forget to connect it), in which case the Arduino gets 12v to the analog pin. Googling suggests I could just ignore it (there's a 2k1 resistor in the way, so around 5mA drain, hardly a problem), or protect the sampling pin using either a cascade of forward biased diodes or use a single zener diode with a reverse voltage of 5.1v.
For safety I'm thinking I should use the zener diode, but does this seem the right approach, or is it overkill?