AN897

AN897
使用 MCP6SX2 PGA 的热敏电阻温度检测
关键的的参数规格包括 [1, 2]:
Kumen Blake 和 Steven Bible
Microchip Technology Inc.
简介
本应用笔记将讨论温度测量的两种设计,设计均使用精
密的、负温度系数(Negative Temperature Coefficient ,
NTC)热敏电阻。热敏电阻放置在电阻型分压器中,以
便线性化从温度至电压的转换。在转换到数字域进行处
理之前,电压由 MCP6SX2(MCP6S22 或 MCP6S92)
可 编 程 增 益 放大 器 (Programmable Gain Amplifier,
PGA)在模拟域进行处理。
第一个设计要简单一些,温度范围稍小。第二个设计将
改变 PGA 的增益,以便获得更宽的温度范围。这两个
设计均使用分段线性插值表来校正残留的非线性,并把
电压信号转换为摄氏温度。本文还将讨论两种方法之间
的设计权衡。
设计电路都很好地利用了 MCP6SX2 的输入多路开关
(MUX)。 PGA 用来处理多个信号和 / 或温度,并为每
一个输入数字式地设定最恰当的增益。这将降低设计的
总体复杂度,使得对其他传感器所测温度进行校正成为
可能。
• +25°C 的电阻:10 kΩ ± 1%
• B25/85 容许误差:±0.75%
• 工作温度范围:-40°C 至 +125°C (短时间内能到
+150°C)
• 最大功率
- 100 mW, TTH = 0°C 至 +55°C
- 在 TTH = -40°C 和 +85°C 时,功率衰减 100%
• 热耗散系数:2.2 mW/°C
• 响应时间:1.7 s (在油中)
Thermistor Error
Magnitude (°C)
作者:
-25
0
25
50
75
100 125 150
Thermistor Temperature (°C)
本应用笔记中使用的热敏电阻来自 BC Components®,
部件编号是 2322 640 55103,见图 1 和图 2。选择该部
件的原因在于其精度和成本。热敏电阻的温度是 TTH,
电路其余部分处在环境温度 TA 下。
1M
BC Components®
# 2322 640 55103
10 k: @ +25°C
100k
100000
10000
1k
1000
100
100
0
25
50
75
100
Thermistor Temperature (°C)
图 1: 热敏电阻响应曲线
 2008 Microchip Technology Inc.
125
在本应用中,也可以使用性价比不同的热敏电阻。对电
路进行修改以便匹配期望精度还是比较简单的。
稍后所述的两种设计,均使用图 3 所示的电路。电路在
MCP6SX2 PGA Thermistor PICtail™ Demo
Board(MCP6SX2 PGA 热敏电阻 PICtailTM 演示板 ) 上实
现,见参考文献 [12]。
10k
-25
图 2: 热敏电阻的精度
电路
1000000
Thermistor Resistance (:)
BC Components®
# 2322 640 55103
10 kٛ @ +25°C
-50
热敏电阻
-50
2.0
1.8
1.6
1.4
1.2
1.0
0.8
0.6
0.4
0.2
0.0
150
电阻 RA 使得电压-温度响应是相当线性的。 RB 和 CB
降低了噪声,用作 ADC 的抗混叠滤波器。 MCP6SX2
PGA(MCP6S22 [5] 或 MCP6S92 [6])对电压 VDIV 进
行缓冲。可以数字式地控制 PGA 来改变其增益或通道
(输入)。
PIC16F684 [8] 在信号分析 PICtail™ 子板上,见参考文
献 [11]。它有一个内部 10 位 ADC,可把 VOUT 转换成
数字信号。它还能对 VOUT 进行进一步的处理 (例如,
求平均),并能把 VOUT 转换为温度。 PIC16F684 通过
SPI 串行总线与 PGA 进行通讯。
DS00897C_CN 第 1 页
AN897
VDD = 5.0V
RA
1%
VDIV
RTH
10 kΩ
VDD
VDD
MCP6SX2
PGA
RB
100 kΩ
CH0
CH1
VREF
CB
1 µF
PIC16F684
VOUT
VIN
10 位
ADC
VREF
固件
3
其他输入
SPI 总线
图 3: 热敏电阻 PGA 电路
ADC 的参考电压和分压器,由同一个电压供电,构成比
例电路; VDD 中的误差将在 ADC 中被自动校正。
第一个设计
热敏电阻的功耗将导致自热温度误差。计算温度范围内
热敏电阻的功耗,然后再除以规定的 2.2 mW/°C 热耗散
系数,得到如图 5 所示的自热温度误差。这是小而一致
的误差。使用固件中的分段线性插值表,对自热温度误
差进行校正是很简单的。
设计强调简单性,使用标准的方法来设计热敏电阻电
路。使用一块 PGA 来代替传统的运放,从而允许在多
个输入之间进行切换。
为了设计简单起见,第一个设计把 PGA 的增益保持在
+1 V/V。为了获得室温下最佳性能,电阻 RA 置为其
+25°C 时的标称值 (10.0 kΩ);这是非常常见的设计
选择。尽管这是一个更加简单的设计,但其精度相对较
低,这一点在下文中将进行说明。注意,图 4 给出的响
应,要比 图 1 响应的线性度好很多。
Self-heating Error (°C)
模拟设计
0.30
Design # 1
G = +1
RA = 10 k:
0.25
0.20
0.15
0.10
0.05
0.00
-50
-25
0
25
50
75
100
125
150
VDIV = VOUT (V)
Thermistor Temperature (°C)
5.0
4.5
4.0
3.5
3.0
2.5
2.0
1.5
1.0
0.5
0.0
Design # 1
G = +1
RA = 10 k:
图 5: 热敏电阻的自热误差
模拟误差分析
图 6 显示的是 ADC 的温度分辨率,而图 7 显示的是预
计最坏情形下模拟电路的误差。这两个图都基于下列假
设:
-50
-25
0
25
50
75
100
125
150
Thermistor Temperature (°C)
图 4:分压器和 PGA 输出
设计中可以把 +125°C 和 +150°C 之间的温度考虑在内,
其目的是在过温时给出指示,此时精度并不那么重要。
DS00897C_CN 第 2 页
• ADC 的 DC 误差 ≤ ±3.5 LSb
• PGA 的增益误差 ≤ ±0.1% (G = +1)
• PGA 的输入失调误差 ≤ ±1 mV(包括 PSRR 和温度
漂移)
• 规定的热敏电阻精度
在 -25°C 至 +73°C 的温度范围内,此设计能够获得
0.25°C的 ADC温度分辨率。在同样的温度范围内,模拟
电路精度要好于 1.2°C。其他温度范围将有不同的分辨
率和精度。
 2008 Microchip Technology Inc.
