基于STM32的热敏电阻分压式测温系统设计∗
2018-04-26董晓宇孟海彦孔令布
董晓宇 孟海彦 孔令布
(1.中国海洋大学 青岛 266071)(2.青岛科技大学机电学院 青岛 266061)
1 引言
随着医疗行业的发展,越来越多的制冷制热设备运用于医疗行业。医用超低温冰箱对冷柜的环温、冷凝器探头温度、换热器探头温度及柜温探头温度的要求都很高。测温电路是这些设备的基本组成部分,其精度和分辨率不但决定一个产品的温控水平,而且是实现智能温控的一个必要前提。基于NTC热敏电阻的分压式测温系统设计,其软硬件简单、成本低、测温精度高的热敏电阻测温模块设计,经实际测量实验,这种设计方案在整个测温范围内能够达到较高测温精度,且模块通用性强,成本低,可应用于各种需要进行温度检测的场合。
2 测温模块电路设计
2.1 热敏电阻阻值测量的实现
热敏电阻用于温度检测,就是精确获取热敏电阻的阻值变化,通过外加电源,把热敏电阻阻值变化转换为电压或电流变化,再通过STM32f103ZET6自带的A/D器件进行模数转换,不仅可实现测量精度高,使用微控制器自带的A/D,而且可实现硬件简单,成本较低。
图1 热敏电阻阻值测量原理图
如图1所示热敏电阻阻值测量原理图。
由图1可形象地展示本电路图设计的精妙之处,采用跳线帽的方式来选择分压的方式,是在精密电阻上分压还是在热敏电阻上分压。如图2所示跳线帽的形式,用跳线帽把Vref与精密电阻左端连接热敏电阻与地线连接即在热敏电阻上分压,如果精密电阻左端与地线连接热敏电阻与参考电压连接即在精密电阻上分压,该装置选择在热敏电阻上分压的方式。
图2 跳线帽跨接电路图
2.2 影响热敏电阻阻值测量精度的主要因素
热敏电阻阻值获取的精度是影响模块测温精度的主要因素之一,热敏电阻的阻值随温度的升高而降低,该设计系统选用R25,10K,B值(材料常数)为3435的热敏电阻,热敏电阻阻值与被测温度值之间的关系由Steinhar t-Hart确定:如下式(1)
对以上方程加以说明:
1)Rt是热敏电阻在T1温度下的阻值;
2)R是热敏电阻在常温T2下的标称阻值;B值是热敏电阻的材料常数;
3)T1和T2指的是K度,即开尔文温度
热敏电阻和精密电阻串联分压,所分电压大小由如下式(2)确定
进而可以得到热敏电阻的阻值如下式(3)
由图3曲线可清楚的看出热敏电阻阻值随温度的变化为负温度系数。
图3 热敏电阻随温度变化曲线
如图4热敏电阻分压随热敏电阻阻值的变化,精密电阻取值范围5K~255K。
图4 不同精密电阻Rt分压曲线
所测量的温度的精确度不仅与热敏电阻阻值获取的精度及分压值获取的精度有关,还与精密电阻的精度有关,为防止精密电阻随温度变化造成的误差耦合到热敏电阻上,由图4和如表1由可清除得出Rk取值100K时曲线较平滑分压范围相对较广。
表1 精密电阻与分压的关系
3 数据处理及软件设计
3.1 测温数据的滤波处理
在测温过程中,电路工作不可避免会受噪声及其它各种原因的干扰,为减小噪声的干扰,特别是测温过程中突发噪声的影响,提高精度和稳定性,需对测温数据进行滤波处理,采用递推中位值平均滤波法,递推中位值平均滤波法就是把连续N个采样值看成一个队列,队列的长度固定为N,每次采样到一个新数据放入队尾,并去掉原来队首的一次数据(遵守先进先出的原则),把队列中的N个数据先去掉一个最大值和一个最小值,然后计算N-2个数据的平均值。采用递推中位值平均滤波法可有效地避免偶然性突变的误差,如下所示可以形象地描述递推中位值平均滤波法的过程及结果。
3.2 测温的软件设计
软件的设计流程主要包括初始化,上电自检,检查电路是否是通的、传感器是否正常、采集ADC的值换算成相应的温度并对比判断测得温度的准确性、对测得的温度进行校正,系统的软件控制程序流程如图5所示。
由于本装置电路简单,而且选用了集成度很高的STM32微处理器,使得软件设计非常简单,程序流程也很简单,对STM32微处理器的I/0口等进行初始化后检测一下电路连接是否正常,如果正常直接采集得ADC的值adcx,根据STM32微处理器的精度换算出NTC分得电压公式为
把式(1),(6)代入式(3)得(7)
图5 软件流程图
由式(7)可以直接得到所对应的温度t1=T1-273.15K。
但是考虑到STM32微处理器的处理速度及NTC热敏电阻的特性(负温度系数非线性),本装置采用分段线性插值的方法精确地测得所对应的温度,分段线性插值通俗的讲就是把插值点用折线段连接起来逼近所对应的温度值,分段越多,线性化精度越高。如果所分的段数足够多,那么每一小段可以近似的看作直线段,为使线性化处理不至于带来较大误差,进行了以下特殊处理:
1)在-50℃~100℃内以1℃为间隔进行分段,可以分得151个小区间记151个段,在每个区域段内进行线性化处理,采用最小二乘拟合确定每段区域的直线方程,减小直线拟合的均方误差,每个段点的阻值组成一个表格。为了避免出现浮点运算提高微处理器计算速度,把每个段点的温度值扩大10倍组成一个表格,并把两个表格存进ROM中,供CPU在需要时查找。
2)当输入一个被求点的阻值后,将该电阻值与阻值表中的所有电阻值进行比较,从而确定该温度值所处的区间段。
3)确定温度所处的区间段后,为了避免让微控制器计算时出现负数(因为负数的计算涉及到符号运算,就比较麻烦了)。所以首先对Rx-1,Rx,Rx+1这三者的关系进行预判,然后根据具体情况选择合适的公式。
4)如图6所示分段线性插值的程序流程图。
实测结果证明,采用上述的方法,可有效提高处理速度,减小每段的线性化误差,保证测温的精度要求。
图6 分段线性插值流程图
4 测温效果分析
在完成硬软件设计的基础上,测得结果与精密测温装置铂电阻(ADS1248+PT100)进行了比较,在-50℃~100℃温度范围内,设置了3个温度点,把热敏电阻和PT100铂电阻放在环境相同的封闭恒温槽容器内,通过串口把测得的温度值显示在LCD12864液晶显示屏上,十分钟观测一次温度值,观察的各个温度点的测量值,结果表明该测温装置在需要高精度测温的场合有很好的实用价值,数据记录见如表2。
表2 实际测量数据
表2中实测数据表明,所设计的测温装置模块测温稳定,在整个测温范围内测温精度能够达到±0.1℃,能够实现高精度测温,同时也证明了分段线性插值的有效性,保证测温的精度要求。
5 结语
本测温装置硬件设计简单,采用具有高集成度的微处理器芯片STM32,软件滤波,非线性校正,分段线性插值处理。实现了低成本高精度测温的要求,对热敏电阻实现高精度测温实际开发应用具有一定的参考价值,若想进一步提高该装置的测温精度,可在电源的稳定性,分段线性插值的快速定位和测温直线方程的拟合上做进一步的研究。
[1]樊尚春,张秋利,秦杰.曲线插值的压力传感器的温度补偿[J].北京航空航天大学报,2006,32(6):684-686.FAN Shangchun,ZHANG qiuli,QIN Jie.Curve interpola⁃tion of pressure sensor temperature compensation [J].Journal of Beijing university of aeronautics and astronau⁃tics,2006,32(6):684-686.
[2]杨伟涛,苗风东,倪邦发.基于ARM的热敏电阻温度计的设计[J].现代电子技术,2007(8):59.YANG Weitao,MIAO Fengdong,NI Bangfa.Based on the ARM of the thermistor thermometer design[J].Journal of modern electronic technology,2007(8):59.
[3]姚帆,王振臣,王晓宁.基于ARM9的数字温度监测系统设计[J].工业控制计算机,2009,22(3):54.YAO Fan, WANG Zhenchen, WANG Xiaoning.Arm9-based digital temperature monitoring system design[J].Industrial control computer,2009,22(3):54.
[4]Texas Instruments Inc.MSP430F20X3 Mixed Signal Microcontroller Datasheet[EB/OL].[2006-06-09]http//www.ti.com/.
[5]LEPKOW SI J嵌入式应用的温度测量电[EB/OL].[2006-07-09]http.//www.miciochip.com.
[6]童诗白,华成英.模拟电子技术基础(第四版)[M].北京:高等教育出版社,2003.TONG Shibai,HUA Chengying.Analog electronic technol⁃ogy foundation(fourth edition)[M].Beijing:higher edu⁃cation press,2003.
[7]周立功.ARM嵌入式系统基础教程[M].北京:北京航空航天大学出版社,2005.ZHOU Ligong,Easyarm.ARM embedded system based tu⁃torial[M].Beijing:Beijing university of aeronautics and astronautics press,2005.
[8]张俊.匠人手记(第二版)[M].北京:北京航空航天大学出版社,2014.ZHANG Jun The workman's note(second edition)[M].Beijing:Beijing university of aeronautics and astronautics press,2014.
[9]贾民平,张洪亭.测试技术[M].北京:高等教育出版社,2008.JIA Minping,ZHANG Hongting.Testing technology[M].Beijing:higher education press,2008.
[10]潘理刚.一种高精度数据采集系统的电路设计与实现[J].中国科技信息,2009(15):151-152.PAN Ligang.Circuit of high precision data acquisition system design and lmplementation[J].China Science and Technology Information,2009(15):151-152.
[11]罗文广.单总线数字温度传感器的自动识别技术[J].电子产品世界,2002(16):69-70.LUO Wenguang.Single-bus digital temperature sensor of automatic identification technology[J].Electronic World,2002(16):69-70.
[12]吴越,方方,周伟,等.基于SHT75的氡室温湿度测控系统[J].核电子学与探测技术,2008,28(4):783-785.WU Yue,FANG Fang,ZHOU Wei,et al.The tempera⁃ture&humidity measurement and control system for ra⁃don chamber based on SHT75[J].NuclearElectronicsDe⁃tectionTechnology,2008,28(4):783-785.