李秋立 梁兵兵 李皖 李守曉



摘 要:為解決傳統溫室大棚智能化水平不足、經濟效益低下等問題,設計了一套由微控制板和組態軟件組成的智能溫室大棚監控系統。該系統將Arduino控制板作為下位機,其由傳感器、傳輸模塊和繼電器模塊組成,可實現對大棚內各項環境因素的實時監測、有效傳輸與調控。將PC機作為上位機,利用組態王6.55組態軟件設計人機交互組態界面,接收下位機傳輸的數據,并顯示實時數據和變化曲線,同時將數據存入數據庫中,結合軟件自帶報警控件,發送指令至下位機,對棚內環境進行調控。實驗表明,該系統可以很好地完成監測調控功能,使棚內各項環境因素能夠保持在合適范圍內,一定程度上提高溫室大棚的自動化水平和農作物產量,提高經濟效益。
關鍵詞:智能大棚;傳感器;Arduino;組態王6.55;數據庫;MAX485
中圖分類號:TP39;S24文獻標識碼:A文章編號:2095-1302(2020)07-00-03
0 引 言
傳統溫室大棚內的空氣溫濕度、光照強度、土壤濕度等均為人工測量或憑經驗判斷,存在低效且測量不準確的問題。同時,對于棚內作物生長因素的調控是由人工進入現場操作,調控程度缺少統一標準。另一方面,雖然當下智能大棚發展迅速,已經有多種類型的大棚監控系統,但大多成本較高,不易推廣。為提高大棚的自動化水平[1],實現增產增收,研發了一種由上位機、下位機和傳感器組成的可實時采集、直觀顯示與調控的智能溫室大棚監控系統,使用傳感器監測大棚內部各項環境因素。下位機控制傳感器和繼電器工作,并將數據傳輸至上位機,接收上位機發送的控制指令。上位機接收數據,進行顯示、報警、發送控制指令、數據存入數據庫等操作,管理者足不出戶就可以查看大棚內的情況,對大棚進行管理。這套系統成本相對較低,易于使用與維護[2]。
1 智能溫室大棚監控系統總體設計
系統的總體設計框架如圖1所示。底層數據采集由DHT11溫濕度傳感器、光敏電阻傳感器和土壤濕度傳感器實現,組成了系統的感知層,將實時監測大棚內的溫濕度、光強和土壤濕度。傳感器與Arduino從機組成采集模塊,由從機獲取數據并通過MAX485模塊將數據傳送至主機。Arduino主機與PC機相連,組態王通過PC機上的串口與主機進行串口通信,獲取采集的數據,在組態王軟件中通過一系列函數轉換,將數據進行綜合處理,使其能在組態王界面上顯示與操作,并根據科學實驗設定各變量的報警值。當環境因素不在合理范圍內時,發送指令至從機,對繼電器進行控制,打開或關閉相應設備[3]。同時,該系統實現了組態王6.55與Access數據庫連通,可將數據以自動或手動方式存入數據庫,之后可隨時從數據庫中調出進行分析利用。
2 系統硬件設計
2.1 主控模塊
主控模塊以Arduino Mega256為核心控制板,它是基于Atmega2560處理器的微控制板,有54路數字輸入/輸出端,16路模擬輸入端,4路UART接口,256 KB的FLASH,
8 KB的SRAM,一個16 MHz的晶振器,一個ICSP Header,只需簡單地配合USB數據線連接電腦或者交直流變壓器即可使用[4]。
2.2 傳感器檢測模塊
(1)采用DHT11溫濕度傳感器采集棚內空氣溫濕度,具有成本低、相對濕度和溫度一體測量、響應快、抗干擾能力強、信號傳輸距離長、數字信號輸出、精確校準等特點,其濕度測量范圍為20%RH~95%RH,溫度測量范圍為0~50 ℃,
基本滿足大棚內溫濕度測量要求。該傳感器包括1個電容式感濕元件和1個NTC測溫元件,可與Arduino微處理器實現單總線雙向串行傳輸[5]。
(2)采用G5516光敏電阻傳感器采集棚內的光強。G5516采用比較器輸出,信號干凈,波形好,驅動能力強,電流超過15 mA。工作電壓為3.3~5 V,有兩種輸出形式:DO數字開關量輸出(0和1)和AO模擬電壓輸出,模擬電壓輸出的數值范圍為0~1 023。
(3)YL69土壤濕度傳感器實現采集土壤濕度功能,比較器采用LM393芯片,工作電壓為3.3~5 V,較穩定,具有數字和模擬兩種輸出形式。該傳感器兩極采用銅箔,表面鍍鎳防止生銹,以提升導電性能并延長傳感器壽命[6]。
2.3 傳輸模塊
(1)Arduino模塊與PC機之間的通信通過USB數據線實現,USB數據線為Arduino模塊提供了一個虛擬串口,使其可與PC機進行串口通信,需要注意的是Arduino控制板中的數據以串行傳輸的方式傳送至電腦,可以大幅降低信息傳輸的出錯率。
(2)從機和主機之間采用MAX485模塊實現RS 485串行通信,用于主從機之間相互傳送信息。RS 485傳輸的優點是使兩設備可以進行長距離、高速率數據傳輸,同時避免受到噪聲干擾。
2.4 執行器控制模塊
輸出控制模塊主要由繼電器、加熱板、風扇、補光燈和水泵組成,將這些執行器與繼電器上的NO(常開)和COM(公共端)相連,當繼電器收到Arduino控制板發來的置高電平命令后,NO端閉合,相應執行器工作[7]。
3 系統軟件設計
3.1 Arduino下位機程序設計
Arduino下位機進行溫室大棚環境數據的采集、傳輸以及接收組態王發送的指令,控制相關執行器開閉。數據采集部分通過程序讀取所測空氣溫濕度、光強以及土壤濕度,由于測得的光強和土壤濕度均為模擬電壓值,所以需通過轉換程序將模擬電壓值轉換成百分比形式,然后與空氣溫濕度共同輸出到串口。同時還需讀取組態王發送到串口的字符并判斷,令相應繼電器工作[8]。數據采集流程如圖2所示,數據采集部分程序如圖3所示。
3.2 基于組態王的上位機組態界面設計