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.