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