HS1101程序及應(yīng)用原理_第1頁
HS1101程序及應(yīng)用原理_第2頁
HS1101程序及應(yīng)用原理_第3頁
HS1101程序及應(yīng)用原理_第4頁
HS1101程序及應(yīng)用原理_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、HS1101 程序及應(yīng)用原理        HSll01是法國Humirel公司推出的一款電容式相對濕度傳感器。該傳感器可廣泛應(yīng)用于辦公室、家庭、汽車駕駛室、和工業(yè)過程控制系統(tǒng)等,對空氣濕度進(jìn)行檢測。與其他產(chǎn)品相比,有著顯著的優(yōu)點:無需校準(zhǔn)的完全互換性:長期飽和狀態(tài),瞬間脫濕:適應(yīng)自動裝配過程,包括波峰焊接、回流焊接等;具有高可靠性和長期穩(wěn)定性:特有的固態(tài)聚合物結(jié)構(gòu):適用于線性電壓輸出和線性頻率輸出兩種電路;響應(yīng)時間快。11基本參數(shù)        基本參數(shù)

2、如表l所示。默認(rèn)測量溫度rct=25C,測量時HSll01工作頻率為10Khzo12特性曲線        如圖1。測量溫度T=25。C,測量時HSll01工作頻率為10Khzo        從特性曲線曲線圖上我們可以看出,HSll01具有極好的線性輸出??梢越瓶闯上鄬穸戎蹬c電容值成比例。因此在測量過程中,采集電容值即可。2測量電路21濕度定義        濕度指的是相對濕度。用

3、RH表示。即氣體中(通常為空氣中)所含水蒸氣量(水蒸氣壓)與其空氣在相同情況下飽和水蒸氣量(飽和水蒸氣壓)的百分比。22測量原理        HSll00濕度傳感器是一種基于電容原理的濕度傳感器,相對濕度的變化和電容值呈線性規(guī)律。在自動測試系統(tǒng)中,電容值隨著空氣濕度的變化而變化,因此將電容值的變化轉(zhuǎn)換成電壓或頻率的變化,才能進(jìn)行有效地數(shù)據(jù)采集。用555集成電路組成振蕩電路,HSl 100濕度傳感器充當(dāng)振蕩電容,從而完成濕度到頻率的轉(zhuǎn)換。23測量方法      &#

4、160; HSll01濕敏傳感器是采用側(cè)面開放式封裝,只有兩個引腳,有線性電壓輸出和線性頻率輸出兩種電路。在使用時,將2腳接地,這里選用頻率輸出電路。該傳感器采用電容構(gòu)成材料,不允許直流方式供電。所以我們使用555定時器電路組成單穩(wěn)態(tài)電路。具體電路分析如下。        電源電壓工作范圍是UCC=+35+12V。利用一片CMOS定時器TLC555配上HSll01和電阻R2、R4構(gòu)成單穩(wěn)態(tài)電路,將相對濕度值變化轉(zhuǎn)換成頻率信號輸出。輸出頻率范圍是7351-6033Hz,所對應(yīng)的相對濕度為0100。當(dāng)RH=55時,f=6660H

5、z。輸出的頻率信號可送至數(shù)字頻率計或控制系統(tǒng),經(jīng)整理后送顯示。R3為輸出端的限流電阻,起保護(hù)作用。通電后電源沿著UcR4R2C對HSl 101充電。經(jīng)過t1時間后濕敏電容的壓降Uc就被充電到TIC555的高觸發(fā)電平(Uh=067Ucc),使內(nèi)部比較器翻轉(zhuǎn),OUT的輸出變成低電平。然后C開始放電,放電回路為CR2D內(nèi)部放電管地。經(jīng)過t2時間后,Uc降到低觸發(fā)電平(Ul=033Ucc),內(nèi)部比較器再次翻轉(zhuǎn),使OUT端的輸出變成高電平。這樣周而復(fù)始的進(jìn)行充、放電,形成了振蕩。充電、放電時間計算公式分別為:tl=C(R2+R4)ln2;t2=CR21n2;輸出波形的頻率(f)和占空比(D)的計算公式如

6、下:f=1T=1(t1+t2)=1C(2R2+R4)ln2;D=tlT=t1t1+t2=R2+R4(2R2+R4);通常取R4R2,使D50,輸出接近于方波。例如,取人R2=567kQ,R4=499k。         濕度傳感器只是保證傳感探頭的精度,在實際使用中,綜合精度除了與濕度傳感器本身元件有關(guān),還與外圍電路的器件選擇相關(guān)。為了與HSll01溫度系數(shù)相匹配,Rl數(shù)值應(yīng)取為1精度,且最大溫漂不超過100ppm(ppm:百萬分之一,表示當(dāng)溫度變化1,所對應(yīng)的電阻相對變化量)。為了保證達(dá)到6660Hz5

7、5,R2與555電路選取參照如下表:        當(dāng)RH=55、TA=+25時,典型輸出方波頻率與相對濕度的數(shù)據(jù)對照見表3。24與微處理器IPC2132接口        LPC2132是一種支持實時仿真和跟蹤的1632位基于ARM7TDMI-S內(nèi)核的CPU,并帶有64KB嵌入的高速FLASH存儲器。LPC2132的實時仿真和跟蹤功能方便了代碼調(diào)試,降低了開發(fā)成本。并且IO口能夠接受5V容限。整個濕度傳感器由于采用頻率輸出電路,接口簡單,可直接與LPC2

