AN66477 PSoC® 3 PSoC 4 and PSoC 5LP Temperature Measurement with a Thermistor.pdf

AN66477
PSoC® 3, PSoC 4, and PSoC 5LP - Temperature Measurement with a Thermistor
Author: Todd Dust and Archana Yarlagadda
Associated Part Family: PSoC 3, PSoC 5LP, PSoC 4100, PSoC 4200
Associated Code Examples: click here.
Related Application Notes: click here.
To get the latest version of this application note, please visit http://www.cypress.com/AN66477.
®
AN66477 describes how to measure temperature with a thermistor using PSoC 3, PSoC 4, or PSoC 5LP. This
™
application note describes the PSoC Creator Thermistor Calculator Component, which simplifies the math-intensive
resistance-to-temperature conversion.
Contents
1
2
3
Introduction ...............................................................1
Thermistor – Theory of Operation.............................2
Thermistor Resistance Measurement .......................3
3.1
Current Source Measurement Method .............3
3.2
Resistor Divider Method...................................4
3.3
Ratiometric Resistor Divider Method ...............5
4
Thermistor Resistance-to-Temperature Calculation .6
4.1
Thermistor Calculator Component ...................7
5
Thermistor Temperature Measurement with PSoC ..8
1
6
7
Measuring Multiple Thermistors ............................. 10
Performance Analysis ............................................ 11
7.1
Temperature Resolution ................................ 11
7.2
Temperature Accuracy .................................. 12
7.3
Summary of Errors......................................... 16
8
Summary ................................................................ 17
9
Related Application Documents ............................. 17
Document History............................................................ 18
Worldwide Sales and Design Support ............................ 19
Introduction
Temperature is one of the most frequently measured environmental variables. Temperature measurement is typically
done using one of four sensors: thermocouple, thermistor, diode, or resistance temperature detector (RTD). Table 1
compares the different types of temperature sensors and why you may want to use one versus another.
Table 1. Comparison of RTDs, Thermocouples, Thermistors, and Diodes
Parameter
RTD
Thermocouple
Thermistor
Diode
Temperature range
–200 to +850
–250 to +2350
–100 to +300
–50 to +150
Sensitivity at 25 °C
0.387 Ω/°C
40 µV/°C (K-type)
416 Ω/°C
250 µV /°C
Accuracy
High
Medium to High
Medium
Low
Linearity
Good
Fair
Poor
Good
Typical cost (US $)
$3–$80
$3–$15
$0.2–$10
<$0.2
Typical distance of
sensing
Surface mount for
onboard temperature
Three- and four-wire up
to a few hundred meters
<100 meters
Surface mount for
onboard temperature
Leaded for <1 meter
Onboard temperature
Resource requirement
Excitation current,
amplifier, ADC, and
reference resistor
Amplifier, ADC, voltage
reference, and another
temperature sensor for
cold junction
Excitation current,
ADC, and reference
resistor
Excitation current,
amplifier, and ADC
Response time
Slow
Fast
Fast
Slow
Computational complexity
(best possible accuracy)
High
Very high
Very high
Medium
www.cypress.com
Document No. 001-66477 Rev. *H
1
PSoC® 3, PSoC 4, and PSoC 5LP - Temperature Measurement with a Thermistor
Use Table 1 to make an informed choice about the type of temperature sensor appropriate for your application. To
learn more about temperature measurement using RTDs, thermocouples, or diodes, see one of the following
application notes:

AN70698 - PSoC® 3 and PSoC 5LP- Temperature Measurement with an RTD

AN75511 - PSoC® 3 and PSoC 5LP- Temperature Measurement with a Thermocouple.

AN60590 - PSoC® 3 and PSoC 5LP- Temperature Measurement with a Diode.
This application note focuses on thermistors. A thermistor is a temperature-sensitive resistor whose resistance varies
with temperature. This application note focuses on Negative Temperature Coefficient (NTC) thermistors and the
configuration of PSoC 3, PSoC 4, or PSoC 5LP to measure the resistance of a thermistor, and convert that resistance
to temperature.
This application note assumes that you are familiar with developing applications using PSoC Creator for PSoC 3,
PSoC 4, or PSoC 5LP. If you are new to PSoC 3, PSoC 4, or PSoC 5LP, see the introductions in the following
application notes:

AN54181 - Getting Started with PSoC 3

AN79953 - Getting Started with PSoC 4

AN77759 - Getting Started with PSoC 5LP
If you are new to PSoC Creator, see the PSoC Creator home page.
Using this Document
This document describes the theory behind thermistor temperature measurement. If you are looking for code
examples for thermistor temperature measurement, see CE210514, and CE210528.
2
Thermistor – Theory of Operation
This application note focuses on NTC thermistors, which are used for precision temperature measurement
applications. Positive temperature coefficient (PTC) thermistors are not discussed because they are not as commonly
used.
For NTC thermistors the resistance of the thermistor decreases as the temperature rises. The variation of resistance
with temperature is nonlinear. Figure 1 shows a typical resistance versus temperature curve for an NTC thermistor.
Resistance (kΩ)
Figure 1. Resistance Versus Temperature for an NTC Thermistor
200
180
160
140
120
100
80
60
40
20
0
-40
-20
0
20
40
60
80
100
120
Temperature (°C)
www.cypress.com
Document No. 001-66477 Rev.*H
2
PSoC® 3, PSoC 4, and PSoC 5LP - Temperature Measurement with a Thermistor
Because of this nonlinear response, a complex polynomial equation is required to calculate the temperature from the
resistance. Equation 1 shows the Steinhart-Hart equation. This is the standard equation used for converting
thermistor resistance to temperature.
Equation 1
1
 A  B  ln(RT )  C  (ln(RT ))3