AN897
在第一个设计中,设计人员可以选择显示带十分位小数
的温度,也可对温度小数进行四舍五入取整。
ADC Temperature Resolution
(°C/LSb)
0.0
10-bit ADC
DC Error ≤ 3.5 LSb
-0.5
开始
获取实时采样
-1.0
-1.5
读 ADC
Design # 1
G = +1
RA = 10 k
-2.0
进行 PwLI
-2.5
-50
-25
0
25
50
75
100 125 150
Thermistor Temperature (°C)
以 °C 为单位,把温度
发送给柱状图
Analog Circuit Errors
Magnitude (°C)
图 6: ADC 的温度分辨率
10
9
8
7
6
5
4
3
2
1
0
结束
Design # 1
G = +1
RA = 10 k:
图 8: 第一个设计的流程图
分段线性插值表
ADC Error
RA Error
PGA Error
-50
-25
0
25
50
设计使用分段线性插值表 [9],把 ADC 输出编码转换为
估计温度。 ADC 编码分成 64 段,每段 16 个编码。插
值表中的编码,是段与段之间的端点 (分界点)。表 1
所示是为第一个设计选择的端点。
75
100
125
150
Thermistor Temperature (°C)
图 7: 模拟电路误差
数字设计
PIC16F684 单片机 [11, 12] 处理若干重要任务。它与
PGA通信,设置PGA的输入通道;它能对测量信号取平
均值从而降低噪声,然后使用分段线性插值表把结果转
换为热敏电阻上的温度。有些单片机有内置的 SPI 端
口,也可以在所有单片机上用软件来实现 SPI 接口 [7]。
流程图
图 8 的流程图给出了第一个设计的程序流程。固件在
“00028 - MCP6SX2 PGA Thermistor PICtail Demo
Board”目录下 00897 Source Code.zip 文件中。固
件使用可重定位的汇编代码编写。main.asm 控制总的
程序流程。 PGA 例程在 pga.inc 和 pga.asm 中。热
敏电阻例程在Therm_PGA1.inc和Therm_PGA1.asm
中。
表 1: 插值表端点
增益
(V/V)
ADC 编码
(LSb)
TTH
(°C)
RTH
(Ω)
VOUT
(V)
1
1008
-49.4
630 k
4.922
16
156.1
159
0.078
热敏电阻规定温度范围(-40°C 至 +150°C)之外的 RTH
值,制造商没有给出,只能进行估计。表 1 中已经包含
了热敏电阻的自热误差校正。
表中在 -40°C 至 +150°C 温度范围之外的项,是为了确
保在读数溢出时分段线性插值表也能正常使用。在插值
算法中,表中位于有效范围之外的值,将用最接近的有
效值来代替。这意味着,当 ADC 编码 > 1008 时,表将
返回 -49.3°C 的值。当 ADC 编码 < 16 时,表的返回值
将是 156.1°C。
信号分析 PC 程序命令 PIC16F684 固件进行实时采样。
固件读取 ADC 的值,然后把值传递给分段线性插值
(PwLI)例程。 PwLI 例程把 10 位 ADC 值转换为 16
位定点十进制的摄氏温度值。定点十进制格式给出的摄
氏温度以十分之一度为单位。以十分之一度为单位进行
分段线性插值,给出的摄氏温度分辨率更高。最后,16
位摄氏温度值传送给信号分析 PC 程序,显示在实时柱
状图上。
 2008 Microchip Technology Inc.
