Author Topic: NTC Thermistor readings  (Read 1363 times)

0 Members and 1 Guest are viewing this topic.

Offline LiamHuntzTopic starter

  • Newbie
  • Posts: 3
  • Country: au
NTC Thermistor readings
« on: December 19, 2019, 04:39:44 am »
Hello all,

I am finishing off a small project of mine. It is a BBQ thermometer for probing meat temperatures and etc. I purchased some replacement probes off ebay for a popular BBQ thermometer brand and used an MCP3424 and arduino nano to read and display the temperatures. The probes are NTC thermistors and to read the temperature I have them in series with a resistor to create a voltage divider.

The MCP3424 reads from -2.048v to +2.048v with up to 18 bits resolution (which I am using in 18 bit mode). So I put together a linear voltage regulator that outputs +2.05v and checked the MCP3424 read 131071(maximum reading from mcp3424) when measuring across the output and it did. From there I measured a few resistances from the thermistor at various temperatures and in Matlab simulated the expected resistance at 0C(~155k ohm) and 250C(~30 ohm), the operating range I am expecting from the probes. I then calculated the best resistor for my application to go in series with the thermistor. It came to be a 1k ohm resistor would give me readable voltages across the thermistor at 155k ohms and 30 ohms.

To be sure I wired up my circuit with 4 different resistors. a 1k ohm, 4.7k ohm, 31k ohm and 110k ohm. With these wired in I measured the output of the ADC at +5oC increments from 30oC and recorded the output to later put into matlab to find a function to best estimate the temperature. The results I got were not what I was expecting.
Attached is an image of the graph I put together. As you can see the shape of the graph changes from sloping down to sloping up with different resistors. I'm not sure why this is as I calculated the resistance of the thermistors (Using the previous data) at each degree and they all match up. I have also graphed this which you can see all 4 data series are essentially the same.

My issue is that for some reason the curve fitting tool in matlab doesn't like the negative exponential functions (4.7k ohm and 1k ohm graphs) as much as it does the positive exponential graphs. I would like some insight into why the different resistor values change the shape of my graph, I know it may seem like a very basic question but I cannot figure it out. I thought a different resistor value would just change the position and rate of change of the graph while still being a positive exponential function instead of completely changing the shape of the graph.
« Last Edit: December 19, 2019, 04:43:30 am by LiamHuntz »
 

Offline sleemanj

  • Super Contributor
  • ***
  • Posts: 3025
  • Country: nz
  • Professional tightwad.
    • The electronics hobby components I sell.
Re: NTC Thermistor readings
« Reply #1 on: December 19, 2019, 06:24:08 am »
Have you considered the stability of each series resistor in regard to temperature, externally applied and internally generated through increased current as the NTC decreases, are they equally stable across the temperature range you may be subjecting them to.



~~~
EEVBlog Members - get yourself 10% discount off all my electronic components for sale just use the Buy Direct links and use Coupon Code "eevblog" during checkout.  Shipping from New Zealand, international orders welcome :-)
 

Offline mikerj

  • Super Contributor
  • ***
  • Posts: 3240
  • Country: gb
Re: NTC Thermistor readings
« Reply #2 on: December 19, 2019, 01:18:25 pm »
If you plot the response over a much wider temperature range you will find the curve becomes somewhat S shaped.  You are simply moving your usable response over different parts of this S shaped curve, so although the sign of the slope is always the same you could get the slope decreasing or increasing.

A rough rule of thumb for choosing a series resistor is to use the resistance of the thermistor which is near the middle of your desired temperature range.  This provides the largest and most consistent slope i.e. a good amount of linearisation is performed by the divider itself.

An 18 bit ADC seems like massive overkill for this application, and the one you have chosen has the unfortunate disadvantage of having an internal reference which isn't brought out.  Idealy you want to power your thermistor/resistor divider with the reference voltage that the ADC uses.  This means you have a ratiometric measurement so the absolute value and stability of the reference voltage becomes unimportant e.g. you could use your supply voltage as the reference.  Repeatability after calibration will then be determined by the tempco of the fixed resistor plus any drops along probe wires (which should be negligible at typical thermistor currents).
 

Offline LiamHuntzTopic starter

  • Newbie
  • Posts: 3
  • Country: au
Re: NTC Thermistor readings
« Reply #3 on: December 20, 2019, 09:53:10 am »
If you plot the response over a much wider temperature range you will find the curve becomes somewhat S shaped.  You are simply moving your usable response over different parts of this S shaped curve, so although the sign of the slope is always the same you could get the slope decreasing or increasing.

A rough rule of thumb for choosing a series resistor is to use the resistance of the thermistor which is near the middle of your desired temperature range.  This provides the largest and most consistent slope i.e. a good amount of linearisation is performed by the divider itself.

An 18 bit ADC seems like massive overkill for this application, and the one you have chosen has the unfortunate disadvantage of having an internal reference which isn't brought out.  Idealy you want to power your thermistor/resistor divider with the reference voltage that the ADC uses.  This means you have a ratiometric measurement so the absolute value and stability of the reference voltage becomes unimportant e.g. you could use your supply voltage as the reference.  Repeatability after calibration will then be determined by the tempco of the fixed resistor plus any drops along probe wires (which should be negligible at typical thermistor currents).

Hi, thanks for the reply.
So I would like to read from 0C to 250C and I have estimated the resistance of my thermistor to be approx 1.5k ohm's at 125C so I should put my thermistor in series with a 1.5k ohm resistor for best results? 1.5k is quite close to my calculated 1k ohm do you think 1k ohm is close enough?
 

Offline mycroft

  • Regular Contributor
  • *
  • Posts: 70
  • Country: br
Re: NTC Thermistor readings
« Reply #4 on: December 20, 2019, 11:25:42 am »
Take a look at https://electronics.stackexchange.com/questions/51908/selecting-bias-resistor-for-thermistor, there are some hints there. I found this page while reading at https://thecavepearlproject.org/2016/06/09/better-thermistor-readings-with-an-arduino-series-resistors-aref/. The last page touches other topics as NTC calibration. Overall a very interestig project.
 

Offline mikerj

  • Super Contributor
  • ***
  • Posts: 3240
  • Country: gb
Re: NTC Thermistor readings
« Reply #5 on: December 20, 2019, 11:40:43 am »
Hi, thanks for the reply.
So I would like to read from 0C to 250C and I have estimated the resistance of my thermistor to be approx 1.5k ohm's at 125C so I should put my thermistor in series with a 1.5k ohm resistor for best results? 1.5k is quite close to my calculated 1k ohm do you think 1k ohm is close enough?


If you have the thermistor characteristics (Beta value, Steinhart-Hart or a suitably large table of R vs temperature) then you can derive all the plots very quickly in a spreadsheet like Excel and optimise the fixed resistor.

1k looks too low from your plots, you aren't getting the best resolution.  Somewhere between 4k7 and 31k is likely optimal in this case.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf