Searching \ for 'NTC thermistor using...' in subject line. ()
Help us get a faster server
FAQ page: www.piclist.com/techref/index.htm?key=ntc+thermistor+using
Search entire site for: 'NTC thermistor using...'.

Truncated match.
'NTC thermistor using...'
1999\12\02@123627 by

part 0 991 bytes
<META content=text/html;charset=iso-8859-9 http-equiv=Content-Type>
<META content='"MSHTML 4.72.3110.7"' name=GENERATOR>
<BODY bgColor=#ffffff>
<DIV><FONT size=2>Hello.</FONT></DIV>
<DIV><FONT size=2></FONT>&nbsp;</DIV>
<DIV><FONT size=2>I'm trying to use a NTC thermistor with a 16F877
device.</FONT></DIV>
<DIV><FONT size=2>It's a 10K thermistor B Constant 25/50 C(K) =
4100.</FONT></DIV>
<DIV><FONT size=2>If I read resistant of the NTC, how can I calculate
temperature in Celcius degree.?</FONT></DIV>
<DIV><FONT size=2></FONT>&nbsp;</DIV>
<DIV><FONT size=2></FONT>&nbsp;</DIV>
<DIV><FONT size=2>Ercan DURAN</FONT></DIV></BODY></HTML>

</x-html>
Not thaaaat simple. Resultant voltage in a resistor divider is not
thaaaat linear.
I made a computer program to search for the best *pseudo-linear* piece
of curve for a particular temperature range you need, based on a
resistor division combination. I will dig it and email to you directly.
Wagner

{Quote hidden}

> I made a computer program to search for the best *pseudo-linear* piece
> of curve for a particular temperature range you need, based on a
> resistor division combination. I will dig it and email to you directly.
> Wagner

I am also trying to solve that one, could I have a copy too? :)
TIA

part 0 16 bytes
</x-html>
Wagner could you send me a copy as well?
Thanks,
Graeme Odgers

At 12:55  1999-12-02 -0500, you wrote:
{Quote hidden}

Beg Borrow or Steal a copy of the YSI catalog--all you ever wanted to know
is in there--including a way to use two thermistors (e.g. 6K and 30K) to
get very linear outputs.  Really does work--we have an old signal
conditioner product designed around this.  Called "Thermlinear" by YSI.
They even sell matched pairs  with three leads.

I think I've still got a few of the boards floating around--would be
willing to sell, along with the schematics, for some nominal price each.
Boards are about 2x3 inches and designed to plug into a passive back-plane
or ribbon cable via a pair of 10-pin male headers.  I'd have to go look,
but I recall each card had two circuits on it.  Really a neat system once
you understand how it works, and figure out how to calculate the resistor
values needed in the conditioner circuit.  Designed for accuracies of 0.1%
to .005% depending on the linear range selected.

Only real draw-back is setting up the resistors--you need to be able to
measure resistance to at least 0.05%--.01% or better is preferred, and have
a wide enough selection to pull values off the shelf for each
conditioner--otherwise its calculate, order, wait, measure, order, wait,
etc. Boards are through-hole, and use standard 1/4 watt metal film

In our case, we needed a linear output around 39.5 DegC +/- 3 degrees, and
ended up with a signal of 1 volt per degC, and were effectively measuring
.001 degree resolution with a target 0.05% accuracy..

The system could be simplified quite a bit if lower accuracies are needed.
Remember, most off the shelf thermistors are around 1% or worse anyway.

Kelly

At 12:55 PM 12/2/99 -0500, you wrote:
{Quote hidden}

William K. Borsum, P.E. -- OEM Dataloggers and Instrumentation Systems
<borsumdascor.com> & <http://www.dascor.com>San Diego, California, USA

I am curious as to why one couldn't simply use a transimpedance amplifier
and put the thermistor between a reference voltage and the input to the
amp? Providing the sensor itself is linear,the output of this should be
linear,too.

Sean

On Thu, 2 Dec 1999, William K. Borsum wrote:

