Electronic – NTC Thermistor circuit, ADC conversion, compute temperature

adcavrthermistor

Here's the schematics of my NTC – ADC circuit,

NTC
NTC-ADC
AREF

ADC 10bits, ADCVCC 2.56V

Vin = 5V

Someone can explain me how i get RT, the value of resistance of NTC from ADC value?
thanks.

I'm using the voltage divider formula:

Vout = ADCVCC * ADC_value / 1024
BETA = 3950
R25 = 4700
RT = 10K / (Vin - Vout - 1)
T = (1 / (1/298.16 + 1/BETA * ln(RT/R25 )) - 273.15

But I got wrong results:

the range of my temperatures are:

adc = 1    -> T = 344 °C;
adc = 1023 -> T = 8

How I have to set up the ADC in AVR? with internal voltage reference or not?

do i have wrong formula?

I need to read "exact" temperature in range of -10°C to +30°C more or less.

I've tried already with SH equation with coefficent A,B,C
but i've got worst results!!!

I think I've don't understand the schematics of NTC – ADC circuits…

And set up my ATMega with wrong parameters.

Someone can try to explain me how to convert my ADC value to Resistence of thermistor with this schematics?

Thanks in advice for help.

[EDIT]

My setup for AVR ADC:

ADMUX |= (1<<REFS0) | (1<<REFS1);
ADCSRA |= (1<<ADEN) |(1<<ADSC) |(1<<ADIE);
ADCSRA |= (1 << ADPS2) | (1 << ADPS1) | (1 << ADPS0);

and the formula used to get Resistance from ADC value:
Vin = 5V
Vref = 2,56V (AREF)

Vout = adc_val * (Vref / 1024.0))
RT   = 10k / (Vin / Vout - 1.0)

This code match the schematics? Is it correct my ADC set up with those schematics?
thanks in advice.

Best Answer

Someone can try to explain me how to convert my ADC value to Resistence of thermistor with this schematics?

Firstly, the op-amp circuit is doing very little other than adding a small error. If it had gain, you could argue it had a benefit.

Secondly, this circuit benefits from using the supply voltage as its analogue reference because then you remove another error term that being the variable difference between supply voltage on R1 and the reference voltage of the ADC.

So then, the value of the ADC represents the ratio \$\dfrac{thermistor \space resistance}{thermistor\space resistance + 10k\Omega}\$

Can you take it from here?