8、132普通I0對接,這里選用PO6腳做為頻率測量接口。3軟件設(shè)計        軟件設(shè)計主要完成對HSl 101在單位時間內(nèi)的頻率測量。軟件設(shè)計采用端口掃描方式,間隔8S開始測量,測量時間為1S。統(tǒng)計單位時間內(nèi)脈沖的個數(shù),與表3對照,確定濕度值的范圍,并將濕度值通過LCD顯示。為了保證測量精度,可以取3次以上測量數(shù)據(jù),求平均值后,作為最終送顯示數(shù)據(jù)。微處理器工作晶體選用12000MHz。程序代碼采用嵌入式C語言編寫,經(jīng)在ADSl2編譯環(huán)境中進(jìn)行編譯后,移植到微處理器內(nèi)執(zhí)行。參考軟件代碼之一:DoIODIR0=10DIROIR

9、OOXOfffffbf:p06設(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(pt8s8=0); 間隔8S測量一次fdat-;time(1); 延時必須保留if(fdat>6033)&(fdat<6187)rhb=90;將測量數(shù)值轉(zhuǎn)換為對應(yīng)百分比,1一100if(fdat>6186

10、)&(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)&

11、(fdat<7225)rhb=10;if(fdat>7224)rhb=00:lhb=fdat100: 對測量數(shù)值取低兩位time(1); 處理需要等待一段時間,否則lhb=0if(rhb=60)(rhb=70)(rhb=90)lhb=lhb13: 對低兩位數(shù)值取個位,else if(rhb=80)lhb=lhb1 4;else lhb=lhb12;time(1);rhb=rhb+lhb; 將數(shù)據(jù)合成一起,送顯示fdat=Ox00000000;清0,為下次準(zhǔn)備參考軟件代碼之二:#include "reg51.h" #define uchar unsign

12、ed char#define uint  unsigned int uchar  tem0 , tem1;                              uchar  temp0 , temp1;      

13、                    uint   f=0;                            &

14、#160;                     /初值 /* 名稱: timer0() * 功能: 定時器1,每50000us中斷一次。* 入口參數(shù):*/void timer0() interrupt 1         EA =0;       TR0=0; &#

15、160;  TR1=0;        TL0=0xFF;                   /重裝值   定時50000us  OX4BFFH       TH0=0x4B;      

16、            tem0 = TL1;   /讀數(shù)       tem1 = TH1;       TL1=0x00;            /定時器1清零      TH1=0x00;  &

17、#160;    f=1;               /作標(biāo)注位        TR0=1;       TR1=1;       EA=1; /* 名稱: timer1() * 功能: 計數(shù)器,用于計數(shù)將555輸出的頻率,以計

18、數(shù)相對濕度。* 入口參數(shù):*/void timer1() interrupt 3    /T1中斷,表示計數(shù)的頻率溢出,超出了可測量的頻率范圍,顯然在這里不可能。所以重新啟動。       EA =0;       TR0=0;    TR1=0;        TL0=0x00;      

19、60;            /重裝值   定時50000us       TH0=0x4C;    TL1=0x00;                   /定時器1清零   &

20、#160;  TH1=0x00;       TR0=1;    TR1=1;       EA=1; void Init_timer()        TMOD=0x51;               /0101 00

21、01 定時器0在模式1下工作16位定時器,定時方式  定時器1在模式1下工作16位計數(shù)器,T1負(fù)跳變加1       TL0=0x00;                   /定時器0初值 定時50000us       TH0=0x4C;    &

22、#160;                    TL1=0x00;                   /定時器1清零       TH1=0x00;  &#

23、160;    ET0=1;                        /使能定時器0中斷       ET1=1;             &#

24、160;          /使能定時器1中斷       EA=1;                          /使能總中斷     

25、60; TR0=1;                        /開始計時       TR1=1; void tran()       f = tem1;        f

26、= ( f<<8 ) | tem0;    f = f * 20;                    /這里f的值是最終讀到的頻率,不同頻率對于不同相對濕度。    if( 5623 <= f) && ( f<= 6852) )      

27、60;  /相對濕度在有效范圍內(nèi)(0100%)                  if( 6734 < f) && ( f <= 6852) )                 temp0 = 0;  temp1 =(6852 - f)*10

28、/118;               if( (6618 < f) && ( f <= 6734) )                     temp0 = 1; temp1 =(6734 - f)*10/116;   

29、;             if( (6503 < f) && ( f <= 6618 ) )                     temp0 = 2; temp1 =(6618 - f)*10/115;    

30、60;            if( (6388 < f) && ( f <= 6503 ) )                     temp0 = 3; temp1 =(6503 - f)*10/115;     &

31、#160;          if( (6271 < f) && ( f <= 6388 ) )                     temp0 = 4; temp1 =(6388 - f)*10/117;       

32、0;          if( (6152 < f) && ( f <= 6271 ) )                     temp0 = 5; temp1 =(6271 - f)*10/119;       &#

33、160;     if( (6029 < f) && ( f <= 6152 ) )                     temp0 = 6; temp1 =(6152 - f)*10/123;             if( (5901

34、 < f) && ( f <= 6029 ) )                     temp0 = 7;temp1 =(6029 - f)*10/128;              if( (5766 < f) && ( f <

35、= 5901 )                     temp0 = 8; temp1 =(5901 - f)*10/135;             if( (5623 < f) && (f <= 5766)     

36、;                temp0 = 9; temp1 =(5766 - f)*10/143;                else               &#

37、160;     temp0 = 0; temp1 = 0;                     void main()       uchar      i,k;       uchar

38、0;     count;       Init_timer();       count = 0;       while(1)                     for (i=0;

39、i<200;i+)                     for (k=0;k<200;k+);           /延時              tr

40、an();              temp0 &= 0x0F;              temp1 &= 0x0F;              temp0 = temp0 <<

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論