一种简易实用的数字温度计的设计
第29卷第3期2011年9月湖北民族学院学报(自然科学版)
JournalofHubeiUniversityforNationalities(NaturalScienceEdition)Vol.29No.3
Sep.2011
一种简易实用的数字温度计的设计
徐
建,贾进滢,田奔辉
(湖北民族学院信息工程学院,湖北恩施445000)
摘要:提出一种数字温度计的设计,采用AVR16为核心处理器、铂电阻PT100为传感器件,通过数字滤波和校结果表明系统精度较高,能够克服工况复杂、参数多变等因素对正算法对温度信号进行处理.通过硬件系统测试,温度测量的影响.
关键词:铂电阻;ATmage16;数字温度计中图分类号:TH811.1
文献标识码:A
文章编号:1008-8423(2011)03-0328-03
ASimpleandPracticalDesignoftheDigitalThermometer
XUJian,JIAJin-ying,TIANBen-hui
(SchoolofInformationandEngineering,HubeiUniversityforNationalities,Enshi445000,China)
Abstract:Thispaperdesignsadigitalthermometer,usingAVR16ascoreprocessorandPT100assensorpiece.Thetemperaturesignalisprocessedthroughdigitalfilteringandcorrectionalgorithm.Throughthetheresultshowsthatthesystemhasahighprecisionandcanovercomethehardwareplatformtesting,
effectofsuchfactorsascomplexworkingconditionsandvariedparametersontemperaturemeasurement.Keywords:platinumresistor;AVR16;digitalthermometer
随着人们生活水平的不断提高,温度测量在人们的日常生活和生产中起着越来越重要的作用,尤其是在
工业的温度测量中,对测量精度的要求越来越高.但由于温度测量具有工况复杂、参数多变等特点,在实际测量中,温度测量的精度很难提高.本设计采用Atmega16单片机作为主控芯片,包括测温模块、数据处理模块、显示模块等组成,电路结构简单典型、成本低、测量精度高.
1数字温度计的系统设计
AD转换,系统由温度采集,信号滤波、放大,数码显示等模块组成,系统原理框图如图1所示.外界温度的变化引起铂电阻阻值的变化,其两端的电压值随之发生改变,该信号经滤波、放大后,通过电压跟随器输入
[1-2]Atmega16单片机进行处理后,.输出温度值并显示在数码管上
2
2.1
数字温度计的硬件设计
铂电阻温度传感器Pt100
PT100是铂热电阻,它的阻值会随着温度的
图1系统原理框图
Fig.1Systemprinciplediagram
变化而改变.PT后的100即表示它在0℃时阻值为100Ω,在100℃时其的阻值约为138.5Ω.PT100在0℃的时候它的阻值为100Ω,它的阻值会随着温度上升以0.385的变化率匀速增长.铂电阻传感器精度高,稳定性
[3-5]
.好,应用于温度测量范围广,是目前精度最高的温度传感器
收稿日期:2011-05-16.
基金项目:湖北省自然科学基金项目(2010CDB00901);湖北省教育厅青年项目(Q20111907).作者简介:徐建(1981-),男,硕士,主要从事嵌入式与智能控制方面的研究.
第3期徐建等:一种简易实用的数字温度计的设计
329
2.2
Atmega16单片机介绍及特点
Atmega16单片机是具有16KB系统内可编程Flash的8位微控制器,ATmega16是基于增强的AVRRISC结构的低功耗8位CMOS微控制器.由于其先进的指令集以及单时钟周期指令执行时间,ATmega16的
数据吞吐率高达1MIPS/MHz,从而可以缓减系统在功耗和处理速度之间的矛盾[6].
ATmega16有8路10位具有可选差分输入级可编程增益的ADC,在ADC噪声抑制模式时终止CPU和
除了异步定时器与ADC以外所有I/O模块的工作,
以降低ADC转换时的开关噪声.2.3
信号采集、处理电路
采集的信号经图2所示电路滤波、放大后输入单片机,由Atmega16单片机内置10位AD对输入的信号进行转换,经过数字滤波和算法处理并将结果输出显示.
2.4
数码显示电路
用五位7段数码管显示温度值,结果保
留1位小数.Atmega16单片机端口带负载能力有限,本设计中对端口输出信号通过74LS273锁存后再经三极管驱动数码管显示温度值.
3数字温度计的软件设计
系统采用C语言进行软件设计,编程和调试环境为AvrStudio4.0.程序流程图如图3图2信号采集、处理电路图
Fig.2
Signalacquisitionandprocessingcircuitdiagram
所示.系统初始化主要是初始化单片机的各个寄存器,设置合适参数,为温度采集做准备工作.数字滤波主要是对外界的噪音信号进行滤除,提高系统的测量精度.接着应用相关算法,对采样的温度数据进行相应的处理.最后通过74LS273锁存器输出、显示温度数值.
4数据处理
系统数据的处理分为数字滤波以及电阻的非线性化处理两部分,即在输入单片机ADC转换引脚之前测出相应铂电阻相对应图3数码显示电路图
的电势,然后根据测得的数据转化为实际相Fig.3Numberdisplaycircuit
diagram
对应的温度值.4.1
对系统进行零点校正
将第一级运算放大器的输入端接地,在Vout端可以测得输出电压U01=KU0,其
中K为运算放大器的闭环增益,U0是折算到运算放大器输入端的电压,通过AVR16内置ADC转换后输出的数字量N01=GKU0,其中G为ADC的转换系数.在单片机进行自动调零时,
将采集的数字量减去N[7]
01.
4.2对系统进行增益自动校正
将第一级运算放大器的输入端接标准是电压源M0,在Vout端测得输出电压U02
=KV图4程序流程图
0,ADC转换的数字量N02=GK(V0+U0).当第一级运算放大器输入的电压为Fig.4Programflowchart
UX时,通过ADC转换后输出的数字量NX=GK(VX+U0),通过计算可以得到:
NX-N01GK(VX+U0)-GKU0NX-N=-GKU即:VN01
X=
V.02-N01GK(V0+U0)0N02-N0
01由计算表明:系统经过校正后已经消除了运算放大器的零点漂移和增益误差.对系统的高精度提供了有力的保证.
3304.3
数字滤波
湖北民族学院学报(自然科学版)第29卷
由于温度变化是缓慢的,在受到外界干扰后,单片机对电信号的采样会有很大的偏差,造成测量的不正
本设计采用中值滤波法,单片机的内部ADC对温度信号连续采样13次,再将13个确.为了解决这一问题,
采样值从小到大排列,取最中间的值为本次采样转换的结果,这样处理后能有效克服偶然因素引起的噪声对[8]
系统测量结果造成的干扰.
5系统测试结果与数据分析
根据本设计的软硬件设计方案,搭建温度测量平台,并对系统进行测试.为了检测系统工作的可靠性及
使用算法处理和不使用算法处理分别测试20组数据,如下表1和表2.测试结果表明:测量结果的准确性,
在5~85℃内,系统测得的温度值和标准温度计的测值误差小于等于0.5℃,在系统能够承受的误差范围内,
达到了预期的测试效果.但经过算法处理后,系统测得的数据要更接近真实值,误差更小,说明算法设计的优越性.
表1算法处理系统测试数据
Tab.1Systemtestdataofalgorithmprocessing
Tab.2
表2没有经过算法处理的测试数据
Systemtestdatawithoutthealgorithmprocessing
从表1的数据可以发现系统经过算法处理后测得的数据与真实值是存在大约0.3℃的误差,其主要原因是由于单片机内置ADC转换器是10位的,其分辨率为,这就导致了系统的测量误差的产生.其解决办法10位ADC是使用外部分辨率较高的ADC转换器,但这样会增加系统成本,在精度要求不是很高的情况下,足够了.
6结语
本系统实现了基于AVR16单片机的温度测量的设计,在硬件部分通过低通滤波器滤除高频噪声造成的干扰,减小原始信号的失真;在软件部分采用数字滤波和校正算法减小测量误差,使得系统能够稳定得工作并且有较高的测量精度.通过测试与标准值的比较,误差较小,符合日常温度检测的要求,有较好的实用价.参考文献:
[1]陈德龙,J].杭州电子科技大学学报,2005,25(4):42-45.秦会斌.基于Pt100的电子温度表设计[[2]刘海成.AVR单片机原理及测控工程应用[M].北京:北京航空航天大学出版社,2008.
[3]郑保,J].计测技术,2006,26(1):56-59.成鹏展,张建兰.提高铂电阻温度计测量精度的方法研究[[4]李邕.数字式热敏电阻温度计设计[J].甘肃科技纵横,2008,37(1):15.
[5]林上金,2011,24(1):23-25.胡澄,李延标,等.热敏电阻数字温度计设计制作实验的线性化方案探究[J].大学物理实验,[6]李绍武.基于AVR单片机的风能太阳能控制器设计[J].湖北民族学院学报:自然科学版,2010,28(2):174-176.[7]ZackAlbus.用MSP430设计极低功耗数字温度计[J].世界电子元器件,2003(3):33-34.
[8]潘烨,J].现代电子技术,2009,32(13):109-112.王小波,彭昌武.基于STC89C58数字温度计的设计与实现[