Maker Pro
Maker Pro

Circuit to output difference in temperature between two thermistors

Im sure this has been done before, right?

Two NTC thermistors.

10k @ 25C
Beta = 3380

I'd like a circuit which outputs a voltage which is the difference in
temperature between the two resistors.

But it needs to be linear.

I.e.

1 degree difference = 0.1V
10 degree difference = 1V
100 degree difference = 10V

At ANY location in the thermistors operating range.

Im trying to get my head around this....what is the mathematical
function for what Im trying to do? Since the thermistor is non-linear?

Im thinking a circuit which linearizes each thermistors resistance vs.
temperature, and then another which simply does a voltage difference.

Sound right?

I can do the voltage difference, but how do I do the linearizer?
 
B

Bill Sloman

Im sure this has been done before, right?

Two NTC thermistors.

10k @ 25C
Beta = 3380

I'd like a circuit which outputs a voltage which is the difference in
temperature between the two resistors.

But it needs to be linear.

I.e.

1 degree difference = 0.1V
10 degree difference = 1V
100 degree difference = 10V

At ANY location in the thermistors operating range.

Im trying to get my head around this....what is the mathematical
function for what Im trying to do? Since the thermistor is non-linear?

Im thinking a circuit which linearizes each thermistors resistance vs.
temperature, and then another which simply does a voltage difference.

Sound right?

Tricky. You seem to want to cover a wide temperature range, and
keeping good accuracy over the whole range would be difficult.
I can do the voltage difference, but how do I do the linearizer?

The function you are looking for is the Steinhart-Hart fitting function

http://www.betatherm.com/stein.htm

Getting the three fitting parameters for a particular thermistor isn't
all that easy, and working out temperature from resistance isn't trivial
either.

The most practical way of solving your problem would be a
tolerably precise A/D converter - Linear Technology have a nice
range of nominally 24-bit sigma delta A/D converters starting
with the LTC2400 - on each thermistor. You'd then feed both
digital outptus into some kind of microcontroller, linearise in the
digital domain, subtract the temperatures in the digital domain,
and feed the digital difference into a D/A converter.

Remember not to dissipate too much power in the thermistor
anywhere in the temperature range - 10uW is what I've used -
because even "interchangeable" thermistors tend to drift if you
give them too much power, and they all go unstable if you give
them much more. I think we saw instability at 100uW, but it's
while since I've worked with thermistors.
 
R

Rich Webb

Im sure this has been done before, right?

Two NTC thermistors.

10k @ 25C
Beta = 3380

I'd like a circuit which outputs a voltage which is the difference in
temperature between the two resistors.

To what accuracy?
But it needs to be linear.

I.e.

1 degree difference = 0.1V
10 degree difference = 1V
100 degree difference = 10V

At ANY location in the thermistors operating range.

Im trying to get my head around this....what is the mathematical
function for what Im trying to do? Since the thermistor is non-linear?

As Bill Sloman mentioned, it's Steinhart-Hart. There's another (that's
named "senior moment" right now, apparently ;-) that uses the thermistor
beta but the S-H equation follows the behavior more closely.
Im thinking a circuit which linearizes each thermistors resistance vs.
temperature, and then another which simply does a voltage difference.

Sound right?

I can do the voltage difference, but how do I do the linearizer?

Modulo your un-stated accuracy, you can probably get "good enough"
linear behavior over a *portion* of the range by paralleling the
thermistor with a larger resistor.

For a similar thermistor that I have a handy listing for on the hard
drive, its S-H parameters work out to be 8.626294E-4, 2.586585E-4, and
1.396712E-7 (which is a 25-to-50 Beta of about 3440), then using a 47K
in parallel and a 4.7K "on the bottom" yields linear results to within
0.5 C from about 15 to 65 C and fits nicely in the middle between Vcc
and ground. YMMV and you'll need to do the math to check, of course, and
don't forget that the resistors etc. affect the accuracy as well.
 
J

Jasen Betts

Im sure this has been done before, right?

Two NTC thermistors.

10k @ 25C
Beta = 3380

I'd like a circuit which outputs a voltage which is the difference in
temperature between the two resistors.