DS00897C_CN 第 3 页
AN897
1.0
0.8
0.6
0.4
0.2
0.0
-0.2
-0.4
-0.6
-0.8
-1.0
Design # 1
5.0
4.5
4.0
3.5
3.0
2.5
2.0
1.5
1.0
0.5
0.0
Design # 2
RA = 28.0 k:
-50
-25
0
25
50
75 100 125
Thermistor Temperature (°C)
150
图 10: 分压器输出
-50
-25
0
25
50
75
100
125
150
Thermistor Temperature (°C)
图 9: 分段线性插值误差,设计 # 1
数字圆滑误差大致与 ADC 温度分辨率曲线的包络线成
正比(见图 6)。如果圆滑误差比 ADC 分辨率小很多的
话,误差几乎没有什么影响。
总的数字误差包括分段线性插值误差和圆滑误差。
第二个设计
设计强调的是精度和分辨率。它利用 PGA 的变增益能
力,改变增益,从而克服第一个设计的局限。如果需要
的话, PGA 还可以在多个输入间进行切换。
模拟设计
第二个设计改变了 PGA 的增益,从 +1 至 +8 再至 +32 V/
V。电阻RA被设置为28.0 kΩ,从而在低温时电压-温度
响应相当程度上是线性的,见图 10(与图 4 比较)。温
度较高时,响应曲线几乎是水平的,从而要增大 PGA 的
增益,进行补偿。尽管该设计要复杂一些,但其分辨率
和精度要比第一个设计高。
设计中可以把 +125°C 和 +150°C 之间的温度考虑在内,
目的是在过温时给出指示,此时精度并不那么重要。
热敏电阻的功耗将导致自热温度误差。计算温度范围内
热敏电阻的功耗,然后再除以规定的 2.2 mW/°C 热耗散
系数,得到如图 11 所示的自热温度误差。这是小而一
致的误差。使用固件中的分段线性插值表,对自热温度
误差进行校正是很简单的。
0.12
Self-heating Error (°C)
Interpolation Error (°C)
图 9 给出了插值表的估计插值误差。在温度靠近极限值
时,本设计的 ADC 分辨率比较差。在 -25°C 至 +73°C
的 温 度 范 围 内,分段 线 性 插 值 表 的 精 度 是 0.05°C。
在-40°C 至 +150°C 的温度范围内,精度下降到 1.0°C。
VDIV (V)
数字误差分析
Design # 2
RA = 28.0 k:
0.10
0.08
0.06
0.04
0.02
0.00
-50
-25
0
25
50
75
100 125 150
Thermistor Temperature (°C)
图 11: 热敏电阻自热误差
PGA 增益
在较高温度时, VDIV 对温度的灵敏度较低 (图 10)。
设计时是有意这么做的,这样当温度增加时可以把 PGA
的增益设置得更高 (图 12)。
DS00897C_CN 第 4 页
 2008 Microchip Technology Inc.
AN897
G = +8
Design # 2
RA = 28.0 k:
-50
-25
图 13 显示的是 ADC 的温度分辨率,图 14 显示的是预
计最坏情况下模拟电路的误差。这两个图都基于下列假
设:
G = +32
Hysteresis
0
25
50
75 100 125
Thermistor Temperature (°C)
150
图 12: PGA 输出电压
选择增益改变点,以合理的成本尽可能地提高 ADC 的
分辨率 (见图 13) 。为了使固件中分段线性插值表最
小,增益的数目应该比较小。
每个范围中允许的最大电压要比 VDD 低 300 mV。这将
使 PGA 在其规定输出范围之内,同时也为噪声留下了
一些裕量。允许的最小电压与地电压之差要远远大于
300 mV,这将使 PGA 工作在其线性度最佳的区域。
随机噪声可能将使得 PGA 增益的改变较为频繁。给(固
件中的)增益选择算法添加迟滞将减轻这一问题。迟滞
应该足够大,以便补偿 PGA 的最大增益误差(±1%)。
图 12 和表 2 所示分别是较低温度和较高温度变化时
1.7°C 和 2.0°C 的迟滞。 增益改变点之间的电压距离是
VDIV 的 6%,是 PGA 最大增益误差的七倍,这将确保
增益改变算法能够正常工作。表 2 中已经对热敏电阻的
自热误差进行了校正。
表 2: 带迟滞的 PGA 增益改变点
增益
(V/V)
增益
改变
(V/V)
ADC 编码
(LSb)
1
1→8
< 113
8
32
TTH
VDIV
(V) (°C)
0.552
50.9
8→1
> 960
0.586
49.2
8 → 32
< 226
0.138
94.6
32 → 8
> 960
0.146
92.6
• ADC 的 DC 误差 ≤ ±3.5 LSb
• PGA 的增益误差 ≤ ±1% (G = +1 时是 ±0.1%)
• PGA 的输入失调误差 ≤ ±1 mV(包括 PSRR 和温度
漂移)
• 规定的热敏电阻精度
在 -40°C 至 +150°C 的温度范围内,此设计能够获得
0.27°C 的 ADC 温度分辨率。在同样的温度范围内,模
拟电路精度要好于 3.0°C。其他温度范围将有不同的分
辨率和精度。
0.00
ADC Temperature Resolution
(°C/LSb)
G = +1
Design # 2
RA = 28.0 kٛ
-0.05
-0.10
-0.15
-0.20
-0.25
10-bit ADC
DC Error ≤ 3.5 LSb
-0.30
-50
-25
0
25
50
75
100 125 150
Thermistor Temperature (°C)
图 13: ADC 的温度分辨率
Analog Circuit Error
Magnitude (°C)
VOUT (V)
模拟误差分析
5.0
4.5
4.0
3.5
3.0
2.5
2.0
1.5
1.0
0.5
0.0
2.0
1.8
1.6
1.4
1.2
1.0
0.8
0.6
0.4
0.2
0.0
Design # 2
RA = 28.0 k:
PGA Error
ADC Error
RA Error
-50
-25
0
25
50
75
100 125 150
Thermistor Temperature (°C)
图 14: 模拟电路误差
数字设计
PIC16F684 单片机 [11, 12] 处理若干重要任务。它与
PGA通信,设置PGA的增益和输入通道;它能对测量信
号取平均值从而降低噪声,然后使用分段线性插值表把
结果转换为热敏电阻上的温度。有些单片机有内置的
SPI端口,也可以在所有单片机上用软件来实现SPI接口
[7]。
 2008 Microchip Technology Inc.
