Welcome
Username or Email:

Password:


Missing Code




[ ]
[ ]
Online
  • Guests: 97
  • Members: 0
  • Newest Member: omjtest
  • Most ever online: 396
    Guests: 396, Members: 0 on 12 Jan : 12:51
Members Birthdays:
All today's birthdays', congrats!
dan (37)
rchydro (64)
CapRack (30)


Next birthdays
11/07 Dave Marshall (40)
11/07 Worms (46)
11/08 Bert (77)
Contact
If you need assistance, please send an email to forum at 4hv dot org. To ensure your email is not marked as spam, please include the phrase "4hv help" in the subject line. You can also find assistance via IRC, at irc.shadowworld.net, room #hvcomm.
Support 4hv.org!
Donate:
4hv.org is hosted on a dedicated server. Unfortunately, this server costs and we rely on the help of site members to keep 4hv.org running. Please consider donating. We will place your name on the thanks list and you'll be helping to keep 4hv.org alive and free for everyone. Members whose names appear in red bold have donated recently. Green bold denotes those who have recently donated to keep the server carbon neutral.


Special Thanks To:
  • Aaron Holmes
  • Aaron Wheeler
  • Adam Horden
  • Alan Scrimgeour
  • Andre
  • Andrew Haynes
  • Anonymous000
  • asabase
  • Austin Weil
  • barney
  • Barry
  • Bert Hickman
  • Bill Kukowski
  • Blitzorn
  • Brandon Paradelas
  • Bruce Bowling
  • BubeeMike
  • Byong Park
  • Cesiumsponge
  • Chris F.
  • Chris Hooper
  • Corey Worthington
  • Derek Woodroffe
  • Dalus
  • Dan Strother
  • Daniel Davis
  • Daniel Uhrenholt
  • datasheetarchive
  • Dave Billington
  • Dave Marshall
  • David F.
  • Dennis Rogers
  • drelectrix
  • Dr. John Gudenas
  • Dr. Spark
  • E.TexasTesla
  • eastvoltresearch
  • Eirik Taylor
  • Erik Dyakov
  • Erlend^SE
  • Finn Hammer
  • Firebug24k
  • GalliumMan
  • Gary Peterson
  • George Slade
  • GhostNull
  • Gordon Mcknight
  • Graham Armitage
  • Grant
  • GreySoul
  • Henry H
  • IamSmooth
  • In memory of Leo Powning
  • Jacob Cash
  • James Howells
  • James Pawson
  • Jeff Greenfield
  • Jeff Thomas
  • Jesse Frost
  • Jim Mitchell
  • jlr134
  • Joe Mastroianni
  • John Forcina
  • John Oberg
  • John Willcutt
  • Jon Newcomb
  • klugesmith
  • Leslie Wright
  • Lutz Hoffman
  • Mads Barnkob
  • Martin King
  • Mats Karlsson
  • Matt Gibson
  • Matthew Guidry
  • mbd
  • Michael D'Angelo
  • Mikkel
  • mileswaldron
  • mister_rf
  • Neil Foster
  • Nick de Smith
  • Nick Soroka
  • nicklenorp
  • Nik
  • Norman Stanley
  • Patrick Coleman
  • Paul Brodie
  • Paul Jordan
  • Paul Montgomery
  • Ped
  • Peter Krogen
  • Peter Terren
  • PhilGood
  • Richard Feldman
  • Robert Bush
  • Royce Bailey
  • Scott Fusare
  • Scott Newman
  • smiffy
  • Stella
  • Steven Busic
  • Steve Conner
  • Steve Jones
  • Steve Ward
  • Sulaiman
  • Thomas Coyle
  • Thomas A. Wallace
  • Thomas W
  • Timo
  • Torch
  • Ulf Jonsson
  • vasil
  • Vaxian
  • vladi mazzilli
  • wastehl
  • Weston
  • William Kim
  • William N.
  • William Stehl
  • Wesley Venis
The aforementioned have contributed financially to the continuing triumph of 4hv.org. They are deserving of my most heartfelt thanks.
Forums
4hv.org :: Forums :: General Science and Electronics
« Previous topic | Next topic »   

