采用單片機設計溫濕度控制儀
A/D轉換器采用8位串行控制模數轉換器TLC0834。TLC0834是低價(jià)格8位逐次逼近型A/D轉換器,其多路器可用軟件配置為單端或差分輸入,也可配置為偽差分輸入,基準電壓的大小可調,在全8位分辨率下允許任意小的模擬電壓編程間隔。
濕敏傳感器采用電容式濕敏元件HS1101。HS1101有響應快、線(xiàn)性度高、高可靠性和常時(shí)間穩定性、常時(shí)間飽和下快速脫濕等優(yōu)點(diǎn)。IC1-a與 R1、R2、C1組成一個(gè)多諧振蕩器,其振蕩頻率f=1.44/(R1+2R2)C1,圖示參數振蕩頻率約為50Hz(T=20ms),其振蕩脈沖作為可變脈沖發(fā)生器提供觸發(fā)脈沖。圖1中右側的單穩態(tài)觸發(fā)器由IC1-b、R3以及HS1101組成,輸出脈寬取決于充電時(shí)間常數RC,即t=1.1R3(C2 +CX),此輸出脈沖經(jīng)平滑濾波器R4、C3濾波后,經(jīng)IC3(OP07)直流放大后輸入到TLC0834的模擬電壓輸入端。其中,RP1用來(lái)調零, RP2用來(lái)調滿(mǎn)刻度。
溫度傳感器采用MF58型熱敏電阻,本系統的測量范圍為:-30~120℃,對應的電阻值范圍為: 60.0256~0.2760kΩ。因MF58的阻值變化足以為T(mén)LC0834提供0~2.5V的模擬電壓,所以L(fǎng)M358接成電壓跟隨器的形式。 TLC0834可由軟件配置為差分或單端輸入,對于溫度采樣用差分輸入方式,RP3用來(lái)調零,RP4用來(lái)調滿(mǎn)刻度。
本系統中設立3個(gè)按鍵,分別是功能鍵、加1及減1鍵,用來(lái)設定溫濕度的上下限。功能鍵是多功能鍵,依照按下的次數執行相應的功能。當功能鍵第一次被按下,數碼管顯示調整低溫加熱下限符號并顯示低溫加熱下限的值,按加1減1使值符合要求后,再按下功能鍵則數碼管顯示調整低溫加熱上限符號并顯示低溫加熱上限的值,按加1減1使值符合要求,這樣依次類(lèi)推,設定完最后一個(gè)參數后,再按一次功能鍵則完成參數整定進(jìn)入測控狀態(tài)。
軟件編程
控制儀的軟件由主程序和T0中斷處理程序組成,其中主程序框圖如圖2所示,T0中斷處理程序如圖3所示。
系統中,設定定時(shí)器T0為工作方式1,定時(shí)周期為125ms,8次定時(shí)器中斷為1秒。為了提高抗干擾性能,采用滑動(dòng)平均濾波算法,即只采樣一次,將這一次采樣值和過(guò)去的若干次采樣值一起求平均,得到的有效采樣值即可投入使用。本系統中采用兩個(gè)環(huán)形隊列,每次中斷采樣一次溫濕度的值,分別放入環(huán)形隊列中,每存入一個(gè)新數據便自動(dòng)沖去一個(gè)舊數據。環(huán)形隊列的地址為30H~3FH共16個(gè)單元,溫濕度數據各占8個(gè)單元。為了有效防止顯示閃爍現象,每秒鐘進(jìn)行一次數據處理(8個(gè)數據求和再除以8),處理后的數據換算成溫濕度的值送顯示緩存并申請顯示,同時(shí)進(jìn)行監控處理,符合加熱器加熱停止條件或排分扇啟動(dòng)停止條件的,要進(jìn)行相應的處理。
由于系統中有看門(mén)狗電路,所以在編程時(shí)要特別注意,傳統的等待按鍵釋放的方法容易造成看門(mén)狗電路輸出復位信號。解決方法是,在主程序中,當檢測到有鍵按下后置鍵按下標志位,在主程序的循環(huán)中則反復判斷鍵按下標志位是否被清零,如果被清零則說(shuō)明鍵已釋放,然后才能進(jìn)行下一輪的鍵盤(pán)按下判斷。在T0中斷處理程序中,每次中斷均要檢測鍵是否按下。若無(wú)鍵按下,有兩種情況,一是系統中無(wú)鍵按下(此時(shí)鍵按下標志為0),處于監控狀態(tài);二是鍵按下釋放后的情況(此時(shí)鍵按下標志為1),這時(shí)要清鍵按下標志,以便主程序中進(jìn)行下一輪的鍵按下檢測。這樣既可以保證當鍵按下后不論按下多長(cháng)時(shí)間只響應一次,又可以保證不使看門(mén)狗電路輸出復位信號。
結語(yǔ)
用單片機為核心開(kāi)發(fā)的溫濕度控制儀小巧美觀(guān),安裝、使用方便,性能穩定可靠,不僅可用于電力部門(mén),對溫濕度要求較高的庫房、糧倉等場(chǎng)所也十分適用。
評論