{Quote hidden}

Sean Breheny wrote:
>
> I am curious as to why one couldn't simply use a transimpedance amplifier
> and put the thermistor between a reference voltage and the input to the
> amp? Providing the sensor itself is linear,the output of this should be
> linear,too.

.. linear NTC? some new unit?

Hi Wagner,

I'll have to admit ignorance as to how linear NTCs are. What I was saying
is that it seems to me that it is totally unnecessary to introduce
additional non-linearity by using it in a voltage divider configuration.
One could simply use it with a transimpedance amp. Then, any nonlinearity
that you have comes only from the NTC itself, not from the voltage divider
equation.

Sean

At 07:22 PM 12/2/99 -0500, you wrote:
>Sean Breheny wrote:
>>
>> I am curious as to why one couldn't simply use a transimpedance amplifier
>> and put the thermistor between a reference voltage and the input to the
>> amp? Providing the sensor itself is linear,the output of this should be
>> linear,too.
>
>.. linear NTC? some new unit?
>
|
| Sean Breheny
| Electrical Engineering Student
\--------------=----------------
Save lives, please look at http://www.all.org
Personal page: http://www.people.cornell.edu/pages/shb7
shb7cornell.edu ICQ #: 3329174

Sure, you are correct, it can also be done without any resistors.

The use of voltage dividers, mainly a resistor in parallel to the NTC is
to help to flat the curve and reduce the peak of high resistances in
very low temperatures, so you can gain in resolution.  Without any
parallel resistor, the high resistence span is very high, you have a
curve like this:

*
*
*
*
*
*
*
*
*
*

with a parallel resistor, you have something like this:

*
*
*
*
*
*
*
*
*
*

and then, with the voltage divider, you can accomodate the exactly
voltage span you need to your ADC circuit, without using any other
front-gain amplifier, or something like that.

By the way, if your software can do nice calculations rather than use a
look-ahead table, you can use this formula:

12th Degree Polynomial for NTC 44006 10k@25¡C.
Functional range from -40¡C to +150¡C.
X = Celsius Degree.

NTC_Ohms = a + bx + cx^2 + dx^3 + ex^4 + fx^5 + gx^6 + hx^7 + ix^8 +
jx^9 + kx^10 + lx^11 + mx^12

Legend:
-------
a = 28059.557
b = -1358.1528
c = 41.513538
d = -0.77551934
e = 0.005170511
f = -1.999025e-006
g = 2.345903e-006
h = -7.3344661e-008
i = 8.6221767e-010
j = -4.3167639e-012
k = 2.6210006e-015
l = 5.3463809e-017
m = -1.4179029e-019

Sean Breheny wrote:
>
> Hi Wagner,
>
> I'll have to admit ignorance as to how linear NTCs are. What I was saying
> is that it seems to me that it is totally unnecessary to introduce
> additional non-linearity by using it in a voltage divider configuration.
> One could simply use it with a transimpedance amp. Then, any nonlinearity
> that you have comes only from the NTC itself, not from the voltage divider
> equation.

Hi Wagner,

Ah, I see. I didn't realize that they shot up in resistance so much as
temperature decreased. Thanks for the explanation. :-)

Sean

At 08:31 PM 12/2/99 -0500, you wrote:
{Quote hidden}

| Sean Breheny
| Electrical Engineering Student
\--------------=----------------
Save lives, please look at http://www.all.org
Personal page: http://www.people.cornell.edu/pages/shb7
shb7cornell.edu ICQ #: 3329174

You got it--they are not linear.
Kelly

At 05:55 PM 12/2/99 -0500, you wrote:
{Quote hidden}

William K. Borsum, P.E. -- OEM Dataloggers and Instrumentation Systems
<borsumdascor.com> & <http://www.dascor.com>San Diego, California, USA

On Thu, 2 Dec 1999 20:31:35 -0500 Wagner Lipnharski <wagnerUSTR.NET>
writes:
{Quote hidden}

