深度解析NTC热敏电阻进行对数分段曲线拟合的技术分析
NTC热敏电阻是一种电阻式传感器,具有电阻温度系数大、型小体轻、热惯性小、稳定可靠、价格便宜、结构简单等特点,使它广泛应用于家庭空调、汽车空调、冷柜、冰箱等需要温度测量和控制的场合。但NTC热敏电阻是非线性元件,且本身具有自热效应,需要设计测温系统克服这两方面的缺陷。常用于解决NTC热敏电阻非线性的方法有经验公式法、最小二乘拟合法、硬件电路补偿法和恒源法结合软件查表法.经验公式法计算较为复杂,在较宽温度范围内精度不够高。最小二乘法需要在得到大量的实验数据下进行,工作量较大,占用内存也较大。硬件电路补偿法对电子元器件的要求较高,随着电路的复杂度的增加,同时也带来了电路附加误差。恒源法结合软件查表法需要占用较大存储空间。针对以上方法的不足,提出了一种三阶对数公式分段曲线拟合法,由于用于船用柴油机,不仅要测量温度,还有机油压力等需要测量,因此采用的是压力温度合二为一的传感器小论文,测量温度使用的是NTC热敏电阻,硬件部分对NTC热敏电阻共地和不共地以及分档测试进行了探讨,软件部分对NTC热敏电阻进行对数分段曲线拟合以及采用滑动滤波的算法减小A/D采样引起的误差。
1 R-T三阶对数公式的推导
NTC热敏电阻基本的R-T特性可用指数函数式表示:
(1)
式中R为绝对温度为T时的零功率电阻值()。零功率电阻值指在规定的温度时,采用引起电阻值变化相对于总的测量误差来说可以忽略不计的值[3];R0 为绝对温度为T0时的零功率电阻值()。B为与热敏电阻材料、结构有关的敏感度系数,是以零功率电阻对时间的变化大小来表示的,它是由电阻-温度特性上任两点温度,求出的系数,不同的两点求出的B值是不同的,因此不能根据厂家给出的B值参考范围去测量温度,会带来较大的误差。
图1为本文采用的NTC热敏电阻在0℃~120℃之间电阻R与摄氏温度T的关系曲线。
图1 NTC热敏电阻电阻-温度特性图
由图1可以看出NTC热敏电阻值与温度之间存在着严重的非线性,通常对于非线性的曲线拟合处理都是在公式(1)的基础上进行的,可对公式(1)进行对数变换,使得温度T和电阻R的自然对数近似呈线性关系小论文,并在此基础上进行多项式展开和分段曲线拟合。
对等式(1)两边同时取自然对数,进行运算后可得下式:
但文中所有的数据计算均采用微处理器实现,涉及自然对数和平方、三次方等的运算,综合考虑精度和实时性的要求,去掉平方项,得式(7)。经实验验证,能达到精度要求,又提高了程序的运行速度。由图1可看出NTC热敏电阻在40℃、80℃处的温度-电阻变化较大,若在整个区间范围内都采用同一个多项式进行拟合,则误差较大。采用对数分段曲线拟合,又考虑到微处理器处理数据时各区间并不是相互无关小论文,而是相互有重叠,所以分成[0℃,40℃],[30℃,80℃],[70℃,120℃]3个区间。
y= H0+ H1x + H3x3(7)
因此需要在这3个区间内求解3组不同的系数H0、H1、H3。根据热敏电阻厂家提供的温度-电阻值表,选取其中的3个点,可采用普通多项式法、最小二乘法和切比雪夫多项式法[6]对三个系数进行计算,但在本文中该三种方法的准确度相差不大。 因此采用算法最简单的普通多项式法进行计算,可得以下三个拟合方程:
由此,实际应用可根据以上三个方程进行软硬件的设计。
2 NTC热敏电阻分段曲线拟合的硬件测量电路
采用的NTC热敏电阻将测量水温和油温的NTC热敏电阻组装在了一起,测量油温的NTC热敏电阻本身有一端是接地的,测量水温的NTC热敏电阻两端均不接地。因此硬件测量电路中必须考虑NTC热敏电阻的共地与不共地问题。NTC热敏电阻随着温度的升高而阻值变小,0℃时阻值为5895,120℃时阻值为112.7。考虑到热敏电阻的自热效应小论文,流过NTC热敏电阻的电流不得超过1,选定为0.5,采用恒流源为热敏电阻提供0.5的电流。在0℃时NTC热敏电阻两端的电压大约为3V,在120℃时NTC热敏电阻两端的电压约为0.05V,0.05V的信号太小,单片机的A/D口进行采样后得到的信号非常弱,必须对NTC热敏电阻信号进行分档倍乘后采集,硬件测量电路框图如图2所示。
图2 热敏电阻硬件测量电路
由图1可知热敏电阻共地和不共地的电路接法。分为1倍、5倍、10倍三档,1倍档对应于[0℃,40℃]温度区间,它对应的A/D口电压范围为0.5V~3V,若A/D口电压低于0.5V小论文,则采用5倍档进行测量;5倍档对应于[30℃,80℃]温度区间,它对应的A/D口电压范围为0.1V~0.9V,若A/D口电压低于0.1V,则采用10倍档进行测量;10倍档对应于[70℃,120℃]温度区间。采用4通道数字控制模拟开关CD4052对倍乘档进行选择。该热敏电阻用于测量船用柴油机的水温和油温,水油温高于97℃时进行报警。
3 NTC热敏电阻分段曲线拟合的软件设计
3.1 A/D采样的滑动滤波算法
A/D口在对温度数据进行采集时会产生误差,采用滑动滤波算法减小该误差。如图3所示为滑动滤波算法框图。
图3 滑动滤波算法框图
如图3所示,将采集的温度数据放到一个队列中,在刚开始进行采集温度数据时,为防止干扰,连续采集16次后再对此16个数据求和并求平均,即将和右移4位。此后小论文,取8位求和并取平均,即将和右移3位,采样一次做一次平均,平均后的数据准确度更高。
3.2 R-T转换的程序实现
硬件电路把电阻的变化转化为了电压的变化,并对电压进行分档采集。要测量出温度值,需要依靠程序来实现。如图4所示为水温的R-T转换的程序流程图,油温的R-T转换类似,将不再叙述。对采集的温度数据即已转换为电压的数据进行判断,如果电压在[0.5V,3V]范围
内,则电压处于1倍档,温度值处于[0℃,40℃]温度区间内小论文,因此采用公式(8)进行计算;如果电压在[0.1V,0.9V]范围内,则电压处于5倍档,温度值处于[30℃,80℃]温度区间内,因此采用公式(9)进行计算。如果电压不处于以上两个区间,则直接采用10倍档的温度公式(10)进行计算,不用再进行判断。
图4 水温R-T转换程序流程图
4 实验结果及分析
根据三个曲线拟合方程,并进行软硬件设计组成的测温系统进行实验测试得到的拟合数据和误差如表1所示:
表1 实验测量拟合温度/拟合误差
由表1可以发现,采用对数分段曲线拟合的拟合误差在30℃时最大约为0.2℃,原因可能是由于非线性变换造成的,但总的来说,拟合精度还是不错的。系统硬件采用了毫安级恒流源降低了热敏电阻的自热效应小论文,软件采用了滑动滤波的算法减少A/D转换带来的误差,系统软硬件结合实现了对数分段曲线拟合,为整个测温系统提供了精度较高、实时性较好的测量。
5 结束语
NTC热敏电阻采用对数分段曲线拟合的方式,对NTC热敏电阻的电阻-温度特性公式进行了变换,在近似呈线性的条件下对温度进行分段曲线拟合,精度较高。去掉平方项,提高了微处理器的运算速度。编程较易实现,程序运算速度较快,实时性较好。只需更改拟合多项式的系数即可对其他型号的NTC热敏电阻进行拟合,互换性强。在0℃~120℃温度范围,对数分段曲线拟合的拟合精度要优于普通多项式拟合。该方案在理论的验证下,已通过编程实现,通过厂家的验收,已交付厂家应用到船用柴油机进行实际测温,运行正常。