王 琦,梁鐸耀,孫竹梅,武 斌
(1.山西大學自動化系,山西 太原 030013;2 太原市外國語學校,山西 太原 030027)
溫度、濕度和光照度對生物的生長繁衍產生巨大的影響[1],人為建立適合生物生長的環境,對反季蔬菜種植[2]、珍稀動植物養殖、跨境花卉種植甚至是生物科學試驗等有著重要的意義。溫室大棚是對人造環境技術的有效應用。利用自動化技術,通過配置自動檢測和控制系統,實現溫度、濕度和光照度自動控制,使溫室各參數達到設定值,為室內動植物提供最佳生長環境,并消除環境條件對生物生長的制約。
溫室自動控制系統是針對溫室室內環境條件開發的自動控制系統,一般具有溫控、濕控和光控等功能[3]。該系統包括測量單元、控制單元和執行單元三部分。
反映溫室狀態的關鍵參數包括溫度、濕度和光照度。這三個參數由各自的傳感器進行測量。將測得參數與設定的期望值進行比較,若存在偏差,則進行相應控制。控制器輸出指令驅動執行機構動作,改變輸入溫室的熱量、水量等能量,使溫室的狀態參數接近期望值。
實踐中,三個被控參數是互相耦合、相互影響的。因此,本文選用簡單的解耦方法,即構建溫度控制系統、濕度控制系統和光照度控制系統。三個單回路負反饋的子控制系統負責使被控參數與期望值相等。當三個子系統都進入穩定狀態時,溫室狀態就能滿足控制要求。溫室自動控制系統原理框圖如圖1所示。

圖1 溫室自動控制系統原理框圖
根據溫室及被控參數的實際情況,溫室控制系統的控制器可選微控制器或可編程邏輯控制器(programmable logic controller,PLC)等。對于小型溫室和區域劃分較細的智能溫室系統,選用微控制器作為核心控制器[4],通過微控制器實現對執行機構被控參數的連續調節,從而在保證溫室參數滿足要求的同時,盡可能節電、節水。使用STC89C52RC微控制器進行數據處理和控制,實現對溫度、濕度和光照度的精確控制。
STC89C52RC是宏晶公司生產的一種低功耗、高性能的八位微控制器。與AT89C51相比,其具有更大的程序存儲空間(8 KB)和數據存儲空間(512 B),I/O口多(32個),定時器多(3個16位T0、T1、T2),4路外部中斷;可通過串口(RxD/P3.0,TxD/P3.1)直接下載用戶程序,指令代碼完全兼容傳統的8051單片機,實際工作頻率可達48 MHz。
溫室自動控制的前提是及時、準確地獲取各被控參數的實時數值。因此,需要選擇恰當的溫度、濕度和光照度傳感器。
選用DS18B20溫度傳感器測量溫室環境溫度。DS18B20是數字化溫度傳感器,測溫范圍為-55~+125 ℃。該溫度傳感器具有以下優點:測溫精準,在-10~+85 ℃時精度可達±0.5 ℃;工作速度快,在最高的12位分辨率時,溫度數值化轉換時間不超過750 ms;引腳少,體積小,僅需一個I/O口就可與微控制器雙向通信;通過一個4.7 kΩ的上拉電阻,可使用外部電源或內部寄生電源供電。
由于DS18B20與微控制器通過單線連接,因此發送和接收口必須是三態的。STC89C52控制DS18B20完成轉換必須經過三個步驟:初始化、ROM操作指令、存儲器操作指令。
根據DS18B20的初始化時序、寫時序和讀時序,分別編寫三個子程序:初始化子程序INIT、命令或數據寫子程序WRITE和讀數據子程序READ。所有的數據讀寫均由最低位開始[5]。
使用HIH3610濕度傳感器測量溫室環境濕度。HIH3610濕度傳感器測量范圍寬、精度高,線性度好[6],可在40~85 ℃溫度范圍內實現范圍為0%~100%RH的濕度測量。精度可達±2%RH。
使用光照度模塊GY-30對溫室環境光照度進行測量,測量范圍為0~65 535 lx。傳感器內置16位A/D轉換器,可直接輸出數字量,不區分環境光源,測定精度高達1 lx。采用NXP IIC通信協議標準與5 V微控制器的I/O口直接連接。
由于傳感器的輸出信號形式不同,微控制器在讀取溫度和光照度時直接讀取傳感器輸出的數字量即可;而讀取濕度參數時,則需要進行A/D轉換、標度變換等數據處理[7]。
傳感器及其管腳連接如圖2所示。

