NTC测温电路灵敏度问题简析
天气逐渐炎热,降温降热即将或已经成为大家的话题。无论是控温还是降温,都绕不开普遍使用的负温度系数热敏电阻(NTC)。NTC以其优良的性价比,封装的形式多样适应性,以及简单的使用方式,在各个领域中的很多情况下都会成为工程师测温电路中优先选择的测温方式。有些最开始有迟疑的是因为不太了解NTC及顾忌其非线性的特性,则更需要知道在当前产品互换性得到保障的前提下,供应商提供的NTC是可以完全保证产品按照规格书中描述的非线性下的重复性的。
在之前的文章里,我们介绍了温度传感器的精度情况,在这里,我们再讨论一下NTC测温电路的灵敏度配置问题,即如何更好地利用NTC获得更高的测温灵敏度。
§ NTC一般的温度特性
虽然描述NTC阻值随温度变化这一特性有更高精度的多项式表达式,但是很多情况下,在一个相对较窄的温度范围内,如果应用中精度也足够,则一般简化为如式-(1)的等式。
其中:
o RT是NTC中绝对温度T (T +273.15)下的阻值
o RT0是NTC中在参考点温度T0时的阻值,多为常温25C下的阻值,这里T0 = 25C + 273.15
o B是NTC的材料常数,单位是温度单位K,表示在特定的温度范围内NTC的R-T趋势特性。
反转等式的表达对象为温度时,则有等式-(2):
如果看到式(2)就认为NTC测温简单到只要计算公式:
o 获取B, RT0
o 测量并获得NTC阻值RT
o 根据公式计算获得温度值 t(C)
那可能在多数情况下是一种不恰当的方式,尤其针对一些资源原本较少的MCU,或者要求时间效率,调用一个稍微复杂的涉及双精度或者至少是浮点的数学函数所占代码字节及运行时间数会超出你的想象。很多情况下,一个简单的查表方式即可解决速度和资源问题。在本文的最后一部分内容中,将会简单介绍如何使用R-T表计算温度值。我们还是回到NTC灵敏度的内容上。
§ NTC灵敏度分析
先通过具体的例子来说明问题。举个栗子:有一款NTC,基本的参数如下表所示:
R25 (ohm) |
B (25/85C) (K) |
最大工作温度 (C) |
1000 |
3540 |
125 |
注:上表中,由于B (25/85C)参数指定温度范围是25~85C,因此,超过该温度范围的NTC阻值,原则上不建议再使用同一个B通过式(1)进行计算。这里为了说明灵敏度问题,暂时忽略。
典型的应用电路如图-1的分压方式。
举例中的参数如下:
§ B = 3540K
§ RT0 = 1000ohm, T0 = 25C
§ Rs = 1000ohm
§ Vcc = 5V
§ ADC, 10bit
对于式-(3),即电路的输出电压值,我们希望随着温度的变化,电压数值变化的越大越好,这就是所讨论的灵敏度。如果式(3)对温度T求导即为灵敏度,那么该导数的最大值,即为灵敏度的最大值。
式(3)求导之后得式(5),将式(5)经过转换,得式(6)。
如果我们更换不同阻值的串联电阻Rs,则输出电压Vout呈图-2中的曲线所示。
而式(6)可以得知,在某温度T点,要让图-1的测温电路获得最大灵敏度,其分母部分应该是有最小值。
当且仅当Rs = R_NTC(T) 时,等号成立。即在温度T点,分压电阻和NTC的阻值相等时,灵敏度最高。
换句话而言,如果对某个局部范围的温度要求测量灵敏度,进一步分辨率也可以更高,则可以将串联的电阻Rs选择与R_NTC(Tx)相近或者相等即可。
§ 通过查表法获得NTC测温值
我们还是以图-1测温电路所示进行举例。
步骤-1:通过excel或者软件根据电路及指定的温度间隔Delta_T生成ADC值
步骤-2:将步骤-1中的ADC值生成一个数组表
步骤-2-2:由于数组的下标是从0开始,因此需要一个转换时的偏置值——offset
步骤-3:将表格整理到软件中进行调用处理
NTC R-T 表生成工具软件 [点击下载]
手动计算一个表格可能会需要一点时间,有时候还会因为个别器件更换,为不得不重新计算而苦恼。安费诺传感器可以直接提供一个免费的R-T表生成软件,动动鼠标即可一劳永逸。该软件的参数,包括NTC的B值,温度、ADC分辨率及温度范围等输入完全由用户定义,因此使用范围不限于安费诺传感器的NTC。
§ 由NTC R-T表生成的数值表使用演示代码(仅供参考)
#ifndef _AASRTTable_H
#define _AASRTTable_H
//Copy & Paste '#include "AASRTTable.h"' into your code
#define BUFLENGTH 51
#define RTTABLEOFFSET 0
const unsigned int AASNTC_RT_ADCTable[ ]
{
416, 420, 424, 428, 432, 436, 440, 444, 448, 452,
456, 460, 464, 468, 471, 475, 479, 483, 487, 490,
494, 498, 501, 505, 508, 512, 516, 519, 523, 526,
529, 533, 536, 540, 543, 546, 550, 553, 556, 559,
563, 566, 569, 572, 575, 578, 581, 584, 587, 590,
593
}
#endif
[参考]
[1] Temperature Sensing Solutions, Thermometrics