But it needs to be linear.

hook them both to a microcontroller.

why do you need to use thermistors?

can't you use something linear like thermocouples, or themometer
chips, or diodes?
 
Why thermistors? Why not some more linear sensors? RTDs, ICs,
thermocouples?

There are some nice thinfilm platinum RTDs that look just like
surface-mount resistors. Thermocouples are nicely suited to delta-T
measurements reasonably near room temp.

John- Hide quoted text -

- Show quoted text -

By far the best way, 1 ptc in each arm of the bridge gives you the
difference directly.
 
S

Spehro Pefhany

On Fri, 9 Jan 2009 14:11:18 -0800 (PST), the renowned
Im sure this has been done before, right?

Two NTC thermistors.

10k @ 25C
Beta = 3380

I'd like a circuit which outputs a voltage which is the difference in
temperature between the two resistors.

But it needs to be linear.

I.e.

1 degree difference = 0.1V
10 degree difference = 1V
100 degree difference = 10V

At ANY location in the thermistors operating range.

Im trying to get my head around this....what is the mathematical
function for what Im trying to do? Since the thermistor is non-linear?

Im thinking a circuit which linearizes each thermistors resistance vs.
temperature, and then another which simply does a voltage difference.

Sound right?

I can do the voltage difference, but how do I do the linearizer?

What is the thermistors' operating range? Range of temperature
difference? Desired accuracy? Resolution? Allowable self heating?

In general, the easiest way would be to digitize, linearize and then
subtract the two numbers, and convert back to analog if you must.

Last time I did something like this (covering the full rated range of
the thermistor) I used three sets of Steinhart-Hart coefficients to
digitally linearize the thermistor.

If you're trying to measure something like heat flow, I'd likely go
with Pt RTDs or thermocouples, depending on cost and accuracy
constraints.

Thermistors have an initial tolerance, and a tolerance in the 'beta'
as well, so even ones that match well at room temperature may not
match so well at the high and low extremes. That translates into an
error in the difference output.


Best regards,
Spehro Pefhany
 
R

Raveninghorde

Use a PIC.

Microchip have an app note for measuring temperature using the RC time
constant of the thermistor with a known cap. Once you have the
resistance a look up table works well for getting temperature. I
normally put in R for every 5C and do a simple piece wise linear
approximation to find the actual value.

Do that for both thermistors, take the temp difference and use
software pwm, or a PIC with pwm, into a RC filter and op amp to give
you the linear output.

Parts cost for the above is under £2 or $3.

Works well over a wide T range. If you need an extra wide range the
spare pins on the PIC can switch in different ref Rs and caps for the
initial conversion.
 
R

Raveninghorde

Use a PIC.

Microchip have an app note for measuring temperature using the RC time
constant of the thermistor with a known cap. Once you have the
resistance a look up table works well for getting temperature. I
normally put in R for every 5C and do a simple piece wise linear
approximation to find the actual value.

Do that for both thermistors, take the temp difference and use
software pwm, or a PIC with pwm, into a RC filter and op amp to give
you the linear output.

Parts cost for the above is under £2 or $3.

Works well over a wide T range. If you need an extra wide range the
spare pins on the PIC can switch in different ref Rs and caps for the
initial conversion.

The App note is AN512:

http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1824&appnote=en010996
 
M

MooseFET

Im sure this has been done before, right?

Two NTC thermistors.

10k @ 25C
Beta = 3380

I'd like a circuit which outputs a voltage which is the difference in
temperature between the two resistors.

But it needs to be linear.

I.e.

1 degree difference = 0.1V
10 degree difference = 1V
100 degree difference = 10V

At ANY location in the thermistors operating range.

Im trying to get my head around this....what is the mathematical
function for what Im trying to do? Since the thermistor is non-linear?

Im thinking a circuit which linearizes each thermistors resistance vs.
temperature, and then another which simply does a voltage difference.

Sound right?

I can do the voltage difference, but how do I do the linearizer?


To a first order, the ratio of the resistance gives you the difference
in temperature at all temperatures. As a result, I would start with
the ratio and the total instead of linearizing the two thermistors
first.

