采用單片機(jī)設(shè)計(jì)溫濕度控制儀
掃描二維碼
隨時(shí)隨地手機(jī)看文章
在某些行業(yè)中對(duì)溫濕度的要求較高,特別是在電力系統(tǒng)中,由于溫度過(guò)高、過(guò)低引起的元件失效或由于濕度過(guò)高而引起的爬電、閃絡(luò)事故時(shí)有發(fā)生。為了避免這些故障,需要在電力設(shè)備柜體內(nèi)安裝控溫、除濕設(shè)備。采用單片機(jī)開(kāi)發(fā)的的溫濕度控制儀功能齊全、操作簡(jiǎn)便,特別適用于對(duì)溫濕度控制要求較高的繼電保護(hù)柜、儀表箱、計(jì)量柜等設(shè)備。主要技術(shù)指標(biāo)如下。
溫度指示:-30℃~120℃,精度±1℃;
濕度指示:(0~100)%RH,精度±5%RH;
加熱器啟動(dòng)條件:溫度顯示值≤低溫加熱下限T1_L時(shí),或濕度顯示值≥過(guò)濕加熱整定值上限H_H時(shí);
加熱器退出條件:溫度顯示值≥低溫加熱上限T1_H與濕度顯示值≤過(guò)濕加熱整定值下限H_L都滿足時(shí);
排風(fēng)扇啟動(dòng)條件:溫度顯示值≥排風(fēng)降溫整定值上限T2_H時(shí);
排風(fēng)扇停止條件:溫度顯示值≤排風(fēng)降溫整定值下限T2_L時(shí);
繼電器觸點(diǎn)容量:AC220V/10A。
圖1:溫濕度控制儀硬件結(jié)構(gòu)圖
硬件設(shè)計(jì)
本系統(tǒng)硬件結(jié)構(gòu)如圖1所示,整個(gè)系統(tǒng)的核心采用與MCS-51完全兼容的GMS97C2051單片機(jī),20腳封裝,減少了P0口和P2口,其他配置與性能不變,OTP器件降低了硬件成本。
系統(tǒng)中使用美國(guó)IMP公司的單片機(jī)系統(tǒng)監(jiān)控電路IMP813L,以防程序跑飛。如果WDI不處于浮空狀態(tài),在1.6秒內(nèi)GMS97C2051不觸發(fā)看門(mén)狗輸入WDI,就說(shuō)明程序已經(jīng)紊亂,看門(mén)狗輸出端將輸出低電平到手動(dòng)復(fù)位端,使復(fù)位輸出端發(fā)出復(fù)位信號(hào),使GMS97C2051可靠復(fù)位。
顯示電路采用帶有高速串行接口的8位LED控制驅(qū)動(dòng)器PS7219。PS7219是高性能、低價(jià)格的多位LED顯示驅(qū)動(dòng)器,完全兼容MAX7219,并增添了位閃等功能。其接口采用流行的同步串行外設(shè)接口SPI,可與任何一種單片機(jī)方便接口,并可同時(shí)驅(qū)動(dòng)8位LED。PS7219內(nèi)部有15×8 RAM功能控制寄存器,可方便尋址、對(duì)每位數(shù)字可單獨(dú)控制、刷新,不需重寫(xiě)整個(gè)顯示器,顯示亮度可數(shù)字控制,每位都有閃爍使能控制位。PS7219的這些特點(diǎn),既節(jié)省了I/O口,又方便了編程。
A/D轉(zhuǎn)換器采用8位串行控制模數(shù)轉(zhuǎn)換器TLC0834。TLC0834是低價(jià)格8位逐次逼近型A/D轉(zhuǎn)換器,其多路器可用軟件配置為單端或差分輸入,也可配置為偽差分輸入,基準(zhǔn)電壓的大小可調(diào),在全8位分辨率下允許任意小的模擬電壓編程間隔。
濕敏傳感器采用電容式濕敏元件HS1101。HS1101有響應(yīng)快、線性度高、高可靠性和常時(shí)間穩(wěn)定性、常時(shí)間飽和下快速脫濕等優(yōu)點(diǎn)。IC1-a與 R1、R2、C1組成一個(gè)多諧振蕩器,其振蕩頻率f=1.44/(R1+2R2)C1,圖示參數(shù)振蕩頻率約為50Hz(T=20ms),其振蕩脈沖作為可變脈沖發(fā)生器提供觸發(fā)脈沖。圖1中右側(cè)的單穩(wěn)態(tài)觸發(fā)器由IC1-b、R3以及HS1101組成,輸出脈寬取決于充電時(shí)間常數(shù)RC,即t=1.1R3(C2 +CX),此輸出脈沖經(jīng)平滑濾波器R4、C3濾波后,經(jīng)IC3(OP07)直流放大后輸入到TLC0834的模擬電壓輸入端。其中,RP1用來(lái)調(diào)零, RP2用來(lái)調(diào)滿刻度。
溫度傳感器采用MF58型熱敏電阻,本系統(tǒng)的測(cè)量范圍為:-30~120℃,對(duì)應(yīng)的電阻值范圍為: 60.0256~0.2760kΩ。因MF58的阻值變化足以為T(mén)LC0834提供0~2.5V的模擬電壓,所以LM358接成電壓跟隨器的形式。 TLC0834可由軟件配置為差分或單端輸入,對(duì)于溫度采樣用差分輸入方式,RP3用來(lái)調(diào)零,RP4用來(lái)調(diào)滿刻度。
本系統(tǒng)中設(shè)立3個(gè)按鍵,分別是功能鍵、加1及減1鍵,用來(lái)設(shè)定溫濕度的上下限。功能鍵是多功能鍵,依照按下的次數(shù)執(zhí)行相應(yīng)的功能。當(dāng)功能鍵第一次被按下,數(shù)碼管顯示調(diào)整低溫加熱下限符號(hào)并顯示低溫加熱下限的值,按加1減1使值符合要求后,再按下功能鍵則數(shù)碼管顯示調(diào)整低溫加熱上限符號(hào)并顯示低溫加熱上限的值,按加1減1使值符合要求,這樣依次類推,設(shè)定完最后一個(gè)參數(shù)后,再按一次功能鍵則完成參數(shù)整定進(jìn)入測(cè)控狀態(tài)。
軟件編程
控制儀的軟件由主程序和T0中斷處理程序組成,其中主程序框圖如圖2所示,T0中斷處理程序如圖3所示。
系統(tǒng)中,設(shè)定定時(shí)器T0為工作方式1,定時(shí)周期為125ms,8次定時(shí)器中斷為1秒。為了提高抗干擾性能,采用滑動(dòng)平均濾波算法,即只采樣一次,將這一次采樣值和過(guò)去的若干次采樣值一起求平均,得到的有效采樣值即可投入使用。本系統(tǒng)中采用兩個(gè)環(huán)形隊(duì)列,每次中斷采樣一次溫濕度的值,分別放入環(huán)形隊(duì)列中,每存入一個(gè)新數(shù)據(jù)便自動(dòng)沖去一個(gè)舊數(shù)據(jù)。環(huán)形隊(duì)列的地址為30H~3FH共16個(gè)單元,溫濕度數(shù)據(jù)各占8個(gè)單元。為了有效防止顯示閃爍現(xiàn)象,每秒鐘進(jìn)行一次數(shù)據(jù)處理(8個(gè)數(shù)據(jù)求和再除以8),處理后的數(shù)據(jù)換算成溫濕度的值送顯示緩存并申請(qǐng)顯示,同時(shí)進(jìn)行監(jiān)控處理,符合加熱器加熱停止條件或排分扇啟動(dòng)停止條件的,要進(jìn)行相應(yīng)的處理。
由于系統(tǒng)中有看門(mén)狗電路,所以在編程時(shí)要特別注意,傳統(tǒng)的等待按鍵釋放的方法容易造成看門(mén)狗電路輸出復(fù)位信號(hào)。解決方法是,在主程序中,當(dāng)檢測(cè)到有鍵按下后置鍵按下標(biāo)志位,在主程序的循環(huán)中則反復(fù)判斷鍵按下標(biāo)志位是否被清零,如果被清零則說(shuō)明鍵已釋放,然后才能進(jìn)行下一輪的鍵盤(pán)按下判斷。在T0中斷處理程序中,每次中斷均要檢測(cè)鍵是否按下。若無(wú)鍵按下,有兩種情況,一是系統(tǒng)中無(wú)鍵按下(此時(shí)鍵按下標(biāo)志為0),處于監(jiān)控狀態(tài);二是鍵按下釋放后的情況(此時(shí)鍵按下標(biāo)志為1),這時(shí)要清鍵按下標(biāo)志,以便主程序中進(jìn)行下一輪的鍵按下檢測(cè)。這樣既可以保證當(dāng)鍵按下后不論按下多長(zhǎng)時(shí)間只響應(yīng)一次,又可以保證不使看門(mén)狗電路輸出復(fù)位信號(hào)。
結(jié)語(yǔ)
用單片機(jī)為核心開(kāi)發(fā)的溫濕度控制儀小巧美觀,安裝、使用方便,性能穩(wěn)定可靠,不僅可用于電力部門(mén),對(duì)溫濕度要求較高的庫(kù)房、糧倉(cāng)等場(chǎng)所也十分適用。