DS00897C_CN 第 5 页
AN897
信号分析 PC 程序命令 PIC16F684 固件进行实时采样。
固件读取 ADC 的值,然后把值传递给 PGA 迟滞例程。
图 16 给出了 PGA 迟滞例程的细节。例程将检查设定的
PGA 增益是多少 (变量 PGAgain)。根据 PGAgain,
ADC 值与端点(分界点)值进行比较。如果 ADC 值在分
界点的值之外,就把 PGAgain 置为最接近的高或低增
益设定值。在退出 PGA 迟滞例程之前,固件检查 PGAgain 是否改变。如果没有改变(返回 0),程序继续执
行。如果有改变 (返回 1),固件将重新读取 ADC 值。
流程图
第二个设计的流程图如图 15 所示。它与第一个设计的
程序非常相似,区别是它增加了 PGA 迟滞例程。固件
在 00897 Source Code.zip 文件中。固件使用可重
定位的汇编代码编写。main.asm 文件控制总的程序流
程。 PGA 例程在 pga.inc 和 pga.asm 中。热敏电阻
例程在 Therm_PGA2.inc 和 Therm_PGA2.asm 中。
开始
获取实时采样
一旦知道了 PGA 增益和 ADC 的值,这两个值就会被传
递给分段线性插值例程。根据 PGA 的增益设定,查阅
正确的查找表。 PwLI 例程把 10 位 ADC 值转换为 16
位定点十进制的摄氏温度值。定点十进制格式给出的摄
氏温度以十分之一度为单位。以十分之一度为单位进行
分段线性插值,给出的摄氏温度分辨率更高。最后,16
位摄氏温度值被传送给信号分析 PC 程序,显示在实时
柱状图上。
读 ADC
PGA 迟滞
PGAgain
改变?
在最后的设计中,设计人员可以选择显示带十分位小数
的温度,也可对温度小数进行四舍五入取整。
是
否
进行 PwLI
发送温度(单位是 °C)给柱状图
结束
图 15: 第二个设计的流程图
PGA 迟滞
如果
PGAgain = 1
是
设置 PGAgain = 8
是
否
否
如果
PGAgain = 8
如果
PGAadc < 113
是
如果
PGAadc < 226
设置 PGAgain = 32
是
否
否
如果
PGAadc > 960
设置 PGAgain = 1
是
否
如果
PGAgain = 32
否
是
如果
PGAadc > 960
否
设置 PGAgain = 8
是
返回 0
返回 1
图 16: 第二个设计中 PGA 迟滞例程的流程图
DS00897C_CN 第 6 页
 2008 Microchip Technology Inc.
AN897
分段线性插值表
表 3: 插值表端点
0.04
Interpolation Error (°C)
三个增益中的任何一个都要使用分段线性插值表 [9],把
ADC 输出编码转换为估计温度。在每个插值表中,ADC
编码分成 64 段,每段 16 个编码。插值表中仅有段与段
之间端点的 ADC 编码。对于这三张插值表,每张表中
极限有效值如表 3 所示。
Design # 2
0.03
0.02
0.01
0.00
-0.01
-0.02
-0.03
增益
(V/V)
ADC 编码
(LSb)
TTH
(°C)
RTH
(Ω)
VOUT
(V)
1
960
-43.5
420k
4.688
112
51.2
3.44k
0.547
960
49.2
3.72k
4.688
图 17: 分段线性插值误差,设计 # 2
224
94.9
787
1.094
960
92.6
845
4.688
208
150.9
179
1.016
数字圆滑误差大致与 ADC 温度分辨率曲线的包络线成
正比 (见图 13)。 如果圆滑误差比 ADC 分辨率小很多
的话,误差几乎没有什么影响。
32
热敏电阻规定温度范围(-40°C 至 +150°C)之外的 TTH
和 RTH 值,制造商没有给出,只能进行估计。表 3 中已
经包含了热敏电阻的自热误差校正。
表中在 -40°C 至 +150°C 温度范围之外的项,是为了确
保在读数溢出时分段线性插值表也能正常使用。在插值
算法中,表中位于有效范围之外的值,将用最接近的有
效值来代替。这意味着,当 G = 1 且 ADC 编码 > 960
时,表将返回 -43.5°C 的值。当 G = 32 且 ADC 编码
< 208 时,表的返回值是 150.9°C 的值。
表 3 中其他在端点之外的项 (例如,靠近增益改变点)
是零,因为迟滞算法将阻止对它们的读取。这种方法已
经用在可读性控制中。
数字误差分析
图 17 给出了插值表的估计插值误差。改变 PGA 的增益
将能够充分利用 ADC 的分辨率。在-40°C 至 +150°C 的
温度范围内,该分段线性插值表的精度是 0.034°C。提
高的 ADC 温度分辨率,使得本设计的分段线性插值表
的性能要比第一个设计的好很多。
-50
-25
0
25
50
75
100
125
150
Thermistor Temperature (°C)
总的数字误差包括分段线性插值误差和圆滑误差。
设计比较
图 18 所示是热敏电阻的规定精度。对于前述两个设计,
它导致的误差是相同的。
Thermistor Error
Magnitude (°C)
8
-0.04
2.0
1.8
1.6
1.4
1.2
1.0
0.8
0.6
0.4
0.2
0.0
BC Components®
# 2322 640 55103
10 kٛ @ +25°C
-50
-25
0
25
50
75
100 125 150
Thermistor Temperature (°C)
图 18: 热敏电阻精度
图 19 比较了第一、第二个设计之间的 ADC 温度分辨
率。第二个设计更好,因为改变 PGA 的增益有助于提
高 ADC 的温度分辨率。
 2008 Microchip Technology Inc.