Note that this curve appears asymptotic.  A reverse asymptotic curve (is
that a word?) is a voltage divider.  I have more experience with (as I
recall) a PTC thermistor.  I had a fixed supply, a resistor, then the
thermistor to ground.  The voltage out of the divider asymptotically
approaches the supply as the thermistor resistance approaches infinity.
I was able to come up with a resistance and voltage tha properly
indicated the hot tub temperature!  I've seen ads for thermistors that
have built in resistor linearizing networks, but haven't used one.  In a
current product I used a thermistor to ground with a spare pull-up
resistor (in a sip pack) to directly drive an analog input on a 16c74.
The 8 bit result (the full A/D range is never achieved with practical
temperatures) drives a 256 entry lookup table that returns the
temperature in degrees F.  I was originally going to use degrees C, but
this is heatsink temperature in a light dimmer, so using F gives me more
resolution in the 8 bit number sent back to the operator (and I can
convert to C there, if needed).

Harold

___________________________________________________________________
Why pay more to get Web access?
Try Juno for FREE -- then it's just \$9.95/month if you act NOW!
Get your free software today: dl.http://www.juno.com/dynoget/tagj.

On Thu, 2 Dec 1999 17:55:26 -0500 Sean Breheny <shb7CORNELL.EDU> writes:
> I am curious as to why one couldn't simply use a transimpedance
> amplifier
> and put the thermistor between a reference voltage and the input to
> the
> amp? Providing the sensor itself is linear,the output of this should
> be
> linear,too.
>
>

Yes, but... thermistors are NOT linear.  You can get pretty close to
linear by just making a voltage divider with the thermistor being one of
the resistors and choosing the resistor and the open circuit voltage
carefully (probably doing a Thevenin equivalent).  I did this years and
years ago using an automobile temperature gauge sensor, a resistor, and
an MC14433 dual slope A/D to make a hot tub temperature controller and
indicator.

Harold

___________________________________________________________________
Why pay more to get Web access?
Try Juno for FREE -- then it's just \$9.95/month if you act NOW!
Get your free software today: dl.http://www.juno.com/dynoget/tagj.

Hi,

once I have made (my wife) to measure a thermistor in a pot and register
the temperature-resistance curve. A simple curve could be fitted, with a
very high goodness-of-fit. I can dig the curve, but I recommend to make
the individual measurement (at least coarse, i. e. for every 10
centigrades). After obtaining the curve, you can set up the inverse of the
function and voila! Or you can store particular points in a table and
interpolate (not so good...).

Regards,

Imre

On Thu, 2 Dec 1999, Dave VanHorn wrote:

{Quote hidden}

part 0 3754 bytes
<P><FONT SIZE=2 FACE="Arial">As Wagner has already mentioned, you can substantialy linearise the response across a small temperature range.&nbsp; As a starting point, a resistor of equal value to the 25C resistance in parallel with the thermistor, will straighten it's response around the the 25C area.</FONT></P>

<P><FONT SIZE=2 FACE="Arial">My first PIC project was a PID temperature controller using a thermistor as the temperature sensor.&nbsp; As the set point was always fixed, I tried using a thermistor without any linearisation, but the resulting varitaion in loop gain at different temperatures sent the loop haywire.&nbsp; After experimenting with linearising resistors, I eventually used the interpolated table method.&nbsp; With a table of&nbsp; 60 entries I managed to get under 0.1C error over a temperature range of something like 10 to 50 degrees.&nbsp; In fact 60 was probably overkill, but I had the code space to waste.&nbsp; That was using an A/D based on the AN512 app-note, although slightly 'tweaked'.</FONT></P>

<P><FONT SIZE=2 FACE="Arial">Regards</FONT>
</P>

<P><FONT SIZE=2 FACE="Arial">Mike Rigby-Jones</FONT>
</P>
<BR>
<UL>
<P><FONT SIZE=2 FACE="Arial">Hi,</FONT>
</P>

