張曉雯
(甘肅畜牧工程職業技術學院,甘肅武威,733006)
當前,科技引領下的新型農業產業飛速發展,蔬菜大棚等生產方式大大提升了農業生產的效率和適應性。隨著現代信息技術、無線通信技術、物聯網技術等一批新型技術應用于溫室大棚的控制系統中,溫室大棚環境控制系統總體上正朝著無線化、網絡化、智能化的方向發展。農業生產過程中溫濕度、光照等參數控制對于促進農作物生長意義重大。農村小規模蔬菜大棚仍采用傳統人工溫濕度控制方式,存在控制精度不高、響應不及時等缺點,為解決上述問題,設計了基于單片機的遠程控制蔬菜大棚環境控制系統。
溫室大棚溫濕度監控系統課調控設備包括各種開窗、強制通風、拉幕保護、輔助調溫等,可有效改善溫室大棚內部生產環境。常用蔬菜大棚控制系統中,一般由微控制器、溫濕度檢測及控制、光照強度檢測等模塊構成。通過單片機對大棚內部環境中的溫濕度、光照強度進行信號采集,采集后的數據經液晶顯示后實時將測量值與閾值進行對比。如參數超出農作物正常適應范圍,則通過微控制器驅動溫濕度、光照強度等控制電路,對大棚內部相應處理設備進行控制。當生產環境參數達到農作物適宜范圍時則及時關停處理設備。若長時間都無法達到生產所需生產環境參數,則通過蜂鳴器進行報警。本設計以作物最適宜的環境參數作為控制重點,經對比分析提出總體設計方案,根據對比分析確定核心芯片類型的基礎上進行整體電路設計及程序開發,完成預期功能。
傳統遠程監控系統當中,若采用模擬元器件對系統進行設計,通常會影響測控系統的精確度。本設計結合蔬菜大棚實際生產需求,主要對環境溫濕度及光照強度等進行控制。以STC89C51單片機為控制核心,用DHT11傳感器對環境中的溫度與濕度進行檢測,使用光敏電阻和PCF8591模數轉換芯片進行光照強度檢測,利用LCD1602顯示模塊對檢測的數據進行顯示。如果溫濕度實測值沒有在安全閾值范圍內,系統自動燈光報警,并啟動相應的溫濕度調節控制設備。如果光照強度過強,則通過單片機驅動電機進行轉動,帶動卷簾實現對光照的合理控制。系統還增加了按鍵電路,實現對溫濕度值的動態調整,以及具備了對加濕器、加溫器的實時控制功能。本設計以農作物最適宜的溫濕度范圍作為控制方向,對蔬菜大棚內溫濕度進行合理調整,系統的總體結構如圖1所示。

圖1 控制系統設計框圖
實現對光強進行檢測的傳感器主要有光敏電阻和太陽能電池板。太陽能電池板可采集周圍光照強度并輸出對應電壓。而光敏電阻是通過不同強度的光照射所引起的阻值變化,間接表示環境光照強度。鑒于太陽能電池板在室內不同光照強度下,輸出電壓變化不明顯,本設計采用光敏電阻進行光照強度檢測。本文主要對溫度、濕度及光強三個環境因素進行控制,檢測到參數高于或低于上下限閾值時,系統發注指定控制相關處理設備動作實現對相應參數的控制。此外,為保證大棚控制系統安全可靠,采用HK4100F繼電器模塊間接控制對應處理設備。
設計采用的STC89C51單片機是一種可在低電壓工作的高性能8位微處理器。其存儲單元有4k容量,兼容51指令系統及80C51產品。單片機控制最小系統由電源、復位、振蕩電路等組成,最小系統中的電源供電采用USB實現。因后續需驅動電機正反轉電路,設計采用兩個USB電源接口均為5V/1A。晶振電路可為單片機正常工作提供穩定頻率,設計采用的晶振為單片機提供11.0592MHz的工作主頻。為提高晶振可靠性,采用30pF電容進行去耦。
為防止單片機掉電時寄存器異常或程序運行時出現問題,設計中添加了采用上電復位方式的復位電路,對單片機的寄存器進行清零初始化。STC89C51單片機為高電平復位,一般情況下在復位引腳RST上連接一個10μF的電容到VCC,之后在連接一個10k的電阻到GND,以此形成一個RC充放電回路,用以保證單片機在上電時有足夠時間的的高電平進行復位。單片機最小系統如圖2所示。