DS00897C_CN 第 7 页
图 22 比较了第一、第二个设计的总误差 (热敏电阻加
电路加分段线性插值误差)。为简单起见,没有考虑数
字圆滑误差。
0.0
-0.5
nd
2 Design
1st Design
-1.0
-1.5
-2.0
10-bit ADC
DC Error ≤ 3.5 LSb
-2.5
-50
-25
0
25
50
75
100 125 150
Thermistor Temperature (°C)
12
11
10
9
8
7
6
5
4
3
2
1
0
Total Design Error
Magnitude (°C)
ADC Temperature Resolution
(°C/LSb)
AN897
图 19: ADC 温度分辨率
1st Design
2nd Design
-50
图 20 比较了两个设计之间的模拟电路误差。在温度较
高时,第二个设计的误差更好,因为 ADC 的温度分辨
率更好。第二个设计的误差在较低温度时也更好,因为
RA 的选择能够使较低温度时从温度到电压的转换呈线
性。
-25
0
25
50
75
100
125
150
Thermistor Temperature (°C)
图 22: 总误差比较
两个设计之间的折衷权衡,概括在表 4 中。
Analog Circuit Error
Magnitude (°C)
表 4: 折衷权衡
11
10
9
8
7
6
5
4
3
2
1
0
判据
Design # 1
Design # 2
-50
-25
0
25
50
75
第一个
设计
第二个
设计
中
高
温度范围
100
125
150
Thermistor Temperature (°C)
图 20: 模拟电路误差比较
数字分段线性插值误差的比较见图 21。第二个设计的性
能要好很多,因为线性插值表中的分段覆盖了更小的温
度变化。
温度精度
低
高
增益改变时的不连续性
—
±0.3°C
固件大小
低
中
测量结果
在基准平台上对两个设计进行测量。使用 MCP6SX2
PGA 热敏电阻 PICtail™ 演示板上的可变电阻 Rvar 来仿
真热敏电阻,请参阅文献 [12]。根据电阻的标称值,把
ADC 输出转换为估计的热敏电阻温度。图 23 所示是第
一个设计的测量误差,图24是第二个设计的测量误差。
3
Measured Error (°C)
Interpolation Error (°C)
4
1.0
0.8
0.6
0.4
0.2
0.0
-0.2
-0.4
-0.6
-0.8
-1.0
Design # 1
Design # 2
Design # 1
Thermistor Emulator, Rvar
2
1
0
-1
-2
-3
-4
-50
-50
-25
0
25
50
75
100
Thermistor Temperature (°C)
125
150
-25
0
25
50
75
100
125
150
Thermistor Temperature (°C)
图 23: 测量误差,设计 # 1
图 21: 数字插值误差比较
DS00897C_CN 第 8 页
 2008 Microchip Technology Inc.
AN897
Measured Error (°C)
其他增益
0.5
0.4
0.3
0.2
0.1
0.0
-0.1
-0.2
-0.3
-0.4
-0.5
第二个设计可以使用其他增益来完成。增大增益的缺点
是需要更多的分段线性插值表,这将增大固件的大小。
Design # 2
Thermistor Emulator, Rvar
增加一个在 +1 和 +8 之间的增益,将提升 ADC 的分辨
率。增益精度的下降 (从 G = +1 时的 0.1% 下降到
G ≥ +2时的1%)降低了总的精度,尤其是增益为+2时。
如何折衷取决于具体的设计。
G = +1
-50
-25
0
25
G = +8
50
75
G = +32
100
125
150
Thermistor Temperature (°C)
图 24: 测量误差,设计 # 2
注意,高温时,为了获得相距 5°C 的数据点,需要给
Rvar 串联一个电阻。
图 23 和图 24 都与设计结果吻合;第二个设计的性能要
好得多。 Rvar 中容差为 1% 的电阻给出的误差大致与
热敏电阻误差相同。
然后,使用设计 # 2,用热敏电阻测量室温。结果是:
ADC 编 码 281,增 益 +1,对 应 的 温 度 是 23.7°C
(74.7°F)。
其他设计选择
本应用笔记的参考文献中,给出了关于其他设计途径的
信息。 AN685 [3] 讨论了使用热敏电阻的更传统的应用
电路。 AN867 [4] 给出了另一种使用 PGA 的热敏电阻
电路,可供选择;电路的灵活性更大,但增加了设计成
本和复杂性。 AN990 [13] 对传感器进行了综述。
以下小节讨论如何对本应用笔记的设计进行修改。
增加精度
为了获得更佳的精度,模拟元件需要更加精密。 12 位
ADC (例如, MCP3201)将增加分辨率。允许误差为
0.1% 的电阻 RA 将减少电路误差。
对热敏电阻进行校准[1, 2],将消除大部分由它引起的过
程变化。对电路进行校准,可能也会带来好处。但这将
增加固件的复杂程度以及单片机上的执行时间,除非校
正已经包含在线性插值表中。
分段线性插值表可能需要更多的项,尤其是对于第一个
设计。计算要求的精度更高,但这将导致更慢的处理时
间。
 2008 Microchip Technology Inc.
