程铭
DOI:10.16661/j.cnki.1672-3791.2017.22.049
摘 要:提出一种以STM32F103C8T6(ARM Cortex-M3内核)为处理器的测温系统。利用热电阻传感器测得温度值,并经转换电路进行小信号放大,最后在微处理器作用下进行数据采集与处理。经初步在非极端环境下的测试,该系统具有低成本、低功耗、高精度等特点。
关键词:温度测量 传感器 嵌入式软件 小信号放大
中图分类号:TP273 文献标识码:A 文章编号:1672-3791(2017)08(a)-0049-03
Temperature Measurement Device Based on ARM Processor
Cheng Ming
(College of Metrology and Measurement Engineering, China Jiliang University, Hangzhou Zhejiang, 310018, China)
Abstract: A temperature measurement system based on STM32F103C8T6 (ARM Cortex-M3 core) was proposed. Using the thermal resistance sensor to measure the temperature value, and by the conversion circuit for small signal amplification, and finally under the action of the microprocessor data acquisition and processing. The system has the characteristics of low cost, low power consumption and high precision, which is tested in the non-extreme environment.
Key Words: Temperature measurement; Sensor; Embedded software; Amplification for small signal
溫度的测量在人类生产与发展中非常重要。对于工业来说,在生产过程中如果不能对温度有精准的监测,将可能使生产活动失效,甚至导致严重的事故。该文提出一种基于ARM架构MCU来处理温度传感器测得数据并显示的装置。
1 基于热电阻的温度传感器
利用具有特殊性质的金属导体(其电阻值的大小和温度有关)对将温度的变化转换为该导体电阻的变化。
若利用该原理进行温度测量,热电阻导体需符合以下特点。
(1)电阻率不低于一定数值且温漂小,以获得较高的灵敏度和精度。
(2)输出特性好,即导体阻值随环境温度的变化尽量符合线性关系。
(3)在有效工作范围内,具有稳定、良好的物理化学性能。
(4)良好的加工工艺性,以便于批量生产,降低成本。
该文选取PT1000铂热电阻,其性质为:以铂为材料,在0 ℃的情况下阻值为1 000 Ω。按IEC标准[1],铂电阻的线性工作区为-200℃~850 ℃之间,其电阻阻值随环境温度变化的规律可近似描述为下式子:
在-200 ℃~0 ℃范围内
Rt=R0[1+AT+BT2+C(T-100)T3] (1)
在0 ℃~850 ℃范围内
(2)
式中R0、Rt分别为0 ℃和t(℃)时的电阻值。
对于常用的工业铂电阻,A=3.908 02×10-3 ℃-1,B=-5.802×10-7 ℃-2,C=-4.273 50×10-12 ℃-4。
2 转换电路的设计
2.1 热电阻的安装及电源方案
该文采用四线制接法,即分别将两根导线连接至热电阻导体的两端。一端与恒流源A1并联,另一端接入次级的放大电路。该方法在原理上消除了非线性,并忽略了电阻本身标称值误差的影响,使测量精度有了大幅度提升。
由图1的引线方法,即:
UO=Rt×Ia (3)
式中,UO为电阻率;Rt为热电阻的阻值(温度为t时);Ia为恒流源的电流值。
2.2 基于AD620的仪表放大电路
PT1000热电阻的阻值偏大,若电流源过大热电阻将因大功率而产生发热,进而对温度的测量产生严重影响,应使恒流源输出为微小电流,因此,需要专用的放大电路对其输出的小信号放大,提高其灵敏度。
AD620[2]芯片是一款广泛用于当今工业环境的通用仪表放大器,见表2,其具有高共模抑制比、输入失调电压及噪声低、高转换速率等特点。芯片基于三运放差分比例放大电路,其优点在于设置放大器的增益由一个电阻即可完成,电路原件紧密匹配和统调,从而赋予了该芯片优异的电气性能,这些都要归功于其单片结构形式和激光晶片修整技术[3]。
输入端的两个三极管Q1和Q2提供一个差分对双极性输入,输入器件Q1和Q2各自的集电极电流通过Q1-A1-R1和Q2-A2-R2两环路反馈来获得稳定值,外部电阻RG来分担输入电压,此时差分放大倍数为:
+1 (4)
式中,R1+R2=49.4 kΩ。
3 基于ARM处理器的数据处理
3.1 ARM处理器的选型
对于该文所设计的温度测量装置,其要求较高的精度和低功耗、低成本等要求,因此,选用ST公司的STM32F103RC。该芯片采用ARM Cortex-M3架构,经分频后最高工作频率可达72 MHz,其同时兼有USB、ADC、CAN等并且带有512 kB的RAM。endprint
3.2 数据采集与程序结构设计
为考虑节省成本、开发方便、尽量减少外围电路以降低功耗等因素,可直接利用STM32F103内部集成的12位A/D模数转换器实现数据采集,软件结构采用模块化设计,主要包括A/D转换、数据处理、LCD显示,见表3。
3.3 数据处理方法
将A/D采样得到的数据进行简单的均值滤波,即每次输出都为前10次采样的平均值,即可剔除大部分扰动。最后还需将数值转换为温度,可知环境温度与A/D模数转换器的采样值之间的关系近似一个一次方程,即:
T=kXAD+b (5)
式中 T为当前温度;XAD为A/D的采样值;k、b为经实验测得的常数。
由上式计算得到较为精确的当前温度值后,将其送入LCD屏幕的驱动模块中,即可将数据显示在与MCU进行串行通讯的显示屏上。
4 实验结果与分析
该文实验在FB716-I型物理设计性(热学)实验装置[5]下实现,对实验装置设定温度t=10 ℃~50 ℃,按温度等间隔变化进行测量。该文仅抽取t=30 ℃时,5次连续测量的数据如表1所示。
在等精度测量列中各个测量值在测量列的算数平均值附近有一定分散,这一般是因随机误差而导致的,必须用一个数值来描述这个分散程度,用以评定其不可靠性。
由贝塞尔(Basel)[6]公式(6),可求得实验装置设定温度t=30℃时测量的标准差的估计。
(6)
式中,vi为单次测量的残差;n为测量次数。
计算得出,对于该实验S=0.054 1,符合所需精度要求。
5 结语
该文在热电阻传感器的基础上,提出了一种基于ARM内核微处理器和均值滤波算法的实时温度测量系统,并进行了初步的误差分析,对环境中其他干扰造成的示值不稳定具有一定的鲁棒性,是一种有效的温度测量装置。
参考文献
[1] 王本轶.热敏元件及其正确使用[J].浙江工贸职业技术学院学报,2013(1):55-59.
[2] 纪宗南.仪表放大器及其应用(六)低功耗仪表放大器的应用[J].国外电子元器件,1998(10):32-35.
[3] 孔祥阳,徐保根.均值滤波及其改进算法去燥效果研究[J].商丘师范学院學报,2016(6):21-25.
[4] 罗宏雷,金骥,朱象云.新编大学物理实验[M].杭州:浙江大学出版社,2013.
[5] 费业泰.误差理论与数据处理[M].7版.北京:机械工业出版社,2015.endprint