圖2 傳感器及其管腳連接圖
選用加熱器、霧化噴濕裝置、通風機、遮光簾和補光燈等執行機構控制三個被控參數[8]。
溫度控制的執行機構為加熱器和通風機。當溫室溫度低于設定溫度時,開啟加熱器;當溫室溫度達到設定溫度時,停止加熱。當室內溫度高于設定溫度的上限時,啟動通風機,以通風的方式進行室內外換熱,達到降溫目的。出于經濟性的考慮,為避免加熱器和通風機反復啟停,設計了0.5 ℃雙邊控制死區[9]。
光照度控制的執行機構包括遮光簾和補光燈。遮光簾采用可調整角度的百葉窗。在午間光照充分時,通過調整百葉窗的角度合理遮光;在早晚間光照不足時,通過控制照明設備的工作數量,達到補充光照的目的。遮光控制回路包括D/A轉換器、電壓調理電路、電壓/電流轉換電路和角行程電動執行器四部分。微控制器根據光照度偏差,由比例積分微分(proportional integral derivative,PID)算法算得百葉窗的角度指令,經DAC0832轉換為相應的電壓信號。放大器LM358將輸出電壓調整到0~5 V,再經過電壓/電流轉換電路,將0~5 V的電壓信號轉換為角行程電動執行器可接收的4~20 mA信號。角行程執行器調整百葉窗的角度,直至光照度等于設定強度。LED補光燈控制回路由補光燈地址譯碼電路和補光燈驅動電路構成。由于微控制器的驅動能力有限,補光電路采用光電耦合、繼電器驅動的方式。微控制器根據補光需要,將地址譯碼器74ALS138的部分或全部輸出端置低電平,這樣光電耦合器OPTOISO1的發光二極管導通,光敏三極管隨即導通,繼電器上電,閉合LED燈的電源開關,補光燈點亮。
濕度控制的執行機構包括霧化噴水裝置和通風機。霧化噴水裝置用于增濕,通風機用于除濕。通過噴水閥的開度調節,控制噴水量,達到增加濕度的目的。當濕度超過濕度上限時,開啟通風機降低濕度。增濕控制也采用模擬量控制的方法,原理與遮光簾控制相同。
用矩陣式鍵盤實現參數的設定和顯示狀態的切換。采用LCD1602顯示器實現微控制器對測量數據和設備狀態的顯示[10]。數模轉換器DAC0832用于將數字量形式的控制指令轉換為模擬的輸出電壓值,從而控制驅動電路的輸出,最終將執行機構調整到需要的狀態。用三極管驅動蜂鳴器,連接微控制器構成報警系統。
溫室控制系統流程如圖3所示。

圖3 系統流程圖
由定時器控制程序的進程,按照溫度、濕度和光照度的順序,每2 min對參數進行一次測量和參數處理,并調整執行機構的狀態,使被控參數保持在期望值允許范圍內。當參數越限時,蜂鳴器報警,同時聯鎖啟動相應的執行機構,使參數向期望值靠近。
光熱感應溫室自動控制系統的增濕和遮光控制采用模擬量控制的思想,根據測得參數與設定值的偏差進行PID控制運算[11],并根據算得指令調整執行機構,使被控參數等于設定值。這種控制方法與傳統的開關量控制相比,有更高的控制精度,且因執行機構的動作連續,在超調量和穩定性方面有較明顯的控制優勢,有利于延長執行機構的使用壽命。由于系統能夠根據用戶需要對被控參數的期望值進行設定,具有很強的控制靈活性,可滿足多種生物的不同培育環境要求[12]。