增加一个在 +8 和 +32 之间的增益,能够同时提升更高
温度下的精度和 ADC 分辨率。增益取 +16 就很好。
去掉 +32 的增益,对于温度范围缩小(比如,+125°C)
的设计,可能比较有吸引力 。一种折衷的办法是把增益
从 +32 改变至 +16,而不是去掉 +32 的增益。
当增益都使用同一个乘法器相互关联时,迟滞算法还能
简化。当 G = 1、 2、 4、 8、 16 以及 32 时,乘数为
2。当 G = 1、4 和 16 时,乘数是 4。增益的增加都发生
在某一个 ADC 编码处,增益的下降也都发生在另一个
ADC编码处。于是,迟滞算法只需要把ADC编码与两个
编码值进行比较,根据比较结果改变增益。
更多输入通道
如果需要在超过两个输入(包括其他温度传感器)间进
行多路切换并送入 ADC 的话,可考虑提供更多通道的
6 通道 MCP6S26 和 8 通道 MCP6S28 PGA。热敏电阻的
输入可以用来校正其他传感器信号,诸如湿度传感器
等。
运放缓冲器
如图 3 所示的 MCP6SX2 PGA,可以用单位增益缓冲器
来替代; Microchip 的 MCP6001 运放就是不错的选择。
这样做在简单性和成本方面均有好处,但缺点是不能在
多个输入信号间进行切换,也不能通过改变 PGA 的增
益来提高 ADC 的温度分辨率。
远程热敏电阻考虑事项
如果热敏电阻与 PGA 相距较远 (例如,不在同一块
PCB 上),那么可能需要改变设计。可能的考虑事项包
括:
•
•
•
•
屏蔽传感器信号拾取线
EMI 滤波和保护
线路电阻电压降
热敏电阻地和 PCB 地之间不匹配
DS00897C_CN 第 9 页
AN897
总结
参考文献
本 文给 出 了 两 个不 同 的 电 路设 计,电 路 设 计均 使 用
MCP6SX2 PGA和精密的NTC热敏电阻。两个设计对简
单性、精度和温度范围进行了折衷与权衡。
[1]
“2322 640 5... : NTC thermistors, accuracy
line”,产品数据手册,BC Components®, 2001
年 9 月 27 日 (www.bccomponents.com)。
第一个设计的实现更为容易,但温度范围较小。可以使
它更精确,或者覆盖更宽的温度范围,但要使用更昂贵
的元件,需要更多的模拟设计工作。
[2]
“Introduction to NTCs: NTC Thermistors”,数
据手册,BC Components®,2001 年 3 月 27 日
(www.bccomponents.com)。
尽管第二个设计的固件占用的固件空间更大,但模拟设
计却是非常合理的。它利用了 PGA 的灵活性和数字控
制,降低了模拟误差,提高了温度分辨率。
[3]
AN685,“Thermistors
in
Single-Supply
Temperature Sensing Circuits” , Bonnie C.
Baker ; Microchip Technology Inc.,DS00685,
1999 年。
[4]
AN867,“Temperature Sensing with a Programmable Gain Amplifier” , Bonnie C. Baker ;
Microchip Technology Inc.,DS00867,2003 年。
[5]
MCP6S21/2/6/8数据手册,《单端轨到轨I/O低增
益 PGA》 , Microchip
Technology
Inc.,
DS21117A_CN, 2003 年。
[6]
MCP6S91/2/3 数据手册,《单端轨到轨输入 / 输
出低增益 PGA》, Microchip Technology Inc.,
DS21908, 2004 年。
[7]
AN248,“Interfacing MCP6S2X PGAs to
PICmicro® Microcontroller” , Ezana Haile ;
Microchip Technology Inc.,DS00248,2003年。
[8]
PIC16F684数据手册,《采用纳瓦技术的14 引脚
8 位CMOS 闪存单片机》,Microchip Technology
Inc., DS41202E_CN, 2004 年。
[9]
AN942,“Piecewise Linear Interpolation on
PIC12/14/16 Series Microcontrollers” , John
Day 和 Steven Bible ; Microchip Technology
Inc., 2004 年。
[10]
“PICkit™ 1 Flash Starter Kit User’s Guide” ,
Microchip Technology Inc.,DS40051,2004年。
[11]
“Signal Analysis PICtail™ Daughter Board
User’s Guide” , Microchip Technology Inc.,
DS51476, 2004 年。
[12]
“MCP6S2X PGA Thermistor PICtail™ Demo
Board User’s Guide” , Microchip Technology
Inc., DS51517, 2006 年。
[13]
AN990,《模 拟 传 感 器 的 调 理 电 路 概 述》 ,
Kumen Blake, Microchip Technology, Inc.,
2005 年。
MCP6SX2 PGA的输入MUX和数字控制增益,显著地提
升了这些电路的效用。一片 PGA 就能处理多个传感器
和 / 或输入信号,这降低了元件数量。对其他传感器进
行温度校正也变得更加容易。在这种情况下, NTC 热
敏电阻电路的边际成本是合理的。
DS00897C_CN 第 10 页
 2008 Microchip Technology Inc.
AN897
附录 A: 热敏电阻模型
2322 640 55103 热敏电阻 [1] 的标称响应如表 A-1 所
示。
表 A-1: 热敏电阻的标称响应
热敏电阻
温度 (°C)
热敏电阻
阻值 (Ω)
-40
332.1 k
-35
240.0 k
-30
175.2 k
-25
129.3 k
-20
96.36 k
-15
72.50 k
表 A-1 中的数据满足下列公式。使用这些公式,可以在
表项之间进行精确插值,从而使得评估设计更为容易。
公式 A-1:
电阻-温度关系公式:
X = ln(RTH / 1Ω)
z = XSC (X – XCTR)
T0
TTH ≈
– T25
1 + z(A1 + z(A2 + z(A3)))
其中:
182.6 Ω ≤ RTH ≤ 332.1 kΩ
XSC = -0.266457
XCTR = 8.960245
T0 = 303.960°C
A1 = -0.291639
A2 = 0.010993
A3 = -0.001042
T25 = 273.150°C
-10
55.05 k
-5
42.16 k
0
32.56 k
5
25.34 k
10
19.87 k
15
15.70 k
20
12.49 k
25
10.00 k
30
8.059 k
TTH + T25
35
6.535 k
z = YSC (Y – YCTR)
40
5.330 k
45
4.372 k
X ≈ B0 + z(B1 + z(B2 + z(B3)))
50
3.606 k
55
2.989 k
60
2.490 k
65
2.084 k
70
1.753 k
75
1.481 k
80
1.256 k
85
1.070 k
90
915.4
95
786.0
100
677.3
105
585.8
110
508.3
115
442.6
120
386.6
125
338.7
130
297.7
135
262.4
140
231.9
145
205.5
150
182.6
 2008 Microchip Technology Inc.
