Zener diode on voltage divider circuit

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?

Regards, Andrew


there’s a 2k1 resistor in the way, so around 5mA drain, hardly a problem

Yes it is a problem, the internal clamping diode should not be asked to take more than 1mA.

Using a zener like this can cause problems because of the knee of the curve. Better to use external clamping diodes.

I think you should look at the curve in the thermistor temperature response. Most thermistors are not real linear throughout their temperature range. search the web for PH Anderrson he has a website and a page devoted to thermistors.


Thanks for the prompt replies.

Mike, I had used your pages previously for advice on de-coupling (worked well!), but sadly hadn't clicked through to the protection page - lesson learned there! However, a couple of novice follow-up questions:

a) if 12v gets applied to the signal input then I can see the diode takes it straight to the 5v rail, but what happens to it then? Haven't you effectively just attached a 12v supply (assuming a common ground) to a 5v supply? Doesn't something give?
b) The diagram on your page has a small (22R) resistor, but your reply suggests that a much larger resistor won't protect the internal clamping diodes - should I assume this is to limit the current through the external clamping diodes rather than the Arduino?

Bob, the curve on the QAD22 datasheet actually seems reasonably linear, unless my eyes deceive me, but I'll read the Anderrson page in more detail just in case.

Thanks again

The excess voltage goes into powering the circuit. The seriese resistor limits the current so all that happens is the voltage regulator on the circuit backs off a bit. So in effect the supply is a voltage sink. Occasionally this can cause problems but mostly it is fine.

The resistor value depends on what sort of protection you want. The larger the value the more protection but also the more disruption to fast signals. In your case the signal is very slow so you can afford to have a bigger resistor and thus limit the current.

Thanks very much for your help Mike

As an alternative to the 12V supply + Schottky clamping diode, you could go back to using 5V and about 1K2, and amplify the output use an op amp and 3 resistors. If you use a rail-to-rail output op amp, you can convert your thermistor output to swing over the whole 5V across the temperature range of interest, which gives you 0.1C resolution if the range is 0 to 100C.

Thanks DC42; I'll give the 12v approach a go first of all, but yours is a good approach if I need more sensitivity. Thanks

One of those devices will help;-

TVS (Transient-voltage-suppression diode) is my favor.