(哈爾濱理工大學(xué) 測控技術(shù)與通信工程學(xué)院,哈爾濱 150080)
農(nóng)作物種子萌芽階段是在特定的環(huán)境中進(jìn)行的,在萌芽過程中受到外界環(huán)境各種因素的影響,其中影響最大的是溫度與濕度[1]。特別是在我國東北地區(qū),初春時晝夜溫差與濕度的變化起伏巨大,對種子萌芽及其不利。因此必須對溫度和濕度進(jìn)行監(jiān)查和控制,使其在健康的環(huán)境中生長,提高種子的成活率。而隨著傳感技術(shù)和網(wǎng)絡(luò)水平的不斷提高,無線通訊技術(shù)在很多領(lǐng)域已經(jīng)相當(dāng)成熟,在農(nóng)業(yè)方面實行新技術(shù)的規(guī)?;a(chǎn)已是發(fā)展的必然趨勢。本文從控制系統(tǒng)和監(jiān)察系統(tǒng)2個方面對農(nóng)業(yè)大棚監(jiān)控系統(tǒng)進(jìn)行設(shè)計。在控制系統(tǒng)方面應(yīng)用解耦控制技術(shù)對大棚內(nèi)的溫濕度參數(shù)進(jìn)行控制;在監(jiān)控系統(tǒng)方面,利用上位機(jī)和WiFi模塊結(jié)合Android手機(jī)2種監(jiān)控手段對控制系統(tǒng)進(jìn)行了直觀遠(yuǎn)程的監(jiān)控。
控制系統(tǒng)主要采用解耦控制原理。在大棚內(nèi)溫度的變化與濕度的變化存在強(qiáng)耦合關(guān)系,當(dāng)大棚內(nèi)加熱設(shè)備進(jìn)行工作時,大棚內(nèi)的溫度會升高,同時濕度會相對降低;當(dāng)大棚內(nèi)的加濕設(shè)備進(jìn)行工作時,大棚內(nèi)濕度會增高,與此同時溫度會降低[2]。其溫濕度解耦控制示意圖如圖1所示。
圖1 大棚內(nèi)溫濕度解耦示意Fig.1 Schematic diagram of the temperature and humidity decoupling in greenhouse
圖1中,棚內(nèi)的溫度和濕度可以進(jìn)行相互之間的補(bǔ)償,通過溫度的變化去影響濕度的改變,其作用是相互的。由于對溫度、濕度控制不準(zhǔn)確,只能知道其相互之間存在著強(qiáng)耦合的關(guān)系,而采用解耦的PID控制方法,就能實現(xiàn)對溫濕度的準(zhǔn)確控制,從而對溫濕度的控制達(dá)到很好的效果。
解耦控制系統(tǒng)[3]是多輸入輸出系統(tǒng)綜合理論中的重要組成部分。對于常用的多輸入輸出控制系統(tǒng)來說,系統(tǒng)的每個輸入分量常與系統(tǒng)的各輸出分量存在耦合關(guān)系,即一個輸出分量可以受到多個輸入分量控制。這給系統(tǒng)的設(shè)計與分析帶來了很大的困擾。解耦的目的是通過計算分析尋求適當(dāng)?shù)目刂坡?,使輸入輸出相關(guān)聯(lián)的多變量系統(tǒng)實現(xiàn)每個輸出僅受一個輸入的控制,每一個輸入也只能控制一個輸出。在大棚內(nèi)使溫度、濕度的輸出受本身溫濕給定值的控制,其解耦控制原理如圖2所示。
圖2 大棚溫濕度解耦控制原理Fig.2 Decoupling control of the greenhouse temperature and humidity
其中,PID1和PID2分別為溫度控制器與濕度控制器;F11(S)、F21(S)、F12(S)、F22(S)均為設(shè)計的解耦器;G11(S)、G21(S)、G12(S)、G22(S)分別為溫度、溫度與濕度、濕度與溫度、濕度控制對象的傳遞函數(shù)。設(shè)定輸入調(diào)節(jié)量,輸出控制量 Y=,根據(jù)圖2可知大棚溫濕度解耦系統(tǒng)的傳遞矩陣函數(shù)為
故輸出控制量Y與輸入調(diào)節(jié)量U的關(guān)系為
對角解耦的原理就是將系統(tǒng)的傳遞矩陣變成對角矩陣,即:
設(shè)F(S)為解耦器的矩陣模型,則根據(jù)式(3)可以得出 F(S)為
求解出F(S)就可以得出解耦器的矩陣函數(shù)模型,從而得出對角解耦的結(jié)果。
通過式(2)、式(3)可以得出輸出控制量Y與輸入調(diào)節(jié)量U的解耦關(guān)系為
解耦后的等效原理圖如圖3所示。
在溫濕度控制系統(tǒng)中將PID控制器與對角矩陣運(yùn)算相結(jié)合,所得到的解耦系統(tǒng)是一個對角矩陣,運(yùn)算實現(xiàn)了一個輸入量只控制一個輸出量,最終實現(xiàn)了將耦合系統(tǒng)解耦的效果[4]。
圖3 解耦溫濕度等效原理Fig.3 Equivalent diagram of decoupling temperature and humidity
現(xiàn)今是信息技術(shù)蓬勃發(fā)展的時代,隨著現(xiàn)代計算機(jī)技術(shù)、通信技術(shù)、控制技術(shù)及圖形技術(shù)的發(fā)展,監(jiān)察系統(tǒng)的設(shè)計也越來越靈活化、多變化[5]。本套監(jiān)查系統(tǒng)采用實現(xiàn)最流行的無線WiFi通信技術(shù)和Android手機(jī)應(yīng)用平臺,設(shè)計選用溫度傳感器AD590、濕度傳感器HS1101對棚內(nèi)溫濕度進(jìn)行采集,硬件選用上主要圍繞著高速IAP15F2K61S2單片機(jī)為控制核心,WiFi通信模塊選用USR-WIFI232-G模塊,由于監(jiān)控系統(tǒng)工作在農(nóng)間大棚,故選用太陽能供電方式進(jìn)行供電,系統(tǒng)的總體框架圖如圖4所示。
圖4 監(jiān)察系統(tǒng)總體框架Fig.4 Overall frame diagram of the system
根據(jù)圖4所示:首先通過溫度、濕度等傳感器采集棚內(nèi)各項數(shù)據(jù),數(shù)據(jù)經(jīng)過信號調(diào)節(jié)傳送給單片機(jī),單片機(jī)內(nèi)事前設(shè)定出給定值比較出的偏差值,并進(jìn)行數(shù)字解耦PID運(yùn)算。通過單片機(jī)判斷大棚環(huán)境是否正常并將信號通過無線WiFi傳送到遠(yuǎn)程上位機(jī)和Android手持設(shè)備。在WiFi覆蓋的范圍內(nèi),用戶可以通過上位機(jī)實時明確地觀測控制系統(tǒng)的運(yùn)行效果。并且可以通過手持Android設(shè)備對大棚內(nèi)的環(huán)境變化進(jìn)行遠(yuǎn)程監(jiān)控。
Android是一種使用于移動設(shè)備基于Linux平臺的開源嵌入式操作系統(tǒng)[6]。該平臺主要由操作系統(tǒng)、中間件、用戶界面和應(yīng)用軟件4部分組成,采用軟件疊層的(Software Stack)方式構(gòu)建。設(shè)計系統(tǒng)采用客戶機(jī)/服務(wù)器的模式,客戶機(jī)端部分采用Java語言進(jìn)行開發(fā),數(shù)據(jù)存儲則利用Android自身數(shù)據(jù)庫SQLite來實現(xiàn),結(jié)合Socket完成網(wǎng)絡(luò)通信;服務(wù)器端部分采用VB結(jié)合SQL以及Socket編程實現(xiàn)。最終編譯結(jié)果打包生成APK文件,該文件可以在Android手機(jī)上直接安裝并運(yùn)行。相比于傳統(tǒng)的農(nóng)業(yè)大棚無線監(jiān)控系統(tǒng),本設(shè)計在用戶手持設(shè)備上設(shè)計控制界面,具有不受時間、環(huán)境、地域位置等因素限制的優(yōu)點(diǎn),操作方便靈活。
Android系統(tǒng)采用XML布局文件和Java語言混合完成界面設(shè)計,把行為比較固定的組件放在XML布局文件中管理,行為比較復(fù)雜的交給Java代碼進(jìn)行管理[7]。系統(tǒng)主要包括登錄界面、控制界面和主功能界面。在主功能界面中,可以通過點(diǎn)擊方式進(jìn)入各級控制界面。1號大棚節(jié)點(diǎn)的主控制界面如圖5所示。在該控制界面可以實時接收1號大棚內(nèi)的溫濕度參數(shù)并顯示,用戶還可以手動改變棚內(nèi)的溫度與濕度,根據(jù)自行要求對棚內(nèi)進(jìn)行升/降溫和加/減濕度的操作。
圖5 大棚Android控制界面Fig.5 Android control interface of greenhouse
在多個設(shè)備之間實現(xiàn)相互通信,常見的方法有2種:Socket通信與UDP通信[7]。Socket是一種基于TCP/IP協(xié)議,在通信兩端各建立一個Socket,從而通信兩端形成網(wǎng)絡(luò)虛擬鏈路,其具有安全性高等優(yōu)點(diǎn)。本設(shè)計選用Socket通信方式,建立Socket客戶端,客戶端的主機(jī)名為服務(wù)器的IP地址,客戶端的端口號是服務(wù)器用來監(jiān)聽該程序的端口,通過服務(wù)器的IP和端口號使客戶端與服務(wù)器相連接,使用Socket獲取輸入流讀取數(shù)據(jù),在建立的Android項目程序界面中包含文本框用于顯示從服務(wù)器端讀取的字符串?dāng)?shù)據(jù),從而接受服務(wù)器傳送過來的棚內(nèi)溫濕度環(huán)境參數(shù)。利用消息Message處理來接收數(shù)據(jù)并進(jìn)行顯示。
在局域網(wǎng)Socket連接問題上,要使Activity之間公用一個Socket連接,通常使用Application的方法,在Android中的不同Activity中傳遞變量,通常使用Intent中Bundle添加變量的操作方法[8]。在向目標(biāo)Activity內(nèi)保存參數(shù)數(shù)據(jù),其他Activity可以從目標(biāo)Activity中讀取參數(shù)。在本設(shè)計中具體的操作為分別向目標(biāo)Activity中傳遞棚內(nèi)溫度和濕度的實時數(shù)據(jù),其它Activity從目標(biāo)Activity中讀取溫濕度參數(shù)。在從服務(wù)器端讀取的字符串?dāng)?shù)據(jù)經(jīng)分割處理后結(jié)合數(shù)據(jù)單位送往界面進(jìn)行顯示。
本系統(tǒng)的軟件設(shè)計部分主要包括2部分,分別是單片機(jī)控制系統(tǒng)的軟件設(shè)計和基于Android系統(tǒng)的手機(jī)監(jiān)控軟件設(shè)計。在單片機(jī)控制部分,主要有系統(tǒng)的溫濕度測量與數(shù)據(jù)處理,控制程序功能包括定時與數(shù)據(jù)處理、PID控制程序與解耦程序等;手機(jī)監(jiān)控部分設(shè)計監(jiān)控平臺軟件,實現(xiàn)數(shù)據(jù)的顯示和歷史數(shù)據(jù)的存儲。
系統(tǒng)的控制部分主要包括:系統(tǒng)溫度的升/降,濕度的加/減,控制程序功能包括定時與數(shù)據(jù)處理、PID控制程序與解耦程序等。這一系列的操作都是在單片機(jī)的控制下完成的操作,無需工作人員進(jìn)行手動控制,現(xiàn)場的溫濕度控制要求嚴(yán)格,種子的萌芽對溫濕度的要求很高,所以在進(jìn)行控制時一定要將誤差控制在合理的范圍之內(nèi),在傳感器的誤差允許范圍之內(nèi),進(jìn)行精準(zhǔn)的控制和調(diào)節(jié)。系統(tǒng)控制流程如圖6所示。
圖6 系統(tǒng)控制流程Fig.6 System control flow chart
本設(shè)計的亮點(diǎn)在于Android的手機(jī)應(yīng)用平臺的設(shè)計,實現(xiàn)農(nóng)業(yè)的移動化和智能化、精準(zhǔn)化。手機(jī)客戶端的數(shù)據(jù)來源是下位的數(shù)據(jù)采集部分的數(shù)據(jù),傳輸?shù)氖侄问菬o線傳輸,無線傳輸?shù)脑O(shè)備是WiFi和路由,智能手機(jī)可以直接訪問路由節(jié)點(diǎn),即可訪問上傳來的數(shù)據(jù)。本部分的軟件設(shè)計應(yīng)用的語言是Java高級語言。Android應(yīng)用程序的開發(fā)屬于第4層次。應(yīng)用的開發(fā)軟件是Eclipse 4.0。圖7為Android程序流程。
圖7 Android程序流程Fig.7 Android program flow chart
在寶泉嶺農(nóng)場某實驗大棚根據(jù)種子萌芽時所需的溫濕度的要求對監(jiān)控系統(tǒng)進(jìn)行了調(diào)試,溫度的給定值為32℃,濕度的給定值為50%,溫度控制器PID 的各項參數(shù)設(shè)定為 P=35%、I=80 s、D=20 s;濕度控制器各項參數(shù)設(shè)定為 P=45%、I=30 s、D=40 s,現(xiàn)場采集數(shù)值并進(jìn)行分析。系統(tǒng)采集一天內(nèi)不同時段的溫濕度數(shù)據(jù),通過上位機(jī)或手持Android設(shè)備進(jìn)行觀察,其數(shù)據(jù)如表1所示。
表1 檢測結(jié)果Tab.1 Test results
根據(jù)表1所示,證明系統(tǒng)設(shè)計良好,可以滿足對大棚內(nèi)溫濕度的嚴(yán)格控制。大棚內(nèi)溫度的誤差不大于0.3℃,濕度誤差不大于3%,具有良好的效果,符合大棚內(nèi)種子萌芽的標(biāo)準(zhǔn)。
本文從大棚內(nèi)種子萌芽溫濕度監(jiān)控的角度出發(fā),使用溫濕度解耦PID的方法控制溫濕度設(shè)備,從而保證了大棚內(nèi)的良好環(huán)境。并結(jié)合通信技術(shù)、控制技術(shù)及圖形技術(shù)提出了基于Android手機(jī)對農(nóng)業(yè)大棚實行遠(yuǎn)程監(jiān)控。操作簡單方便、應(yīng)用性好,通過實驗證明對大棚溫濕度的檢測精度高,大棚內(nèi)溫度的誤差不大于0.3℃,濕度不大于3%,具有良好的效果,為農(nóng)業(yè)大棚監(jiān)控系統(tǒng)提供了一個新的方案。
[1]盧佩,劉效勇.溫室大棚溫濕度模糊解耦控制系統(tǒng)設(shè)計與仿真[J].農(nóng)機(jī)化研究,2010,32(1):44-46.
[2]吳興純,吳瑞武,楊燕云.基于對角解耦的大棚溫濕度控制系統(tǒng)設(shè)計與研究[J].計算機(jī)技術(shù)與應(yīng)用,2011,37(12):137-139.
[3]金以慧.過程控制[M].北京:清華大學(xué)出版社,1993.
[4]劉偉,馮向軍.關(guān)于多變量PID自適應(yīng)解耦控制器的設(shè)計[J].微計算機(jī)信息,2004,20(4):22-24.
[5]易順明,趙海蘭,袁然.基于單片機(jī)的大棚溫濕度控制系統(tǒng)設(shè)計[J].現(xiàn)代電子技術(shù),2011,34(7):129-131.
[6]徐兵,廖友成,劉文杰,等.基于Android平臺的車載導(dǎo)航系統(tǒng)研究[J].計算機(jī)測量與控制,2014,22(2):601-603.
[7]李慧,劉星橋,李景,等.基于物聯(lián)網(wǎng) Android平臺的水產(chǎn)養(yǎng)殖遠(yuǎn)程監(jiān)控系統(tǒng)[J].農(nóng)業(yè)工程學(xué)報,2013,29(13):175-181.
[8]江燕良.基于Android智能終端的遠(yuǎn)程控制系統(tǒng)[J].電子技術(shù)應(yīng)用,2012,38(8):129-132.