圖2 單片機最小系統圖
設計中對溫濕度采集采用DHT11溫濕度傳感器,該傳感器是一款能輸出數字信號的單總線傳感器。利用數字模塊采集技術使得該產品具有穩定可靠的性能。DHT11傳感器內部包含電阻式感濕元件及NTC測溫元件,可直接與高性能的單片機相連接。DHT11在信號處理過程中會調用一次性可編程儲存器中的校準系數,該系數是在精準校驗室中校準并以程序形式儲存的。采用單線制串行接口使得系統設計過程中更簡便快捷。
數字型溫濕度傳感器實現了高度集成化,將溫度檢測、濕度檢測、A/D轉換及信號變換等功能集成在一起,通過數字式串型數據接口輸出數字信號。溫濕度檢測模塊的電路相對簡單,僅需提供5V電源,輸出引腳外加一個上拉電阻提高輸出能力,即可保證模塊正常工作。在連接線長度短于20米時建議使用5k上拉電阻,當連接線長度大于20米時可根據實際情況選擇合適的上拉電阻。溫濕度采集模塊電路如圖3所示。

圖3 溫濕度采集電路原理圖
本設計采用的光敏電阻是一種利用光電效應制作而成的電阻器。該電阻器光譜特性與人眼對可見光的響應很接近,對光線較為敏感。在全黑暗環境中阻值大于10k。有光照射時,阻值變化至200歐,用其對蔬菜大棚環境中光照強度進行檢測可滿足設計需求。
因光敏電阻輸出信號為模擬信號,需通過模數轉換芯片將其模擬信號轉換為數字信號以便單片機可直接進行處理。模數轉換芯片采用的是PCF8591。在單電源工作下,便可以實現4路的8位模數轉換。該芯片與單片機通信接口為標準的I2C接口,支持一個總線上掛載多個芯片。PCF8591主要承擔模數轉換作用,將光敏電阻與2k電阻串聯分壓得到的電壓進行采集,實現將光強轉換成電能后的模擬電壓讀取,并傳輸給單片機,光照強度采集模塊電路如圖4所示。

圖4 光照強度采集電路原理圖
溫濕度控制電路運行由繼電器控制實現,通過繼電器通斷實現打開和關閉溫濕度控制電路的操作。為保證繼電器導通,采用三極管放大電路增大驅動能力,可直接驅動繼電器開、關。電流通過電阻后進入三極管,對電流信號進行放大,之后進入繼電器,繼電器進行閉合操作,開關打開,水泵開始工作。設計中通過繼電器實現了對加熱器、加濕器、除濕器、降溫器這四種大功率電器的控制,最終保證了大棚環境當中對溫濕度的調節與控制。4個繼電器控制引腳接入單片機P1.4-P1.7引腳中。
為實現大棚內部光照強度的控制和調節,需要基于電機實現對大棚卷簾進行開閉合控制的功能。設計選用直流減速電機作為卷簾控制電機,該電機的控制需采用專用正反轉控制芯片進行。本設計采用外電路相對簡單的L9110S進行電路設計,通過單片機的P2.0、P2.1這兩個引腳,實現對電機正反轉的控制,參數處理與控制電路原理圖如圖5所示。

圖5 參數處理及控制電路原理圖
采用C語言進行軟件程序設計,較之匯編語言C語言不需分配每一RAM單元,結構方面層次分明。采用Keil4 C51軟件進行C語言編寫和調試,該軟件具有豐富的庫函數,目標代碼生成效率較高。其中uVision模塊是C51系列單片機在Windows當中的集成開發環境,可進行程序的編寫、編譯、調試等開發過程。利用Keil4 C51進行程序編寫時,需要先建立工程,選擇好保存的路徑。之后選擇對應的單片機型號進行保存,在工程中新建文件,保存時其后綴應設置為.c格式。
軟件程序設計采用模塊化方式,將程序分為主程序和多個子程序。在主程序開始時對單片機以及液晶進行初始化,之后設置參數的控制范圍,接著開始檢測溫濕度的值,將檢測到的溫濕度與設定的參數進行對比,判斷是否進行溫濕度的控制。之后模數轉換芯片開始初始化,對光照強度進行檢測,判斷是否需要通過電機對光照強度進行調節。最后將溫濕度以及光照強度在液晶屏上面顯示,主程序的設計流程如圖6所示。

