單片機(jī)在人工氣候箱智能控制器中的應(yīng)用
1概述
用計算機(jī)輔助農(nóng)業(yè)生產(chǎn),模擬自然環(huán)境中與植物生長有關(guān)的溫度、濕度和光照等因素,創(chuàng)造局部人工氣候;以尋求各種農(nóng)作物的最佳生長條件,探索植物的生長、發(fā)育規(guī)律。將使農(nóng)業(yè)獲得高產(chǎn),保證產(chǎn)品優(yōu)質(zhì),提高農(nóng)業(yè)生產(chǎn)的經(jīng)濟(jì)效益。在計算機(jī)輔助農(nóng)業(yè)生產(chǎn)中,人工氣候箱是農(nóng)業(yè)科學(xué)研究的有效工具之一,它是具有光照、加濕功能的高精度冷熱恒溫設(shè)備,為用戶提供了一個理想的人工氣候?qū)嶒灜h(huán)境。人工氣候箱不僅可用作植物的發(fā)芽、育苗、組織細(xì)胞、微生物的培養(yǎng);還可用作昆蟲、小動物的飼養(yǎng),水體分析的BOD測定以及其它用途的人工氣候試驗。它的用途廣泛,是生物遺傳工程、醫(yī)學(xué)、農(nóng)業(yè)、林業(yè)、環(huán)境科學(xué)、畜牧、水產(chǎn)等生產(chǎn)及科研部門較理想的試驗設(shè)備。
人工氣候箱的主要技術(shù)指標(biāo)為:
? 控溫范圍:有加濕時為20~45 °C;無加濕時為10 ~45 °C(無加濕又無光照時連續(xù)工作不超過120 h,控溫下限可控制在4 ~ 10 °C范圍內(nèi))
? 控濕范圍:50%~95%
? 濕度波動性允差:±10%(當(dāng)箱內(nèi)溫度25 °C,箱內(nèi)濕度80%以上時)
? 溫度波動性允差:±1?5 °C
? 溫度均勻性允差:±2 °C
? 溫度越限報警:±4 °C
? 光照度:三級可調(diào),全光照時≥3 000 lx
2系統(tǒng)硬件設(shè)計
根據(jù)人工氣候箱的控制要求,該控制器采用ATMEL公司生產(chǎn)的片內(nèi)帶8 kB閃速存儲器的高性能、低功耗CMOS單片機(jī)AT89C52,單片機(jī)外部擴(kuò)展8 kB數(shù)據(jù)存儲器、3個8位并行口(8255A),系統(tǒng)硬件組成如圖1所示。
顯示器采用靜態(tài)顯示,共用10個共陰極數(shù)碼管,其中:4個顯示實(shí)時時鐘(時、分各2位),3個顯示溫度的設(shè)定值或?qū)崪y值(由鍵盤選擇),2個顯示濕度的設(shè)定值或?qū)崪y值(由鍵盤選擇),1個顯示光照級,并且后6個還作為輸入控制參數(shù)的顯示窗口和提示窗口。顯示器的具體安排和輸入提示的定義分別如圖2和表1所示。
鍵盤采用4×5行列式非編碼鍵盤,8255A的PB0~PB3作為鍵掃描口,PA0~PA4作為鍵輸入口,閉合鍵值的計算式為:鍵值=行號×5+列號。鍵盤布局及定義如圖3所示。
其中:溫度、濕度、光照、時間、放棄和確認(rèn)6個鍵用于輸入控制參數(shù)及校時,查詢鍵用于校對和修改所輸入的控制參數(shù),運(yùn)行鍵啟動系統(tǒng)運(yùn)行,設(shè)定和實(shí)測2個鍵用于選擇顯示溫度及濕度的設(shè)定值和實(shí)測值。
溫度和濕度傳感器采用鉑電阻,其感應(yīng)信號經(jīng)前置放大、A/D轉(zhuǎn)換后送入單片機(jī)。輸出控制由光電耦合、柵極可關(guān)斷晶閘管組成,其中,壓縮機(jī)、加濕器和光照設(shè)備為開關(guān)量輸出,加熱器為PWM輸出。
狀態(tài)指示采用不同顏色的發(fā)光二極管,用于指示加熱、制冷、加濕、上/下越限、飛程序等系統(tǒng)狀態(tài)。蜂鳴器用于上/下越限、飛程序、掉電等的報警。
3系統(tǒng)軟件設(shè)計
系統(tǒng)軟件采用模塊化結(jié)構(gòu),主要包括主程序、實(shí)時時鐘及WatchDog中斷子程序(T2)、PWM輸出控制中斷子程序(T0)、控制參數(shù)輸入子程序、碼制轉(zhuǎn)換子程序、顯示子程序、延時子程序、溫度及濕度采樣和濾波子程序、控制參數(shù)隊列初始指針定位子程序等。系統(tǒng)軟件固化在AT89C52片內(nèi)的閃速程序存儲器中。
在控制過程中,溫度和濕度梯度及光照度的改變和控制都是基于事先輸入的控制參數(shù)進(jìn)行的,并且一天可設(shè)定n個梯度及照度。為此,分別為溫度、濕度和照度設(shè)置了一個首尾相鄰的控制參數(shù)環(huán)形隊列,存放在外部數(shù)據(jù)存儲器中,如圖4所示。系統(tǒng)軟件根據(jù)實(shí)時時鐘的值來改變當(dāng)前指針,從而實(shí)現(xiàn)梯度及照度的自動改變和計數(shù)。
系統(tǒng)的初始化設(shè)置為:定時器2為16位自動重裝定時器,其中斷為高優(yōu)先級;定時器0為16位定時器,用于PWM輸出控制,其中斷為低優(yōu)先級;8255的?A口為輸入口、B口和C口為輸出口。主程序流程圖見?圖5。??
為了模擬1天的溫度、濕度和光照,必須有實(shí)時時鐘。該系統(tǒng)采用定時器2的16位自動重新裝入方式,定時時間為0.1 s,晶振為6 MHz,定時常數(shù)計算如下:
??TC=216-(6×0.1×106)/12=15536=3CB0H
控制系統(tǒng)運(yùn)行過程中,若干擾破壞了指令指針PC的內(nèi)容,便會出現(xiàn)“飛程序”,致使系統(tǒng)失控。該系統(tǒng)利用定時器2,再輔以適當(dāng)?shù)某绦驑?gòu)成軟件WatchDog,對系統(tǒng)“飛程序”進(jìn)行檢測和自動恢復(fù)。
綜上所述,實(shí)時時鐘及WatchDog中斷子程序的功能主要有3個:?
①實(shí)時時鐘;?
②控制參數(shù)的自動改變和計數(shù);?
③軟件WatchDog。(限于篇幅,流程圖略)。
4結(jié)語
人工氣候箱原有控制系統(tǒng)采用模擬電路,溫度漂移及元器件的參數(shù)誤差對溫度的設(shè)定及控制精度影響較大,并且溫度和濕度梯度及光照度的改變不能自動完成,需要人工重新設(shè)定,使用很不方便。該系統(tǒng)采用單片機(jī)及數(shù)字量進(jìn)行控制,不僅消除了溫度漂移及元器件參數(shù)誤差的影響,而且實(shí)現(xiàn)了溫度和濕度梯度及光照度的自動改變、計數(shù);人機(jī)界面友好、操作簡單、系統(tǒng)可靠。
參考文獻(xiàn)?
1余永權(quán).Flash單片機(jī)原理及應(yīng)用.北京:電子工業(yè)出版社,1997
2王瑞福等.單片微機(jī)測控系統(tǒng)設(shè)計大全. 北京:北京航天航空大學(xué)出版社,1998
3黃賢武等.傳感器實(shí)際應(yīng)用電路設(shè)計.成都:電子科技大學(xué)出版社,1997