王秀清,王艷芳,楊世鳳,鄭 迪
(天津科技大學電子信息與自動化學院,天津300222)
溫室是一個相對較小的封閉環境,自身調節能力有限,一般需要人工干預給作物提供生長的最適環境[1],保證溫室作物的生長進程.近幾年,在國家政策的推動下,我國的溫室智能控制也取得了一定的發展[2].張德田等[3]以草莓溫室灌溉為例,研究了模糊控制技術在溫室節水灌溉中的應用.於沈剛等[4]設計實現了模糊PID智能灌溉控制器.與許多智能灌溉系統一樣,灌溉控制器都是將濕度以及濕度偏差作為控制灌溉的主要因素,但是溫室環境是非線性的、相互影響的,只通過濕度決策灌溉量是不夠全面的.針對考慮因素單一的問題,應該設計實現多因素綜合考慮、共同決策灌溉量的方案.吳波[5]設計實現了基于單片機的溫室大棚環境監控系統,在智能控制部分采用設置閾值的方式決定是否需要對溫室環境進行調控.蔡長青等[6]構建了溫室智能灌溉水肥一體化監控系統,通過預先設定的控制方案調控水肥灌溉.吳衛明等[7]構建了基于DSP的模擬溫室環境監控系統,采用DSP作為硬件核心進行數據采集和設備控制.相比較以上方法,本文提出多級模糊控制方案,充分考慮溫室內多種環境因素對水肥的影響,智能決策水肥灌溉方案.智能化控制的核心就在于采集和控制的精準及時,所以處理器的選擇尤為重要,不僅要承擔多路信息采集,而且對控制指令的速度和精度也有要求.市面上多數DSP板都具有多路高速采集的功能,而且其CPU每周期可執行多條指令,給溫室的多種環境因子采集,多設備控制提供了良好的開發基礎[8].此外,隨著物聯網農業的逐步發展,云端數據庫解決了海量數據存儲的問題.
本文擬采用DSP作為溫室水肥控制系統的核心硬件,分別連接傳感器、上位機和控制設備.溫室多環境因子的綜合分析采用模糊控制算法,給出溫室施肥灌溉的最佳方案,下位機結合CCS編程,控制溫室環境參數的采集和溫室內水肥灌溉設備的啟停,用戶上位機界面擬采用LabVIEW平臺[9]進行開發,達到實時監測溫室環境信息以及精確控制溫室施肥灌溉的目的.系統的智能控制需要大量的數據作為依托,設計實現將數據存儲到云端,本系統將數據存儲到阿里云的數據庫中.
處理器是整個控制系統的核心,接收上位機發出的控制指令,控制著傳感器的采集工作和下位機控制模塊的運行.考慮到溫室環境的復雜性以及低功耗、高處理性能的需求,本文以TMS320C6748為核心處理器構建了環境信息采集系統,系統的整體結構設計框圖如圖1所示.