圖6 主程序設計流程圖
對主程序進行設計時,通過檢測按鍵狀態對溫濕度的上下限閾值進行調節。只要檢測到對應的I/O為低電平說明對應的按鍵被按下,程序就會執行相應的指令。開始一般都會給I/O口賦一個高電平,之后開始檢測按鍵是否為被按下。通過延遲去抖,再次檢測按鍵是否為低電平狀態,如果在低電平狀態就會賦加一的值給該變量,從而實現對按鍵增加的設置。
利用DHT11傳感器實現對蔬菜大棚環境當中的溫濕度檢測時需要編寫該模塊驅動程序。將采集到的溫濕度信號進行轉換,由單片機進行處理決定輸出控制策略,在單片機開始讀取DHT11的溫濕度數據之前,需要先給一個持續18ms以上的低電平,以保證DHT11能檢測到起始信號。由于DHT11獲取數據的方式也是低電平,因此在主控芯片輸出低電平之后需立即拉高,給20至40ms延遲以穩定系統。程序設計中采用大約24ms進行延遲。在對光照強度進行采集的時候,將光敏電阻與2k電阻串聯分壓得到的電壓數據進行采集,模數轉換芯片PCF8591將采集到的電壓進行讀取并轉換,輸送至單片機進行顯示。
在大棚溫濕度控制程序設計中,首先開始檢測當前環境溫濕度情況。如果此時的溫濕度在設置的合理范圍內,則不需要對農作物進行溫濕度調節。如果溫濕度超出設置的閾值范圍,單片機驅動繼電器打開溫濕度控制回路,實現對農作物的溫濕度控制操作。直到溫濕度達到閾值范圍,再關閉繼電器回路,停止對農作物的溫濕度控制。基于光強檢測電路實現對光照強度的實時監測。一旦發生光照強度超出設定值的情況,單片機驅動L9110S實現對卷簾電機的正反轉控制,從而實現了對光照強度的適時調節控制。
針對前述硬件電路,為確保軟件程序設計合理性,應用Proteus軟件對電路進行了仿真分析。Proteus軟件可進行原理圖布圖、程序調試以及外圍電路協同仿真。仿真搭建的模塊包括單片機最小系統、溫濕度采集模塊、光照強度采集模塊等。
仿真時,需要先確定好仿真的內容以及實現的效果,本次仿真采用可調電阻對光敏電阻進行模擬,將檢測到的模擬量通過PCF8591芯片進行模擬信號與數字信號間的轉換。將信號輸入到單片機的最小系統中,液晶屏上將會顯示所檢測到的光照強度。在仿真當中電機驅動用LED進行模擬,通過對仿真電路當中的電阻進行調節,可以看到液晶屏上面的顯示值,在超過上限閾值或低于下限閾值時,單片機對應的LED燈均被點亮,由此驗證了光照模塊的可行性。
軟硬件系統設計完成后,根據硬件電路進行了系統整體系統的焊接與調試。首先檢查線路是否有虛焊,采用萬用表完成檢測。當電路沒有短路、斷路時,可通電進行測試。通電測試主要測量各個節點的電氣特性。通過對電路進行焊接以及對各模塊進行組裝,得到了系統的硬件電路部分。
將所設計程序下載到單片機后就可進行硬件調試。系統上電后,系統正常運行結果如圖7所示。可知液晶屏第一行顯示出濕度、溫度、光照強度的數值,第二行則是溫濕度保護范圍的閾值上限和閾值下限。該系統液晶顯示模塊工作正常。長按K1按鍵,可對濕度的上限閾值在20-60%RH之間進行調節。經調試按鍵設置符合程序設計要求。經調試,系統軟硬件運行均正常,可實現溫度、濕度以及光照強度的檢測與控制功能,基本達到了預期目標。

圖7 系統運行結果圖
本文采用模塊化設計理念分析了蔬菜大棚溫濕度及光照強度等影響因素,設計了以STC89C51單片機為核心的環境參數控制系統。利用DHT11溫濕度傳感器對環境溫濕度進行檢測并經液晶顯示,通過按鍵電路對溫濕度上下限閾值進行調節。采用繼電器作為系統控制輸出模塊,實現了對溫濕度、光照處理設備的控制。由光敏電阻及PCF8591模數轉換芯片組成的光照強度檢測模塊,根據設定光照值的高低利用電機實現對卷簾開關的控制。本文對系統的硬件以及軟件進行了分析,利用Keil4軟件對程序進行編輯以及調試,采用Proteus8.6對系統進行了仿真,調試了檢測、按鍵及控制等模塊。經調試,該系統實現了對溫濕度及光強的檢測與控制,當所檢測參數不在設置閾值范圍時系統能做出相應動作。