基于STC 单片机的温度测量系统的研究
张亚鹏,王香婷,徐恩春,魏茂林**
作者简介:张亚鹏,(1987-),男,硕士研究生,主要研究方向:检测技术与自动化装置
通信联系人:王香婷,(1952-),女,中国矿业大学教授,主要研究方向:电路与系统. E-mail:
xiangtingw@163.com
(中国矿业大学信息与电气工程学院,江苏 徐州 221008)
5 摘要:本文针对现有温度测量方法线性度、灵敏度、抗振动性能较差的不足,提出了一种基
于STC 单片机,采用Pt1000 温度传感器,通过间接测量铂热电阻阻值来实现温度测量的方
案。重点介绍了,铂热电阻测量温度的原理,基于STC 实现铂热电阻阻值测量,牛顿迭代法
计算温度,给出了部分硬件、软件的设计方法。实验验证,该系统测量精度高,线性好,具
有较强的实时性和可靠性,具有一定的工程价值。
10 关键词:STC 单片机;Pt1000 温度传感器;温度测量;铂热电阻阻值;牛顿迭代法
0 引言
精密化学、生物医药、精细化工、精密仪器等领域对温度控制精度的要求极高,而温度
控制的核心正是温度测量[1]。
目前在国内,应用最广泛的测温方法有热电偶测温、集成式温度传感器、热敏电阻测温、
35 铂热电阻测温四种方法。
(1) 热电偶的温度测量范围较广,结构简单,但是它的电动势小,灵敏度较差,误差
较大,实际使用时必须加冷端补偿,使用不方便。
(2) 集成式温度传感器是新一代的温度传感器,具有体积小、重量轻、线性度好、性
能稳定等优点,适于远距离测量和传输。但由于价格相对较为昂贵,在国内测温领域的应用
40 还不是很广泛。
(3) 热敏电阻具有灵敏度高、功耗低、价格低廉等优点,但其阻值与温度变化成非线
性关系,在测量精度较高的场合必须进行非线性处理,给计算带来不便,此外元件的稳定性
以及互换性较差,从而使它的应用范围较小。
(4)铂热电阻具有输出电势大、线性度好、灵敏度高、抗振性能好等优点。虽然它的
45 价格相对于热敏电阻要高一些,但它的综合性能指标确是最好的。而且稳定性较好,故其在
工业测温领域应用较广[2-3]。
本文提出的一种以STC 单片机为控制核心,采用PT1000 铂热电阻温度传感器作为测温
元件的温度测量系统,能解决温度测量线性度、灵敏度、抗振动性能较差,测量范围较小的
不足,精度较高,方便实用。
50 1 系统总体方案
该温度测量系统主要由温度传感器、信号调理电路、STC 单片机计算转换模块、温度
显示模块组成。其中信号调理电路由信号滤波电路和信号放大电路组成。图1 为基于STC
单片机的温度测量系统的结构图。
温度传感器滤波电路放大电路STC单片机
电源
时钟及复位电路
温度显示模块
55 图1 基于STC 单片机的温度测量系统的结构图
Fig.1 The structure chart of Temperature Measurement System based on STC single chip computer
STC 单片机作为本系统的核心,采集经滤波电路和放大电路进行滤波和放大处理后的
PT1000 温度传感器信号,并由其片内10 位A/D 转换模块对信号进行模数转换,采用牛顿
60 迭代法计算为温度,并控制液晶显示模块直观的显示出温度数值。电源、时钟及复位电路是
STC 单片机正常工作的必要条件。
2 系统硬件设计
本温度测量系统的硬件设计主要包括温度传感器、信号调理电路、STC 单片机计算转
换模块、温度显示模块组成。
65 2.1 温度传感器
本系统采用铂热电阻作为温度传感器。由于铂热电阻的阻值具有随着温度的变化而
改变的特性,所以可以通过间接测量铂热电阻阻值的方法来间接测量温度。另外铂热电
阻具有输出电势大、线性度好、灵敏度高、互换性好等优点,适合作为本系统的温度传感器
[4-6]。
70 铂热电阻在0 ~850℃范围内其阻值与温度的变化关系为:
2
0 (1 ) t R =R +At+Bt (2-1)
式中,t 为温度值
R0 为0℃时铂热电阻的阻值
Rt 为t℃时铂热电阻的阻值
75 A,B 为分度系数值。
常用的铂热电阻型号有Pt100、Pt500、Pt1000。对于PT1000 铂热电阻温度传感器,
R0=1000Ω,A=3.908*10-3 ℃-1,B= -5.802*10-7 ℃-2 。不难看出,当温度发生变化时,Pt1000
的电阻值变化量最大,因此测量的灵敏度最高。另外,通过Pt1000 铂热电阻的电流较小时,
它也能产生较大的压降,有利于降低系统的功耗。所以本系统采用Pt1000 铂热电阻作为温
80 度传感器是比较合理的。
2.2 信号调理电路
为了使温度测量更加精确,Pt1000 铂热电阻温度传感器采集到的信号需经过信号调理
电路滤波放大处理后,再进入STC 单片机进行片内A/D 转换并计算。如图2 为Pt1000 铂热
电阻温度信号调理电路[7-8]。
I1L
I2L
I1H
I2H
REF200
Pt1000 R1
C1
Rk
R2
Rn
C2
C3
RG
VINVIN+
VRG
V+
Vo
REF
INA122
VCC
GND
GND
GND
GND
A/D转换
85
图2 Pt1000 铂热电阻温度信号调理电路
Fig.2 The temperature signal processing circuit of Pt1000 platinum thermistor
如图2,REF200 为电路提供恒流源,它具有高精度、低温度系数和宽电压范围等优点。
90 芯片内部集成两路100uA 电流源,一路流经Pt1000 铂热电阻,提取传感器信号,电压值为
U1, 另一路流经阻值为1000Ω 的精密电阻Rk,产生一个精确稳定的电压U2 作为差分放大
器的基准。INA122 为差分放大器,对U1、U2 的信号差分放大输出。
因为2
0 (1 ) t R =R +At+Bt ,流经Pt1000 电流为I,则
2
1 0U =IR(1+At+Bt ) (2-2)
95 由于
2 k U =IR (2-3)
则差分放大器的输出
2
0 1 2 0 ( ) [ (1 ) ]K U =KU−U =KIR +At+Bt −R (2-4)
式中,K 为差分放大器的差分放大倍数。
100 INA122 外接电阻RN 可设置差分放大器的增益:
5 200 / N K= + kΩR (2-5)
经过信号调理电路处理后,Pt1000 温度信号得到了很好的过滤和放大,有利于进行A/D
模数转换,计算结果更加精确。
2.3 STC 单片机计算转换模块
105 经INA122 差分放大后的电压输出信号就可以经过A/D 转换器完成模数转换,并将转换
结果通过STC 单片机进行计算和处理。A/D 模数转换器采用STC 单片机系统片内自带的10
位A/D 转换器。
ADC10 模数转换器具有10 位转换精度,采样速度快,采样频率可达300KHz,内置采样
保持电路,配置有8 路外部通道,可做温度检测、电压检测、频谱检测等。
110 使用STC单片机外部晶体时钟或内部R/C 振荡器产生的系统时钟为ADC10 模数转换器
提供时钟。这样的好处是:在提高ADC10 的工作频率以及转换速度的同时,使STC 单片机
工作在较低的频率,系统具有较低的功耗。
输入的模拟电压值最终转换结果为:
210 * in 1024* in
ADC
CC CC
N V V
V V
= = (2-6)
115 式中,NADC 为ADC10 模数转换器转换结果。
Vin 为模拟电压输入量。VCC 为单片机实际工作电压。
经过STC 单片机的ADC10 模数转换后,Pt1000 温度传感器的温度信号就转变为STC
单片机可以计算处理的数字信号。
2.4 温度显示模块
120 温度显示模块采用SMC1602A 液晶显示模块配合STC 单片机来实现。SMC1602A 是标
准字符点阵型液晶显示模块,采用点阵型液晶显示器(LCD),可显示16 字符×2 行西文字符,
字符尺寸为 2.95×4.35(WXH)mm,内置 HD44780 接口型液晶显示控制器,广泛应用于各
类仪器仪表及电子设备。
SMC1602A 共有 16 个引脚,其中D0~D7 是 8 位双向数据总线,它的方向由读写控制
125 引脚 R/W 来决定,高电平为读,可以由CPU 读写;低电平为写,可以写入 8 位数据。E 为
使能信号引脚,高电平有效。全部引脚如表1 所示。
表1 SMC1602A 引脚介绍
Tab 1 the introduction of the pins of SMC1602A
引脚名称 引脚功能
VSS 电源地
VDD 电源正极
VO LCD 偏压输入
RS 数据/命令选择端(H/L)
R/W 读写控制信号(H/L)
E 使能信号
D0~D7 8 位数据线
BLA 背光源正极
BLK 背光源负极
130
3 系统软件设计
系统软件从功能上分为主程序和温度信号处理程序。
3.1 系统主程序设计
主程序在完成系统初始化后,进入等待模式。当有温度信号处理中断时,程序跳出等待
135 模式,进入温度信号处理程序,在执行完此中断程序后,重新回到等待模式。
系统主程序流程如图3 所示。
图3 主程序流程图
Fig.3 The flowchart of main program
140
3.2 温度信号处理
3.2.1 温度信号处理程序
当系统程序进入温度信号处理程序后,开启ADC10 转换器进行模数转换,并对数据进
行处理及计算。为使温度数据更加精确,需进行多次采样和A/D 转换,并采用数字滤波算
145 法进行数字滤波。温度信号处理程序如图4 所示。
开始
启动A/D转换
存转换结果
关闭ADC10
是否采样转换了N次?
数据处理和计
算
结束
否
是
图4 温度信号处理程序流程图
Fig.4 The program flowchart of temperature signal processing
150 3.2.2 温度信号数字滤波
本系统中所采集的温度信号是电压信号,属于模拟量输入,常常会有干扰信号的叠加,
这样就会造成AD 转换结果偏离真实值,造成较大的系统误差。因此如果只进行单次采样和
转换,是不可行的。必须多次采样和转换,对结果序列值经过数字滤波处理后才能得到一个
较为准确的转换结果。本系统采用中值滤波的方法,有效的减小了随机干扰对采样结果的影
155 响。
中值滤波方法的实现过程是对连续采样转换N 次的温度信号按大小顺序排列,截去此
序列中的最大值和最小值后,对其它数值取平均值,作为有效的温度信号,这样就有效的消
除了随机信号的干扰。中值滤波的表达式:
160 式中,N 为采样序列数值的个数,Xi 是去掉序列中最大值和最小值之后的各采样值。
这样经过中值滤波后,系统的测量值更加精确。
3.2.3 温度计算
对于温度的计算一般采用查表法,即在Pt1000 分度表中查找某一阻值下对应的温度。
这种方法虽简单可行,但由于分度值数据过多,会占用较大的存储空间,影响系统运行速度。
原创学术论文网Tag:代发论文 论文发表 代写毕业论文 代写经济论文 电子论文代写 代写毕业设计
|