<P><FONT SIZE=2 FACE="Arial">once I have made (my wife) to measure a thermistor in a pot and register</FONT>
<BR><FONT SIZE=2 FACE="Arial">the temperature-resistance curve. A simple curve could be fitted, with a</FONT>
<BR><FONT SIZE=2 FACE="Arial">very high goodness-of-fit. I can dig the curve, but I recommend to make</FONT>
<BR><FONT SIZE=2 FACE="Arial">the individual measurement (at least coarse, i. e. for every 10</FONT>
<BR><FONT SIZE=2 FACE="Arial">centigrades). After obtaining the curve, you can set up the inverse of the</FONT>
<BR><FONT SIZE=2 FACE="Arial">function and voila! Or you can store particular points in a table and</FONT>
<BR><FONT SIZE=2 FACE="Arial">interpolate (not so good...).</FONT>
</P>

<P><FONT SIZE=2 FACE="Arial">Regards,</FONT>
</P>

<P><FONT SIZE=2 FACE="Arial">Imre</FONT>
</P>
<BR>

<P><FONT SIZE=2 FACE="Arial">On Thu, 2 Dec 1999, Dave VanHorn wrote:</FONT>
</P>

<P><FONT SIZE=2 FACE="Arial">&gt; &gt; I made a computer program to search for the best *pseudo-linear* piece</FONT>
<BR><FONT SIZE=2 FACE="Arial">&gt; &gt; of curve for a particular temperature range you need, based on a</FONT>
<BR><FONT SIZE=2 FACE="Arial">&gt; &gt; resistor division combination. I will dig it and email to you directly.</FONT>
<BR><FONT SIZE=2 FACE="Arial">&gt; &gt; Wagner</FONT>
<BR><FONT SIZE=2 FACE="Arial">&gt;</FONT>
<BR><FONT SIZE=2 FACE="Arial">&gt;</FONT>
<BR><FONT SIZE=2 FACE="Arial">&gt; I am also trying to solve that one, could I have a copy too? :)</FONT>
<BR><FONT SIZE=2 FACE="Arial">&gt; TIA</FONT>
<BR><FONT SIZE=2 FACE="Arial">&gt;</FONT>
<BR><FONT SIZE=2 FACE="Arial">&gt;</FONT>
</P>
</UL>
</BODY>
</HTML>
</x-html>
Imre, a common method to characterize a thermistor is to use the
Steinhart-Hart equation:

1/T = A + [B * ln(R)] + [C * ln(R)^3]

Where:

T = Degrees Kelvin
R = Resistance
A,B,C = Curve-fitting constants.

You typically measure three data points; min(A), middle(B), and max(C).
Then solve the three simultaneous equations for A, B, and C. The accuracy
is related to the span. So a span of 100 degrees is more accurate than a
span of 500 degrees.

In one case, I used this to characterize a common cooking temperature
probe (Polder) for characterizing the thermal response of my oven between
100 to 300 deg F. I ended up writing a MathCAD sheet to simplify things.
Once I had the constants, I fed them to an Excel 97 sheet to analyze and
graph the data. From there you can generate a surprisingly accurate curve
(again, depending on span). Then you can either implement the equation in FP
or scaled fix-point math or use a lookup table.

BTW, my best to your wife. She sounds like a very patient lady ;-)

- Tom

At 08:01 AM 12/3/99 +0100, Dr. Imre Bartfai wrote:
{Quote hidden}

------------------------------------------------------------------------
Tom Handley
New Age Communications
Since '75 before "New Age" and no one around here is waiting for UFOs ;-)

This does nothing to improve linearity, but I developed a way to measure
thermistor resistance without an ADC.  This requires two bi-directional
port pins a reference resistor and a capacitor.  I think others have done
this as well.