圖1 系統的整體設計結構圖 Fig. 1 Overall structure of the system
TMS320C6748核心處理器的處理能力強、功耗低、運算速度快,且CPU每周期最多可執行8條指令,可以實現多通道同時采集,能夠滿足本文對溫室環境信息和土壤信息的實時多路采集和綜合控制要求.
各傳感器將采集到的環境因子和土壤信息通過串口發送到上位機,上位機實現數據云端存儲功能,并對各參數進行定量分析和綜合分析,依此構建灌溉和施肥的模糊控制模型,根據模糊推理得出灌溉和施肥的控制策略.上位機下發控制命令給核心處理器,控制水肥灌溉閥門.
作物在適宜的環境和土壤條件下才能達到高質優產.不同階段對水肥需求不同,在作物的發芽期,需要氮元素的濃度相對高一些;在作物的開花期和結果期,會更需要磷鉀元素為積累有機物提供保障[10].使用固體的速效化肥可以采用以水帶肥的方式施肥,通過肥水結合,讓可溶性的養分滲入土壤中,再被作物根系吸收.這對人為控制土壤肥力、確保植物生長有著很重要的作用.
本文以番茄為研究對象,對環境溫濕度、二氧化碳濃度、光照強度、土壤濕度和土壤氮元素濃度進行采集與分析,并構建水肥控制模型.各參數由DSP開發板控制采集.土壤水分傳感器和土壤氮元素濃度傳感器通過RS485轉USB與DSP核心處理器通信.溫濕度等傳感器均與DSP核心處理器的GPIO口相連接,進行數據傳輸.在灌溉和施肥的控制部分,采用電平驅動的方式控制繼電器,起到對施肥灌溉閥門開關控制的作用.
對于大面積溫室應用來說,人工測量作物蒸騰量費時費力,可利用Penman-Monteith(P-M)方程進行計算,其以能量平衡為依據,加之水汽擴散為基礎,適用于任何作物蒸騰量的直接計算,但是這種方法測算蒸騰量需要額外采集多種其他環境和氣象參數,比較繁瑣[11].因此,本文利用環境參數與蒸騰量的相關關系,構建蒸騰量預測模型,用來預測蒸騰量,可以簡化系統運行時蒸騰量的測算.在構建第一級自適應模型時需要的蒸騰量實測值是通過sartorius ALC-6100.1型電子天平測量計算獲得[12].
影響溫室灌溉和施肥量的因子有多個,本文主要以溫濕度、光照強度、CO2濃度、土壤濕度、蒸騰量以及土壤中氮元素濃度作為主要影響參數,構建水肥模糊控制模型.
將溫濕度、光照強度、CO2濃度與蒸騰量數據進行相關分析.如圖2所示,對幾個因素進行兩兩相關性分析,縱坐標表示相關系數,越趨近于1說明正相關性越大,越趨近于-1則說明負相關性越大.通過相關性分析可以得出各因素之間的相互影響程度.分析表明:蒸騰量與溫度、光照強度成正相關,與濕度、二氧化碳濃度成負相關;溫度對蒸騰量和濕度的影響都比較大;濕度對蒸騰量和CO2濃度的影響程度相對較小.

圖2 土壤濕度和各個環境參數的相關系數 Fig. 2 Coefficient of correlation between soil moisture and environmental parameters
土壤中營養物質主要是指土壤中含有的腐殖質分解后釋放的氮元素以及人為施肥所含的磷鉀元素等.這幾種元素對作物生長的整個周期來說都很重要,其中氮元素充足時能促進作物根、莖、葉的生長和果實的生長,對作物產量和質量都有很大的影響.
一般的模糊控制模型支持多輸入、多輸出或者單輸出,但是輸入輸出信號越多,建立規則也就越復雜.為了簡化模型,本文采用多級模糊控制的方式,構建了三級模糊控制模型.水肥控制原理如圖3所示.

圖3 水肥控制原理圖 Fig. 3 Principle diagram of irrigation fuzzy control
系統開始運行時,首先由上位機給出作物生長階段,若根據當前環境參數以及一、二級模糊控制器決策出不需要灌溉,氮元素濃度也處于該生長階段的最佳范圍內,則不需要進行控制;若氮元素充足,但是根據一、二級模糊控制器決策出需要灌溉,則此時只執行灌溉操作.如果既需要施肥又需要灌溉,則需要繼續執行三級模糊控制模型,以水帶肥執行水肥灌溉方案.
第一級采用自適應模糊系統構建模型,將溫度、濕度、光照強度、CO2濃度作為輸入,蒸騰量作為輸出,構建自適應模糊控制器,用于蒸騰量預測.這些輸入輸出數據對均為前期采集,共100組,保留20組作為測試樣本,其余用來構建模型.
為了檢驗預測模型的準確性,采用MATLAB進行驗證,用20組測試樣本的預測值與實測值進行對比,結果如圖4所示.從圖4可以看出二者非常接近,預測模型輸出蒸騰量的誤差在可以接受的范圍內,可以把根據環境參數預測的蒸騰量作為實測值進行進一步建模分析.模型具有一定的預測能力,可以滿足蒸騰量預測的需求.

