Reading thermistors on MC43

Cole Koster 4 years ago in Master modules / MC4x updated by anonymous 3 years ago 3

I am trying to read a NTC thermistor with a resistive output ranging from 810 - 76.9 ohms on the MC43. 

In the past we have used a voltage divider circuit to read the sensor value on a VIN channel, but if the MC43 could introduce a bias current to the thermistor then the output voltage could read without the need for a second resistor in the mix. 

I did not seeing any mention of this in the MC43 manual but was wondering if anyone has faced this challenge before. 

Thank you. 

I've played around with a pt100 as well earlier this year, and after thinking of different ways to make a 3 or 4 point connection, we opted for a simple two wire approach; and calculate a vector based on real time measurements compared to the calculated values. You'd need some indication of the influence of the wires/ connectors.

The things I was thinking of was having a second voltage input or putting the third wire or second pair on a current input. With a current and a voltage input, you'd probably be able to make an estimate of the resistance on the circuit and compensate for extra the resistance of the wires and so on.

I'd love to hear more input on this, since we have 'a' solution now, but certainly not the prettiest one. 

The method I use is to calculate the voltage divider between the pull-up and the sensor.

Just calculating on pull-up and sensor may be good enough, but including the internal pull-down in the formula gives a more accurate result. (The VIN channels on MC4x all have internal pull-down)

By testing a few different values on the pull-up in the calculation, I find a value that gives an ok range.

Choosing a resitor value from the range of IdTags can be a good way to have something that is relatively easy to install in the wiring harness. 

When calculating, instead of entering every pair of value from the sensor datasheet, it can be enough to just use a few point to see if the reading will be reasonably linear. To see if scaling on the two points on the VIN will be good enough.

If a simple two-point scaling on the VIN isn’t good enough, then more points and a lookup table channel (LTC) can be a good idea.


>I've played around with a pt100 as well earlier this year, and after thinking of different ways to make a 3 or 4 point connection,

I recently had to use a PT100 and did not have a temperature transmitter avaliable so I tried this idea.

I can confirm it does work, using two VIN on the IQAN module. Both connected to separate "red" wires of the PT100, one of them also has 1k pullup to VREF.

With this you get quite good accuracy, however the resolution is only 0.7°C

If possible I prefer to use a KTY sensor that is easy to measure with high resolution.

If someone is interested here is the Qcode I used for the PT100 (it uses a lot of cycle time so don't run it every cycle):

//Calculate resistance of RTD with 3-wire measurement.
//Gives accurate result regardless of lead resistance 0-10 Ohms.
Result:= 3.351+391.3*b+55.75*b*b-207.4*a+10.06*a*a
//Calculate temperature from resistance in PT100 with coefficient 0.00392
Result:= (Result/100 - 1)/0.00392