 # Convert NTC volts/bits to actual temperature in Celsius? How?

Hello, i'm wondering how i can convert NTC temperature measure sensor values from volts or bits to actual temperature in Celsius?

The value i have is 580. This is bits, i believe. In volts it will then be 580/1024 = 0.5664 V

My question is, how do i convert this to Celsius?

Thanks a lot, i really appreciate if someone could help me with this!

You need to know what resistor you have with it so you can convert the reading into ohms. Then you apply this conversion as a look up table.

NTC_Chart.pdf (19.7 KB)

A little bit of simple algebra is required, or a bit of googling will find a worked example...

It's 10k ohm resistor. Mark, i've tried googling it for so long, you have no idea. Still no solution to how to do this :S

Why are you ignoring the soloution given it reply #1? I hate that in a poster.

If you do not understand something then ask about what you do not understand, do not ignor it or others will ignore you.

I'm sorry if you interpreted it that way! I'n no way did i ignore. I'm very thankful for your help, and i'm sure you also enjoy helping others! Whenever i can i try to help others, but at this point i'm the one who needs help as i'm very new to these kind of things. As i wrote, i use a 10k ohm resistor, however i do not understand what you mean with applying this conversion as a look up table? What does a look up table mean? The resistor is at 10k ohm, i don't believe i converted it or anything. It's what it says on the resistor. The only thing i'm having problems with is calculating the value 556 from the NTC to actual temperature.

Billho, don't really understand. What values do i enter into the Steinhart variables? I only have the value 10k ohm resistor, and the 560 from the NTC resistor.

The resistor is at 10k ohm, i don't believe i converted it or anything.

No I said convert the voltage reading into a resistance reading because that table is a table of resistance verses temperature. So you have a voltage reading across the thermistor, therefore you know what voltage is across the 10K resistor = Voltage across the whole system ( is this 5V ) - voltage across the thermistor.

Now you know the voltage across the 10K you can calculate the current through the 10K resistor V / R = I ( current ), this is ohms law.

The current through the 10K will be the same as the current through the thermistor. So you know the voltage across the thermistor ( your measurement ) and the current through it you can calculate the resistance of the thermistor. Lay all that out and you will see you can shorten that formula if you like otherwise just go through those steps.

Now you have the resistance you can find the temperature from that table I posted. Just think how you would do it by hand, you would go down the list looking for a resistance close to the one you measured. Then you would look along the line and read the temperature.

You can do the same thing in a program with two arrays. One array has the resistance values in it and the other array has the temperature in it. Your code would search through the first array until you find a close match and then the array index where you found the match in the first array is the array index where you will find the temperature.

For extra accuracy, find the resistance just below what you have and the next value which will be just above what you have. The real temperature will be between the two. Find what proportion your reading is between the two values you have. The proportion can be applied to the two temperatures to find your intermediate temperature. This is know as linear interpolation.

There are other ways of doing this but it involves making a equation that is the same equation as the thermistor follows and applying your resistance reading to that. But to my mind this is more complex.

I only saw the pdf file you added now, i didn't notice it before.

Okay so i tried what you said, and this is what i get:

The 560 from bits is calculated to volt like this:

5(560/1023) = 2.73 V and this is the voltage across the thermistor. Voltage across 10k resistor = 5v - 2.73 v = 2.26 V

Current through 10k resistor = V / R = 2.26V / 10000 = 0.00026 A

Current through 10k resistor = current through thermistor.

R through thermistor = U / I = 2.26 V / 0.00026 A = 9986 ohms

So this doesn't show up on the table (pdf file you added). What did i do wrong?

Knuts: So this doesn't show up on the table (pdf file you added). What did i do wrong?

Details can be important. Reading the whole sheet often helps. Did you miss this at the bottom?

All Resistance is k or (x1000)

So your temperature is somewhere between 25 and 30 degrees. Very close to 30.

How to know exactly where: Basic algebra.

Hmm, it doesn't really make sense. Every value i get ends up with about 10k ohm, which is the resistor i use.

For example 670 bit value from NTC = 10k ohm / 1000 = 10 as you said, and that's 25 degrees. But the temperature in reality should be 10 Celsius :S

Same goes with bit value 570, it equals 9986 ohms.. it equals about 25 degrees.

How do you have it wired? Is the 10K between the 5V rail and the analogue input and the thermistor between the analogue input and ground?