Precision thermometer: question

1 2 
Move Thread LAN_403
IamSmooth
Thu Feb 06 2014, 08:11PM Print
IamSmooth Registered Member #190 Joined: Fri Feb 17 2006, 12:00AM
Location:
Posts: 1567
I am building a precision LCD thermometer and would like to make sure I am going about it correctly. I am using an RTD probe that will have a resistance that varies from 20R to 100R (approximately). I can use an Arduino to measure the voltage to get the temperature. The arduino can measure from 0 to 5v. This is my full range which I want to use. The question is what is the correct and simplest way to do this. I am planning to do this:

I plan on using a resistive divider to get a reference voltage equal to the lowest voltage I expect to measure on the RTD. I will put both voltages into a non-inverting opamp. Ov = lowest voltage. I will also have a 10k resistance in series with the RTD so changes in RTD resistance are very close to linear changes in voltage. Since this voltage across the RTD is small, my opamp will have a gain such that the maximum voltage is 5v.

Is there a better approach? This method allows me to use trim-pots so I can calibrate my low and high values.

Back to top
Sulaiman
Thu Feb 06 2014, 08:58PM
Sulaiman Registered Member #162 Joined: Mon Feb 13 2006, 10:25AM
Location: United Kingdom
Posts: 3140
At work we repair many types of temperature controllers,
quick answer; the time/effort/cost involved vs. ready made unit.
it's equivalent to designing and building a D.M.M. vs buying one.

Usually compensation for offset, gain, linearity and ambient temperature.

Have a look at Analog Devices website for too much information.
Microchip also have some good stuff as do Texas Instruments.

If you want to build a PRECISION anything, lots of research required.
( assuming PRECISION to mean better than commonly available)

The FIRST thing to check is that the sensor(s) meet your 'precision' requirements (e.g. gain, offset, repeatability, drift .....)
Some probes have a 2-wire rom inside with calibration mapping.
Back to top
Wastrel
Thu Feb 06 2014, 11:38PM
Wastrel Registered Member #4095 Joined: Thu Sept 15 2011, 03:19PM
Location: England.
Posts: 122
I think that is good advice. If you want to try anyway, I would avoid the bridge and go with an op amp controlling a transistor as a constant current source and use a 4 point probe. I'd put the op amps and anything sensitive to thermal variations (not the current source transistor) in a thermally controlled box.

The other thing is that repeated exposure to cryogenic temperatures may turn the sensor to dust after a few thermal cycles.
Back to top
BigBad
Fri Feb 07 2014, 03:26AM
BigBad Registered Member #2529 Joined: Thu Dec 10 2009, 02:43AM
Location:
Posts: 600
fwiw I built an arduino based sous vide controller using a thermistor.

All I did was put it in series with a resistor put the 5v/0v from the arduino across them, and plugged the middle straight into the arduino's analogue input. I think the resolution was about 0.2 degrees.

I just took the data from the manufacturer and interpolated it; it seems to be within a degree accuracy without calibration. I'd advise you to ditch the pots; you can always calibrate it with software if you have some other way to measure temperature more accurately.
Back to top
Shrad
Fri Feb 07 2014, 08:26AM
Shrad Registered Member #3215 Joined: Sun Sept 19 2010, 08:42PM
Location:
Posts: 780
you have to use a precision voltage reference and override the one inside the µC of your arduino (there are config registers for doing so)

