《基于单片机的温度测量系统设计(DOC).docx》由会员分享,可在线阅读,更多相关《基于单片机的温度测量系统设计(DOC).docx(11页珍藏版)》请在第壹文秘上搜索。
1、基于STC单片机的温度测量系统的探讨摘要:本文针对现有温度测量方法线性度、灵敏度、抗振动性能较差的不足,提出了一种基于STC单片机,采纳PtlOoO温度传感器,通过间接测量的热电阻阻值来实现温度测量的方案。重点介绍了,伯热电阻测量温度的原理,基于STC实现伯热电阻阻值测量,牛顿迭代法计算温度,给出了部分硬件、软件的设计方法。试验验证,该系统测量精度高,线性好,具有较强的实时性和牢靠性,具有肯定的工程价值。关键词:STC单片机、PtlOOO温度传感器、温度测量、伯热电阻阻值、牛顿迭代法。StudyofTemperatureMeasurementSystembasedonSTCsinglechip
2、computerZhangYapeng,WangXiangting,XuEnchun,WeiMaolinAbstract:AmethodtoachievetemperatureMeasurementbytheIndirectMeasurementtheresistanceofplatinumthermistorisproposed.ItisrealizedbythesinglechipcomputerSTCwithPtlOOOtemperaturesensor.TheshortcomingsofavailablemethodswhoseLinearity,Sensitivity,andvibr
3、ationresistanceareworseareovercamebytheproposedmethod.Thispaperemphasizesonthefollowingaspects:theprincipleoftemperaturemeasurementbyusingplatinumthermistor,themeasurementofplatinumthermistor,sresistancebasedonSTCsinglechipcomputer,thecalculatingtemperaturebyNewtonIterationMethod.Partsofhardwareands
4、oftwarearegiven.Theexperimentalresultsdemonstratethattheprecisionand1inearityofthemethodissuperior.Itisalsosuperiorinreal-timecharacterandreliabilityandhasacertainvalueinengineeringapplication.Keywords:STCsinglechipcomputer,PtlOOOtemperaturesensor,platinumthermistor,sresistance,NewtonIterationMethod
5、0引言精密化学、生物医药、精细化工、精密仪器等领域对温度限制精度的要求极高,而温度限制的核心正是温度测量。目前在国内,应用最广泛的测温方法有热电偶测温、集成式温度传感器、热敏电阻测温、伯热电阻测温四种方法。(1)热电偶的温度测量范围较广,结构简洁,但是它的电动势小,灵敏度较差,误差较大,实际运用时必需加冷端补偿,运用不便利。(2)集成式温度传感器是新一代的温度传感器,具有体积小、重量轻、线性度好、性能稳定等优点,适于远距离测量和传输。但由于价格相对较为昂贵,在国内测温领域的应用还不是很广泛。(3)热敏电阻具有灵敏度高、功耗低、价格低廉等优点,但其阻值与温度变更成非线性关系,在测量精度较高的场合
6、必需进行非线性处理,给计算带来不便,此外元件的稳定性以与互换性较差,从而使它的应用范围较小。(4)伯热电阻具有输出电势大、线性度好、灵敏度高、抗振性能好等优点。虽然它的价格相对于热敏电阻要高一些,但它的综合性能指标确是最好的。而且它在0200。C范围内的稳定性较好,故其在工业测温领域应用较广。本文提出的一种以STC单片机为限制核心,采纳PTlOOO箱热电阻温度传感器作为测温元件的温度测量系统,能解决温度测量线性度、灵敏度、抗振动性能较差,测量范围较小的不足,精度较高,便利好用。1系统总体方案该温度测量系统主要由温度传感器、信号调理电路、STC单片机计算转换模块、温度显示模块组成。其中信号调理电
7、路由信号滤波电路和信号放大电路组成。图1为基于STC单片机的温度测量系统的结构图。图1基于STC单片机的温度测量系统的结构图STC单片机作为本系统的核心,采集经滤波电路和放大电路进行滤波和放大处理后的PTlOOO温度传感器阻值信号,并由其片内10位A/D转换模块对阻值信号进行模数转换,肯定的算法把阻值信号计算为温度,并限制液晶显示模块直观的显示出温度数值。电源、时钟与复位电路是STC单片机正常工作的必要条件。2系统硬件设计本温度测量系统的硬件设计主要包括温度传感器、信号调理电路、STC单片机计算转换模块、温度显示模块组成。2.1 温度传感器本系统采纳伯热电阻作为温度传感器。由于伯热电阻的阻值具
8、有随着温度的变更而变更的特性,所以可以通过间接测量销热电阻阻值的方法来间接测量温度。另外销热电阻具有输出电势大、线性度好、灵敏度高、互换性好等优点,适合作为本系统的温度传感器。伯热电阻在O850C范围内其阻值与温度的变更关系为:K=RO(I+Af+B*)(2-1)式中,t为温度值RO为Oc时伯热电阻的阻值Rt为tC时伯热电阻的阻值,B为分度系数值。常用的伯热电阻型号有PtlOOPt500PtlOOOo对于PTloOo伯热电阻温度传感器,R0=1000,A=3.908*1031,B=-5.802*1072o不难看出,当温度发生变更时,PtlOOO的电阻值变更量最大,因此测量的灵敏度最高。另外,通
9、过PtlOOO的热电阻的电流较小时,它也能产生较大的压降,有利于降低系统的功耗。所以本系统采纳PtlOOO销热电阻作为温度传感器是比较合理的。2.2 信号调理电路为了使温度测量更加精确,PtlOOO粕热电阻温度传感器采集到的信号需经过信号调理电路滤波放大处理后,再进入STC单片机进行片内A/D转换并计算。如图2为PtlOOO伯热电阻温度信号调理电路。图2PtlOOO伯热电阻温度信号调理电路如图2,REF200为电路供应恒流源,它具有高精度、低温度系数和宽电压范围等优点。芯片内部集成两路100UA电流源和一路镜像电流源。恒流源REF200供应的两路100uA电流,一路流经PtlOOO伯热电阻,提
10、取传感器信号,电压值为Ul,另一路流经阻值为IoOOQ的精密电阻Rk,产生一个精确稳定的电压U2作为差分放大器的基准。INA122为差分放大器,对UI、U2的信号差分放大输出。它由两个低功耗高性能运放构成,可以由单电压2.2V36V供电,而静态电流仅为60uA,有利于降低系统功耗。因为K=a+4+及2),流经PtlOoo电流为I,则Ul=吗(1+Af+B*)(2-2)由于U2=IRk(2-3)则差分放大器的输出UO=K(U1-U2)=KR0(1+t+Br)-R(2-4)式中,K为差分放大器的差分放大倍数。INA122外接到电阻R可设置差分放大器的增益:K=5+200ZQRn(2-5)经过信号调
11、理电路处理后,PtlOOO温度信号得到了很好的过滤和放大,有利于进行A/D模数转换,计算结果更加精确。2.3STC单片机计算转换模块经NIA122差分放大后的电压输出信号就可以经过A/D转换器完成模数转换,并将转换结果送入STC单片机进行计算和处理。A/D模数转换器采纳STC单片机系统片内自带的10位A/D转换器。ADClO模数转换器具有10位转换精度,采样速度快,采样频率可达300KHz,内置采样保持电路,配置有8路外部通道,可做温度检测、电压检测、频谱检测等。运用便利,可敏捷地运用以节约软件量和时间。运用STC单片机外部晶体时钟或内部R/C振荡器产生的系统时钟为ADClO模数转换器供应时钟
12、。这样的好处是:在提高ADC的工作频率以与转换速度的同时,使STC单片机工作在较低的频率,系统具有较低的功耗。输入的模拟电压值最终转换结果为:Nadc=2o*五=IO24*工(2-6)C%Vcc式中,NADC为ADCIO模数转换器转换结果。Vin为模拟电压输入量。VCC为单片机实际工作电压。经过STC单片机的ADClO模数转换后,PtlOOO温度传感器的温度信号就转变为STC单片机可以计算处理的数字信号。2. 4温度显示模块温度显示模块采纳SMC1602A液晶显示模块协作STC单片机来实现。SMC1602A是标准字符点阵型液晶显示模块,采纳点阵型液晶显示器(LCD),可显示16字符X2行西文字
13、符,字符尺寸为2.954.35(WXH)mm,内置HD44780接口型液晶显示限制器,广泛应用于各类仪器仪表与电子设备。SMCI602A共有16个引脚,其中D0D7是8位双向数据总线,它的方向由读写限制引脚R/W来确定,高电平为读,可以由CPU读写;低电平为写,可以写入8位数据。E为使能信号引脚,高电平有效。全部功能与引脚如表1所示。引脚名称引脚功能VSS电源地VDD电源正极VOLCD偏压输入RS数据/吩咐选择端(H/L)R/W读写限制信号(H/L)E使能信号D0D78位数据线BLA背光源正极BLK背光源负极表1SMC1602A引脚与功能介绍3系统软件设计系统软件从功能上分为主程序和温度信号处
14、理程序。2.1 系统主程序设计主程序在完成系统初始化后,进入等待模式。当有温度信号处理中断时,程序跳出等待模式,进入温度信号处理程序,在执行完此中断程序后,重新回到等待模式。系统主程序流程如图3所示。图3主程序流程图3. 2温度信号处理程序温度信号处理主程序当系统程序进入温度信号处理程序后,开启ADClO转换器进行模数转换,并对数据进行处理与计算。为使温度数据更加精确,需进行多次采样和A/D转换,并采纳数字滤波算法进行数字滤波。温度信号处理程序如图4所示。图4温度信号处理程序温度信号数字滤波本系统中所采集的温度信号是电压信号,属于模拟量输入,经常会有干扰信号的叠加,这样就会造成AD转换结果偏离
15、真实值,造成较大的系统误差。因此假如只进行单次采样和转换,是不行行的。必需多次采样和转换,对采样序列值经过数字滤波处理后才能得到一个较为精确的转换结果。在本系统采纳中值滤波的方法,有效的减小了随机干扰对采样结果的影响。中值滤波方法的实现过程是对连续采样转换N次的温度信号按大小依次排列,截去此序列中的最大值和最小值后,对其它数值取平均值,作为有效的温度信号,这样就有效的消退了随机信号的干扰。中值滤波的表达式:式中,N为采样序列数值的个数,Xi是去掉序列中最大值和最小值之后的各采样值。这样经过中值滤波后,系统的测量值更加精确。温度计算对于温度的计算一般采纳查表法,即在PtlOOO分度表中查找某一阻值下对应的温度。这种方法虽简洁可行,但由于分度值数据过多,会占用较大的存储空间,影响系统运行速度。为此,本系统采纳牛顿迭代法实现温度的计算。首先设方程:/=UO-K叫(1+4+切2)_/4=0(3-2)设tn是方程精确解旁边的一个揣测解,过点(tn,f(tn)作函(3-3)数f(t)的切线,切线方程为:y=(G+r(一)(3-4)令y=0,解得U.=-M)U)为简化计算,迭代初始温度取f(t)的线性部分:(3-5)U,TKR(l+4)-KR,J-n-AKIRq式中,A,R。