If one thermistor is taken to a positive voltage and the other is
taken to an equal negative voltage. The center point of the
thermistors would give you the difference. The two voltages can be
made by op-amps that keep them equal. You will also need to sense the
current in one side.

The linearization circuit can adjust the voltage that the divider
formed by the thermistors is running from.

Get the equation for the thermistor and plug it into a spread sheet.
You can then plot out what the divider does and see what sort of curve
the voltage must follow before you do the math to get it exact. I
think you will find that the curve doesn't have many hinge points in
it so a modest number of op-amps can be made to produce it to a
reasonable accuracy.

Lightly loaded LM324 type op-amps or rail to rail op-amps will swing
within millivolts of the rail. This means that with one package of
quad op-amps, you can do 4 hinge points in the curve.
 
S

Spehro Pefhany

Doing it verifiably is still hard. Just the difference between copper
alloys can be worse than that. Also those trimmed-to-the-eyeballs CMOS
op amps usually have horrible worst case drift specs--like 4 uV/K.

Cheers,

Phil Hobbs

John's probably thinking of the crop of inexpensive chopper amplifiers
that is (are?) available these days. Eg. OPA333 which has 10uV max Vos
(2uV typical) and maximum 50nV/K dVos/dT (20 typical). Noisy, but for
temperature measurement in most situations we probably don't care.

Of course the output of a inverse series pair of thermocouples is not
exactly proportional to the difference in temperature. Eg. for type K
(Chromel-Alumel):

-50'C~-40'C : 36.2uV/K
0 ~ 10'C : 39.7uV/K
20 ~30'C : 40.5uV/K
90 ~ 100'C : 41.4uV/K

So there's something like a +2%/-11% variation in "gain" over -50'C to
100'C relative to the room temperature 20-30C nominal. It's better
(with type K, and IIRC type J) if your range is limited to > room
temperature. This could be compensated for by meauring the mV across
one T/C and applying cold-junction compensation (another sensor at the
terminals) but it's starting to look less elegant.


Best regards,
Spehro Pefhany
 
B

Bill Sloman

Phil Hobbs said:
Thermistors give you by far the best temperature control of anything. See
ABSE for a picture.

There are circumstances where this isn't true. Thermistors don't offer
particularly good thermal contact to the substrate whose temperature
they are measuring, and if you really want to push down the Johnson
noise from your resistance sensor, a big platinum resistance sensor in
good thermal contact with its substrate can dissipate enough extra
heat to overcome the 10:1 difference in sensitivity.

I spelled this out in a comment I published back in 1978

Sloman, A.W. "On microdegree thermostats",
Journal of Physics E: Scientific Instruments, 11, 967-968 (1978).

It's not of much practical relevance - the comment has never been
cited by anybody else - unless you really wanted to push the envelope.
 
As I said, use the same spool of wire for both thermocouples. And
something like an AD8628 is typ 1 uV + 2 nV/K offset, and you won't
find one that's worse than about 2.5 uV... still plenty good enough
for 0.1K net offset. Microvolts used to be intimidating, but need not
be nowadays.

As far as offset verification goes, just put the two tc junctions
together for a while and note the output. Simple.

There are compensating advantages to the tc's low output voltage,
namely their low output impedance, zero self-heating, and inherent
accuracy. We routinely get 0.1 to 0.2K accuracy from tc's that are in
theory (ie, according to ANSI accuracy classes) not supposed to be
that good. I suspect the metallurgy has gotten very good over the
decades.

John- Hide quoted text -

- Show quoted text -

John,

So your idea doesnt need cold junction compensation because the
difference in thermocouple voltage is what we care about, and the cold
junction voltage will be the same for both thermocouples (since they
will be thermally in the same place).

So lets say I have your spool(s) of thermocouple wire.

Somehow I weld up two thermocouples with 6 feet of wire

I mount each thermocouple in its temperature measuring location.

Now if I had two voltmeters and hooked one up to each thermocouple, I
would get some voltage.

This voltage could not be converted directly to absolute temperature
without cold junction compensation.

But the difference between the two voltages IS accurate immediately.

So thats how your idea works, right?

And why does the opamp need to have such a low offset?

