NTC Thermistor readings - Page 1
Forum section: electronics / beginners

author: LiamHuntz
author_rank: Newbie
timestamp: December 19, 2019, 04:39:44 am
content: 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.

author: sleemanj
author_rank: Super Contributor
timestamp: December 19, 2019, 06:24:08 am
content: 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.

author: mikerj
author_rank: Super Contributor
timestamp: December 19, 2019, 01:18:25 pm
content: 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 likemassiveoverkill 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).

author: LiamHuntz
author_rank: Newbie
timestamp: December 20, 2019, 09:53:10 am
content: Quote from: mikerj on December 19, 2019, 01:18:25 pmHi, 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?

author: mycroft
author_rank: Regular Contributor
timestamp: December 20, 2019, 11:25:42 am
content: Take a look athttps://electronics.stackexchange.com/questions/51908/selecting-bias-resistor-for-thermistor, there are some hints there. I found this page while reading athttps://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.

author: mikerj
author_rank: Super Contributor
timestamp: December 20, 2019, 11:40:43 am
content: Quote from: LiamHuntz on December 20, 2019, 09:53:10 amIf 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.