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