蔡吉晨,楊 碩,王 秀
(1.中國農(nóng)業(yè)大學(xué) 信息與電氣工程學(xué)院,北京 100083;2. 國家農(nóng)業(yè)智能裝備工程技術(shù)研究中心,北京 100097;3.農(nóng)業(yè)部農(nóng)業(yè)信息技術(shù)重點(diǎn)實(shí)驗(yàn)室,北京 100097;4.農(nóng)業(yè)智能裝備技術(shù)北京市重點(diǎn)實(shí)驗(yàn)室,北京100097)
溫室管理作為溫室產(chǎn)業(yè)的關(guān)鍵環(huán)節(jié),已由大勞動力投入轉(zhuǎn)向?yàn)樽詣踊?、智能化控制,?shí)現(xiàn)光照、溫度、水分和二氧化碳濃度等植物生長所需的人為控制,增加了農(nóng)作物的產(chǎn)量,改變了農(nóng)作物的產(chǎn)季,提高了經(jīng)濟(jì)效益。溫室水肥灌溉是溫室管理的重要組成部分,主要包括溫室環(huán)境監(jiān)控系統(tǒng)[1-5]、灌溉決策系統(tǒng)[6-7]和水肥實(shí)時(shí)執(zhí)行系統(tǒng)[8-9]。
水肥實(shí)時(shí)執(zhí)行系統(tǒng)主要解決施用方法、施用量和施用時(shí)間的問題。大面積溫室的出現(xiàn),遠(yuǎn)距離有線鋪設(shè)不僅浪費(fèi)材料,也增加了溫室投入成本,使無線控制成為主流;分區(qū)種植、分區(qū)灌溉的出現(xiàn),為溫室單體構(gòu)建局域無線通訊網(wǎng)絡(luò)提出了新的問題;統(tǒng)一時(shí)段大量灌溉,受植物吸收能力限制,造成水肥浪費(fèi),不利于具有針對性的水肥灌溉方法的實(shí)施。溫室水肥實(shí)時(shí)執(zhí)行系統(tǒng)在實(shí)際應(yīng)用中仍有待完善。
針對以上問題,為解決具有分區(qū)種植特點(diǎn)的溫室水肥灌溉問題,采用多時(shí)段、分區(qū)灌溉方法,搭建溫室單體無線控制局域網(wǎng)絡(luò),采用模塊化的設(shè)計(jì)思路,設(shè)計(jì)了一種溫室分區(qū)多時(shí)段灌溉執(zhí)行系統(tǒng),具有易于推廣和擴(kuò)展的特點(diǎn)。
本系統(tǒng)主要由參數(shù)設(shè)置界面、中心處理單元和各末端控制單元組成,如圖1所示。
圖1 系統(tǒng)總體方案示意圖Fig.1 The structure of the system overall scheme
參數(shù)設(shè)置界面主要進(jìn)行分區(qū)流量值設(shè)置和開啟時(shí)間設(shè)定,通過232接口與中心處理單元進(jìn)行通訊,中心處理單元通過232接口連接GW-YL-100IL型電臺數(shù)傳模塊。該電臺數(shù)傳模塊采用無線電臺進(jìn)行傳輸,具有收發(fā)一體、半雙工及數(shù)據(jù)收發(fā)轉(zhuǎn)換自動完成的功能,其配置工作頻率為433MHz,串口傳輸速率為9 600bps,信道速率為9 600bps,電臺數(shù)傳模塊采用透傳的方式傳輸,可任意擴(kuò)展接收節(jié)點(diǎn),增強(qiáng)了系統(tǒng)的可擴(kuò)展性。末端控制單元通過接收電臺數(shù)傳模塊傳輸?shù)臄?shù)據(jù),解析出對應(yīng)的啟動時(shí)間和灌溉量信息,對應(yīng)溫室各分區(qū)實(shí)現(xiàn)水肥灌溉。
參數(shù)設(shè)置界面主要具有系統(tǒng)時(shí)間顯示、文本輸入、按鈕輸入和數(shù)據(jù)傳輸接口功能。本系統(tǒng)選擇的系統(tǒng)參數(shù)設(shè)置界面為DC80600B080_03WK_RTC型串口觸摸屏,以Cortex-M3和高速FPGA雙處理器為核心,具有如按鈕、文本、系統(tǒng)時(shí)間等常用組件控件,通過串口與MCU進(jìn)行交互。觸摸屏應(yīng)用電路如圖2所示。每觸發(fā)一次組態(tài)控件事件,串口屏通過配置將會通過串口發(fā)送相應(yīng)的16進(jìn)制指令,也可通過MCU串口發(fā)送相應(yīng)的指令觸發(fā)相應(yīng)的事件,以利于MCU與觸摸屏之間的交互實(shí)現(xiàn)。
圖2 觸摸屏應(yīng)用電路Fig.2 Application circuit of the touch screen
中心處理單元主要由STC12C5A60S2單片機(jī)、TTL轉(zhuǎn)串口模塊參數(shù)設(shè)置界面及電臺數(shù)傳模塊組成,如圖3所示。為適應(yīng)溫室內(nèi)供電環(huán)境,采用220V轉(zhuǎn)DC5V開關(guān)電源為單片機(jī)系統(tǒng)供電。STC12C5A60S2單片機(jī)集成雙串口,單片機(jī)通過UART1經(jīng)TTL轉(zhuǎn)232模塊,通過232交叉串口線與串口觸摸屏進(jìn)行交互,獲取參數(shù)設(shè)定信息,通過UART2經(jīng)TTL轉(zhuǎn)232模塊與電臺數(shù)傳模塊通訊,用于將各設(shè)定值發(fā)送給末端控制單元。
末端控制單元主要由STC12C5A60S2單片機(jī)、電臺數(shù)傳模塊、流量傳感器、固態(tài)繼電器模塊和電磁閥等構(gòu)成,如圖4所示。整個(gè)末端控制單元由AC220V開關(guān)電源供電,該開關(guān)電源選用具有DC12V和DC5V雙電壓輸出的功能,DC12V為滴灌管路專用電磁閥供電,DC5V為MCU系統(tǒng)及電臺數(shù)傳模塊供電。MCU通過電臺數(shù)傳模塊接收的啟動指令和流量設(shè)定值,打開GTD-W-5A型固態(tài)繼電器模塊,打開滴灌管路專用電磁閥,通過USC-HS43TB型流量傳感器記錄流量信息至流量設(shè)定值后,從而關(guān)閉電磁閥,切斷管路通道,停止滴灌。
圖3 中心處理單元硬件示意圖Fig.3 The hardware structure of the center unit
圖4 末端控制單元硬件示意圖Fig.4 The hardware structure of the terminal control unit
參數(shù)設(shè)置界面采用Visual TFT組態(tài)編程環(huán)境編寫,主要由流量設(shè)置界面(見圖5)和時(shí)間設(shè)置界面(見圖6)組成。流量設(shè)置界面主要由分片(以8個(gè)分區(qū)為例)流量設(shè)置文本框、啟動按鈕和時(shí)間設(shè)置界面切換按鈕構(gòu)成。中心處理單元MCU可以讀取對應(yīng)流量設(shè)置文本框的ID號碼解析出各區(qū)流量設(shè)置值;通過讀取啟動按鈕的事件觸發(fā)指令對末端控制單元發(fā)出啟動、停止指令及各文本框參數(shù)信息;通過時(shí)間設(shè)置界面切換按鈕實(shí)現(xiàn)時(shí)間設(shè)置界面的切換。時(shí)間設(shè)置界面主要由時(shí)間輸入文本框(以4個(gè)時(shí)間段為例)、系統(tǒng)時(shí)間顯示和啟動/禁用時(shí)間段設(shè)置按鈕組成。由于該組態(tài)軟件中未設(shè)置時(shí)間輸入專用文本框功能,本文通過兩個(gè)文本框組合,即HH(0~24)和MM(0~60)進(jìn)行以24h制為參考的啟動時(shí)間設(shè)置,中心處理單元MCU通過比對讀取系統(tǒng)時(shí)間數(shù)值與時(shí)間輸入文本框的數(shù)值向末端控制單元發(fā)送啟動/停止指令;啟動/禁用按鈕用于設(shè)置該啟動時(shí)間是否處于工作狀態(tài),將啟動時(shí)間段設(shè)置在1~4個(gè)之間靈活變化。
圖5 流量設(shè)置界面圖Fig.5 The chart of flow setting interface
圖6 時(shí)間設(shè)置界面Fig.6 he chart of time setting interface
中心處理程序主要完成與參數(shù)設(shè)置界面進(jìn)行數(shù)據(jù)交互和發(fā)送指令至末端執(zhí)行程序兩部分功能。為了保證數(shù)據(jù)傳輸?shù)目煽啃裕謩e通過UART1和UART2來實(shí)現(xiàn)參數(shù)設(shè)置界面和末端執(zhí)行程序之間的數(shù)據(jù)傳輸,中心處理程序的程序流程圖如圖7所示。
圖7 中心處理程序流程圖Fig.7 The flow chart of central processing
程序開始后,首先對串口UART1、UART2和定時(shí)中斷等參數(shù)進(jìn)行初始化,串口1打開后,UART1中斷程序開始等待接收指令,當(dāng)串口觸摸屏觸發(fā)事件向中心MCU發(fā)出指令后,首先將接收到的數(shù)據(jù)存入暫存數(shù)組,進(jìn)行完整性判斷,當(dāng)接收到一條完整的數(shù)據(jù)后,通過結(jié)構(gòu)體預(yù)定義函數(shù),執(zhí)行對應(yīng)的子程序。執(zhí)行的子程序主要有流量設(shè)置文本框子程序、時(shí)間設(shè)置文本框子程序、系統(tǒng)時(shí)間設(shè)置子程序、程序啟動/停止事件和時(shí)間段啟動/禁用事件子程序。在流量設(shè)置子程序中根據(jù)文本框的ID號碼區(qū)分出對應(yīng)的文本框位置,提取出文本框數(shù)值,同時(shí)將流量設(shè)置數(shù)值嵌入到字符“$Flowa,0000.0,#”的第7~12位中,對應(yīng)1~8個(gè)分區(qū),字符串第5位分別對應(yīng)字符a~h,并將該字符串發(fā)送至UART2進(jìn)行發(fā)送。當(dāng)至少啟動一個(gè)時(shí)間設(shè)置啟動/禁用按鈕后,系統(tǒng)定時(shí)向UART1發(fā)送讀取系統(tǒng)時(shí)間的指令,獲取系統(tǒng)時(shí)間后,將16進(jìn)制系統(tǒng)時(shí)間數(shù)據(jù)截取出HH和MM信息,轉(zhuǎn)換為整型與時(shí)間設(shè)置文本框子程序中接收到的HH和MM信息進(jìn)行對比,當(dāng)二者相等時(shí),發(fā)送打開電磁閥指令“$KEYON”至UART2。當(dāng)系統(tǒng)啟動按鈕事件發(fā)生后,MCU間隔200ms向UART1發(fā)送讀取各文本框、按鈕指令,發(fā)送完成后,UART1接收到各文本框和按鈕數(shù)據(jù),并將各數(shù)據(jù)暫存入U(xiǎn)ART2發(fā)送數(shù)組中進(jìn)行依次發(fā)送,以保證系統(tǒng)每次啟動時(shí)向電臺數(shù)傳模塊發(fā)送最新的設(shè)置參數(shù)信息。工作結(jié)束后,當(dāng)按下系統(tǒng)停止按鈕后,發(fā)送關(guān)閉電磁閥指令字符串“$KEYOF”,停止工作。
末端執(zhí)行程序主要完成接受啟動/停止系統(tǒng)指令、接收對應(yīng)分區(qū)流量設(shè)置信息、進(jìn)行流量統(tǒng)計(jì)計(jì)數(shù)及開關(guān)滴灌管路電磁閥的功能,程序流程圖如圖8所示。初始化串口打開后,開始接收指令,根據(jù)數(shù)據(jù)前6位指令差異,進(jìn)行指令判別;確定指令后,繼續(xù)接收指令字符串,將對應(yīng)指令標(biāo)志位置1,跳出串口程序。主程序中判斷各子程序入口標(biāo)志位是否為1,當(dāng)流量截取指令表位為1時(shí),截取第7~12位數(shù)值,得到流量設(shè)定值,并存入流量設(shè)置變量;接收到“$KEYON”指令后,打開外部中斷0入口,啟動電磁閥。外部中斷0入口打開,等待中斷響應(yīng),獲得流量傳感器的流量脈沖信號,計(jì)數(shù)值Spray_Count++,根據(jù)試驗(yàn)測定流量累計(jì)數(shù)值為250Pulse/L,每100mL計(jì)數(shù)1次,計(jì)數(shù)值Spray_100ml++,由于流量設(shè)定值為帶1位小數(shù)的數(shù)值,通過將流量設(shè)定值x10轉(zhuǎn)換為整數(shù)進(jìn)行比較;當(dāng)?shù)竭_(dá)流量設(shè)定值后,關(guān)閉電磁閥,同時(shí)將各計(jì)數(shù)值清零,關(guān)閉外部中斷。接收到“$KEYOF”指令后,系統(tǒng)會強(qiáng)制將電磁閥關(guān)閉。同時(shí),將各計(jì)數(shù)值清零,關(guān)閉外部中斷0,作為急停開關(guān)指令使用。
圖8 末端執(zhí)行程序流程圖Fig.8 The flow chart of the terminal control processing
本系統(tǒng)主要用于溫室內(nèi)分區(qū)灌溉,關(guān)鍵控制參數(shù)包括有效通訊距離、通訊準(zhǔn)確率及管路流量的控制精度。有效通訊距離測試中,試驗(yàn)地點(diǎn)為北京市農(nóng)林科學(xué)院小湯山試驗(yàn)基地溫室大棚(長51m,寬8m)內(nèi)進(jìn)行,每個(gè)通訊距離重復(fù)100次試驗(yàn),接連發(fā)送字符串長度為112個(gè),對數(shù)據(jù)完整性進(jìn)行判定。試驗(yàn)測定結(jié)果表明:通訊距離為30m,通訊準(zhǔn)確率為80%;通訊距離為25m,通訊準(zhǔn)確率為100%。
管路流量控制精度測試,在溫室管路中工作壓力為0.2MPa,經(jīng)標(biāo)定流量傳感器參數(shù)為34.2Pulse/100mL,測量10組數(shù)據(jù)(見圖9),在設(shè)定1 000mL下,管路總流量平均值為1 087mL,流量控制精度為92%。
圖9 管路流量控制精度試驗(yàn)結(jié)果Fig.8 The results of pipeline flow control accuracy test
1)基于電臺無線傳輸模塊,設(shè)計(jì)了一種溫室分區(qū)多時(shí)段灌溉控制系統(tǒng),能夠?qū)崿F(xiàn)管路流量設(shè)置及分時(shí)段無線控制。該系統(tǒng)采用模塊化的封裝設(shè)計(jì),利于安裝和推廣。
2)該系統(tǒng)設(shè)計(jì)并實(shí)現(xiàn)了多流量值、多時(shí)段參數(shù)設(shè)置,利用文本框組合的形式構(gòu)建了24h制以分鐘計(jì)時(shí)、串口屏?xí)r間設(shè)置的方法,以及串口數(shù)據(jù)交互程序,使系統(tǒng)應(yīng)用局域網(wǎng)絡(luò)工作可靠。
3)試驗(yàn)結(jié)果表明:該系統(tǒng)有效通訊距離為25m,通訊準(zhǔn)確率為100%,對大面積溫室(60~100m2)單體進(jìn)行組網(wǎng)時(shí), 通過設(shè)置中轉(zhuǎn)收發(fā)站實(shí)現(xiàn)大面積溫室內(nèi)
數(shù)據(jù)傳輸;管路流量準(zhǔn)確率為92%,標(biāo)準(zhǔn)差為15.52mL,說明管路流量控制具有較好的穩(wěn)定性,可滿足滴灌管路流量控制的農(nóng)業(yè)應(yīng)用要求。