Here's the Steinhart-Hart equation, which gives a thermistors characteristic curve that's within 0.02 C over the temperature range of interest (this, of course, assumes that your resistance measurements are that accurate!). Thanks to David Parrish for finding this.
1/T = A + B*ln(R) + C*ln(R)**3
The Steinhart-Hart coefficients for the GM sensor are A=0.00150664 B=0.00022484 C=1.25794e-07.
To solve it, first make it look like a matrix equation.
A + c1*B + c2*C = c3where
c1 = ln(R)
c2 = ln(R)**3
c3 = 1/T
So, given three points (Tn, Rn):
for n = 1..3:
cn1 = ln(Rn)
cn2 = ln(Rn)**3
cn3 = 1/Tn
A*1 + B*c11 + C*c12 = c13
A*1 + B*c21 + C*c22 = c23
A*1 + B*c31 + C*c32 = c33
Do Gaussian elimination in a generic fashion. Subtract the top from each of
the bottom two, resulting in:
B*(c21-c11) + C*(c22-c12) = c23-c13 B*(c31-c11) + C*(c32-c12) = c33-c13Multiply the bottom one by (c21-c11)/(c31-c11):
B*(c21-c11) + C*(c32-c12)*(c21-c11)/(c31-c11) = (c33-c13)*(c21-c11)/(c31-c11)Now subtract this from the top one:
C*((c22-c12) - (c32-c12)*(c21-c11)/(c31-c11)) = (c23-c13) - ((c33-c13)*(c21-c11)/(c31-c11))And get C by itself:
(c23-c13) - (c33-c13)*(c21-c11)/(c31-c11)
C = -----------------------------------------
(c22-c12) - (c32-c12)*(c21-c11)/(c31-c11)
Now that C is known, solve for B:
c33-c13 - C*(c32-c12)
B = ---------------------
c31-c11
Then A,
A = c13 - B*c11 - C*c12Now we need the original equation rewritten as T(R):
1/T = A + B*Ln(R) + C*(Ln(R))**3 T(R) = 1 / (A + B*ln(R) + C*ln(R)**3)
Here's a source for some test data (in fact it is encoded in gentherm2.c as the default values):
Date: Wed, 20 Feb 2002 16:42:22 -0500 From: "Camden Lindsay"Peter Florance told us about an old L-Jet-equipped BMW 528: http://www.firstfives.org/faq/ljet/528i_Ljet_schematic.PDFTo: megasquirt@yahoogroups.com just found this spec for an 88 audi quattro temp sensor (engine computer) Degrees C Ohms 0 5 - 6.5K 20 2 - 3 K 50 700 - 900 100 175 - 210 hope this helps camden
70f 1950-3000 ohms 100 950-1600 160 250- 550
Here is a plot of the Audi raw data against a curve generated by gentherm2. Also included are the raw data from Bruce's original gentherm program, in yellow (I assumed they were the GM sensor data, but I'm not sure now after comparing the output of gentherm with the airdenfactor.inc and thermfactor.inc files).