TK
Where:
TK = Temperature in Kelvin
A, B, and C = Steinhart-Hart coefficients, which vary for each thermistor.
RT = Thermistor resistance in ohms
Equation 1 shows that the main unknown is the resistance of the thermistor. Thermistor temperature measurement
requires two steps:
1.
Thermistor Resistance Measurement
2.
Resistance-to-Temperature Calculation
The following sections describe these two tasks in detail.
3
Thermistor Resistance Measurement
3.1
Current Source Measurement Method
Ohm’s Law says
. To find resistance, we need to know V and I. From the equation R = V/I, it seems logical
that one way to measure a thermistor’s resistance is to force a known current through a thermistor and measure the
output voltage, as Figure 2 shows.
Figure 2. Common-Sense Approach to Measure Thermistor Resistance
This method does work, but there are four problems with the circuit shown in Figure 2.
1.
The current source needs to be very accurate; any current error causes an error in the temperature reading.
2.
If too much current is passed through the thermistor it can heat itself and cause temperature error; this problem
is described in the Performance Analysis section.
3.
The offset, gain, and integral nonlinearity (INL) error of the ADC can lead to inaccuracies in the measured
resistance.
4.
The voltage output directly follows the nonlinearity of the thermistor, as Figure 3 shows.
www.cypress.com
Document No. 001-66477 Rev.*H
3
PSoC® 3, PSoC 4, and PSoC 5LP - Temperature Measurement with a Thermistor
Vtherm(V)
Figure 3. Voltage to Temperature Relationship of Circuit in Figure 2 with a 25-µA Current Source
5
4.5
4
3.5
3
2.5
2
1.5
1
0.5
0
-40
-20
0
20
40
60
80
100
Temperature (°C)
With this method the voltage difference between temperatures is small at high temperatures, requiring a highresolution ADC.
According to the datasheet for the NCP18XH103F03RB thermistor, the resistance at 125 °C is 531.0003 Ω. At
124.9 °C, the resistance is 532.214675 Ω. Passing 25 µA through these resistances produces 13.275 mV and
13.305 mV, respectively. This is a difference of 30 µV.
The LSB of the ADC must be half of this value, or 15 µV. To calculate the required resolution, divide the full-scale
input range by the smallest measurement quantity. The graph in Figure 3 shows that the full-scale input is ~5 V.
Therefore, 5 V/15 µV is approximately 333k steps or 18 bits.
3.2
Resistor Divider Method
Figure 4 shows a method to reduce some of the errors associated with Figure 3.
Figure 4. Resistor Divider Method
Note: The location of the reference resistor and thermistor do not matter. The reference resistor could be on the top.
The reference resistor is used to create a voltage divider with the thermistor. This method reduces the nonlinearity of
the output voltage. Typically, the reference resistor is the same value as the thermistor at 25 °C. Figure 5 shows the
temperature-to-voltage curve for the NCP18XH103F03RB in series with a 10-kΩ resistor and VDD set to 5 V.
www.cypress.com
Document No. 001-66477 Rev.*H
4
PSoC® 3, PSoC 4, and PSoC 5LP - Temperature Measurement with a Thermistor
Figure 5. Voltage-to-Temperature Relationship of Circuit in Figure 4
5
Vtherm(V)
4
3
2
1
0
-40
-20
0
20
40
60
80
100 120
Temperature (°C)
For 125.0 °C and 124.9 °C, the Vtherm is 4.74788 V and 4.74734 V, respectively. This is a difference of 540 µV. The
required resolution of an ADC to resolve 0.1 °C at high temperatures is 14 bits—much lower than the method
discussed in the previous sections.
There are problems with the circuit shown in Figure 4. If there is any error in the value of the reference resistor, VDD,
or GND there will be an error in the temperature conversion. In addition, the ADC gain and offset errors remain issues
that must be handled. The next section shows a third method that overcomes some of these problems.
3.3
Ratiometric Resistor Divider Method
Figure 6 offers another method that overcomes some of the problems mentioned previously.
Figure 6. Ratiometric Resistor Divider Method
The best way to remove any dependence on VDD is to measure it at VHI. The best way to remove any dependence on
GND (if it is not exactly 0 V) is to measure it at Vlow.
If a differential ADC is used only two ADC readings are required: the differential voltages across Rref and Rt. Using
these voltage measurements, the resistance of the thermistor is calculated using Equation 2.
Equation 2
As mentioned previously, the circuit in Figure 6 provides a more linear voltage-to-temperature response, thus
requiring a lower-resolution ADC. Performing ratiometric measurements eliminates ADC gain errors from the
calculations (see Offset Error Cancellation). This method still results in errors from self-heating and inaccurate
reference resistor value. However, due to the advantages of this method and its widespread use, this method is
discussed in detail in this application note. For more information on calculating errors in measuring thermistors, see
Performance Analysis.
www.cypress.com
Document No. 001-66477 Rev.*H
5
PSoC® 3, PSoC 4, and PSoC 5LP - Temperature Measurement with a Thermistor
3.3.1
Reference Resistor Selection
To achieve the maximum resolution at either extreme of temperature, the reference resistance should be close to the
resistance of the thermistor at the middle of the temperature range. If you are more interested in measuring the
temperature at one extreme, then the reference resistance should match the resistance of the thermistor at the
temperature extreme being measured.
3.3.2
VDD or VHI Selection
The thermistor and reference resistor circuit is driven with a voltage. There are four main factors in determining this
voltage:
1.
What voltage is available in the system? For most systems this is the VDD rail. However, PSoC 3 and PSoC 5LP
have a VDAC which can be used to drive the circuit at something other than VDD.
2.
To reduce the resolution requirements for the ADC VDD or VHI should be as high as possible. This way, the
voltage difference between 1 °C can be as large as possible thus reducing the required resolution of the ADC.
3.
VDD or VHI should also be set such that the voltage across the reference resistor and thermistor are within the
ADC input range. For example, the Delta Sigma ADC in PSoC 3 and PSoC 5LP has a differential input range of
±1.024V, so VHI should be chosen such that the voltage across either the reference resistor or thermistor doesn’t
exceed 1.024V.
4.
If the voltage is too high more current is passed through the thermistor leading to self-heating. For details, see
the Self Heating section. Designers of thermistor systems must make tradeoffs between resolution and selfheating error.
One common approach to avoid self-heating is to duty-cycle the VDAC. When not measuring, turn the VDAC off,
or disconnect ground. When measuring, turn it back on. In PSoC devices the VDAC can quickly be turned off.
Another method is to connect the bottom of the reference resistor to a GPIO pin; set that pin to High-Z when not
measuring, and set it to ‘Strong Drive Low’ when measuring.
3.3.3
Offset Error Cancellation
In PSoC devices the ADC offset and signal chain offset can easily be removed through correlated double sampling
(CDS). In CDS, the offset is measured and then in firmware it is subtracted from the other voltage measurements.
®
See AN66444 – PSoC 3 and PSoC 5LP Correlated Double Sampling for details.
For thermistor temperature measurement, the best way to measure the system offset is to short two inputs of the
ADC together.
3.3.4
Gain Error Cancellation
Assume that the ADC has a gain error of k. This error is reflected as multiplicative factor in the voltage
measurements, VTherm and Vref. Because Equation 3 includes a ratio, the multiplicative error cancels k out.
Equation 3
RTherm =
k * (VHi  VTherm )
* Rref
k * (VTherm  VLow )
Now the error depends primarily on the accuracy of the reference resistor, R ref.
This method also removes any errors associated with gain drift, because the ratiometric measurement is being taken
every time.
4
Thermistor Resistance-to-Temperature Calculation
Now that we have a method to measure the resistance, we need to convert that resistance to temperature. As Figure
1 shows, the relationship between resistance and temperature is highly nonlinear. The most common conversion
method is the Steinhart-Hart (Equation 1), reproduced below.
1
 A  B  ln(RT )  C  (ln(RT ))3
