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