Download Thermistors (1) - Portland State University

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Document related concepts

Switched-mode power supply wikipedia, lookup

Surge protector wikipedia, lookup

CMOS wikipedia, lookup

Electrical engineering wikipedia, lookup

Rectiverter wikipedia, lookup

Negative resistance wikipedia, lookup

Superconductivity wikipedia, lookup

Electronic engineering wikipedia, lookup

Current mirror wikipedia, lookup

Thermal runaway wikipedia, lookup

Power MOSFET wikipedia, lookup

Opto-isolator wikipedia, lookup

Ohm's law wikipedia, lookup

Lumped element model wikipedia, lookup

Resistive opto-isolator wikipedia, lookup

Multimeter wikipedia, lookup

Transcript
Temperature Measurement with Thermistors
Portland State University
Department of Mechanical Engineering
ME 121: Engineering Problem Solving
Temperature Measurement
Temperature can be measured with many devices
 Liquid bulb thermometers
 Gas bulb thermometers
 bimetal indicators
 RTD: resistance temperature detectors (Platinum wire)
 thermocouples
 thermistors
 IC sensors
 Optical sensors

Pyrometers

Infrared detectors/cameras

liquid crystals
ME 121: Engineering Problem Solving
page 1
IC Temperature Sensors (1)
• Semiconductor-based temperature sensors for thermocouple reference-junction
compensation
• Packaged suitable for inclusion in a circuit board
• Variety of outputs: analog (voltage or current) and digital
• More useful for a manufactured product or as part of a control system than as
laboratory instrumentation.
Examples (circa 2010)
Manufacturer
Analog Devices
Dallas Semiconductor
Maxim
National Instruments
ME 121: Engineering Problem Solving
Part number
AD590, AD22103, TMP35, TMP36, TMP37
DS1621, DS18B20
Max675, REF-01, LM45
LM35, LM335, LM75, LM78
page 2
IC Temperature Sensors (2)
Example: TMP36 from Analog Devices
Don’’t confuse the TO-92-3 package with a transistor!
See, e.g., part number TMP36GT9Z-ND
from www.digikey.com.
$1.42 each (Qty 1) in Feb 2013
See http://learn.adafruit.com/
tmp36-temperature-sensor/
overview for instructions on how to use
the TMP36.
page 3
Thermistors (1)
A thermistor is an electrical resistor used to
measure temperature. A thermistor is designed
such that its resistance varies with temperature
in a repeatable way.
A simple model for the relationship between
temperature and resistance is
∆ T = k∆ R
A thermistor with k > 0 is said to have a positive
temperature coefficient (PTC). A thermistor with
k <
0 is said to have a negative
temperature coefficient (NTC).
ME 121: Engineering Problem Solving
Photo from YSI web site:
www.ysitemperature.com
page 4
Thermistors (2)
 NTC thermistors are semiconductor materials with a well-defined variation electrical
resistance with temperature
 Mass-produced thermistors are interchangeable: to within a tolerance the thermistors
obey the same T = F ( R ) relationship.
 Measure resistance, e.g., with a multimeter
 Convert resistance to temperature with calibration equation
Note: The Arduino cannot measure resistance. We will use a voltage divider to
measure the change in resistance with temperature.
ME 121: Engineering Problem Solving
page 5
Thermistors (3)
Advantages
 Output is directly related to absolute temperature – no reference junction needed.
 Relatively easy to measure resistance
 Sensors are interchangeable (± 0.5 ◦ C )
Disadvantages
 Possible self-heating error

Each measurement applies current to resistor from precision current source

Measure voltage drop ∆ V , then compute resistance from known current and ∆ V .

Repeated measurements in rapid succession can cause thermistor to heat up
 Can be more expensive than thermocouples for comparable accuracy: $10 to $20/each
versus $1/each per junction. Thermistors costing less than $1 each are available from
electronic component sellers, e.g. Digikey or Newark.
 More difficult to apply for rapid transients: slow response and self-heating
ME 121: Engineering Problem Solving
page 6
Thermistors (4)
Calibration uses the Steinhart-Hart equation
40
1
30
°
c1 + c2 ln R + c3 ( l n R ) 3
35
T ( C)
T =
Nominal resistance is controllable by
manufacturing.
Data
Curve Fit
45
25
20
15
10
Typical resistances at 21 ◦ C :
10 kΩ, 20 kΩ, . . . 100 kΩ.
ME 121: Engineering Problem Solving
5
0
5
10
15
20
Resistance (kΩ)
25
30
page 7
Resistance Measurement
Resistance can be measured if a precision current
source is available.
I
If I is known and V is measured, then R is obtained
with Ohm’s law
V
R =
I
For a typical ohmmeter, the current source and voltage
measurement are inside the device, and leads connect
the current source to the resistance element.
ME 121: Engineering Problem Solving
R
I
V
V
ohmmeter
R
leads
page 8
Direct Resistance Measurement of Thermistors (1)
Two-wire resistance measurement: R T =
.
V
I
Ohmmeter
Thermistor
V
RT
Resistance in the lead wires can lead to inaccurate temperature measurement.
ME 121: Engineering Problem Solving
page 9
Direct Resistance Measurement of Thermistors (2)
Four-wire resistance measurement eliminates the lead resistance1
Ohmmeter
Rlead
V
Rlead
Thermistor
RT
Rlead
Rlead
1Sketch adapted from Hints for Making Better Digital Multimeter Measurements, Agilent Technologies Corporation,
www.agilent.com.
ME 121: Engineering Problem Solving
page 10
A Voltage Divider for Thermistors (1)
Using an Arduino, we do not have ready access to a
precision voltage source. We could assemble a board
using high precision voltage sources, but for less effort
we could just buy a temperature measurement chip
like the LM334 or TMP36.
Instead, we will use our familiar strategy of measuring
resistance with a voltage divider.
ME 121: Engineering Problem Solving
5V
thermistor
Analog input
10 kΩ
page 11
Arduino code for Thermistor measurement
int thermistor_reading( int power_pin, int read_pin) {
int reading;
digitalWrite(power_pin, HIGH);
delay(100);
reading = analogRead(read_pin);
digitalWrite(power_pin, LOW);
return(reading);
}
float thermistor_reading_ave( int power_pin, int read_pin, int nave) {
int i, reading;
float sum;
digitalWrite(power_pin, HIGH);
delay(10);
for (i=1; i<=nave; i++) {
sum += analogRead(read_pin);
}
digitalWrite(power_pin, LOW);
return(sum/float(nave));
}
ME 121: Engineering Problem Solving
page 12