TK
Some thermistor datasheets provide the three Steinhart-Hart coefficients (A, B, and C). Other datasheets provide
“Temperature coefficient” (Alpha) values, “Sensitivity index” (Beta) values, or a table of resistance to temperature.
Although the Alpha or Beta coefficients can determine temperature, they are limited to the temperature range for
which they are specified. The Steinhart-Hart equation does not have this limitation.
www.cypress.com
Document No. 001-66477 Rev.*H
6
PSoC® 3, PSoC 4, and PSoC 5LP - Temperature Measurement with a Thermistor
Because the parameters provided for thermistors can vary, their usage and interchangeability in an application can
be complicated. To simplify the process of converting thermistor resistance to temperature, Cypress provides a
Thermistor Calculator Component that calculates the required A, B, and C coefficients, based on the resistance
versus temperature table or curve available in datasheets.
4.1
Thermistor Calculator Component
“Thermistor_Calc”, shown in Figure 7, is a PSoC
Creator Component that is software only—it has
no hardware input or output. You can find it in the
Cypress Component Catalog under the Thermal
Management Folder.
Figure 7. Thermistor Calculator Component
The values entered in Figure 8 are from the datasheet for
the NCP18XH103F03RB thermistor. The datasheet
includes a table of resistance-to-temperature values,
similar to that shown in Figure 9.
Figure 9. NCP18XH103F03RB Temperature to Resistance
Table
The Component uses the temperature and
resistance of the thermistor, calculates the
Steinhart-Hart coefficients, and generates the
API code required for resistance-to-temperature
conversion.
The Component Configuration Tool and API
provide the interface to the Component.
To configure the Component for your thermistor,
double-click the symbol to open the Component
Configuration Tool. Figure 8 shows the
Component Configuration Tool.
First, enter the reference resistor value, along
with the three temperature points; the
Component determines the proper coefficients for
the Steinhart-Hart equation.
Figure 8. Thermistor Calculator Component
Configuration Tool
www.cypress.com
Document No. 001-66477 Rev.*H
7
PSoC® 3, PSoC 4, and PSoC 5LP - Temperature Measurement with a Thermistor
The Component Configuration Tool also provides an Implementation option to use either an equation or a lookup
table (LUT). Table 2 shows the tradeoff between the two methods.
Table 2. Comparison of Equation and LUT
Implementation
Equation
LUT
Comments
Calculation
Resolution
(±) °C
0.01°C
≤ 0.01°C
Resolution shown is the resolution of calculation alone and does not consider
the resolution of the ADC. Even though the resolution of the equation can be
greater than ±0.01 °C, the output is limited to a resolution of ± 0.01 °C
because the output is scaled by 100 and stored as an integer. The higher the
resolution on the LUT, the more the memory it consumes.
Calculation
Speed
Slow
(~1 msec)*
Faster
(~300 usec)*
Using the LUT, zero mathematical calculations need to be performed, so it is
much faster at converting resistance to temperature.
Memory
Usage
Higher
Lower
The memory usage of the equation method is fixed because of the use of the
floating-point library. If other code already uses the floating-point library, the
equation method is more efficient. The memory usage of the LUT depends on
the range and accuracy chosen.
Range
Wider than
specified
Limited to
specified
In the equation method, the temperature can be measured outside of the
range specified, at the cost of lower accuracy. With the LUT, temperature
values outside the range specified are not measured.
*
These numbers were taken on a PSoC 3 device with master clock and bus clock at 24 MHz.
For information about other Component Configuration Tool options, see the Component datasheet.
5
Thermistor Temperature Measurement with PSoC
CE210514 demonstrates how to measure temperature with thermistors, using PSoC 3, PSoC 4, and PSoC 5LP. See
CE210514 for details on how the example works. This section briefly describes how to configure a PSoC device to
measure temperature with a thermistor.
Figure 10 shows a typical PSoC Creator schematic for a PSoC 3 or PSoC 5LP thermistor temperature measurement
project.
Figure 10. Thermistor Temperature Measurement Circuit for PSoC 3 and PSoC 5LP
www.cypress.com
Document No. 001-66477 Rev.*H
8
PSoC® 3, PSoC 4, and PSoC 5LP - Temperature Measurement with a Thermistor
Notice how similar this schematic is to Figure 6. The ADC measures the differential voltage across the reference
resistor and the thermistor. The VDAC and Opamp are used to set the voltage at the top of the thermistor. This is
useful as the voltage can be changed to best fit inside the ADC input range. Also, the VDAC or Opamp can be turned
on and off, reducing self-heating.
Amux channel 2 is used to measure the offset of the ADC. The two inputs are tied to the same voltage and then read.
This reading returns the offset of the ADC, and this offset can then be removed from subsequent readings. This
method, called correlated double sampling, is discussed in AN66444 - PSoC 3 and PSoC 5LP Correlated Double
Sampling.
Figure 11 shows the schematic for PSoC 4 Thermistor Temperature measurement.
Figure 11. Thermistor Measurement Circuit for PSoC 4
The main difference between this project and the PSoC 3/PSoC 5LP project is that there is no DAC. The top of the
divider must be connected to an external voltage. It can either be tied directly to the power supply, or it can be
connected to a GPIO pin that is configured for a strong drive output. The advantage of using a GPIO pin is that the
GPIO pin can be turned on and off, thus saving power and reducing self-heating. Also, PSoC 4 uses a successive
approximation register (SAR) ADC instead of a delta-sigma ADC.
Cypress has created a special kit for temperature sensing: the PSoC Precision Analog Temperature Sensor EBK
(CY8CKIT-025). The kit provides four sensors—thermocouple, thermistor, RTD, and diode—for measuring
temperature. In addition, connectors are provided to let you plug in your own thermocouple, thermistor, RTD, or
diode. You can connect the EBK to the CY8CKIT-030 PSoC 3 Development Kit (DVK), or to the CY8CKIT-050 PSoC
5LP DVK. Figure 12 shows the kit. For more details on the kit, go to www.cypress.com/go/Cy8CKIT-025.
Figure 12. PSoC Precision Analog Temperature Sensor EBK
www.cypress.com
Document No. 001-66477 Rev.*H
9
PSoC® 3, PSoC 4, and PSoC 5LP - Temperature Measurement with a Thermistor
You are not required to use this kit to measure the temperature of a thermistor. The circuit required to measure
temperature with a thermistor is a simple voltage divider, as Figure 6 shows. This can easily be prototyped on the
CY8CKIT-001, CY8CKIT-030, CY8CKIT-050, or CY8CKIT-042 kits.
6
Measuring Multiple Thermistors
It is often desirable to measure more than one thermistor with one PSoC device. There are two ways to do this:
1.
Measure the thermistors in parallel, as Figure 13 shows.
Figure 13. Multiple Thermistors Connected in Parallel
Only one VDAC and opamp are used to drive multiple thermistors. If you need to drive thermistors at different
voltages, then separate VDACs and opamps are required. Remember that the maximum number of VDACs and
opamps on a single PSoC 3 or PSoC 5 LP device is four.
www.cypress.com
Document No. 001-66477 Rev.*H
10
PSoC® 3, PSoC 4, and PSoC 5LP - Temperature Measurement with a Thermistor
2.
Connect the thermistors in series, as Figure 14 shows.
Figure 14. Multiple Thermistors Connect in Series
The advantage of this method is that it uses fewer pins to measure the same number of thermistors as in the
parallel method. However, a disadvantage of this method is that the voltages across the thermistors and the
reference resistor are smaller, and may require a higher resolution ADC to obtain the required temperature
resolution.
If all of the thermistors are identical (same part number), then only one Thermistor Calculator Component is needed.
However, if different thermistors are used, then separate Thermistor Calculator Components need to be used.
7
Performance Analysis
7.1
Temperature Resolution
This section teaches you how to determine the ADC resolution required for measuring your particular thermistor.
1.
Determine your temperature resolution requirements. For example, is it 1°C, 0.1°C, or 0.01°C.?
2.
Determine the maximum temperature you will measure. For example, is it 125°C or 60°C?
3.
Calculate the resistance at your maximum temperature, and at the maximum temperature minus the resolution,
using Equation 4 below.
4.
Calculate the voltage across the thermistor at those two voltages, using Equation 5. Take the difference of those
two voltages and divide the result by 2.
5.
Determine the maximum voltage across the thermistor and reference resistor for your temperature range.
6.
Determine the voltage range of your ADC that is capable of measuring the maximum voltage found in step 5.
7.
Take the result from step 6 and divide it by the result from step 4. This will tell you how many ADC counts you
need. Take the LOG of this value and divide it by the LOG of 2 to get the required ADC resolution.
www.cypress.com
Document No. 001-66477 Rev.*H
11
PSoC® 3, PSoC 4, and PSoC 5LP - Temperature Measurement with a Thermistor
Calculating the resistance from temperature requires calculating the inverse of the Steinhart-Hart equation. This is a
daunting mathematical task. It has been solved below in Equation 4.
Equation 4
Where
A, B, and C are the Steinhart-Hart Coefficients. T is the temperature in degrees kelvin. The Steinhart-Hart
coefficients generated for your thermistor can be found in the generated .h file for the Thermistor Calculator
Component.
To find the voltage across the thermistor, use Equation 5, which is a standard resistor divider equation.
Equation 5
The following is an example:
1.
My required resolution is 0.01 °C.
2.
The maximum temperature I want to measure is 125 °C.
3.
Using Equation 4, the resistance at 125 °C is 531.0003 Ω, and the resistance at 124.99 °C is 531.1214 Ω.
4.
Using Equation 5, the voltages across those resistances are 80.676 mV and 80.694 mV. This assumes a Vbias
of 1.6 V, which is what is used in CE210514. The difference between these two values is 18 µV. 18 µV / 2 =
9 µV.
5.
The maximum voltage across the reference RTD occurs at -40 °C; using Equation 5 you can determine it is
1.52 V. The maximum voltage across the reference resistor occurs at 125 °C. Use Equation 5, but replace RTherm
in the numerator with RRef. This yields a voltage of 1.519 V. Thus, the maximum voltage is 1.52 V
6.
The delta sigma ADC in PSoC 3 and PSoC 5LP has an input voltage range of ±2.048 V.
7.
4.096 V / 9 µV = 455112 steps, or log(455112) / log(2) = ~19 bits.
The delta sigma ADC in PSoC 3 and PSoC 5LP has a 20-bit resolution, so it is capable of measuring across a wide
temperature range with a 0.01 °C resolution.
The method described above can be used with any thermistor and any measurement device.
7.1.1
7.2
Increasing the Resolution
There are several methods to increase the temperature resolution.
1.
Increase the Vbias voltage. This increases the voltage delta between the resistances.
2.
ADC resolution can be increased by oversampling. This is a common industry practice where multiple ADC
samples are used to create a higher resolution result. To increase the resolution by 1 bit, 4 ADC samples are
summed, and the result right-shifted by 1 (divided by 2). To get 2 extra bits, 4^2 ADC samples are summed and
the result right-shifted by 2. To get 3 extra bits, 4^3 ADC samples are summed, and the result shifted right by 3.
This can be extended to any number of extra bits. The tradeoff is conversion speed—the more extra bits
required, the more samples required for each conversion, and the slower the conversion.
3.
Reduce the maximum temperature measured. The higher the temperature, the smaller the difference is between
resistances.
Temperature Accuracy
The accuracy of temperature measurement depends on the entire signal chain. In this section, we analyze the
accuracy of different parts of the chain to determine total measurement accuracy.
Let us break down the signal chain analysis into different sections and consider each one in detail:




Signal measurement: ADC
Sensor bias circuit: reference resistor
Actual Sensor: Thermistor
Voltage-to-temperature conversion: Thermistor Component
www.cypress.com
Document No. 001-66477 Rev.*H
12
PSoC® 3, PSoC 4, and PSoC 5LP - Temperature Measurement with a Thermistor
7.2.1
Signal Measurement Chain
Error Due to Offset and Gain Error
As discussed previously, the error due to offset is canceled through CDS, and the error due to gain is canceled due to
ratiometric measurements.
Error Due to ADC Integral Nonlinearity for PSoC 3 and PSoC 5LP
The integral nonlinearity (INL) of the ADC appears in the measurement; you cannot eliminate it with measurement
techniques or calibration. The INL for the delta sigma ADC in PSoC 3 is ±2 LSB; this equates to ±62.5 µV. This
62.5 µV can be added or subtracted from the numerator or denominator of Equation 2.
The worst-case error occurs when 62.5 µV is added to both the numerator and denominator of Equation 2. Figure 15
shows the temperature error across the range of the thermistor due to INL.
Figure 15: PSoC 3 and 5LP Temperature Error Due to INL
0.04
0.03
Error (°C)
0.02
0.01
0
-40
-20
0
20
40
60
80
100
120
140
-0.01
-0.02
Thermistor Temperature (°C)
Note: This is the absolute worst-case error. In most cases, the INL is much less than 64 µV.
Error Due to ADC Integral Nonlinearity for PSoC 4
The INL for the PSoC 4 SAR ADC in the 5V range is ±1.5LSB or ~3.6mV. Applying this to Equation 2 we can create
the following graph of temperature error:
Figure 16. PSoC 4 Temperature Error due to INL
www.cypress.com
Document No. 001-66477 Rev.*H
13
PSoC® 3, PSoC 4, and PSoC 5LP - Temperature Measurement with a Thermistor
7.2.2
Sensor Bias Circuit
Reference resistance variation affects the resistance calculation of the thermistor, and therefore, the temperature
measurement. Equation 2, reproduced below, shows how to calculate the thermistor resistance.
 Vtherm  Vlow 