Because the thermocouple voltages are in the uV's, and the offset will
be interpreted directly as SIGNAL, i.e. temperature difference, right?

Is that all the opamp REALLY needs to be good for this, low offset?

Am I getting the whole picture here?

How good could I make this with two off-the-shelf thermocouples
instead of making two on my own? (how much would that cost and how do
I weld it up?)
 
Bill Slomanwrote:





I agree that thin-film RTDs on alumina are good for fast response, but
very small glass-bead devices like the YSI matched ones are good
too--provided that you don't pot them in epoxy or do something silly
like that.  It's certainly easier to get a good fast thermal interface
with a flat piece of alumina, e.g. by indium bonding.  I usually use
drill holes with hemispherical bottoms and glass bead thermistors,
attached with alumina-loaded epoxy and held down by springy leads during
cure.

My interest was slightly different - thermistors are Johnson-noise
limited to a couple of microdegrees, while decent sized platinum
resistance sensors dissiating at lot more power could go down another
order of magnitude.
The other problem is the bandwidth.  Like any other feedback loop,
temperature controllers live and die by their loop gain, which depends
on the sensor speed, which in turn tends to slow down quadratically with
size and distance from the source.   So there's a huge premium on small
sensors and actuators, placed very close to the cold plate.

Don't remind me. My paper on our Peltier junction based milli-degree
controller goes into this a bit - if we could have increased the gain
at the cycling frequency of our air-conditioning system, we would have
had even tighter control. Since we only needed to control to better
than 10 millidegrees, we didn't bother to try.
I like to use the monitor photodiode inside the laser can for
temperature control--you can get sub-second response times, which means
that you can maintain decent control over a wider bandwidth.  My best
one was for a pocket-sized 3D scanner (sort of a cross between a
coordinate measuring machine and a digital camera)...it had a TO5-can
diode laser sitting on two big (2520 size) surface mount resistors for
heating, the monitor PD for a temperature sensor--it had about a 1.5 Hz
control bandwidth, which is pretty good for a temperature controller.
(Laser cooling systems can achieve kilohertz bandwidths on very small
systems like molecules or micron-sized particles.)

Another cute feature is that its collimation was electrically
adjustable--there was a pre-squashed Nitinol ring between the collimator
and the laser can, so you just cranked up the heat until the Nitinol
expanded just the right amount.  That was intended for one-time use
during manufacturing--there wasn't enough of a preload to squash the
Nitinol down again.

Sounds like fun. One of my old friends was involved with a system that
used Nitinol to control the focus - and it seems to have been
something of a disaster. The phsyicist who invented the system wass
too infatuated with his brain-child to see its defects.
 
J

JosephKK

You can do a reasonable approximation over a small range of temperatures
using analogue circuitry but for a general solution that works for all
temperatures, I believe that you should use a microcontroller to do the
maths. You could digitise the thermistor resistances either by connecting
them in some kind of resistive divider with an ADC, or connect them into
R-C oscillators e.g. with 555 timer chips, or you could measure the time
constant of a R-C network made with the thermistors as the resistors, using
a microcontroller port pin and a comparator.

Chris

Bah. Just use a logarithmic amplifier / converter. Build it if you
have to, they are fairly simple (Never more than 4 bjt, some r's and
an opamp).

Also a well designed bridge can linearize it over a moderate
temperature range.
 
J

JosephKK

I have done this with analogue circuitry for bolometers, using a bridge
circuit with excitation that was adjusted so that the bolometer sensitivity
was less dependent on the ambient temperature. It was ok at room
temperature but the sensitivity was not as stable over wider ranges of
ambient temperature, nor as linear over bolometer input power as I could
have achieved with a good ADC and a microcontroller. If you don't require
very high accuracy over a wide range of ambient temperature, or you think
that circuits containing several analogue multipliers and more than three
interacting trimpots are a good idea then you might want to avoid the $5
microcontroller.

Chris

Nice linear analog multipliers are seven copses over and two copses
forward in the forest. The sensor has an exponential property, the
natural linearization is a simple logarithmic function, not a handful
of complex analog IC's. Then the $5 uC with a 14 bit ADC can take
care of auto calibration and second order effects.
 
Top