Accurate PT100 Arduino - Page 1
Forum section: electronics / projects

author: andrew_c
author_rank: Regular Contributor
timestamp: April 18, 2018, 07:29:36 am
content: Afternoon all,I have a small project which requires accurate temperature measurement (0.1°C) to be fed into the 10-bit ADC of my Arduino. I need to measure from 10 to 45°C. At present I am using a 1mA current source through my RTD and compensating for wire-length using a circuit "borrowed" from MicroChip AN687. Unfortunately this didn't give me much resolution on my ADC (4.384 to 4.953V) which works out to about 0.3°C. I've had a go at "flooring" the output to 0V and them amplifying which should give me 0.04°C resolution (albeit, inverting the signal). I don't care about linearity as I'll be creating a truth table against a calibrated unit.This is my first time playing with Op Amps; I was hoping someone could take a quick peek and tell me if anything looks obviously wrong (or right?!).P.S. Any advice on OA selection?

author: tszaboo
author_rank: Super Contributor
timestamp: April 18, 2018, 07:36:28 am
content: That is a lot of effort to measure an RTD. I would rather connect it to a ADS1147 (or similar chip from AD or Linear) and be done with it.

author: andrew_c
author_rank: Regular Contributor
timestamp: April 18, 2018, 08:26:53 am
content: I know where you're coming from; I actually have a couple MAX31865 breakout boards which work great but I fancy going the long way around.Ideally I would like to use a single 5V supply but I'm struggling to find something which would accept the input range (439mV - 4.476V). Does it even exist? Do I need to narrow my resolution?I guess I could window between 1.75V and still have 0.1°C accuracy. The TI INA118 looks nice.

author: firewalker
author_rank: Super Contributor
timestamp: April 18, 2018, 12:30:15 pm
content: For the temperature range in question isn;t better to use an NTC thermistor in voltage divider configuration with a voltage reference as supply? An NTC with a high enough nominal resistance would also cancel out any lead resistance.Alexander.

author: SiliconWizard
author_rank: Super Contributor
timestamp: April 18, 2018, 01:15:20 pm
content: Quote from: NANDBlog on April 18, 2018, 07:36:28 amI second that.

author: Siwastaja
author_rank: Super Contributor
timestamp: April 18, 2018, 01:32:11 pm
content: A lot of the reason to use PT100 to begin with is that when the measurement circuit is good, you don't need a lookup table to get 0.1degC resolution.Lookup calibration is tedious to do and error-prone, so it's a huge plus to avoid doing that. Plus, you'd need a reliable reference temperature for the whole range. For that, you at least need an already calibrated, high accuracy thermometer which you can calibrate your own against.If you really are ready to do a complete lookup calibration anyway, maybe you indeed could use a cheaper, simpler NTC thermistor with the very simple resistor divider circuit. NTC has a steep curve, meaning you get a lot more change of resistance in your temperature range. With a lookup table based calibration over the full intended operating range, 0.1degC accuracy is IMHO possible.

author: andrew_c
author_rank: Regular Contributor
timestamp: April 18, 2018, 01:40:59 pm
content: Okay, apologies I didn't mention it, but I really was hoping to play with Op Amps a little bit. However, now I've had a quick play with a 5K NTC, I can see why you're all suggesting it.The circuit gets pretty simple eh?This gives me 1.722V between 10-45°C. It's close enough to 0.1°C accuracy. I can fiddle with the divider resistor a little I guessthanks for your help guys.Andy

author: SiliconWizard
author_rank: Super Contributor
timestamp: April 18, 2018, 01:41:15 pm
content: With a proper qualified PT100 or PT1000 sensor, you don't need any kind of calibration as long as the rated tolerance satisfies your requirements.As far as I remember, the resistance-to-temperature conversion is done with simple polynoms given in the relevant standard (I think: IEC 60751). I've used this in the past and there was no need for calibration. To get 0.1°C of precision though, you will need tight-tolerance components and at least a 16-bit ADC.Really, the ADS1147 is fine for that.At the time, I did this with a Wheatstone bridge, a voltage reference and an ADS1118. But the ADS1147 integrates most of what you'll need.

author: firewalker
author_rank: Super Contributor
timestamp: April 18, 2018, 03:26:46 pm
content: Can't SteinHart-Hart equation for a proper NTC (with well known characteristics) give 0.1 degrees accurately without look up tables?Alexander.

