宋子龍,曹鳳才,劉權(quán)亮
(1.中北大學(xué)信息與通信工程學(xué)院,山西 太原 030051;2.中北大學(xué)藝術(shù)學(xué)院,山西 太原 030051;3.太原理工大學(xué),山西 太原 030024)
我國(guó)是世界最大的食用菌生產(chǎn)國(guó),據(jù)統(tǒng)計(jì),我國(guó)溫室大棚總面積占全球面積的80%,但相當(dāng)一部分食用菌生產(chǎn)仍停留在傳統(tǒng)工作方式操作,操作模式產(chǎn)量低、規(guī)模小,嚴(yán)重制約著我國(guó)農(nóng)業(yè)生產(chǎn)由過(guò)去的粗獷型向精準(zhǔn)型的轉(zhuǎn)型。在當(dāng)前我國(guó)農(nóng)村經(jīng)濟(jì)轉(zhuǎn)型發(fā)展的前提下,本項(xiàng)目主要針對(duì)我國(guó)食用菌種植管理方式粗放、效率低、產(chǎn)量小、質(zhì)量差等問(wèn)題,結(jié)合食用菌產(chǎn)業(yè)的規(guī)模化發(fā)展和生產(chǎn)工藝的標(biāo)準(zhǔn)化建設(shè)的實(shí)際需求,將嵌入式系統(tǒng)技術(shù)和ZigBee 無(wú)線網(wǎng)絡(luò)結(jié)合到菌類溫室控制當(dāng)中,設(shè)計(jì)出一套集采集、傳輸、控制、監(jiān)控等為一體的溫室控制系統(tǒng)[1]。采用ZigBee 無(wú)線傳輸模塊有助于解決有線系統(tǒng)的局限性問(wèn)題,并且通過(guò)節(jié)點(diǎn)的建立,形成樹(shù)型節(jié)點(diǎn)或者星型節(jié)點(diǎn)網(wǎng)絡(luò),方便在上位機(jī)進(jìn)行總體顯示和集成管理[2]。
菌類生長(zhǎng)周期短,生長(zhǎng)階段多,現(xiàn)代化菌類溫室有別于其他溫室的特點(diǎn)在于,不同菌類所適合的環(huán)境參數(shù)不同,而且同一菌類在不同生長(zhǎng)階段所需要的環(huán)境參數(shù)也不相同,所以要保證菌類的正常生長(zhǎng),達(dá)到優(yōu)質(zhì)高產(chǎn)的目的,就必須根據(jù)菌類各個(gè)生長(zhǎng)階段生長(zhǎng)對(duì)環(huán)境的要求采取相應(yīng)環(huán)境調(diào)控措施,提供有益的生長(zhǎng)環(huán)境。部分菌類生長(zhǎng)濕度環(huán)境參數(shù)如表1 所示[3]?;赾ortexA8 平臺(tái)的菌類溫室控制系統(tǒng)主要對(duì)菌類溫室環(huán)境參數(shù)進(jìn)行實(shí)時(shí)檢測(cè)和控制,并且配套視頻監(jiān)控,目的是為菌類各生長(zhǎng)階段設(shè)置不同控制參數(shù)的溫室采集控制系統(tǒng)。操作人員可以通過(guò)人機(jī)界面顯示,操作控制器對(duì)菌類生長(zhǎng)進(jìn)行監(jiān)控管理,用戶可以根據(jù)需要自己設(shè)置各生長(zhǎng)階段的環(huán)境參數(shù),獨(dú)立對(duì)各個(gè)溫室環(huán)境進(jìn)行控制,通過(guò)對(duì)溫室內(nèi)相關(guān)設(shè)備的實(shí)時(shí)調(diào)控,使溫室內(nèi)的環(huán)境參數(shù)達(dá)到對(duì)菌類各生長(zhǎng)階段所需的環(huán)境因子的要求[3]。
表1 菌類生長(zhǎng)相對(duì)濕度參數(shù)表
系統(tǒng)的硬件組成部分由分別搭載各類傳感器和繼電器的CC2530 無(wú)線模塊、基于cortexA8 平臺(tái)的嵌入式網(wǎng)關(guān)、PC機(jī)、監(jiān)控設(shè)備等組成。硬件系統(tǒng)為用戶提供LCD、鍵盤等人機(jī)交互界面和攝像頭監(jiān)控,還可以通過(guò)手持設(shè)備對(duì)溫室進(jìn)行觀測(cè)和控制。通過(guò)生長(zhǎng)階段的劃分、設(shè)備的關(guān)聯(lián)、運(yùn)行模式的選擇、用戶數(shù)據(jù)庫(kù)等實(shí)現(xiàn)對(duì)菌類溫室內(nèi)的空氣溫度、空氣濕度、土壤溫度、土壤濕度、二氧化碳和光照等的檢測(cè)與控制,通過(guò)對(duì)溫室內(nèi)相關(guān)設(shè)備的實(shí)時(shí)調(diào)控,使溫室內(nèi)的環(huán)境參數(shù)達(dá)到對(duì)菌類各生長(zhǎng)階段所需的環(huán)境因子的要求。
系統(tǒng)實(shí)現(xiàn)的主要功能是在菌類溫室大棚中放置的各類傳感器實(shí)時(shí)監(jiān)測(cè)溫室大棚內(nèi)的空氣溫度、土壤溫度、土壤濕度、光照強(qiáng)度、CO2濃度等相關(guān)環(huán)境參數(shù),并且和數(shù)據(jù)庫(kù)的環(huán)境參數(shù)設(shè)定進(jìn)行比較;當(dāng)采集的環(huán)境參數(shù)值超標(biāo)時(shí),將向主機(jī)和手持嵌入式網(wǎng)關(guān)發(fā)出報(bào)警信息,用戶可以根據(jù)主機(jī)的數(shù)據(jù)和現(xiàn)場(chǎng)監(jiān)控設(shè)備對(duì)菌類溫室大棚進(jìn)行環(huán)境參數(shù)修改;數(shù)據(jù)庫(kù)的建立,可以使用戶根據(jù)自己的經(jīng)驗(yàn)及相關(guān)數(shù)據(jù)對(duì)菌類溫室大棚進(jìn)行噴淋、降溫、遮陽(yáng)、通風(fēng)等操作,還可以為農(nóng)業(yè)專家提供研究性依據(jù);視頻監(jiān)控可幫助工作人員遠(yuǎn)程管理菌類溫室,真正實(shí)現(xiàn)農(nóng)業(yè)大棚的監(jiān)測(cè)控制一體化。系統(tǒng)的結(jié)構(gòu)框圖如圖1 所示。
圖1 硬件電路框圖
由于溫度、濕度、光照的相互作用,環(huán)境參數(shù)具有延時(shí)性和時(shí)變性的特點(diǎn),單個(gè)參數(shù)因子的調(diào)節(jié)受到其他被控對(duì)象的影響,對(duì)一個(gè)因子的控制會(huì)影響到另一個(gè)因子參數(shù)的變化,因此在建立專家系統(tǒng)和數(shù)據(jù)庫(kù)的過(guò)程中,面對(duì)溫濕度、光照、CO2濃度等多方面數(shù)據(jù)采集,需要采用多輸出多輸入的耦合控制過(guò)程,采用模糊控制方法,將設(shè)定值和檢測(cè)值進(jìn)行比較,將偏差的變化率通過(guò)模糊決策得到模糊控制量,最后經(jīng)過(guò)處理作用于被控對(duì)象,可以使控制系統(tǒng)在較短的時(shí)間內(nèi)達(dá)到目標(biāo)。
采集模塊中的溫濕度傳感器采用有超快響應(yīng)、抗干擾能力強(qiáng)的SHT10 作為主芯片,電源引腳之間可增加一個(gè)100 nF 的電容,用以去耦濾波。SCK 用于微處理器與SHT10之間的通訊同步。由于接口包含了完全靜態(tài)邏輯,因而不存在最小SCK 頻率。DATA 三態(tài)門用于數(shù)據(jù)的讀取。DATA在SCK 時(shí)鐘下降沿后改變狀態(tài),并僅在SCK 時(shí)鐘上升沿有效。數(shù)據(jù)傳輸期間,在SCK 時(shí)鐘高電平時(shí),DATA 必須保持穩(wěn)定。為避免信號(hào)沖突,微處理器應(yīng)驅(qū)動(dòng)DATA 在低電平[5]。
本文采用的CC5230 芯片基于TI 的IAR5.3 與Zig-Bee207-Zstack 協(xié)議棧進(jìn)行開(kāi)發(fā)。CC2530 是一個(gè)兼容IEEE 802.15.4 的片上系統(tǒng),支持專有的802.15.4 市場(chǎng)以及Zig-Bee、ZigBee PRO 和ZigBeeRF4CE 標(biāo)準(zhǔn),提供了101 dB 的鏈路質(zhì)量,優(yōu)秀的接收器靈敏度和健壯的抗干擾性,四種供電模式、2 個(gè)USART、12 位ADC 和21 個(gè)通用GPIO。支持一般的低功耗無(wú)線通信。無(wú)線模塊的整體框圖如圖2 所示。
圖2 CC2530 模塊整體框圖
H0 和T0 用來(lái)表示數(shù)據(jù)庫(kù)預(yù)設(shè)定的最適宜濕度和溫度,H 和T 分別是通過(guò)傳感器返回來(lái)的實(shí)際濕度和溫度值,通過(guò)參數(shù)之間的關(guān)系建立參數(shù)方程:
eH與eT分別表示當(dāng)前值與實(shí)際檢測(cè)值之間的誤差,X、Y 為解耦參數(shù),其作用是消解耦合性。將輸入的溫濕度量通過(guò)比較得到偏差eH與eT,通過(guò)量化轉(zhuǎn)化為模糊量E,一定范圍內(nèi)的模糊子集表;將實(shí)驗(yàn)得出對(duì)應(yīng)的誤差變化率ecH 與eCT 量化成EC[4];將專家經(jīng)驗(yàn)知識(shí)建立成模糊控制規(guī)則表,通過(guò)模糊規(guī)則進(jìn)行推理可得出輸入輸出關(guān)系。通過(guò)輸入輸出關(guān)系可以得出對(duì)應(yīng)的模糊控制量U。通過(guò)循環(huán),得到對(duì)被控對(duì)象的控制。需要注意的是當(dāng)偏差較大時(shí),應(yīng)控制對(duì)應(yīng)量變化使偏差變小;當(dāng)偏差較小時(shí),應(yīng)防止系統(tǒng)振蕩,維持系統(tǒng)穩(wěn)定。模糊控制系統(tǒng)的結(jié)構(gòu)圖如圖3 所示。
圖3 模糊控制結(jié)構(gòu)圖
WinCE6.0 是微軟公司開(kāi)發(fā)的一種支持多種外設(shè)和網(wǎng)絡(luò)系統(tǒng)的嵌入式操作系統(tǒng),其支持超過(guò)1 000 個(gè)常用的Microsoft Win32API 和一些附加的編程接口,為用戶提供全面的源代碼,可用于開(kāi)發(fā)應(yīng)用程序。Windows CE 的開(kāi)發(fā)過(guò)程可以分為:OAL、驅(qū)動(dòng)、應(yīng)用程序開(kāi)發(fā)三個(gè)步驟。其中,OAL開(kāi)發(fā)最基本的一步是板級(jí)支持包(BSP),Boot Loader 在BSP開(kāi)發(fā)中具有極為關(guān)鍵的地位。在驅(qū)動(dòng)程序設(shè)計(jì)方面開(kāi)發(fā)者通過(guò)WinCE 提供的API 函數(shù)直接可以實(shí)現(xiàn)硬件交互,接口驅(qū)動(dòng)程序?qū)崿F(xiàn)的DLL 接口直接提供給內(nèi)核使用,包括串口驅(qū)動(dòng),模數(shù)轉(zhuǎn)換驅(qū)動(dòng)等等,應(yīng)用程序通過(guò)API 直接對(duì)外設(shè)進(jìn)行訪問(wèn)[7]。通訊方面主機(jī)應(yīng)用程序是一個(gè)以Windows 系統(tǒng)服務(wù)形式存在的服務(wù)程序,傳輸節(jié)點(diǎn)以及上層應(yīng)用都通過(guò)網(wǎng)絡(luò)連接到服務(wù)程序上,并通過(guò)服務(wù)程序進(jìn)行通信,設(shè)備與服務(wù)程序的通訊過(guò)程分為兩個(gè)階段。第一個(gè)階段是與中間服務(wù)的通訊,主要是與中間服務(wù)建立連接并完成設(shè)備類型的識(shí)別以及一些通訊參數(shù)的初始化,第二個(gè)階段需要有上層應(yīng)用的配合,如果有上層應(yīng)用連接到服務(wù),則設(shè)備開(kāi)始通過(guò)服務(wù)與上層應(yīng)用進(jìn)行通訊,此時(shí)服務(wù)的功能是數(shù)據(jù)轉(zhuǎn)發(fā)器,協(xié)調(diào)上層應(yīng)用和設(shè)備之間的通信,不對(duì)數(shù)據(jù)進(jìn)行處理。應(yīng)用程序完成之后,可以同時(shí)讓設(shè)備與C/S 架構(gòu)的桌面程序和Web Service 進(jìn)行通信。
菌類溫室控制系統(tǒng)界面為用戶提供溫室環(huán)境的實(shí)時(shí)參數(shù),用戶可以通過(guò)實(shí)時(shí)顯示對(duì)功能模塊參數(shù)包括溫度、濕度、光照等在內(nèi)的參數(shù)進(jìn)行系統(tǒng)配置。通過(guò)菌類溫室控制系統(tǒng)的儀表動(dòng)態(tài)界面、實(shí)時(shí)報(bào)表和遠(yuǎn)程監(jiān)控,部分界面如圖5 所示。用戶可掌握溫室的實(shí)際生產(chǎn)情況并提供異常實(shí)時(shí)報(bào)警設(shè)備控制,如圖4 所示。
圖4 菌類溫室控制系統(tǒng)程序演示圖
圖5 菌類溫室控制系統(tǒng)監(jiān)控報(bào)警圖
本文設(shè)計(jì)了一種基于cortexA8 平臺(tái)的菌類溫室控制系統(tǒng),以cortexA8 為中央控制器,CC5230 無(wú)線模塊為前端傳感器節(jié)點(diǎn),將現(xiàn)場(chǎng)數(shù)據(jù)進(jìn)行匯總之后再傳給嵌入式控制器,同時(shí)可實(shí)現(xiàn)視頻監(jiān)控功能。通過(guò)大棚現(xiàn)場(chǎng)實(shí)驗(yàn),表明系統(tǒng)智能化程度高,操作簡(jiǎn)便直觀,實(shí)現(xiàn)了農(nóng)業(yè)自動(dòng)化、集中化管理,并且數(shù)據(jù)庫(kù)的建立可為農(nóng)業(yè)專家提供研究性依據(jù),系統(tǒng)還可用于其他領(lǐng)域當(dāng)中,應(yīng)用前景廣闊。
[1]Yin L,Chen D,Li C,et al.Research on the Intelligent Greenhouse Ecological Environment Control and Application Based on Internet of Things[C]//World Automation Congress (WAC),2012.IEEE,2012:1-5.
[2]Avila-Miranda R,Begovich O,Ruiz-Leon J.An Optimal and Intelligent Control Strategy to Ventilate a Greenhouse[C]//Evolutionary Computation (CEC),2013 IEEE Congress on.IEEE,2013:779-782.
[3]蔣友.蘑菇溫室智能控制系統(tǒng)的設(shè)計(jì)[D].太原:太原理工大學(xué),2010.
[4]付煥森,李元貴,張雪蓮,等.智能專家系統(tǒng)在蔬菜溫室大棚種植中的應(yīng)用[J].中國(guó)農(nóng)機(jī)化學(xué)報(bào),2014,35(1) :240-244.
[5]黃家露,楊方,張衍林.基于CC2430 的溫室無(wú)線傳感器節(jié)點(diǎn)設(shè)計(jì)與應(yīng)用[J].華中農(nóng)業(yè)大學(xué)學(xué)報(bào),2013,32(5) :119-123.
[6]鞠傳香,吳志勇.基于ZigBee 技術(shù)的溫室大棚智能監(jiān)控系統(tǒng)[J].江蘇農(nóng)業(yè)科學(xué),2013(12) :405-407.
[7]羅健飛,吳仲城,沈春山,等.基于ARM 和WinCE 下的設(shè)備接口驅(qū)動(dòng)設(shè)計(jì)與實(shí)現(xiàn)[J].自動(dòng)化與儀表,2009,24(3) :1-3.
[8]Li S J,Luo C,Wang X D.Design of Embedded Monitoring System for Greenhouse Based on ARM11 and WinCE[J].Applied Mechanics and Materials,2013,303:1477-1480.