具有極好的線性輸出??梢越瓶闯上鄬穸?/span>值與電容值成比例。因此在測量過程中,采集電容值即可。
2.測量電路
2.1 濕度定義
濕度指的是相對濕度。用%RH 表示。即氣體中(通常為空氣中)所含水蒸氣量(水蒸
氣壓)與其空氣在相同情況下飽和水蒸氣量(飽和水蒸氣壓)的百分比。
2.2 測量原理
HSll01 濕度傳感器是一種基于電容原理的濕度傳感器,相對濕度的變化和電容值呈線
性規(guī)律。在自動測試系統(tǒng)中,電容值隨著空氣濕度的變化而變化,因此將電容值的變化轉(zhuǎn)換
成電壓或頻率的變化,才能進(jìn)行有效地數(shù)據(jù)采集。用555 集成電路組成振蕩電路,HSl101
濕度傳感器充當(dāng)振蕩電容,從而完成濕度到頻率的轉(zhuǎn)換。
2.3 測量方法
HSll01 濕敏傳感器是采用側(cè)面開放式封裝,只有兩個引腳,有線性電壓輸出和線性頻
率輸出兩種電路。在使用時,將2 腳接地,這里選用頻率輸出電路。該傳感器采用電容構(gòu)成
材料,不允許直流方式供電。所以我們使用555 定時器電路組成單穩(wěn)態(tài)電路。具體電路分析
如下。
電源電壓工作范圍是UCC=+3.5~+12V。利用一片CMOS 定時器TLC555.配上HSll01
和電阻R2、R4 構(gòu)成單穩(wěn)態(tài)電路,將相對濕度值變化轉(zhuǎn)換成頻率信號輸出。輸出頻率范圍是
7351-6033Hz,所對應(yīng)的相對濕度為0~100%。當(dāng)RH=55%時,f=6660Hz。輸出的頻率信號
可送至數(shù)字頻率計或控制系統(tǒng),經(jīng)整理后送顯示。R3 為輸出端的限流電阻,起保護(hù)作用。
通電后.電源沿著Uc→R4→R2→C 對HSl 101 充電。經(jīng)過t1 時間后濕敏電容的壓降Uc 就
被充電到TI~C555 的高觸發(fā)電平(Uh=0.67Ucc),使內(nèi)部比較器翻轉(zhuǎn),OUT 的輸出變成
低電平。然后C 開始放電,放電回路為C→R2→D→內(nèi)部放電管地。經(jīng)過t2 時間后,Uc 降
到低觸發(fā)電平(Ul=0.33Ucc),內(nèi)部比較器再次翻轉(zhuǎn),使OUT 端的輸出變成高電平。這樣
周而復(fù)始的進(jìn)行充、放電,形成了振蕩。充電、放電時間計算公式分別為: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Ω。
濕度傳感器只是保證傳感探頭的精度,在實際使用中,綜合精度除了與濕度傳感器本身
元件有關(guān),還與外圍電路的器件選擇相關(guān)。為了與HSll01 溫度系數(shù)相匹配,Rl 數(shù)值應(yīng)取為
1%精度,且*大溫漂不超過100ppm(ppm:百萬分之一,表示當(dāng)溫度變化1℃,所對應(yīng)的
電阻相對變化量)。為了保證達(dá)到6660Hz/55%,R2 與555 電路選取參照如下表:
當(dāng)RH=55%、TA=+25℃時,典型輸出方波頻率與相對濕度的數(shù)據(jù)對照見表3。


2.4 與微處理器IPC2132 接口
LPC2132 是一種支持實時仿真和跟蹤的16/32 位基于ARM7TDMI-S 內(nèi)核的CPU,并
帶有64KB 嵌入的高速FLASH 存儲器。LPC2132 的實時仿真和跟蹤功能方便了代碼調(diào)試,
降低了開發(fā)成本。并且I/O 口能夠接受5V 容限。整個濕度傳感器由于采用頻率輸出電路,
接口簡單,可直接與LPC2132 普通I/0 對接,這里選用PO.6 腳做為頻率測量接口。
3.軟件設(shè)計
軟件設(shè)計主要完成對HSl 101 在單位時間內(nèi)的頻率測量。軟件設(shè)計采用端口掃描方式,
間隔8S 開始測量,測量時間為1S。統(tǒng)計單位時間內(nèi)脈沖的個數(shù),與表3 對照,確定濕度值
的范圍,并將濕度值通過LCD 顯示。為了保證測量精度,可以取3 次以上測量數(shù)據(jù),求平
均值后,作為*終送顯示數(shù)據(jù)。微處理器工作晶體選用12.000MHz。程序代碼采用嵌入式
C 語言編寫,經(jīng)在ADSl.2 編譯環(huán)境中進(jìn)行編譯后,移植到微處理器內(nèi)執(zhí)行。軟件主要測
量代碼如下,并給出了詳細(xì)注釋。
Do
{
IODIR0=10DIROIRO&OXOfffffbf:
//p0.6 設(shè)置成輸入
d0 //讀IO 口寄存器
{ if((IOPIN0&(1<<0x06))==0x00000000)
break: //檢測0 電平
} while(1);
Do
{ if((IOPIN0&(1<<0x06))!=Ox00000000)
break: //檢測l 電平
}while(1);
fdat++: //累積1S 時間內(nèi)脈沖個數(shù)
} while(pt8s%8==0); //間隔8S 測量一次
fdat——;
time(1); //延時必須保留
if((fdat>6033)&(fdat<6187))rhb=90;
//將測量數(shù)值轉(zhuǎn)換為對應(yīng)百分比,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: //對測量數(shù)值取低兩位
time(1); //處理需要等待一段時間,否則lhb=0
if((rhb==60)\\(rhb==70)\\(rhb==90))lhb=lhb/13: //對低兩位數(shù)值取個位,
else if(rhb==80)lhb=lhb/1 4;
else lhb=lhb/12;
time(1);
rhb=rhb+lhb; //將數(shù)據(jù)合成一起,送顯示
fdat=Ox00000000;//清0,為下次準(zhǔn)備
}
4.結(jié)束語
由于HSll01 采用獨特的電容式單元設(shè)計,具有響應(yīng)速度快、體積小、線性度好、較穩(wěn)
定等優(yōu)點,我們將HSll01 用在智能家居控制系統(tǒng)中,完成對空氣濕度的測量,經(jīng)長期應(yīng)用,
性能達(dá)到了穩(wěn)定可靠,同時也實現(xiàn)了對低成本的要求。