当前位置:文档之家› 基于单片机的温度测量系统设计

基于单片机的温度测量系统设计

基于STC单片机的温度测量系统的研究摘要:本文针对现有温度测量方法线性度、灵敏度、抗振动性能较差的不足,提出了一种基于STC单片机,采用Pt1000温度传感器,通过间接测量铂热电阻阻值来实现温度测量的方案。

重点介绍了,铂热电阻测量温度的原理,基于STC实现铂热电阻阻值测量,牛顿迭代法计算温度,给出了部分硬件、软件的设计方法。

实验验证,该系统测量精度高,线性好,具有较强的实时性和可靠性,具有一定的工程价值。

关键词:STC单片机、Pt1000温度传感器、温度测量、铂热电阻阻值、牛顿迭代法。

Study of Temperature Measurement System based on STC single chip computerZhang Yapeng,Wang Xiangting,Xu Enchun,Wei MaolinAbstract: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 Pt1000temperature 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,Pt1000temperature sensor,platinum thermistor’s resistance,Newton Iteration Method0 引言精密化学、生物医药、精细化工、精密仪器等领域对温度控制精度的要求极高,而温度控制的核心正是温度测量。

目前在国内,应用最广泛的测温方法有热电偶测温、集成式温度传感器、热敏电阻测温、铂热电阻测温四种方法。

(1) 热电偶的温度测量范围较广,结构简单,但是它的电动势小,灵敏度较差,误差较大,实际使用时必须加冷端补偿,使用不方便。

(2) 集成式温度传感器是新一代的温度传感器,具有体积小、重量轻、线性度好、性能稳定等优点,适于远距离测量和传输。

但由于价格相对较为昂贵,在国内测温领域的应用还不是很广泛。

(3) 热敏电阻具有灵敏度高、功耗低、价格低廉等优点,但其阻值与温度变化成非线性关系,在测量精度较高的场合必须进行非线性处理,给计算带来不便,此外元件的稳定性以及互换性较差,从而使它的应用范围较小。

(4)铂热电阻具有输出电势大、线性度好、灵敏度高、抗振性能好等优点。

虽然它的价格相对于热敏电阻要高一些,但它的综合性能指标确是最好的。

而且它在0~200°C范围内的稳定性较好,故其在工业测温领域应用较广。

本文提出的一种以STC 单片机为控制核心,采用PT1000铂热电阻温度传感器作为测温元件的温度测量系统,能解决温度测量线性度、灵敏度、抗振动性能较差,测量范围较小的不足,精度较高,方便实用。

1 系统总体方案该温度测量系统主要由温度传感器、信号调理电路、STC 单片机计算转换模块、温度显示模块组成。

其中信号调理电路由信号滤波电路和信号放大电路组成。

图1为基于STC 单片机的温度测量系统的结构图。

图1 基于STC 单片机的温度测量系统的结构图STC 单片机作为本系统的核心,采集经滤波电路和放大电路进行滤波和放大处理后的PT1000温度传感器阻值信号,并由其片内10位A/D 转换模块对阻值信号进行模数转换,一定的算法把阻值信号计算为温度,并控制液晶显示模块直观的显示出温度数值。

电源、时钟及复位电路是STC 单片机正常工作的必要条件。

2 系统硬件设计本温度测量系统的硬件设计主要包括温度传感器、信号调理电路、STC 单片机计算转换模块、温度显示模块组成。

2.1 温度传感器本系统采用铂热电阻作为温度传感器。

由于铂热电阻的阻值具有随着温度的变化而改变的特性,所以可以通过间接测量铂热电阻阻值的方法来间接测量温度。

另外铂热电阻具有输出电势大、线性度好、灵敏度高、互换性好等优点,适合作为本系统的温度传感器。

铂热电阻在0 ~850℃范围内其阻值与温度的变化关系为:20(1)t R R At Bt =++ (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 ,有利于降低系统功耗。

因为20(1)t R R At Bt =++,流经Pt1000电流为I,则210(1)U IR At Bt =++ (2-2)由于2k U IR = (2-3)则差分放大器的输出20120()[(1)]K U K U U KI R At Bt R =-=++- (2-4)式中,K 为差分放大器的差分放大倍数。

INA122外接到电阻R N 可设置差分放大器的增益:5200/N K k R =+Ω (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 单片机工作在较低的频率,系统具有较低的功耗。

输入的模拟电压值最终转换结果为:102*1024*in in ADC CC CCV VN V V == (2-6) 式中,N ADC 为ADC10模数转换器转换结果。

V in 为模拟电压输入量。

V CC 为单片机实际工作电压。

经过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所示。

表1 SMC1602A引脚及功能介绍3 系统软件设计系统软件从功能上分为主程序和温度信号处理程序。

3.1 系统主程序设计主程序在完成系统初始化后,进入等待模式。

当有温度信号处理中断时,程序跳出等待模式,进入温度信号处理程序,在执行完此中断程序后,重新回到等待模式。

系统主程序流程如图3所示。

图3 主程序流程图3.2 温度信号处理程序3.2.1温度信号处理主程序当系统程序进入温度信号处理程序后,开启ADC10转换器进行模数转换,并对数据进行处理及计算。

为使温度数据更加精确,需进行多次采样和A/D转换,并采用数字滤波算法进行数字滤波。

温度信号处理程序如图4所示。

图4 温度信号处理程序3.2.2 温度信号数字滤波本系统中所采集的温度信号是电压信号,属于模拟量输入,常常会有干扰信号的叠加,这样就会造成AD转换结果偏离真实值,造成较大的系统误差。

相关主题