Rt  Rref 

 Vhi  Vtherm 
Any deviation in the reference resistor value, shown as Rref_dev, results in a deviation in thermistor resistance RT_dev,
as Equation 6 shows.
Equation 6
 Rref 

RT _ dev  Rt 
R

 ref _ dev 
The reference resistor variation due to tolerance and drift is represented in Equation 7.
Equation 7
Rref _ dev  Rref

Rref Rref _ tolerance  Rref _ drift * absT  25
Where T is in °C and is the temperature of the reference resistor, not the thermistor.
Consider a 10-kΩ reference resistor with 0.1% tolerance and a temperature drift of 10 ppm/°C. Because the drift of
the resistor is characterized at 25 °C, it must be included in the calculation as follows:
Rref _ dev @ 40  10k  10k 0.001  0.000001* (40  25)   10009.35
Rref _ dev @125  10k  10k 0.001  0.000001* (125  25)   10011
Using Equation 6 and Equation 7, we get the graph shown in Figure 17.
Figure 17: Reference Resistor Temperature Error
The X-axis is the temperature of the thermistor. The Y-axis is the temperature error; the different lines represent the
error for the reference resistor at that temperature. The graph shows that the error introduced by the reference
resistor is less than 0.05 °C
To cut cost, use a 1.0% resistor. With a 1.0% resistor using the same equations, the maximum temperature error
would be ~0.45 °C.
www.cypress.com
Document No. 001-66477 Rev.*H
14
PSoC® 3, PSoC 4, and PSoC 5LP - Temperature Measurement with a Thermistor
Most of this error is caused by the initial tolerance of the reference resistor, not the temperature drift. For example, if
a 1.0% reference resistor is used that has a temperature drift of 10 ppm and the initial tolerance error is calibrated
out, the error due to the temperature drift will appear as Figure 18 shows.
Figure 18: Temperature Error Due to Reference Resistor Temperature Drift
The maximum temperature error due to the temperature drift of the reference resistor is ~.0025 °C. To achieve this,
we must calibrate the initial tolerance of the reference resistor; this is demonstrated in CE210528.
7.2.3
Actual Sensor
Tolerance
Every sensor has inaccuracies associated with it that are independent of the measurement system. For a thermistor,
the significant parameters are accuracy, interchangeability, and self-heating. Some thermistor datasheets, such as
the one for NCP18XH103F03RB, combine accuracy and interchangeability into one resistance tolerance parameter.
The resistance tolerance of the thermistor under consideration is 1% across the temperature range.
Figure 19 shows the temperature error caused by the tolerance of the thermistor across the entire temperature range.
Figure 19: Thermistor Temperature Error
0.515
0.465
0.415
0.365
Error (°C)
0.315
0.265
0.215
0.165
0.115
0.065
0.015
-40
-20
0
20
40
60
80
100
120
Thermistor Temperature (°C)
www.cypress.com
Document No. 001-66477 Rev.*H
15
PSoC® 3, PSoC 4, and PSoC 5LP - Temperature Measurement with a Thermistor
To calculate this error, we can use Equation 8:
Equation 8
Where 0.01 is the 1% tolerance of the thermistor. This new resistance must be entered back into Equation 1 to
calculate the new temperature.
A simple way to remove this error is to do a single-point temperature calibration. For example, if the thermistor is
used to measure human body temperature (37 °C), bring the thermistor to exactly 37 °C, record the temperature
reported by the thermistor and note the difference between this temperature and 37 °C. Subtract this temperature
from all subsequent readings.
This process is documented in CE210528.
Self Heating
The self-heating error in a thermistor is due to the power dissipated across the thermistor. To find the heating error,
use the thermal dissipation constant C, which is the electric power required to raise the thermistor temperature by
1 °C.
Equation 9.
C
P
T  T0
C = 1 mW/°C for the NCP18XH103F03RB
When a reference voltage of 1.6 V is used for thermistor biasing, the power drop and therefore the temperature error
is given as follows:
P@40  11W  Terror  0.011
P@125  12W  Terror  0.012
Because self-heating depends on the bias voltage (or current in other techniques), keep the bias voltage low to
maintain self-heating within an acceptable range.
7.2.4
V o l t a g e - t o - T e m p e r a t u r e C o n ve r s i o n
The calculation used to convert the resistance to temperature also has associated error.
In the Thermistor Calculator Component, the error for the equation method across a temperature range of –40 °C to
125 °C is less than 0.01 °C. Because the resolution of the temperature measurement with the component is 0.01 °C,
the error due to the equation is considered zero. With the LUT method, the error introduced is ±1/2 of the calculation
resolution. This is added to the rest of the errors considered thus far.
7.3
Summary of Errors
Table 3 summarizes all the errors and typical measured results.
Table 3: Summary of Worst-Case Thermistor Errors from–40 °C to 125 °C
Parameters
Sensor Conditioning
Thermistor
Measurement chain
Calculation error
*
Max Error (°C)
Comments
VDAC inaccuracy
0*
It is measured
Reference resistor
0.045
0.1% resistor with 10 ppm/°C
Tolerance
0.45
1% tolerance thermistor
Self-heating
0.012
Thermal dissipation constant = 1 mW/°C
Offset
0.00
Correlated double sampling
Gain error
0*
Ratiometric measurement
ADC INL
0.04
16-bit resolution with 2-LSB INL
Equation method
0*
Steinhart-Hart equation
LUT method
1/2 calculation resolution
Resolution options: 0.01, 0.05, 0.1, 0.5, 1, 2
Error values that are negligible for thermistor measurement are shown as ‘0’.
www.cypress.com
Document No. 001-66477 Rev.*H
16
PSoC® 3, PSoC 4, and PSoC 5LP - Temperature Measurement with a Thermistor
The table shows that the worst-case error is due to the thermistor itself. The maximum error is for a temperature
range of –40 ºC to 125 ºC. Typically, thermistors are used for a smaller range, which results in higher accuracy.
8
Summary
When choosing a temperature sensor, a thermistor is one option that offers a high accuracy and low cost. In this
application note, we looked specifically at negative temperature coefficient (NTC) thermistors, which are temperaturesensitive resistors.
This application note demonstrated how to measure the resistance of a thermistor, and showed how to configure
PSoC 3, PSoC 4 or PSoC 5LP devices.
Converting from thermistor resistance to temperature is computationally complex. We showed how to use the PSoC
Creator Thermistor Calculator Component to simplify the math-intensive resistance-to-temperature conversion.
9
Related Application Documents
9.1
Related Application Notes
9.2

