摘要:本文针对现有温度测量方法线性度、灵敏度、抗振动性能较差的不足,提出了一种基于STC单片机,采用Pt1000温度传感器,通过间接测量铂热电阻阻值来实现温度测量的方案。重点介绍了,铂热电阻测量温度的原理,基于STC实现铂热电阻阻值测量,牛顿迭代法计算温度,给出了部分硬件、软件的设计方法。实验验证,该系统测量精度高,线性好,具有较强的实时性和可靠性,具有一定的工程价值。
关键词:STC单片机、Pt1000温度传感器、温度测量、铂热电阻阻值、牛顿迭代法。
Study of Temperature Measurement System based on STC single chip computer Zhang Yapeng,Wang Xiangting,Xu Enchun,Wei Maolin
Abstract: A method to achieve temperature Measurement by the Indirect Measurement the resistance of platinum thermistor is proposed. It is realized by the single chip computer STC with Pt1000 temperature sensor. The shortcomings of available methods whose Linearity, Sensitivity, and vibration resistance are worse are overcame by the proposed method. This paper emphasizes on the following aspects: the principle of temperature measurement by using platinum thermistor , the measurement of platinum thermistor’s resistance based on STC single chip computer, the calculating temperature by Newton Iteration Method. Parts of hardware and software are given. The experimental results demonstrate that the precision and linearity of the method is superior. It is also superior in real-time character and reliability and has a certain value in engineering application.
Keywords: STC single chip computer,Pt1000 temperature sensor,platinum thermistor’s resistance,Newton Iteration Method 0 引言
精密化学、生物医药、精细化工、精密仪器等领域对温度控制精度的要求极高,而温度控制的核心正是温度测量。
目前在国内,应用最广泛的测温方法有热电偶测温、集成式温度传感器、热敏电阻测温、铂热电阻测温四种方法。
(1) 热电偶的温度测量范围较广,结构简单,但是它的电动势小,灵敏度较差,误差较大,实际使用时必须加冷端补偿,使用不方便。
(2) 集成式温度传感器是新一代的温度传感器,具有体积小、重量轻、线性度好、性能稳定等优点,适于远距离测量和传输。但由于价格相对较为昂贵,在国内测温领域的应用还不是很广泛。
(3) 热敏电阻具有灵敏度高、功耗低、价格低廉等优点,但其阻值与温度变化成非线性关系,在测量精度较高的场合必须进行非线性处理,给计算带来不便,此外元件的稳定性以及互换性较差,从而使它的应用范围较小。
(4)铂热电阻具有输出电势大、线性度好、灵敏度高、抗振性能好等优点。虽然它 的价格相对于热敏电阻要高一些,但它的综合性能指标确是最好的。而且它在0~200°C范
围内的稳定性较好,故其在工业测温领域应用较广。
本文提出的一种以STC单片机为控制核心,采用PT1000铂热电阻温度传感器作为测温元件的温度测量系统,能解决温度测量线性度、灵敏度、抗振动性能较差,测量范围较小的不足,精度较高,方便实用。
1 系统总体方案
该温度测量系统主要由温度传感器、信号调理电路、STC单片机计算转换模块、温度显示模块组成。其中信号调理电路由信号滤波电路和信号放大电路组成。图1为基于STC单片机的温度测量系统的结构图。
电源温度传感器滤波电路 放大电路STC单片机时钟及复位电路温度显示模块
图1 基于STC单片机的温度测量系统的结构图
STC单片机作为本系统的核心,采集经滤波电路和放大电路进行滤波和放大处理后的
PT1000温度传感器阻值信号,并由其片内10位A/D转换模块对阻值信号进行模数转换,一定的算法把阻值信号计算为温度,并控制液晶显示模块直观的显示出温度数值。电源、时钟及复位电路是STC单片机正常工作的必要条件。
2 系统硬件设计
本温度测量系统的硬件设计主要包括温度传感器、信号调理电路、STC单片机计算转换模块、温度显示模块组成。
2.1 温度传感器
本系统采用铂热电阻作为温度传感器。由于铂热电阻的阻值具有随着温度的变化而改变的特性,所以可以通过间接测量铂热电阻阻值的方法来间接测量温度。另外铂热电阻具有输出电势大、线性度好、灵敏度高、互换性好等优点,适合作为本系统的温度传感器。
铂热电阻在0 ~850℃范围内其阻值与温度的变化关系为:
RtR0(1AtBt2) (2-1)
式中,t为温度值
R0为0℃时铂热电阻的阻值
Rt为t℃时铂热电阻的阻值
A, B为分度系数值。
常用的铂热电阻型号有Pt100、Pt500、Pt1000。对于PT1000铂热电阻温度传感器,R0=1000Ω,A=3.908*10-3 ℃-1,B= -5.802*10-7 ℃-2 。不难看出,当温度发生变化时,Pt1000的电阻值变化量最大,因此测量的灵敏度最高。另外,通过Pt1000铂热电阻的电流较小时,它也能产生较大的压降,有利于降低系统的功耗。所以本系统采用Pt1000铂热电阻作为温度传感器是比较合理的。
2.2 信号调理电路
为了使温度测量更加精确,Pt1000铂热电阻温度传感器采集到的信号需经过信号调理电路滤波放大处理后,再进入STC单片机进行片内A/D转换并计算。如图2为Pt1000铂热电阻温度信号调理电路。
图2 Pt1000铂热电阻温度信号调理电路
如图2,REF200为电路提供恒流源,它具有高精度、低温度系数和宽电压范围等优点。芯片内部集成两路100uA电流源和一路镜像电流源。恒流源REF200提供的两路100uA电流,一路流经Pt1000铂热电阻,提取传感器信号,电压值为U1, 另一路流经阻值为1000Ω的精密电阻Rk,产生一个精确稳定的电压U2作为差分放大器的基准。INA122为差分放大器,对U1、U2的信号差分放大输出。它由两个低功耗高性能运放构成,可以由单电压2.2V~36V供电,而静态电流仅为60uA,有利于降低系统功耗。
2因为RtR0(1AtBt),流经Pt1000电流为I,则
U1IR0(1AtBt2) (2-2)
由于
U2IRk (2-3)
则差分放大器的输出
U0K(U1U2)KI[R0(1AtBt2)RK] (2-4)
式中,K为差分放大器的差分放大倍数。
INA122外接到电阻RN可设置差分放大器的增益:
K5200k/RN (2-5)
经过信号调理电路处理后,Pt1000温度信号得到了很好的过滤和放大,有利于进行A/D模数转换,计算结果更加精确。
2.3 STC单片机计算转换模块
经NIA122差分放大后的电压输出信号就可以经过A/D转换器完成模数转换,并将转换结果送入STC单片机进行计算和处理。A/D模数转换器采用STC单片机系统片内自带的10位A/D转换器。
ADC10模数转换器具有10位转换精度,采样速度快,采样频率可达300KHz,内置采样保持电路,配置有8路外部通道,可做温度检测、电压检测、频谱检测等。使用方便,可灵活地运用以节省软件量和时间。
使用STC单片机外部晶体时钟或内部R/C振荡器产生的系统时钟为ADC10模数转换器提供时钟。这样的好处是:在提高ADC的工作频率以及转换速度的同时,使STC单片机工作在较低的频率,系统具有较低的功耗。
输入的模拟电压值最终转换结果为:
NADC210*VinV1024*in (2-6) VCCVCC式中,NADC 为ADC10模数转换器转换结果。
Vin 为模拟电压输入量。VCC 为单片机实际工作电压。
经过STC单片机的ADC10模数转换后,Pt1000温度传感器的温度信号就转变为STC单片机可以计算处理的数字信号。
2.4 温度显示模块
温度显示模块采用SMC1602A液晶显示模块配合STC单片机来实现。SMC1602A是
标准字符点阵型液晶显示模块,采用点阵型液晶显示器(LCD),可显示16字符×2行西文字符,字符尺寸为 2.95×4.35(WXH)mm,内置 HD44780 接口型液晶显示控制器,广泛应用于各类仪器仪表及电子设备。
SMC1602A共有 16 个引脚,其中D0~D7 是 8位双向数据总线,它的方向由读写控制引脚 R/W 来决定,高电平为读,可以由CPU读写;低电平为写,可以写入 8 位数据。E 为使能信号引脚,高电平有效。全部功能与引脚如表1所示。
引脚名称 VSS VDD VO RS R/W E D0~D7 BLA BLK 引脚功能 电源地 电源正极 LCD偏压输入 数据/命令选择端(H/L) 读写控制信号(H/L) 使能信号 8位数据线 背光源正极 背光源负极 表1 SMC1602A引脚及功能介绍
3 系统软件设计
系统软件从功能上分为主程序和温度信号处理程序。 3.1 系统主程序设计
主程序在完成系统初始化后,进入等待模式。当有温度信号处理中断时,程序跳出等待模式,进入温度信号处理程序,在执行完此中断程序后,重新回到等待模式。
系统主程序流程如图3所示。
开始系统初始化数据处理和计算等待模式温度数据显示否是否有信号处理中断?是结束 图3 主程序流程图
3.2 温度信号处理程序 3.2.1温度信号处理主程序
当系统程序进入温度信号处理程序后,开启ADC10转换器进行模数转换,并对数据进行处理及计算。为使温度数据更加精确,需进行多次采样和A/D转换,并采用数字滤波算法进行数字滤波。温度信号处理程序如图4所示。
开始启动A/D转换关闭ADC10是否采样转换了N次?否数据处理和计算是存转换结果结束
图4 温度信号处理程序
3.2.2 温度信号数字滤波
本系统中所采集的温度信号是电压信号,属于模拟量输入,常常会有干扰信号的叠加,这样就会造成AD转换结果偏离真实值,造成较大的系统误差。因此如果只进行单次采样和
转换,是不可行的。必须多次采样和转换,对采样序列值经过数字滤波处理后才能得到一个较为准确的转换结果。在本系统采用中值滤波的方法,有效的减小了随机干扰对采样结果的影响。
中值滤波方法的实现过程是对连续采样转换N次的温度信号按大小顺序排列,截去此序列中的最大值和最小值后,对其它数值取平均值,作为有效的温度信号,这样就有效的消除了随机信号的干扰。中值滤波的表达式:
1N2XXi (3-1) N2i1式中,N为采样序列数值的个数,Xi 是去掉序列中最大值和最小值之后的各采样值。 这样经过中值滤波后,系统的测量值更加精确。 3.2.3 温度计算
对于温度的计算一般采用查表法,即在Pt1000分度表中查找某一阻值下对应的温
度。这种方法虽简单可行,但由于分度值数据过多,会占用较大的存储空间,影响系统运行速度。为此,本系统采用牛顿迭代法实现温度的计算。
首先设方程:
f(t)U0K[IR0(1AtBt2)IRn]0 (3-2)
设tn 是方程精确解附近的一个猜测解,过点(tn ,f(tn))作函数f(t)的切线,切线
方程为:
yf(tn)f(tn)(ttn) (3-3)
令y=0,解得
tn1tnf(tn)/f(tn) (3-4) 为简化计算,迭代初始温度取f(t)的线性部分: tt0U0[KIR0(1At)KIRn] (3-5)
AKIR0式中,A,R0 已知,K为差分放大器增益。
在保证系统运行情况下,适当的采取多次迭代,能使计算精度更加精确。 4 系统实验和分析
产生温度测量误差的原因主要有三个:
(1) Pt1000温度传感器本身的测量分辨率造成的。
(2) Pt1000温度传感器与被测量介质相触时会有热传导误差。 (3) A/D转换及计算处理会有一定的误差。
系统的测量发法是:把本温度测量系统和标准温度计放置在可调节的恒温装置中。人为改变恒温装置的温度,多次测量。并把测量温度与标准温度计结果相比较,计算测量误
差。
测试结果如表2。 测量次数 1 2 3 4 5 6 7
表2 温度测量结果
由测试结果可以看出,本系统精度较高,方案可行可靠。 5 小结
本设计在完成系统软硬件具体开发和软件编程任务的基础上,还从事了系统试验和完善等工作。经实验测试表明本系统很好的解决了现有温度测量方法线性度、灵敏度、抗振动性能较差的问题,并具有工作可靠、操作直观和结构模块化等优点。具有一定工程的应用前景。
参考文献:
[1] 李 平,张 健. 基于单片机 C8051F350的温度测量系统设计[J].2010[5]:30-31. [2] 杨永竹.铂电阻高精度非线性校正及其在智能仪表中的实现[J].仪表技术与传感器,2000(8):44―46.
[3]黄江平.一种实用的热电阻测温方法[J].科技广场,2005(01);124-125.
[4]王生铁,王志和,傅闯.铂电阻温度传感器非线性校正的新方法[J].仪表技术与传感器,2000(02):40-42.
[5] 黄大勉,羊梅君.一种新的校正铂电阻传感器非线性的数学法.[J].传感器技术,2004(06):44-48. [6] D. D. You, M. Shao, Z. Y. Zhou, Y. Y. Li. Research on Temperature Measure and Control Method
in
Mold-Temperature-Control
Solidification[J].
Control
and
标准温度计示数(℃) 测量温度示数(℃) 测量误差 10.00 23.15 32.48 54.82 67.31 70.23 90.82 10.03 23.19 32.50 54.79 67.33 70.27 90.79 0.03 0.04 -0.02 -0.03 0.02 0.04 -0.03 Automation,2007[6]:356-359.
[7] 刘瑞新.单片机原理及应用教程[M].北京:机械工业出版社,2003. [8] 赵继文.传感器与应用电路设计[M].北京:科学出版社,2002.
因篇幅问题不能全部显示,请点此查看更多更全内容