摘要:介绍了由相对湿度传感器THS1101、半导体测温器件AD590与ADuC812单片机等组成的高精度的环境温度、相对湿度测量仪的设计,提出了实现环境温度、相对湿度的高精度测量及其精度校正的软件处理方法。
关键词:湿度传感器;温度传感器;单片机;仪表
0 引言
对环境条件要求高的场合,需要精密地测量相对湿度与温度,为此研制了智能化的高精度的相对湿度、温度测量仪,其主要性能如下:
(1) 温度测量:精度 ±1℃,分辨力 0.1℃;
(2) 相对湿度测量:精度 ±1℅RH,分辨力 0.1℅RH;
(3) 可由用户自行校准仪表的测量精度,无需硬件调整;
(4) 用户可编程设定相对湿度与温度的上、下限报警值;
(5) 可手动或自动记录测量的相对湿度与温度的结果;
(6) 用户可编程设定手动或定时自动打印相对湿度与温度的测量结果;
(7) 可直接与微机串行口连接,作环境相对湿度与温度的高精度记录仪使用。
本文给出了测量仪的硬件电路原理图,简述了各个主要功能的硬件电路的具体实现。重点介绍了环境温度的高精度测量及其精度校正的软件处理方法和通过软件的方法进行温度补偿和线性化处理实现环境相对湿度的高精度测量及其精度校正的方法。
1 温度、相对湿度测量仪的实现
整个系统的电路原理如图1所示。
温度、相对湿度测量仪的核心部分是美国AD公司推出的与MCS51单片机兼容的ADuC812单片机[3],它包含了高性能的8路12位ADC、2路12位DAC、80C52MCU内核、8KB EEPROM程序存储器、640B EEPROM数据存储器和温度传感器等片内资源。
温度测量电路由半导体集成传感AD590J串接一个电阻R15组成,AD590输出电流通过电阻R15进入模拟地,产生相应的电阻电压。电阻R15的电压输入到ADuC812单片机的ADC7口,A/D转换为数字量,由应用软件处理得到环境温度。
相对湿度测量电路由NE555构成的振荡器组成,湿度传感器THS1101的电容随环境相对湿度的变化而变化,从而导致振荡器的振荡频率变化,ADuC812单片机通过测量振荡器输出的振荡频率,经过软件处理后,获得相对湿度值。
温度与相对湿度的上、下限报警信号通过ADuC812单片机的P3.6、P3.7、P2.6、P3.7口输出。
键盘输入电路与LCD显示电路实现人机对话的功能。RS232C接口电路与PC机的串行口联接,实现通信功能。打印输出接口电路与打印机连接,实现打印功能。
2 高精度的环境温度、相对湿度的测量方法。
2.1温度测量及其精度调整方法
AD590是一种由所在环境温度决定的恒流输出器件,其输出特性为:
I=Kt·t (1)
式中I为AD590输出电流信号,单位为1uA电流。t为绝对温度,单位为K。Kt为转换系数,单位为1uA/K。
这种传感器线性好,热容量小,灵敏度度高,抗干扰能力强,测温范围为-55℃~+150℃。 (图片)
图1 温度、相对湿度测量仪的电路原理图 AD590输出电流信号经电阻R15转换为电压信号,其电压为:
V R = Kt·R15·t (2)
VR从ADC口输入到ADuC812单片机中,进行A/D转换成为数字量VT。环境温度T与VT的关系式为:
T = KT(VT-V0) (3)
式中T为实测的环境温度值,VT为环境温度为T时A/D转换的数字量电压值,V0为环境温度为0℃时A/D转换的数字量电压值,KT为环境温度与A/D转换的数字量电压的转换系数:KT = 1/( Kt·R15)。KT、V0作为参数存储在ADuC812单片机的片内数据EEPROM中。根据KT、V0两个参数的值,由上述公式即可计算出环境温度值。
上述温度测量方法中,KT、V0参数是影响温度测量精度的主要因素,适当地调整KT、V0参数可实现仪表温度测量精度的校正。 具体方法如下:
用其它更高精度标准测温仪测量环境温度T1,输入本仪表,ADuC812单片机同时记录下相应的A/D转换的数字量V1。当环境温度从T1变化到T2时,重复以上过程,ADuC812单片机同时记录下相应的A/D转换的数字量V2。为保证校准精度,环境温度应在25℃左右变化,并且变化的范围尽可能大一些。仪表的应用软件根据公式:KT=(T1-T2)/(V1-V2)和V0=VT1-T1/KT计算出KT和V0 的值,并存储在ADuC812单片机的EEPROM数据存储器中,既完成该仪表的温度测量精度的校正。仪表的应用软件系统配置有专用的服务子程序完成此项工作,仅需按仪表的LCD显示器的提示完成有关操作。
仪表在出厂前或使用中温度测量精度均采用上述方法进行校正。经过精度的校正,温度测量误差小于1℃,分辨力小于0.1℃。
2.2 相对湿度测量及其精度调整方法
相对湿度测量电路是由NE555和湿度传感器THS1101构成的振荡器组成,其特点是测量范围大,长期稳定性好,响应时间短,温度系数低,线性度较好,体积小。
实验得出振荡电路的输出频率(f)与环境温度(T)的关系曲线,如图2所示。在环境相对湿度不变的条件下,它们是近似的线性关系,忽略非线性误差不影响测量的精度;在不同环境相对湿度的条件下,频率的温度补偿系数是不同的,相对湿度为X%RH时振荡频率)的温度补偿系数(ΔfRHX)与相对湿度为0%RH时振荡频率的温度补偿系数(Δf RH0)的关系为:
ΔfRHX=Δf RH0· (fRH/fRH0) (4)
式中Δf RH0的值为297/65(Hz/℃);fRH0是温度为0℃时相对湿度为0%RH的振荡频率,其值为7588(Hz);fRHX是温度为0℃时相对湿度为X%RH的振荡频率。(图片) 实验得出相对湿度(RH)与振荡电路的输出频率(f)在环境温度为25℃时的关系曲线,如图3所示。表1给出了该关系曲线上的10个点的数据。从图3可以看出,相对湿度在20% RH—80%RH范围内线性度较好,两端的线性较差。(图片) 显然,振荡频率随环境相对湿度变化是非线性的,并且受环境温度的影响很大。采用软件的方法进行温度补偿和线性化处理,能够实现高精度地测量相对湿度。
相对湿度测量的程序流程如图4所示。振荡频率的测量是由应用软件系统的时间中断服务程序完成的,它总是把当前的频率值保存在AduC812单片机的片内数据RAM中。具体的相对湿度测量方法如下:
测量程序首先直接读取当前的频率值(f),接着测量环境温度T,然后对频率值(f)进行温度补偿,温度补偿后的频率值fT = f +(25-T) ·Δf RH0· (fRH/fRH0);最后对频率fT进行线性化处理,计算出环境的相对湿度,结束一次测量过程。
为了便于软件线性化处理,我们把图3 所示的关系曲线上的10个点的相邻两点用直线连接,形成一条新的曲线,该曲线与实际曲线几乎重合在一起。采用该曲线进行软件线性化处理,产生的非线性误差不影响相对湿度的测量精度。该曲线与Δf RH0、fRH0存储在ADuC812单片机的片内数据EEPROM中,用于振荡频率(f)的温度补偿与线性化处理。(图片) 在上述相对湿度测量方法中,Δf RH0、fRH0参数和用于软件线性化处理的曲线是影响相对湿度测量精度的主要因素,适当地调整可校正相对湿度测量的精度。 具体方法是:
在环境的相对湿度为0%RH时进入本仪表的相对湿度测量精度的校正服务子程序,改变环境温度,服务子程序自动完成相对湿度测量精度的校准。为保证校准精度,环境温度应在25℃左右变化,并且变化的范围尽可能大一些。在相对湿度测量精度的校正之前,必须先进行温度测量精度的校正,因为相对湿度测量精度的校正的精确依赖于仪表测量环境温度的准确度。其原理类似于环境温度的校准。
仪表在出厂前或使用中相对湿度测量精度均采用上述方法进行校正。经过校正,相对湿度的测量精度在20% RH—80%RH范围可达1% RH以上,在0% RH—100%RH范围可达2% RH以上。相对湿度的分辨力为0.1℅RH。
3 结束语
本文提出的实现温度和相对湿度测量精度校正的软件方法,具有实现简单,调整方便,在同类仪表的开发中具有广阔的应用前景,特别适合于在工业加工的精密测试中心以及对加工材料的存放有较高要求的环境中使用,还可以应用于居住环境的监测。
实验结果表明:通过采用软件的方法对影响温度和相对湿度测量精度的参数的精确校正,可以实现对温度、相对湿度测量的高精度测量,而且校正方便。
本仪表经过近一年的使用,性能稳定可靠,测量精度高,智能化程度高,使用简便,性能价格比高,受到了用户的普遍欢迎。
1/10/2005
|