王秀清,王艷芳,楊世鳳,鄭 迪
(天津科技大學(xué)電子信息與自動(dòng)化學(xué)院,天津300222)
溫室是一個(gè)相對較小的封閉環(huán)境,自身調(diào)節(jié)能力有限,一般需要人工干預(yù)給作物提供生長的最適環(huán)境[1],保證溫室作物的生長進(jìn)程.近幾年,在國家政策的推動(dòng)下,我國的溫室智能控制也取得了一定的發(fā)展[2].張德田等[3]以草莓溫室灌溉為例,研究了模糊控制技術(shù)在溫室節(jié)水灌溉中的應(yīng)用.於沈剛等[4]設(shè)計(jì)實(shí)現(xiàn)了模糊PID智能灌溉控制器.與許多智能灌溉系統(tǒng)一樣,灌溉控制器都是將濕度以及濕度偏差作為控制灌溉的主要因素,但是溫室環(huán)境是非線性的、相互影響的,只通過濕度決策灌溉量是不夠全面的.針對考慮因素單一的問題,應(yīng)該設(shè)計(jì)實(shí)現(xiàn)多因素綜合考慮、共同決策灌溉量的方案.吳波[5]設(shè)計(jì)實(shí)現(xiàn)了基于單片機(jī)的溫室大棚環(huán)境監(jiān)控系統(tǒng),在智能控制部分采用設(shè)置閾值的方式?jīng)Q定是否需要對溫室環(huán)境進(jìn)行調(diào)控.蔡長青等[6]構(gòu)建了溫室智能灌溉水肥一體化監(jiān)控系統(tǒng),通過預(yù)先設(shè)定的控制方案調(diào)控水肥灌溉.吳衛(wèi)明等[7]構(gòu)建了基于DSP的模擬溫室環(huán)境監(jiān)控系統(tǒng),采用DSP作為硬件核心進(jìn)行數(shù)據(jù)采集和設(shè)備控制.相比較以上方法,本文提出多級(jí)模糊控制方案,充分考慮溫室內(nèi)多種環(huán)境因素對水肥的影響,智能決策水肥灌溉方案.智能化控制的核心就在于采集和控制的精準(zhǔn)及時(shí),所以處理器的選擇尤為重要,不僅要承擔(dān)多路信息采集,而且對控制指令的速度和精度也有要求.市面上多數(shù)DSP板都具有多路高速采集的功能,而且其CPU每周期可執(zhí)行多條指令,給溫室的多種環(huán)境因子采集,多設(shè)備控制提供了良好的開發(fā)基礎(chǔ)[8].此外,隨著物聯(lián)網(wǎng)農(nóng)業(yè)的逐步發(fā)展,云端數(shù)據(jù)庫解決了海量數(shù)據(jù)存儲(chǔ)的問題.
本文擬采用DSP作為溫室水肥控制系統(tǒng)的核心硬件,分別連接傳感器、上位機(jī)和控制設(shè)備.溫室多環(huán)境因子的綜合分析采用模糊控制算法,給出溫室施肥灌溉的最佳方案,下位機(jī)結(jié)合CCS編程,控制溫室環(huán)境參數(shù)的采集和溫室內(nèi)水肥灌溉設(shè)備的啟停,用戶上位機(jī)界面擬采用LabVIEW平臺(tái)[9]進(jìn)行開發(fā),達(dá)到實(shí)時(shí)監(jiān)測溫室環(huán)境信息以及精確控制溫室施肥灌溉的目的.系統(tǒng)的智能控制需要大量的數(shù)據(jù)作為依托,設(shè)計(jì)實(shí)現(xiàn)將數(shù)據(jù)存儲(chǔ)到云端,本系統(tǒng)將數(shù)據(jù)存儲(chǔ)到阿里云的數(shù)據(jù)庫中.
處理器是整個(gè)控制系統(tǒng)的核心,接收上位機(jī)發(fā)出的控制指令,控制著傳感器的采集工作和下位機(jī)控制模塊的運(yùn)行.考慮到溫室環(huán)境的復(fù)雜性以及低功耗、高處理性能的需求,本文以TMS320C6748為核心處理器構(gòu)建了環(huán)境信息采集系統(tǒng),系統(tǒng)的整體結(jié)構(gòu)設(shè)計(jì)框圖如圖1所示.
圖1 系統(tǒng)的整體設(shè)計(jì)結(jié)構(gòu)圖 Fig. 1 Overall structure of the system
TMS320C6748核心處理器的處理能力強(qiáng)、功耗低、運(yùn)算速度快,且CPU每周期最多可執(zhí)行8條指令,可以實(shí)現(xiàn)多通道同時(shí)采集,能夠滿足本文對溫室環(huán)境信息和土壤信息的實(shí)時(shí)多路采集和綜合控制要求.
各傳感器將采集到的環(huán)境因子和土壤信息通過串口發(fā)送到上位機(jī),上位機(jī)實(shí)現(xiàn)數(shù)據(jù)云端存儲(chǔ)功能,并對各參數(shù)進(jìn)行定量分析和綜合分析,依此構(gòu)建灌溉和施肥的模糊控制模型,根據(jù)模糊推理得出灌溉和施肥的控制策略.上位機(jī)下發(fā)控制命令給核心處理器,控制水肥灌溉閥門.
作物在適宜的環(huán)境和土壤條件下才能達(dá)到高質(zhì)優(yōu)產(chǎn).不同階段對水肥需求不同,在作物的發(fā)芽期,需要氮元素的濃度相對高一些;在作物的開花期和結(jié)果期,會(huì)更需要磷鉀元素為積累有機(jī)物提供保障[10].使用固體的速效化肥可以采用以水帶肥的方式施肥,通過肥水結(jié)合,讓可溶性的養(yǎng)分滲入土壤中,再被作物根系吸收.這對人為控制土壤肥力、確保植物生長有著很重要的作用.
本文以番茄為研究對象,對環(huán)境溫濕度、二氧化碳濃度、光照強(qiáng)度、土壤濕度和土壤氮元素濃度進(jìn)行采集與分析,并構(gòu)建水肥控制模型.各參數(shù)由DSP開發(fā)板控制采集.土壤水分傳感器和土壤氮元素濃度傳感器通過RS485轉(zhuǎn)USB與DSP核心處理器通信.溫濕度等傳感器均與DSP核心處理器的GPIO口相連接,進(jìn)行數(shù)據(jù)傳輸.在灌溉和施肥的控制部分,采用電平驅(qū)動(dòng)的方式控制繼電器,起到對施肥灌溉閥門開關(guān)控制的作用.
對于大面積溫室應(yīng)用來說,人工測量作物蒸騰量費(fèi)時(shí)費(fèi)力,可利用Penman-Monteith(P-M)方程進(jìn)行計(jì)算,其以能量平衡為依據(jù),加之水汽擴(kuò)散為基礎(chǔ),適用于任何作物蒸騰量的直接計(jì)算,但是這種方法測算蒸騰量需要額外采集多種其他環(huán)境和氣象參數(shù),比較繁瑣[11].因此,本文利用環(huán)境參數(shù)與蒸騰量的相關(guān)關(guān)系,構(gòu)建蒸騰量預(yù)測模型,用來預(yù)測蒸騰量,可以簡化系統(tǒng)運(yùn)行時(shí)蒸騰量的測算.在構(gòu)建第一級(jí)自適應(yīng)模型時(shí)需要的蒸騰量實(shí)測值是通過sartorius ALC-6100.1型電子天平測量計(jì)算獲得[12].
影響溫室灌溉和施肥量的因子有多個(gè),本文主要以溫濕度、光照強(qiáng)度、CO2濃度、土壤濕度、蒸騰量以及土壤中氮元素濃度作為主要影響參數(shù),構(gòu)建水肥模糊控制模型.
將溫濕度、光照強(qiáng)度、CO2濃度與蒸騰量數(shù)據(jù)進(jìn)行相關(guān)分析.如圖2所示,對幾個(gè)因素進(jìn)行兩兩相關(guān)性分析,縱坐標(biāo)表示相關(guān)系數(shù),越趨近于1說明正相關(guān)性越大,越趨近于-1則說明負(fù)相關(guān)性越大.通過相關(guān)性分析可以得出各因素之間的相互影響程度.分析表明:蒸騰量與溫度、光照強(qiáng)度成正相關(guān),與濕度、二氧化碳濃度成負(fù)相關(guān);溫度對蒸騰量和濕度的影響都比較大;濕度對蒸騰量和CO2濃度的影響程度相對較小.
圖2 土壤濕度和各個(gè)環(huán)境參數(shù)的相關(guān)系數(shù) Fig. 2 Coefficient of correlation between soil moisture and environmental parameters
土壤中營養(yǎng)物質(zhì)主要是指土壤中含有的腐殖質(zhì)分解后釋放的氮元素以及人為施肥所含的磷鉀元素等.這幾種元素對作物生長的整個(gè)周期來說都很重要,其中氮元素充足時(shí)能促進(jìn)作物根、莖、葉的生長和果實(shí)的生長,對作物產(chǎn)量和質(zhì)量都有很大的影響.
一般的模糊控制模型支持多輸入、多輸出或者單輸出,但是輸入輸出信號(hào)越多,建立規(guī)則也就越復(fù)雜.為了簡化模型,本文采用多級(jí)模糊控制的方式,構(gòu)建了三級(jí)模糊控制模型.水肥控制原理如圖3所示.
圖3 水肥控制原理圖 Fig. 3 Principle diagram of irrigation fuzzy control
系統(tǒng)開始運(yùn)行時(shí),首先由上位機(jī)給出作物生長階段,若根據(jù)當(dāng)前環(huán)境參數(shù)以及一、二級(jí)模糊控制器決策出不需要灌溉,氮元素濃度也處于該生長階段的最佳范圍內(nèi),則不需要進(jìn)行控制;若氮元素充足,但是根據(jù)一、二級(jí)模糊控制器決策出需要灌溉,則此時(shí)只執(zhí)行灌溉操作.如果既需要施肥又需要灌溉,則需要繼續(xù)執(zhí)行三級(jí)模糊控制模型,以水帶肥執(zhí)行水肥灌溉方案.
第一級(jí)采用自適應(yīng)模糊系統(tǒng)構(gòu)建模型,將溫度、濕度、光照強(qiáng)度、CO2濃度作為輸入,蒸騰量作為輸出,構(gòu)建自適應(yīng)模糊控制器,用于蒸騰量預(yù)測.這些輸入輸出數(shù)據(jù)對均為前期采集,共100組,保留20組作為測試樣本,其余用來構(gòu)建模型.
為了檢驗(yàn)預(yù)測模型的準(zhǔn)確性,采用MATLAB進(jìn)行驗(yàn)證,用20組測試樣本的預(yù)測值與實(shí)測值進(jìn)行對比,結(jié)果如圖4所示.從圖4可以看出二者非常接近,預(yù)測模型輸出蒸騰量的誤差在可以接受的范圍內(nèi),可以把根據(jù)環(huán)境參數(shù)預(yù)測的蒸騰量作為實(shí)測值進(jìn)行進(jìn)一步建模分析.模型具有一定的預(yù)測能力,可以滿足蒸騰量預(yù)測的需求.
圖4 測試樣本集檢驗(yàn)結(jié)果 Fig. 4 Test results of sample testing
通過實(shí)測數(shù)據(jù)分析并結(jié)合相關(guān)資料[1]可知,蒸騰量與土壤濕度都是灌溉量的影響條件.當(dāng)蒸騰量最大、土壤濕度最小時(shí),灌溉量應(yīng)該最大,若此時(shí)土壤濕度逐漸增加,則應(yīng)逐漸減小灌溉量.在土壤濕度一定時(shí),依據(jù)蒸騰量的大小決定灌溉量的多少,蒸騰量越大,灌溉量應(yīng)該逐漸增加.將一級(jí)模型的輸出(預(yù)測的蒸騰量)與土壤濕度一起作為二級(jí)模糊控制的輸入量,構(gòu)建二級(jí)模糊控制模型.進(jìn)行模糊推理,確定肥量充足時(shí)的初級(jí)灌溉量.
由實(shí)驗(yàn)的統(tǒng)計(jì)數(shù)據(jù)可知,蒸騰量在0~170g之間進(jìn)行變化,土壤濕度在0~100%之間變化,即輸入量的基本論域分別為[0,170]和[0,100],將輸入量均映射到[0,5]的模糊論域上,輸入輸出量的隸屬度函數(shù)均選擇三角函數(shù)型,每個(gè)隸屬度函數(shù)分7個(gè)等級(jí),分別為{NB,NM,NS,ZE,PS,PM,PB},依次代表最小、較小、小、適中、大、較大、最大.
在設(shè)計(jì)完成模糊控制器以后,通過仿真可以看出:當(dāng)輸入蒸騰量一定時(shí),灌溉量隨著土壤濕度的逐漸增加而減??;當(dāng)輸入的土壤濕度一定時(shí),灌溉量隨著蒸騰量的增加會(huì)呈現(xiàn)一定的增加趨勢,如圖5所示.綜合來看,二級(jí)模糊控制器的設(shè)計(jì)可以滿足系統(tǒng)的要求.
為了達(dá)到水肥一體化控制,除了灌溉量,還要考慮土壤氮元素濃度對施肥的影響.將二級(jí)模糊控制器的輸出量(初級(jí)灌溉量)和氮元素濃度作為輸入,施肥量和灌溉量為輸出量構(gòu)建三級(jí)模糊控制模型.初級(jí)灌溉量的模糊論域依舊為[0,5],氮元素濃度的基本論域?yàn)閇0,150],將其映射到[0,5]的模糊論域上,隸屬度函數(shù)均選擇三角函數(shù)型,模糊論域分為7個(gè)等級(jí).依據(jù)查閱資料和經(jīng)驗(yàn)制定相應(yīng)規(guī)則,構(gòu)建模型.
通過二級(jí)仿真可以看出,土壤濕度變低,初級(jí)灌溉量會(huì)增大.在三級(jí)仿真中,最終的灌溉量隨初級(jí)灌溉量增大而增大;隨著土壤中氮元素濃度的減小,施肥量會(huì)隨之增大,此時(shí),固體肥料需加水溶解,所以灌溉量也會(huì)隨之提升,以確保土壤中有足夠的營養(yǎng)物質(zhì)能夠跟隨水分一起供作物吸收(圖6).
圖5 初級(jí)灌溉量與土壤濕度和預(yù)測蒸騰量的關(guān)系 Fig. 5 Relationship between primary irrigation and soil moisture and predicted transpiration
圖6 三級(jí)模糊控制模型仿真結(jié)果 Fig. 6 Simulation results of the three-level fuzzy control model
上位機(jī)監(jiān)控平臺(tái)主要實(shí)現(xiàn)的功能是通過串口接收實(shí)時(shí)采集的環(huán)境參數(shù)并進(jìn)行動(dòng)態(tài)顯示,同時(shí)向核心控制器發(fā)送控制指令,此外還可以實(shí)現(xiàn)數(shù)據(jù)分析和數(shù)據(jù)存儲(chǔ)等功能,實(shí)時(shí)監(jiān)測環(huán)境信息,波形圖顯示便于用戶觀察各個(gè)環(huán)境參數(shù)的變化過程.監(jiān)控平臺(tái)控制系統(tǒng)主界面如圖7所示.
圖7 溫室水肥控制系統(tǒng)監(jiān)控主界面 Fig. 7 Main interface of greenhouse water and fertilizer control system monitoring
溫室內(nèi)環(huán)境參數(shù)是時(shí)變的,數(shù)據(jù)采集也是實(shí)時(shí)的,因此會(huì)有海量的數(shù)據(jù)需要存儲(chǔ),此時(shí)從數(shù)據(jù)庫的存儲(chǔ)空間和程序的可移植性來說,本地?cái)?shù)據(jù)庫已經(jīng)不能滿足需求,本系統(tǒng)將數(shù)據(jù)存儲(chǔ)到阿里云的MySQL數(shù)據(jù)庫中,在數(shù)據(jù)庫中建立環(huán)境參數(shù)表,用于存儲(chǔ)數(shù)據(jù)采集的時(shí)間和環(huán)境參數(shù)[13].圖8為數(shù)據(jù)庫截圖.
圖8 數(shù)據(jù)庫截圖 Fig. 8 Database screenshot
本文采用LabVIEW和MATLAB混合編程方式進(jìn)行上位機(jī)用戶界面開發(fā).?dāng)?shù)據(jù)分析部分通過調(diào)用MATLAB子程序?qū)Σ杉臄?shù)據(jù)進(jìn)行模糊控制分析,即經(jīng)過三級(jí)模糊控制模型,輸出灌溉和施肥的控制策略.上位機(jī)將控制命令發(fā)送給下位機(jī)控制單元后,DSP通過軟件編程解讀模糊控制器的輸出值,經(jīng)過一系列運(yùn)算將接收到的數(shù)據(jù)轉(zhuǎn)化為控制澆水和施肥的閥門啟停指令,通過繼電器控制閥門開關(guān).
本文針對溫室水肥精準(zhǔn)灌溉問題,采用多級(jí)模糊控制手段,充分考慮溫室內(nèi)的多種環(huán)境因素對水肥灌溉的影響,基于DSP搭建溫室水肥控制系統(tǒng),進(jìn)行參數(shù)實(shí)時(shí)采集上傳分析.應(yīng)用LabVIEW構(gòu)建上位機(jī)監(jiān)控平臺(tái),對溫室環(huán)境參數(shù)進(jìn)行實(shí)時(shí)監(jiān)測顯示和云端存儲(chǔ).區(qū)別于單因素決策的方法,采用多種因素綜合分析決策水肥灌溉的策略,相較預(yù)先設(shè)定控制方案具有一定的靈活性,對比設(shè)置閾值的方法又多了智能性,可以將此控制策略應(yīng)用于水肥一體化控制設(shè)備中.