圖4 測試樣本集檢驗結果 Fig. 4 Test results of sample testing
通過實測數據分析并結合相關資料[1]可知,蒸騰量與土壤濕度都是灌溉量的影響條件.當蒸騰量最大、土壤濕度最小時,灌溉量應該最大,若此時土壤濕度逐漸增加,則應逐漸減小灌溉量.在土壤濕度一定時,依據蒸騰量的大小決定灌溉量的多少,蒸騰量越大,灌溉量應該逐漸增加.將一級模型的輸出(預測的蒸騰量)與土壤濕度一起作為二級模糊控制的輸入量,構建二級模糊控制模型.進行模糊推理,確定肥量充足時的初級灌溉量.
由實驗的統計數據可知,蒸騰量在0~170g之間進行變化,土壤濕度在0~100%之間變化,即輸入量的基本論域分別為[0,170]和[0,100],將輸入量均映射到[0,5]的模糊論域上,輸入輸出量的隸屬度函數均選擇三角函數型,每個隸屬度函數分7個等級,分別為{NB,NM,NS,ZE,PS,PM,PB},依次代表最小、較小、小、適中、大、較大、最大.
在設計完成模糊控制器以后,通過仿真可以看出:當輸入蒸騰量一定時,灌溉量隨著土壤濕度的逐漸增加而減小;當輸入的土壤濕度一定時,灌溉量隨著蒸騰量的增加會呈現一定的增加趨勢,如圖5所示.綜合來看,二級模糊控制器的設計可以滿足系統的要求.
為了達到水肥一體化控制,除了灌溉量,還要考慮土壤氮元素濃度對施肥的影響.將二級模糊控制器的輸出量(初級灌溉量)和氮元素濃度作為輸入,施肥量和灌溉量為輸出量構建三級模糊控制模型.初級灌溉量的模糊論域依舊為[0,5],氮元素濃度的基本論域為[0,150],將其映射到[0,5]的模糊論域上,隸屬度函數均選擇三角函數型,模糊論域分為7個等級.依據查閱資料和經驗制定相應規則,構建模型.
通過二級仿真可以看出,土壤濕度變低,初級灌溉量會增大.在三級仿真中,最終的灌溉量隨初級灌溉量增大而增大;隨著土壤中氮元素濃度的減小,施肥量會隨之增大,此時,固體肥料需加水溶解,所以灌溉量也會隨之提升,以確保土壤中有足夠的營養物質能夠跟隨水分一起供作物吸收(圖6).

圖5 初級灌溉量與土壤濕度和預測蒸騰量的關系 Fig. 5 Relationship between primary irrigation and soil moisture and predicted transpiration

圖6 三級模糊控制模型仿真結果 Fig. 6 Simulation results of the three-level fuzzy control model
上位機監控平臺主要實現的功能是通過串口接收實時采集的環境參數并進行動態顯示,同時向核心控制器發送控制指令,此外還可以實現數據分析和數據存儲等功能,實時監測環境信息,波形圖顯示便于用戶觀察各個環境參數的變化過程.監控平臺控制系統主界面如圖7所示.

圖7 溫室水肥控制系統監控主界面 Fig. 7 Main interface of greenhouse water and fertilizer control system monitoring
溫室內環境參數是時變的,數據采集也是實時的,因此會有海量的數據需要存儲,此時從數據庫的存儲空間和程序的可移植性來說,本地數據庫已經不能滿足需求,本系統將數據存儲到阿里云的MySQL數據庫中,在數據庫中建立環境參數表,用于存儲數據采集的時間和環境參數[13].圖8為數據庫截圖.

圖8 數據庫截圖 Fig. 8 Database screenshot
本文采用LabVIEW和MATLAB混合編程方式進行上位機用戶界面開發.數據分析部分通過調用MATLAB子程序對采集的數據進行模糊控制分析,即經過三級模糊控制模型,輸出灌溉和施肥的控制策略.上位機將控制命令發送給下位機控制單元后,DSP通過軟件編程解讀模糊控制器的輸出值,經過一系列運算將接收到的數據轉化為控制澆水和施肥的閥門啟停指令,通過繼電器控制閥門開關.
本文針對溫室水肥精準灌溉問題,采用多級模糊控制手段,充分考慮溫室內的多種環境因素對水肥灌溉的影響,基于DSP搭建溫室水肥控制系統,進行參數實時采集上傳分析.應用LabVIEW構建上位機監控平臺,對溫室環境參數進行實時監測顯示和云端存儲.區別于單因素決策的方法,采用多種因素綜合分析決策水肥灌溉的策略,相較預先設定控制方案具有一定的靈活性,對比設置閾值的方法又多了智能性,可以將此控制策略應用于水肥一體化控制設備中.