PIN1|---\/\/\/-----+
|     R1       |  C1
PIN2|---\/\/\/-----+--)(--> (GND)
T1

Create a reference measurement from precision resistor R1:
1. Output 0 on pins 1,2 to discharge C.
2. Make both pins inputs.
3. Pulse PIN1 from input to high output back to input.
4. Increment reference counter.
5. While PIN1 input is low, go to 3.

Measure the thermistor:
1. Output 0 on pins 1,2 to discharge C.
2. Make both pins inputs.
3. Pulse PIN2 from input to high output back to input.
4. Increment themistor counter.
5. While PIN1 input is low, go to 3.

Now (thermistor counter)/(reference counter) = T1/R1.  C1 is cancelled. The
same pin is used to detect the threshold for both resistors, so the pin
threshold is also cancelled.

So T1 = R1 * (thermistor counter)/(reference counter).

There are lots of tricks you can do to simplify the math.  Then use a
lookup table to linearize the result.

Size C1 so the RC time constants are slow enough to be able to count with
some precision.

Hello Jim,

> Create a reference measurement from precision resistor R1:
> 1. Output 0 on pins 1,2 to discharge C.
> 2. Make both pins inputs.
> 3. Pulse PIN1 from input to high output back to input.
> 4. Increment reference counter.
> 5. While PIN1 input is low, go to 3.
>
> Measure the thermistor:
> 1. Output 0 on pins 1,2 to discharge C.
> 2. Make both pins inputs.
> 3. Pulse PIN2 from input to high output back to input.
> 4. Increment themistor counter.
> 5. While PIN1 input is low, go to 3.

I think you could also make this way:

MakePinsOutput();
PIN1 = 1;
PIN2 = 1;
WaitForCapacitorFullCharge();
MakePinsInput();
while (PIN1) ReferenceCouter++;

I just don't know how to make only PIN1 soak current from C1. :-(

Best regards,

Brusque
___________________________________________________________________________
| | || |\| | || || |\|\ Edson Brusque :-^= (brusqueflynet.com.br)
| | || ||| | || || |||| Musician, Tech Consultant, Programmer, Developer
| |_||_||| |_||_||_|||| Blumenau / SC / Brazil / Earth / Milk Way...
| \_\\_\|| \_\\_\\_\||| Giro In'Italia homepage: http://www.flynet.com.br/giro
|  |  |  |  |  |  |  || C.I.Tronics Lighting Designers: http://www.citronics.com.br
|__|__|__|__|__|__|__||----------------- ICQ# 15937748 ---------------------
\__\__\__\__\__\__\__\|    The SoundFont Users Group Mailing List is at
----------------------|  www.geocities.com/SiliconValley/Port/6619/
----------------------------------------------------------------------------

We do that using a lookup table.  We manufacture thermistors of the type
you are using. You can also use the stenhart and hart formula but we found
it easier to use lookup tables rather then implement floating point within
a PIC. We do it in a 12C509.

Ercan Duran
<antech@ANTNET        To:     PICLISTMITVMA.MIT.EDU
.NET.TR>              cc:
Sent by: pic          Subject:     NTC thermistor using...
microcontrolle
r discussion
list
<PICLIST@MITVM
A.MIT.EDU>

12/02/99 12:39
PM
to pic
microcontrolle
r discussion
list

Hello.

I'm trying to use a NTC thermistor with a 16F877 device.
It's a 10K thermistor B Constant 25/50 C(K) = 4100.
If I read resistant of the NTC, how can I calculate temperature in Celcius
degree.?

Ercan DURAN

On Fri, 3 Dec 1999, Tom Handley wrote:

>    Imre, a common method to characterize a thermistor is to use the
> Steinhart-Hart equation:
>
>          1/T = A + [B * ln(R)] + [C * ln(R)^3]
>
>       Where:
>
>          T = Degrees Kelvin
>          R = Resistance
>          A,B,C = Curve-fitting constants.
--- snip ---
>
>    BTW, my best to your wife. She sounds like a very patient lady ;-)
Yes, she is. She is learning actually electrical engineering ;-) I gave
her this small lesson as a practice.

Here is the report of the analysis of the measured data. I have chosen
this formula because of it can be implemented relatively easy to the PIC,
as no transcendental functions are used.

