# Interfacing NTC thermistor

Discussion in 'Microcontrollers, Programming and IoT' started by Rahul Sreekumar, May 14, 2014.

1. ### Rahul Sreekumar

4
0
May 14, 2014
How can I interface an NTC thermocouple with pic?? How can I calculate the Steinhart-Hart coefficients..?? I don't know the manufacturer of the NTC thermistor.. I'm including a picture of my NTC thermistor... Please Help....

File size:
64.2 KB
Views:
209
2. ### Harald KappModeratorModerator

9,542
1,968
Nov 17, 2011
Welcom to our forum.

You can't, because an NTC is not a thermocouple.
An NTC is a resistor whose resistance varies (nonlinearly) with temperature. From your mentioning Steinhart-Hart coefficients I assume you have an NTC.
A thermocouple is an interface of two different metals that generates a voltage proportional to temperature.

For either of the two sensors you will need a suitable signal conditioning circui that converts either the resistance of the NTC or the small voltage from the thermocouple to a voltage that can be measured by the ADC of a PIC.
An NTC's resistance can easily be measured by driving a current through the NTC and measuring the voltage drop. Here is an application note by microchip that gives the relevant information.

If you don't know the parameters of the NTC, you can measure the resistance<>temperature characteristic (compare table 2 in the application note) and evaluate the resulting table to arrive at the coefficients (see app note and also e.g. Wikipedia).

3. ### MicroMe

15
0
May 18, 2014
Thermistors are great little sensors and as you are aware just change resistance with temperature, so any method that measures resistance is a good start.
The application note referenced above is good and well worth the read. Basically you need to pass a current into the thermistor and measure the voltage, but choose a current that does not cause the thermistor to self heat and change its reading. Here lies the problem, at low currents you will not read much voltage change and at higher currents you get heating errors. The cure is to design an amplifier to match the generated voltage to the PIC A/D.

Or you can use an external A/D and one of the slow 20bits (and over) can also provide benefits, giving a high resolution and rejecting mains pickup.

An alternative is to put the thermistor in a 555 type timer as an oscillator and use the PIC counters to read the frequency. I have used this in the past and it worked very well.

Once you have the reading you then need to convert it and the 'best' method depends on your requirements and the PIC. A floating point conversion will be the best but slowest and most resource hungry. Look up tables and interpolation between values (straight line) can be good if acceptable and for fixed alarm temperatures you don't need to convert, just find the 'value' that matches your alarm levels.

Ask a Question
Want to reply to this thread or ask your own question?
You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.
Continue to site