AN70698 - PSoC® 3 and PSoC 5LP- Temperature Measurement with an RTD

AN75511 - PSoC® 3 and PSoC 5LP- Temperature Measurement with a Thermocouple.

AN60590 - PSoC® 3 and PSoC 5LP- Temperature Measurement with a Diode.

AN54181 - Getting Started with PSoC 3

AN79953 - Getting Started with PSoC 4

AN77759 - Getting Started with PSoC 5LP.

AN66444 - PSoC® 3 and PSoC 5LP Correlated Double Sampling
Related Code Examples

CE210514 - PSoC® 3, PSoC 4, PSoC 5LP Temperature Sensing with a Thermistor

CE210528 - PSoC® 3, and PSoC 5LP Thermistor Calibration
About the Authors
Name:
Archana Yarlagadda
Title:
Senior Applications Engineer
Background:
Archana has a Master of Science, Electrical Engineering degree from the University of
Tennessee and is interested in analog and mixed-signal systems.
Name:
Todd Dust
Title:
Applications Engineer Sr Staff
Background:
Todd graduated from the Seattle Pacific University with a BSEE, and has been working at
Cypress ever since.
www.cypress.com
Document No. 001-66477 Rev.*H
17
PSoC® 3, PSoC 4, and PSoC 5LP - Temperature Measurement with a Thermistor
Document History
Document Title: AN66477 - PSoC® 3, PSoC 4, and PSoC 5LP - Temperature Measurement with a Thermistor
Document Number: 001-66477
Revision
ECN
Orig. of
Change
Submission
Date
Description of Change
**
3148830
YARA
01/20/2011
New application note.
*A
3216577
YARA
06/06/2011
1. In the library project associated with the AN, The Thermistor_v1_0 has been
changed to Thermistor_Calc_v1_0.
2. Text in the AN has been modified to support the same.
3. The Library for the component has been changed from "CY_Ref" to "CYRef" as
per the change in Spec: 001-58801.
*B
3453518
YARA
12/02/2011
Updated project to PSoC Creator 2.0. Minor text edits.
Updated template.
*C
3682100
YARA
07/17/2012
Prototype status for component
Provided two APIs instead of one for facilitating calibration in project and AN
Added “Appendix A”
Corrected “Accuracy” selection to “Calculation Resolution”
Added “Performance Analysis”
Updated the thermistor datasheet based on these changes
Project code presentation changed based on best practices guidelines
*D
3836921
TDU
12/10/2012
Major Update
Updated Flow of Document
Updated content to reflect that the component is now part of Creator
*E
4155350
TDU
10/11/2013
Updated attached Associated Project
Updated in new template
Completing Sunset Review
*F
4224489
TDU
12/19/2013
Added PSoC 4 and difference performance level projects.
Cleaned up accuracy calculations.
*G
4498523
TDU
09/10/2014
Corrected Table 3 title (from RTD to Thermistor)
Updated the hyperlink and title for AN2099.
*H
5074214
TDU
01/14/2016
Updated to latest template
Moved projects to Code Examples
www.cypress.com
Document No. 001-66477 Rev.*H
18
PSoC® 3, PSoC 4, and PSoC 5LP - Temperature Measurement with a Thermistor
Worldwide Sales and Design Support
Cypress maintains a worldwide network of offices, solution centers, manufacturer’s representatives, and distributors. To find
the office closest to you, visit us at Cypress Locations.
PSoC® Solutions
Products
Automotive
cypress.com/go/automotive
psoc.cypress.com/solutions
Clocks & Buffers
cypress.com/go/clocks
PSoC 1 | PSoC 3 | PSoC 4 | PSoC 5LP
Interface
cypress.com/go/interface
Cypress Developer Community
Lighting & Power Control
cypress.com/go/powerpsoc
Memory
cypress.com/go/memory
PSoC
cypress.com/go/psoc
Touch Sensing
cypress.com/go/touch
USB Controllers
cypress.com/go/usb
Wireless/RF
cypress.com/go/wireless
Community | Forums | Blogs | Video | Training
Technical Support
cypress.com/go/support
PSoC is a registered trademark and PSoC Creator is a trademark of Cypress Semiconductor Corp. All other trademarks or registered trademarks
referenced herein are the property of their respective owners.
Cypress Semiconductor
198 Champion Court
San Jose, CA 95134-1709
Phone
Fax
Website
: 408-943-2600
: 408-943-4730
: www.cypress.com
© Cypress Semiconductor Corporation, 2011-2016. The information contained herein is subject to change without notice. Cypress Semiconductor
Corporation assumes no responsibility for the use of any circuitry other than circuitry embodied in a Cypress product. Nor does it convey or imply any
license under patent or other rights. Cypress products are not warranted nor intended to be used for medical, life support, life saving, critical control or
safety applications, unless pursuant to an express written agreement with Cypress. Furthermore, Cypress does not authorize its products for use as
critical components in life-support systems where a malfunction or failure may reasonably be expected to result in significant injury to the user. The
inclusion of Cypress products in life-support systems application implies that the manufacturer assumes all risk of such use and in doing so indemnifies
Cypress against all charges.
This Source Code (software and/or firmware) is owned by Cypress Semiconductor Corporation (Cypress) and is protected by and subject to worldwide
patent protection (United States and foreign), United States copyright laws and international treaty provisions. Cypress hereby grants to licensee a
personal, non-exclusive, non-transferable license to copy, use, modify, create derivative works of, and compile the Cypress Source Code and derivative
works for the sole purpose of creating custom software and or firmware in support of licensee product to be used only in conjunction with a Cypress
integrated circuit as specified in the applicable agreement. Any reproduction, modification, translation, compilation, or representation of this Source
Code except as specified above is prohibited without the express written permission of Cypress.
Disclaimer: CYPRESS MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO THIS MATERIAL, INCLUDING, BUT
NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. Cypress reserves the
right to make changes without further notice to the materials described herein. Cypress does not assume any liability arising out of the application or
use of any product or circuit described herein. Cypress does not authorize its products for use as critical components in life-support systems where a
malfunction or failure may reasonably be expected to result in significant injury to the user. The inclusion of Cypress’ product in a life-support systems
application implies that the manufacturer assumes all risk of such use and in doing so indemnifies Cypress against all charges.
Use may be limited by and subject to the applicable Cypress software license agreement.
www.cypress.com
Document No. 001-66477 Rev.*H
19