公式 A-2:
温度—电阻关系公式:
Y=
1
RTH = (1 Ω) eX
其中:
-40°C ≤ TTH ≤ +150°C
T25 = 273.150°C
YSC = -1038.499°C
YCTR = 0.003326156 °C-1
B0 = 9.101806
B1 = -3.756408
B2 = -0.141435
B3 = 0.003396
分段线性插值表需要有效温度范围之外的值,如表 A-1
所示。使用这些值,仅仅是为了在设置插值表和固件例
程时更加方便;制造商不提供在 -40°C 至 +150°C 温度
范围之外的任何数据。上述公式在有效温度范围内将给
出准确的结果。
上述两组公式都是基于极小-极大多项式拟合的,拟合
基于规范化变量 z。使用变量 X 和 Y 获得数据的准确拟
合更加困难。
DS00897C_CN 第 11 页
AN897
注:
DS00897C_CN 第 12 页
 2008 Microchip Technology Inc.
请注意以下有关 Microchip 器件代码保护功能的要点:
•
Microchip 的产品均达到 Microchip 数据手册中所述的技术指标。
•
Microchip 确信:在正常使用的情况下, Microchip 系列产品是当今市场上同类产品中最安全的产品之一。
•
目前,仍存在着恶意、甚至是非法破坏代码保护功能的行为。就我们所知,所有这些行为都不是以 Microchip 数据手册中规定的
操作规范来使用 Microchip 产品的。这样做的人极可能侵犯了知识产权。
•
Microchip 愿与那些注重代码完整性的客户合作。
•
Microchip 或任何其他半导体厂商均无法保证其代码的安全性。代码保护并不意味着我们保证产品是 “牢不可破”的。
代码保护功能处于持续发展中。 Microchip 承诺将不断改进产品的代码保护功能。任何试图破坏 Microchip 代码保护功能的行为均可视
为违反了 《数字器件千年版权法案 (Digital Millennium Copyright Act)》。如果这种行为导致他人在未经授权的情况下,能访问您的
软件或其他受版权保护的成果,您有权依据该法案提起诉讼,从而制止这种行为。
提供本文档的中文版本仅为了便于理解。请勿忽视文档中包含
的英文部分,因为其中提供了有关 Microchip 产品性能和使用
情况的有用信息。Microchip Technology Inc. 及其分公司和相
关公司、各级主管与员工及事务代理机构对译文中可能存在的
任何差错不承担任何责任。建议参考 Microchip Technology
Inc. 的英文原版文档。
商标
本出版物中所述的器件应用信息及其他类似内容仅为您提供便
利,它们可能由更新之信息所替代。确保应用符合技术规范,
是您自身应负的责任。Microchip 对这些信息不作任何明示或
暗示、书面或口头、法定或其他形式的声明或担保,包括但不
限于针对其使用情况、质量、性能、适销性或特定用途的适用
性的声明或担保。 Microchip 对因这些信息及使用这些信息而
引起的后果不承担任何责任。如果将 Microchip 器件用于生命
维持和 / 或生命安全应用,一切风险由买方自负。买方同意在
由此引发任何一切伤害、索赔、诉讼或费用时,会维护和保障
Microchip 免于承担法律责任,并加以赔偿。在 Microchip 知识
产权保护下,不得暗中或以其他方式转让任何许可证。
FilterLab、 Linear Active Thermistor、 MXDEV、 MXLAB、
SEEVAL、SmartSensor 和 The Embedded Control Solutions
Company 均为 Microchip Technology Inc. 在美国的注册商
标。
Microchip 的名称和徽标组合、 Microchip 徽标、 Accuron、
dsPIC、 KEELOQ、 KEELOQ 徽标、 MPLAB、 PIC、
PICmicro、 PICSTART、 PRO MATE、 rfPIC 和 SmartShunt
均为 Microchip Technology Inc. 在美国和其他国家或地区的
注册商标。
Analog-for-the-Digital Age、 Application Maestro、
CodeGuard、 dsPICDEM、 dsPICDEM.net、 dsPICworks、
dsSPEAK、 ECAN、 ECONOMONITOR、 FanSense、
In-Circuit Serial Programming、 ICSP、 ICEPIC、 Mindi、
MiWi、MPASM、MPLAB Certified 徽标、MPLIB、MPLINK、
mTouch、 PICkit、 PICDEM、 PICDEM.net、 PICtail、 PIC32
徽标、 PowerCal、 PowerInfo、 PowerMate、 PowerTool、
REAL ICE、 rfLAB、 Select Mode、 Total Endurance、
UNI/O、WiperLock 和 ZENA均为 Microchip Technology Inc. 在
美国和其他国家或地区的商标。
SQTP 是 Microchip Technology Inc. 在美国的服务标记。
在此提及的所有其他商标均为各持有公司所有。
© 2008, Microchip Technology Inc. 版权所有。
Microchip 位于美国亚利桑那州 Chandler 和 Tempe 与位于俄勒冈州
Gresham 的全球总部、设计和晶圆生产厂及位于美国加利福尼亚州和
印度的设计中心均通过了 ISO/TS-16949:2002 认证。公司在 PIC®
MCU 与 dsPIC® DSC、KEELOQ® 跳码器件、串行 EEPROM、单片机外
设、非易失性存储器和模拟产品方面的质量体系流程均符合 ISO/TS16949:2002。此外, Microchip 在开发系统的设计和生产方面的质量体
系也已通过了 ISO 9001:2000 认证。
 2008 Microchip Technology Inc.
