# Measure temperature @0.1deg resolution using thermistor

Status
Not open for further replies.

#### gopal_amlekar

##### New Member
Hello all,

I would like to get expert suggestions on whether it is possible to design a circuit for:

1. Temperature measurement using a NTC thermistor
2. 10-bit ADC (Max. input 3.3V)
3. Resolution of 0.1 degree celsius
4. Temperature range of -40 to +100 degree celsius

I studied a thermistor (10K, Beta value 2490) datasheet http://www.vishay.com/docs/29003/23816154.pdf.
If I use this thermistor in a voltage divider circuit biased from a 3.3V supply, I get a minimum step size of only 536uV for a 0.1 degree change in temperature.This step size varies through the range as the characteristics are nonlinear.

For a 10-bit ADC, minimum step size is 3.2mV.

Is there some way out or some other trick like amplifying voltage obtained across thermistor and / or changing gain of this amplifier dynamically etc. or some software manipulation / linearization etc.

Regards,
Gopal

#### Boncuk

##### New Member
Yes, there is another "trick".

Use a 12 or 14 bit A/D converter or a self-contained 16-bit serial temperature sensor such as the Sensirion SHT11, which doesn't need the 10-bit A/D converter in an MCU.

It also measures relative humidity.

Boncuk

#### MikeMl

##### Well-Known Member
A 10bit A/D will quantize 2^10=1024 steps. Your interval is 140degC, so your theoretical step is 140degC/1024 = 0.137degC. You really need a 12 bit A/D.

You can use an opamp to amplify the delta V across the thermistor, and offset it so that it fills the full dynamic range of the A/D.

The reading accuracy will be determined by self-heating due to the currrent you pass through the thermistor, and how stable the reference voltage for your A/D is. If the A/D is ratiometric to the Vdd pin on your uC, then the accuracy is no better than the Vdd voltage regulation...

3v0

#### Jaguarjoe

##### Member
Do you want 0.1 degree accuracy or 0.1 degree resolution? They are two different things not related to each other.

#### Boncuk

##### New Member
Do you want 0.1 degree accuracy or 0.1 degree resolution? They are two different things not related to each other.
That's what the OP stated: "3. Resolution of 0.1 degree celsius".

I think it's clearly formulated.

#### 3v0

##### Coop Build Coordinator
Forum Supporter
I would use a part that meet your spec and had a digital interface.

Last edited:

#### crutschow

##### Well-Known Member
Do you want 0.1 degree accuracy or 0.1 degree resolution? They are two different things not related to each other.
They are related to the extent that you want the resolution to be at least as good as the accuracy, otherwise the accuracy is wasted.

#### ericgibbs

##### Well-Known Member
hi Gopal,
Look at the MCP3202 dual 12bit A2D IC, use the SPI feature of the PIC to interface with the MCP3202.

#### misterT

##### Well-Known Member
You could take multiple 10bit measurements (AD-conversions) and average the result. You could also use dithering (adding noise to the signal) with averaging: http://www.dspguide.com/ch3/1.htm

Last edited:

#### gopal_amlekar

##### New Member
misterT: I think it is same as doing an oversampling, right?

ericgibbs: MCP3202 or even 3201 is also a good option but this project is cost constrained and significant difference in pricing of a thermistor and an external ADC is there.

My earlier reply to this post has not been posted on forum, it seems (moderation?)

#### ericgibbs

##### Well-Known Member
misterT: I think it is same as doing an oversampling, right?

ericgibbs: MCP3202 or even 3201 is also a good option but this project is cost constrained and significant difference in pricing of a thermistor and an external ADC is there.

My earlier reply to this post has not been posted on forum, it seems (moderation?)
hi,
Hi Eric,

for a single circuit the difference of $1 might not be significant. Industrial manufacturers calculate production cost down to a fraction of a Cent, e.g. if a screw costs 5Cents they use a rivet instead costing 4.5Cents. The significant difference will be seen if they produce 1Mio units. Regards Hans #### ericgibbs ##### Well-Known Member Most Helpful Member Hi Eric, for a single circuit the difference of$1 might not be significant.

Industrial manufacturers calculate production cost down to a fraction of a Cent, e.g. if a screw costs 5Cents they use a rivet instead costing 4.5Cents.

The significant difference will be seen if they produce 1Mio units.

Regards

Hans
Morning Hans,
Reference the fractions of a cent, been there, done that, to 0.1pence on many commercial products.

As I understand it the OP is making a one off design.??

If not, he should be costing the product based on volume purchasing of components

hi gopal,
ericgibbs, Thanks for suggestion but pricing here is quite different. A thermistor you can get at Rs. 4, while a 12-bit ADC (MCP3201 / 3202) at more than Rs. 100 so a 25 times difference. Hence I am finding ways out..
I am not suggesting that you replace a thermistor with a MCP3202, the MCP is for the 12bit ADC conversion, so that you can realise the 0.1C resolution.

The 'dithering' method suggested by 'Mister T' works very well, you could enhance the PIC's adc to 11 bit or 12 bit resolution.

In fact I have recently used that method on a commercial product, to increase a 12Bit adc to 13bit resolution.

Good luck with the project.

Last edited:

#### gopal_amlekar

##### New Member
Cost...

As I understand it the OP is making a one off design.??
ericgibbs, No it is for volume production. Sorry I should have mentioned it earlier. Hence, I am trying best to get desired specifications at lowest possible cost.
My processor already has a 10-bit ADC inbuilt, so at present, there is no extra cost for an ADC. So adding external 12-bit ADC will sure increase BoM cost. Thank you for wishes. I will give a try to oversampling.

#### Dean Huster

##### Well-Known Member
I would think that a thermistor would be too non-linear for such a feat, whether looking at accuracy or resolution, but especially accuracy, without some sort of look-up correction table at the output of the ADC. Don't forget that a thermistor has a pretty low upper-temp limit and that if you ever have to replace the thermistor, you have to start all over again with the linearizing table.

#### MrAl

##### Well-Known Member
Hello again,

Oversampling is a good idea in addition to range switching (or even using more than one thermistor and resistor pair) but it should be noted that the theory behind this has to be understood very well or it will look like you're getting accurate results when really it's not that accurate. For one thing, you have to have some way to guarantee part of the input signal is true random noise, and that is not that easy to get due to external influences being somewhat repetitive rather than random. Repetitive signals cause range clotting, where there ends up being more chance of a given measurement than another, and that upsets the whole theory of oversampling.
For example, you can not dither the input with a small sine wave and expect that to take the place of a small random signal. Note that it will look like it is working when really if you took many many measurements over the full range of the device you'd find that there is more chance of reading say 2.100 volts than say 2.110 and that defeats the whole purpose of oversampling in the first place. All i can suggest is that you read something good written on oversampling very carefully and make sure they talk about the required randomness of the noise source.

Also, as Deans post suggests, thermistors were not really made for this kind of application in the first place. For this kind of accuracy, cost or not, the best way to go is the digital sensor along with a look up table and some kind of calibration routine.

One thing we dont know yet though is what kind of overall accuracy you are looking for. You mentioned the resolution but that isnt the same as accuracy. For example, if you measure 40.2 deg C and the real temperature is 40.1 or 40.3 is that going to be a problem? Note that the repeatability would probably be ok though and the resolution would still be 0.1 deg C. Temperature measurements usually dont have to be super super accurate because there are other things that easily throw off the reading anyway like small temperature gradients caused by even the smallest air turbulence.

Last edited:
Status
Not open for further replies.