湿度传感器HS1101
在智能家居控制系统中的应用
编辑:Apollo
引言
随着时代的发展,数字化家居控制系统的出现使得人们可以通过手机或者互联网在任何
时候、任意地点对家中的任意电器进行远程控制,同时也可以对室内的空气温度、湿度、质
量进行监测和调节。
在常规的环境参数检测中,湿度是*难准确测量的一个参数。这是因为测量湿度要比测
量温度复杂得多,温度是个独立的被测量,而湿度却受其他因素(大气压强、温度)的影响。
本文选用一种具有独特工艺设计、价格较低廉的、高精度、极好的线性输出的HSll01 做为
湿度传感器.较好的实现了对空气湿度的测量。并予以显示。
1.HSl101 简介
HSll01 是法国Humirel 公司推出的一款电容式相对湿度传感器。该传感器可广泛应用于
办公室、家庭、汽车驾驶室、和工业过程控制系统等,对空气湿度进行检测。与其他产品相
比,有着显著的优点:
◆无需校准的完全互换性:
◆长期饱和状态,瞬间脱湿:
◆适应自动装配过程,包括波峰焊接、回流焊接等;
◆具有高可靠性和长期稳定性:
◆特有的固态聚合物结构:
◆适用于线性电压输出和线性频率输出两种电路;
◆响应时间快。
1.1 基本参数
基本参数如表l 所示。默认测量温度‘rct=25~C,测量时HSll01 工作频率为10Khzo
1.2 特性曲线
如图1。测量温度Tα=25。C,测量时HSll01 工作频率为10Khzo
从特性曲线曲线图上我们可以看出,HSll01 具有极好的线性输出。可以近似看成相对湿度
值与电容值成比例。因此在测量过程中,采集电容值即可。
2.测量电路
2.1 湿度定义
湿度指的是相对湿度。用%RH 表示。即气体中(通常为空气中)所含水蒸气量(水蒸
气压)与其空气在相同情况下饱和水蒸气量(饱和水蒸气压)的百分比。
2.2 测量原理
HSll01 湿度传感器是一种基于电容原理的湿度传感器,相对湿度的变化和电容值呈线
性规律。在自动测试系统中,电容值随着空气湿度的变化而变化,因此将电容值的变化转换
成电压或频率的变化,才能进行有效地数据采集。用555 集成电路组成振荡电路,HSl101
湿度传感器充当振荡电容,从而完成湿度到频率的转换。
2.3 测量方法
HSll01 湿敏传感器是采用侧面开放式封装,只有两个引脚,有线性电压输出和线性频
率输出两种电路。在使用时,将2 脚接地,这里选用频率输出电路。该传感器采用电容构成
材料,不允许直流方式供电。所以我们使用555 定时器电路组成单稳态电路。具体电路分析
如下。
电源电压工作范围是UCC=+3.5~+12V。利用一片CMOS 定时器TLC555.配上HSll01
和电阻R2、R4 构成单稳态电路,将相对湿度值变化转换成频率信号输出。输出频率范围是
7351-6033Hz,所对应的相对湿度为0~100%。当RH=55%时,f=6660Hz。输出的频率信号
可送至数字频率计或控制系统,经整理后送显示。R3 为输出端的限流电阻,起保护作用。
通电后.电源沿着Uc→R4→R2→C 对HSl 101 充电。经过t1 时间后湿敏电容的压降Uc 就
被充电到TI~C555 的高触发电平(Uh=0.67Ucc),使内部比较器翻转,OUT 的输出变成
低电平。然后C 开始放电,放电回路为C→R2→D→内部放电管地。经过t2 时间后,Uc 降
到低触发电平(Ul=0.33Ucc),内部比较器再次翻转,使OUT 端的输出变成高电平。这样
周而复始的进行充、放电,形成了振荡。充电、放电时间计算公式分别为:tl=C(R2+R4)
ln2;t2=CR21n2;输出波形的频率(f)和占空比(D)的计算公式如下:f=1/T=1/(t1+t2)
=1/C(2R2+R4)ln2;D=tl/T=t1/t1+t2=R2+R4/(2R2+R4);通常取R4《R2,使D≈50%,
输出接近于方波。例如,取人R2=567kQ,R4=49.9kΩ。
湿度传感器只是保证传感探头的精度,在实际使用中,综合精度除了与湿度传感器本身
元件有关,还与外围电路的器件选择相关。为了与HSll01 温度系数相匹配,Rl 数值应取为
1%精度,且*大温漂不超过100ppm(ppm:百万分之一,表示当温度变化1℃,所对应的
电阻相对变化量)。为了保证达到6660Hz/55%,R2 与555 电路选取参照如下表:
当RH=55%、TA=+25℃时,典型输出方波频率与相对湿度的数据对照见表3。
2.4 与微处理器IPC2132 接口
LPC2132 是一种支持实时仿真和跟踪的16/32 位基于ARM7TDMI-S 内核的CPU,并
带有64KB 嵌入的高速FLASH 存储器。LPC2132 的实时仿真和跟踪功能方便了代码调试,
降低了开发成本。并且I/O 口能够接受5V 容限。整个湿度传感器由于采用频率输出电路,
接口简单,可直接与LPC2132 普通I/0 对接,这里选用PO.6 脚做为频率测量接口。
3.软件设计
软件设计主要完成对HSl 101 在单位时间内的频率测量。软件设计采用端口扫描方式,
间隔8S 开始测量,测量时间为1S。统计单位时间内脉冲的个数,与表3 对照,确定湿度值
的范围,并将湿度值通过LCD 显示。为了保证测量精度,可以取3 次以上测量数据,求平
均值后,作为*终送显示数据。微处理器工作晶体选用12.000MHz。程序代码采用嵌入式
C 语言编写,经在ADSl.2 编译环境中进行编译后,移植到微处理器内执行。软件主要测
量代码如下,并给出了详细注释。
Do
{
IODIR0=10DIROIRO&OXOfffffbf:
//p0.6 设置成输入
d0 //读IO 口寄存器
{ if((IOPIN0&(1<<0x06))==0x00000000)
break: //检测0 电平
} while(1);
Do
{ if((IOPIN0&(1<<0x06))!=Ox00000000)
break: //检测l 电平
}while(1);
fdat++: //累积1S 时间内脉冲个数
} while(pt8s%8==0); //间隔8S 测量一次
fdat——;
time(1); //延时必须保留
if((fdat>6033)&(fdat<6187))rhb=90;
//将测量数值转换为对应百分比,1%一100%
if((fdat>6186)&(fdat<6331))rhb=80;
if((fdat>6330)&(fdat<6469))rhb=70;
if((fdat>6468)&(fdat<6601))rhb=60;
if((fdat>6600)&(fdat<6729))rhb=50;
if((fdat>6728)&(fdat<6854))rhb=40;
if((fdat>6853)&(fdat<6977))rhb=30;
if((fdat>6976)&(fdat<7101))rhb=20;
if((fdat>7100)&(fdat<7225))rhb=10;
if(fdat>7224)rhb=00:
lhb=fdat%100: //对测量数值取低两位
time(1); //处理需要等待一段时间,否则lhb=0
if((rhb==60)\\(rhb==70)\\(rhb==90))lhb=lhb/13: //对低两位数值取个位,
else if(rhb==80)lhb=lhb/1 4;
else lhb=lhb/12;
time(1);
rhb=rhb+lhb; //将数据合成一起,送显示
fdat=Ox00000000;//清0,为下次准备
}
4.结束语
由于HSll01 采用独特的电容式单元设计,具有响应速度快、体积小、线性度好、较稳
定等优点,我们将HSll01 用在智能家居控制系统中,完成对空气湿度的测量,经长期应用,
性能达到了稳定可靠,同时也实现了对低成本的要求。