author: texaspyro
author_rank: Super Contributor
timestamp: April 19, 2018, 01:27:46 am
content: Take a look at the first application example shown in this datasheet:http://www.ti.com/lit/ds/symlink/ref200.pdfYou can also use the REF200 to drive 10K thermistors.

author: viperidae
author_rank: Frequent Contributor
timestamp: April 19, 2018, 09:46:19 am
content: Have you thought about changing the MCU's ADC +ref and -ref to match your input voltage range?

author: andrew_c
author_rank: Regular Contributor
timestamp: April 19, 2018, 09:58:53 am
content: I have in fact, though I already have a few devices configured for the standard reference so it wouldn't be a wise move.

author: westfw
author_rank: Super Contributor
timestamp: April 20, 2018, 05:39:56 am
content: Don't forget that the Arduino has a variable Vref - power supply, internal 1.1 bandgap, or external.The first two might not give you the accuracy you need - "yea, I have a 10bit ADC, but my power supply is only ~10%..."

author: bicycleguy
author_rank: Frequent Contributor
timestamp: April 20, 2018, 06:20:17 am
content: If you really want to play with op amps then you want to play with an instrumentation op amp like the INA826. Interesting how much closer to ideal in nearly every spec compared to a regular op.Here's an RTD application from use in 3D printer extruder temp measurement:https://wiki.e3d-online.com/File:PT100_Schematic_(v1).png

author: ahbushnell
author_rank: Frequent Contributor
timestamp: April 20, 2018, 01:04:27 pm
content: Quote from: andrew_c on April 18, 2018, 01:40:59 pmI don't think you will get .1 C accuracy with a thermistor. You may have a measurement resolution of .1 C.Andy

author: mycroft
author_rank: Regular Contributor
timestamp: April 20, 2018, 06:08:32 pm
content: Youcanget 0.1 C accuracy and resolution using an interchangeable NTC (likehttps://www.mouser.com/ProductDetail/803-PS103J2). The series resistor should have a small tempco and you ADC should have enough bits.You can use cheaper NTCs like inhttps://thecavepearlproject.org/2016/06/09/better-thermistor-readings-with-an-arduino-series-resistors-aref/provided you calibrate them.Choose your pick.

author: cellularmitosis
author_rank: Unknown
timestamp: April 20, 2018, 10:41:50 pm
content: Hello,You can do this with a thermistor, 1 op amp and 4 resistors (see attached).You'll need to re-adjust the resistors to suite your temperature rage (the resistors shown are for a 20C to 30C window).I thought I was getting 0.01C accuracy with this setup:https://www.eevblog.com/forum/metrology/temperature-stabilised-enclosures-heating-and-or-cooling/msg1412203/#msg1412203but it turns out that I was actually getting more like 0.1C, due to the tempco of the circuit / Arduino:https://www.eevblog.com/forum/metrology/temperature-stabilised-enclosures-heating-and-or-cooling/msg1412845/#msg1412845Here are some more links:https://www.eevblog.com/forum/metrology/temperature-logging-what-are-some-good-entry-points/msg1451006/#msg1451006

author: cellularmitosis
author_rank: Unknown
timestamp: April 20, 2018, 10:42:38 pm
content: Here's the LTSpice file:Edit: note that you use the same 3.3V signal for your AREF, which makes it a ratio-metric measurement (i.e. it doesn't matter if your 3.3V ref drifts).

author: cellularmitosis
author_rank: Unknown
timestamp: April 20, 2018, 11:28:10 pm
content: Here's the closest I could get using Vishay's PTF56 resistors, which have good tempco values. 9.4C to 42C, at about 0.03C per LSB, with a fairly linear response.https://www.digikey.com/product-detail/en/us-sensor-littelfuse-inc/103JG1J/615-1016-ND/1014544https://www.digikey.com/products/en/resistors/through-hole-resistors/53?k=ptf56&k=&pkeyword=ptf56&pv7=2&FV=mu59+kOhms%7C2085%2Cmu6.81+kOhms%7C2085%2Cmu75+kOhms%7C2085%2Cmu80.6+kOhms%7C2085%2Cffe00035&quantity=1&ColumnSort=0&page=1&stock=1&pageSize=100Of course, you'll have to calibrate this setupThe cost for thermistor + resistors is $9.35 (two of the Vishay values were pretty pricey).(The LT1001 isn't indicative of what op amp you should use -- I just picked that part because LTSpice has a model for it).