| Thread Closed |
Help designing a thermistor circuit |
Share Thread | Thread Tools |
| Feb2-09, 04:13 PM | #35 |
|
|
Help designing a thermistor circuit
If I were you rusty, I would do it the same way you came up with that straight line plot.
You really want to know the error in [tex]V[/tex], the voltage feeding the ADC. You have V as a function of R, and R as a function of T. Plot V as a function of T. Then compare it to a straight line with 25C and 40C at the endpoints. Do you have matlab or something? If not, do it in excel (so I've heard). |
| Feb3-09, 06:23 AM | #36 |
|
|
|
| Feb3-09, 08:08 AM | #37 |
|
Mentor
Blog Entries: 10
|
EDIT: I get B = 5302 K (agrees with Phrak) using 298 & 313 K and I get B = 5307 K using 298.15 & 313.15 K: http://www.google.com/#hl=en&q=ln(12...fp=0k_STq_SEOg |
| Feb3-09, 09:29 AM | #38 |
|
|
"skeptic, if you calculated your B correctly, and plug 298 into T, you get 2815 ohms. But it should be 2815 ohms at 25C. See how it goes? It's just curve fitting though two data points."
Good point Phrak, does the scale used make a difference in the values one gets for the curve? If so, which scale is best? Let's find out. B = ln(R/Ro)/(1/T - 1/To) For R = 1200 & T = 40 and Ro = 2815 & To = 25 B = 56.84271 For R = 1200 & T = 313.15 and Ro = 2815 & To = 298.15 B = 5307.158 For Celsius we get: Temp....25..........30..........35..........40 Res.....2815.......1927......1470.......1200 For Kelvin we get: Temp...298.........303........308.........313 Res.....2815.......2099......1580.......1200 Apparently the scale does make a difference but which is correct? The curves intersect at 2815 and 1200. If we extend the range a little... For Celsius we get: Temp....-5.............0...............5...........10..........15..........20 Res....0.0033....undefined....25079259....85245....12817......4970 For Kelvin we get: Temp...268.........273........278.........283........288........293 Res....20623.....14355....10124.......7228......5221......3814 ...we can see which is probably the correct curve. |
| Feb3-09, 09:37 AM | #39 |
|
Mentor
Blog Entries: 10
|
skeptic, T is the absolute temperature in these equations, so use Kelvins.
(Note the problem with division-by-zero that would occur at 0 C, if Celsius were used.) |
| Feb3-09, 10:41 AM | #40 |
|
|
|
| Feb3-09, 01:23 PM | #41 |
|
|
That was a mistake. I should have written 3.01K not 30.1K. You want 3.01K because you don't want to overflow your ADC, but you want it as small as possible to get the best engineering linear output. Assume your thermistor is good to 5% of the manufacturer's given reististance of 2815 ohms. It could be as large as 2955.8. Given V_out = 2.55 volts, solve for the value of the series resistor. You should get 2840 ohms. You need a 2868 ohm 1% resistor to get at least 2840 ohms. 3.01K is the most common 1% resistor greater than 2.84K ohms. If the thermistor is really a 10% part, 3.01K wasn't conservative enough. |
| Feb3-09, 01:36 PM | #42 |
|
|
If you use a different reference temperature you get a different B. But whatever reference you use, the curve it still has to pass through the two data points. |
| Feb3-09, 02:32 PM | #43 |
|
|
|
| Feb3-09, 02:34 PM | #44 |
|
|
You're holding my feet to the fire--which is a good thing. I made a mild 'engineering assumption' based upon the magnitude of the error values that were inherent in rusty's design. I assumed I could get the same curve (or very close) by using a reference temperature other than 0C--namely 25C. To resolve this, we need to use a reference at 0C. But we don't know the resistance at zero C, so now there are two simultaneous equations to solve. Using [tex]R_T = R_o \cdot exp[ B_o(1/T - 1/T_o) ] [/tex] where [tex]R_o[/tex] and [tex]B_o[/tex] are unknowns, [tex]R_{T_1} = R_o \cdot exp[ B_o(1/T_1 - 1/298.15) ] [/tex] [tex]R_{T_2} = R_o \cdot exp[ B_o(1/T_2 - 1/298.15) ] [/tex] [tex]T_1 = 323.15 [/tex] , [tex]R_{T_1}=2815[/tex] [tex]T_2 = 338.15 [/tex] , [tex]R_{T_2}=1200[/tex] Solve for [tex]B_o[/tex] and [tex]R_o[/tex] How does this curve compare my curve, [tex]R_T = 2815 \cdot exp[ 6211(1/T - 1/323.15) ] [/tex] , where [tex]B_{25} = 6211[/tex] and [tex]R_{25} = 2815[/tex] ? |
| Feb3-09, 03:37 PM | #45 |
|
Mentor
Blog Entries: 10
|
40 C = (40 + 273.15) K = 313.15 K 238.15 K would correspond to (238.15-273.15)C = -35C For example, the equations R = 1200Ω * exp[5302K * (1/T - 1/313K)] <-- reference at 313K or 40C and R = 2815Ω * exp[5302K * (1/T - 1/298K)] <-- reference at 298K or 25C both agree with the 2 known data points 2815Ω at 25C = 298K 1200Ω at 40C = 313K In either case, B is the same. |
| Feb3-09, 03:42 PM | #46 |
|
|
: oh cr*p
|
| Feb4-09, 04:49 AM | #48 |
|
|
Redbelly, using your more better 273.15K = 0C, I calculated the error incurred for various bias resistors. But PF doesn't accept MathCad files, so I can't attach it.
The results are pretty impressive. A 3.01K will deviate ~ -3.75% from a straight line passing through the end points at 25C and 40C. The optimal bias resistor is 1.45K with ~ +/-0.3% error, but the voltage across the thermistor is above the 0 to 2.55 volt ADC range. Windows won't display a MathCad 7 plot correctly. Oh well. |
| Feb4-09, 05:29 AM | #49 |
|
|
|
| Feb4-09, 05:42 AM | #50 |
|
|
|
| Feb4-09, 03:32 PM | #51 |
|
|
I've been very curious about how the nonlinearity of resistor biasing could go toward canceling the thermistor nonlinearity. Check-out these curves.
(hope this works this time) |
| Thread Closed |
| Thread Tools | |
Similar Threads for: Help designing a thermistor circuit
|
||||
| Thread | Forum | Replies | ||
| designing a sequential circuit | Engineering, Comp Sci, & Technology Homework | 0 | ||
| Need help designing a circuit for my car... | Electrical Engineering | 7 | ||
| Designing a circuit from a transfer function [linear control] | Engineering, Comp Sci, & Technology Homework | 2 | ||
| Designing a circuit | Engineering, Comp Sci, & Technology Homework | 4 | ||
| Designing a switching circuit | Electrical Engineering | 7 | ||