-------------------------------Polynomial Ratios-------------------------------
Date/Time      12-06-1999  16:54:13
Data Base Name C:\erika\thermist
Description    Data base created at 11:06:08 on 09-18-1998

Estimation Summary Report

Model: Y = (A+BX1+CX2)/(1)
Y:1/TEMP  X:RESIST  Itn's: 0
Term  Coefficient Estimate      Std. Error      T-Value Prob(|t|>T)  R-Squared
A     9.233908932517655D-03     4.651098E-04       19.9      0.0000  0.99592817
B     6.195481889641157D-04     4.85661E-05        12.8      0.0000
C     2.351109127751624D-06     8.53004E-07         2.8      0.0135

Source   df  Sum-Sqr        Mean Square   SQR(M.S.)          F-Ratio  Prob(f>F)
Model     2  2.755776E-03   1.377888E-03  3.711991E-02       2079.0   0.0000
Error    17  1.126692E-05   6.627597E-07  8.141006E-04
Total    19  2.767043E-03   1.456338E-04  1.206788E-02

-------------------------------Polynomial Ratios-------------------------------
Date/Time      12-06-1999  16:54:13
Data Base Name C:\erika\thermist
Description    Data base created at 11:06:08 on 09-18-1998

Residual Analysis

Actual    Actual    Predicted Lower95%  Upper95%
Row  X         Y         Y         Value     Value     Residual
1 52.3      20.3      20.80419  19.96934  21.71189  -.5041882
2 43        25        24.86221  23.75899  26.07289  .1377875
3 34.6      30        29.86418  28.28189  31.63402  .1358194
4 28        35        35.18089  33.00754  37.66061  -.1808835
5 22.9      40        40.56054  37.73282  43.8464   -.5605342
6 18.8      45        46.05665  42.50026  50.2626   -1.056651
7 15        50        52.47655  47.9753   57.90992  -2.476548
8 13.1      55        56.32703  51.20144  62.59299  -1.327036
9 10.8      60        61.73121  55.64604  69.31068  -1.731204
10 8.8       65        67.25853  60.08178  76.38235  -2.258529
11 7.7       70        70.70223  62.78568  80.90321  -.702221
12 5.5       75        78.66245  68.85303  91.73126  -3.662455
13 4.6       80        82.41591  71.62411  97.03669  -2.415906
14 4.25      85        83.9669   72.75224  99.26908  1.033106
15 3.9       90        85.57316  73.91027  101.6065  4.426841
16 5.5       80        78.66245  68.85303  91.73126  1.337545
17 6.9       75        73.41752  64.88421  84.53521  1.582484
18 10.94     65        61.37547  55.35664  68.86279  3.624534
19 17        55        48.91004  44.94741  53.63892  6.089957
20 55        20.2      19.83294  19.03479  20.70095  .3670586

Regards,
Imre

Hello all,

I have one last thing to discuss on the NTC thread.

Not two thermistor will give the same exact value for the same
temperature. Let's say a variation of 5% is common. How do your applications
deal with this? With a calibration value? Or using a calibration trimpot?
Any other sugestions? Vantages and advantages of each method?

Best regards,

Brusque
___________________________________________________________________________
| | || |\| | || || |\|\ Edson Brusque :-^= (brusqueflynet.com.br)
| | || ||| | || || |||| Musician, Tech Consultant, Programmer, Developer
| |_||_||| |_||_||_|||| Blumenau / SC / Brazil / Earth / Milk Way...
| \_\\_\|| \_\\_\\_\||| Giro In'Italia homepage: http://www.flynet.com.br/giro
|  |  |  |  |  |  |  || C.I.Tronics Lighting Designers: http://www.citronics.com.br
|__|__|__|__|__|__|__||----------------- ICQ# 15937748 ---------------------
\__\__\__\__\__\__\__\|    The SoundFont Users Group Mailing List is at
----------------------|  www.geocities.com/SiliconValley/Port/6619/
----------------------------------------------------------------------------

More... (looser matching)
- Last day of these posts
- In 1999 , 2000 only
- Today
- New search...