DS00897C_CN 第 13 页
全球销售及服务网点
美洲
亚太地区
亚太地区
欧洲
公司总部 Corporate Office
2355 West Chandler Blvd.
Chandler, AZ 85224-6199
Tel: 1-480-792-7200
Fax: 1-480-792-7277
技术支持:
http://support.microchip.com
网址:www.microchip.com
亚太总部 Asia Pacific Office
Suites 3707-14, 37th Floor
Tower 6, The Gateway
Harbour City, Kowloon
Hong Kong
Tel: 852-2401-1200
Fax: 852-2401-3431
澳大利亚 Australia - Sydney
Tel: 61-2-9868-6733
Fax: 61-2-9868-6755
奥地利 Austria - Wels
Tel: 43-7242-2244-39
Fax: 43-7242-2244-393
印度 India - Bangalore
Tel: 91-80-4182-8400
Fax: 91-80-4182-8422
丹麦 Denmark-Copenhagen
Tel: 45-4450-2828
Fax: 45-4485-2829
印度 India - New Delhi
Tel: 91-11-4160-8631
Fax: 91-11-4160-8632
法国 France - Paris
Tel: 33-1-69-53-63-20
Fax: 33-1-69-30-90-79
印度 India - Pune
Tel: 91-20-2566-1512
Fax: 91-20-2566-1513
德国 Germany - Munich
Tel: 49-89-627-144-0
Fax: 49-89-627-144-44
日本 Japan - Yokohama
Tel: 81-45-471- 6166
Fax: 81-45-471-6122
意大利 Italy - Milan
Tel: 39-0331-742611
Fax: 39-0331-466781
亚特兰大 Atlanta
Duluth, GA
Tel: 678-957-9614
Fax: 678-957-1455
波士顿 Boston
Westborough, MA
Tel: 1-774-760-0087
Fax: 1-774-760-0088
芝加哥 Chicago
Itasca, IL
Tel: 1-630-285-0071
Fax: 1-630-285-0075
达拉斯 Dallas
Addison, TX
Tel: 1-972-818-7423
Fax: 1-972-818-2924
底特律 Detroit
Farmington Hills, MI
Tel: 1-248-538-2250
Fax: 1-248-538-2260
科科莫 Kokomo
Kokomo, IN
Tel: 1-765-864-8360
Fax: 1-765-864-8387
洛杉矶 Los Angeles
Mission Viejo, CA
Tel: 1-949-462-9523
Fax: 1-949-462-9608
圣克拉拉 Santa Clara
Santa Clara, CA
Tel: 408-961-6444
Fax: 408-961-6445
加拿大多伦多 Toronto
Mississauga, Ontario,
Canada
Tel: 1-905-673-0699
Fax: 1-905-673-6509
中国 - 北京
Tel: 86-10-8528-2100
Fax: 86-10-8528-2104
中国 - 成都
Tel: 86-28-8665-5511
Fax: 86-28-8665-7889
中国 - 香港特别行政区
Tel: 852-2401-1200
Fax: 852-2401-3431
中国 - 南京
Tel: 86-25-8473-2460
Fax: 86-25-8473-2470
中国 - 青岛
Tel: 86-532-8502-7355
Fax: 86-532-8502-7205
中国 - 上海
Tel: 86-21-5407-5533
Fax: 86-21-5407-5066
中国 - 沈阳
Tel: 86-24-2334-2829
Fax: 86-24-2334-2393
中国 - 深圳
Tel: 86-755-8203-2660
Fax: 86-755-8203-1760
中国 - 武汉
Tel: 86-27-5980-5300
Fax: 86-27-5980-5118
中国 - 厦门
Tel: 86-592-238-8138
Fax: 86-592-238-8130
中国 - 西安
Tel: 86-29-8833-7252
Fax: 86-29-8833-7256
韩国 Korea - Daegu
Tel: 82-53-744-4301
Fax: 82-53-744-4302
韩国 Korea - Seoul
Tel: 82-2-554-7200
Fax: 82-2-558-5932 或
82-2-558-5934
马 来西 亚 Malaysia - Kuala
Lumpur
Tel: 60-3-6201-9857
Fax: 60-3-6201-9859
荷兰 Netherlands - Drunen
Tel: 31-416-690399
Fax: 31-416-690340
西班牙 Spain - Madrid
Tel: 34-91-708-08-90
Fax: 34-91-708-08-91
英国 UK - Wokingham
Tel: 44-118-921-5869
Fax: 44-118-921-5820
马来西亚 Malaysia - Penang
Tel: 60-4-227-8870
Fax: 60-4-227-4068
菲律宾 Philippines - Manila
Tel: 63-2-634-9065
Fax: 63-2-634-9069
新加坡 Singapore
Tel: 65-6334-8870
Fax: 65-6334-8850
泰国 Thailand - Bangkok
Tel: 66-2-694-1351
Fax: 66-2-694-1350
中国 - 珠海
Tel: 86-756-321-0040
Fax: 86-756-321-0049
台湾地区 - 高雄
Tel: 886-7-536-4818
Fax: 886-7-536-4803
台湾地区 - 台北
Tel: 886-2-2500-6610
Fax: 886-2-2508-0102
台湾地区 - 新竹
Tel: 886-3-572-9526
Fax: 886-3-572-6459
DS00897C_CN 第 14 页
01/02/08
 2008 Microchip Technology Inc.