I advise you to power your design with 5V and use a precision low drift DC/DC converter to feed 3,3V to your µC (so whatever your charge may be you're sure to always have a precision voltage to compare against your precision reference)

you also have to use a 4 wire RTD and use the shortest cable length you can, along with a precision instrumentation amplifier (linear appnotes deliver clear and precise examples)

another idea would be to use a wheatstone bridge which achieves a ggood precision if you have it temperature stabilized and use precision carbon resistors (1% laser trimmed)

but be aware that using a cheap arduino would render most of those precautions useless due to the design and µC not being designed for precision (unless the design is checked to comply with best design practice and the µC is a good one)
Back to top
Sulaiman
Fri Feb 07 2014, 09:24AM
Sulaiman Registered Member #162 Joined: Mon Feb 13 2006, 10:25AM
Location: United Kingdom
Posts: 3140
+1 for calibration in software
... that's how most 'modern' temperature controllers do it
potentiometers have their own problems, and cost

Have you decided on required temperature range, precision and sensor required ?

So, you've chosen a suitable sensor,
next is to choose the precision for A/D conversion
8-bit = 0.4% resolution
10-bit = 0.1 % resolution
16-bit = optimistic (0.0015%)
To allow for unused ranges above and below required range etc.
aim for twice the precision you actually require,
e.g. 8-bit = 1%, 10-bit =0.2%

but, before you start,
My Maplin multimeter with thermocouple input and RS232 output cost GBP9.99
(-50C to +200C type-k thermocouple in this case)
.... ALL RANGES (V, I, R, C, TEMP etc.) displayed and/or recorded on P.C.
ELECTRICALLY ISOLATED, with nice enclosure, terminals and leads
(A USB I/F is better, but more expensive)
... do you need to D.I.Y. ?

P.S. many semiconductor manufacturer's application notes have done all the work for you, are pretty much guaranteed to work, and evaluation pcb/kit available.
Back to top
Bjørn
Fri Feb 07 2014, 09:42AM
Bjørn Registered Member #27 Joined: Fri Feb 03 2006, 02:20AM
Location: Hyperborea
Posts: 2058
Don't forget the noise you will get on the readings. Some Arduino boards are not made well enough to give precision readings.
Back to top
...
Fri Feb 07 2014, 03:05PM
... Registered Member #56 Joined: Thu Feb 09 2006, 05:02AM
Location: Southern Califorina, USA
Posts: 2445
In an application like this, where you are feeding a 10bit A/D converter, the normal precautions associated with 'precision' do not really apply.

I can say though that with a 100ohm RTD you will definitely want to use a 4-wire setup, with a current source wired across 2 wires, and a voltage sense across the other two. Ideally, you would derive the current from the arduino internal voltage reference (doing it this way removes any possible drift from the arduino reference), but that starts to get complicated. Although I bet if you thought about it for a while it would be possible to build the voltage->current adapter and instrumentation amplifier to read from the sensor output in a single quad opamp.

Alternatively if you switch to a 1kohm RTD the error effects from the contact resistance will be a lot smaller, and you might be able to get away with just making sure to use low resistance connections and still keep your 10bit resolution as long as you are not scaling the 10bit window over too small a temperature range (for a 1k RTD changes a few ohms per degree depending on the temperature)
Back to top
Shrad
Fri Feb 07 2014, 05:39PM
Shrad Registered Member #3215 Joined: Sun Sept 19 2010, 08:42PM
Location:
Posts: 780
there are fast 12bit A/D converters in SPI... 12bit usually fills the gap cost between 10 and 16 bits and you gain a nice precision factor

there are also interpolation techniques you could use for gaining precision, and there are at least three or four different types of A/D conversion schemes used in ICs each with their advantages
Back to top
Avalanche
Fri Feb 07 2014, 09:44PM
Avalanche Registered Member #103 Joined: Thu Feb 09 2006, 08:16PM
Location: Derby, UK
Posts: 845
You can get a lot more than 10 bits of resolution from a 10 bit ADC if you oversample.

The basic method is to add a small amount of random noise to your signal, then (for example) 16 samples averaged will give you a 12 bit result, or 256 samples averaged will give you a 14 bit ADC result.

Obviously the drawback is that your effective sampling rate goes down rapidly with an increase in bit depth cheesey
Back to top
1 2 

Moderator(s): Chris Russell, Noelle, Alex, Tesladownunder, Dave Marshall, Dave Billington, Bjørn, Steve Conner, Wolfram, Kizmo, Mads Barnkob

Go to:

Powered by e107 Forum System
 
Legal Information
This site is powered by e107, which is released under the GNU GPL License. All work on this site, except where otherwise noted, is licensed under a Creative Commons Attribution-ShareAlike 2.5 License. By submitting any information to this site, you agree that anything submitted will be so licensed. Please read our Disclaimer and Policies page for information on your rights and responsibilities regarding this site.