朱旭東,李卓群,薛文初
(蘭州交通大學(xué) 新能源與動(dòng)力工程學(xué)院,甘肅蘭州,730070)
現(xiàn)代化新型農(nóng)業(yè)發(fā)展格局下,互聯(lián)網(wǎng)、物聯(lián)網(wǎng)、數(shù)字孿生等新型信息技術(shù)與農(nóng)業(yè)生產(chǎn)的深度融合,為全面推動(dòng)數(shù)字化轉(zhuǎn)型,著力改善農(nóng)業(yè)生產(chǎn)生活的環(huán)境質(zhì)量提供了前所未有的歷史機(jī)遇。
數(shù)字孿生是一項(xiàng)運(yùn)用數(shù)字技術(shù)創(chuàng)建某一設(shè)備或系統(tǒng)的數(shù)字等效物的技術(shù),用于在虛擬空間中反映其本體的實(shí)時(shí)狀態(tài)以及外界環(huán)境條件。雖然數(shù)字孿生技術(shù)的應(yīng)用重點(diǎn)在于工業(yè)制造業(yè),但仍有學(xué)者嘗試將其應(yīng)用于農(nóng)業(yè)領(lǐng)域。顧生浩[1]等探討了數(shù)字孿生系統(tǒng)在農(nóng)業(yè)生產(chǎn)中的應(yīng)用,為我國(guó)農(nóng)業(yè)數(shù)字孿生系統(tǒng)的發(fā)展提出建議。王志強(qiáng)[2]等將數(shù)字孿生與區(qū)塊鏈技術(shù)結(jié)合,針對(duì)金銀花采摘場(chǎng)景設(shè)計(jì)數(shù)字孿生系統(tǒng);毛雨晗[3]研究了溫室自動(dòng)化多層栽培裝備數(shù)字孿生監(jiān)控方法,實(shí)現(xiàn)了溫室場(chǎng)景的可視化與環(huán)境數(shù)據(jù)的監(jiān)測(cè);賴祿安[4]等基于Unit3D 搭建了數(shù)字孿生溫室大棚環(huán)境監(jiān)測(cè)系統(tǒng),實(shí)現(xiàn)了溫室大棚的可視化監(jiān)控。
目前數(shù)字孿生技術(shù)在農(nóng)業(yè)中的應(yīng)用較少,部分農(nóng)業(yè)數(shù)字孿生項(xiàng)目本體的實(shí)時(shí)狀態(tài)與外界環(huán)境在孿生體三維模型中映射不完全,且沒(méi)有達(dá)到以虛控實(shí)的效果。針對(duì)以上不足,本文提出一種基于數(shù)字孿生的新能源智能溫室控制系統(tǒng)設(shè)計(jì)。
該系統(tǒng)通過(guò)對(duì)作物狀態(tài)、生長(zhǎng)環(huán)境、設(shè)備能耗及資源可用性等數(shù)據(jù)的實(shí)時(shí)收集和監(jiān)控,利用物聯(lián)網(wǎng)與嵌入式技術(shù),建立智慧感知系統(tǒng),通過(guò)信息采集、數(shù)據(jù)分析,結(jié)合作物生長(zhǎng)周期、生長(zhǎng)環(huán)境、作物當(dāng)前狀態(tài)、存在的問(wèn)題等眾多因素進(jìn)行數(shù)據(jù)分析并呈現(xiàn),有效實(shí)現(xiàn)對(duì)溫室作物生產(chǎn)系統(tǒng)的智慧管控,提高農(nóng)業(yè)生產(chǎn)效率。
系統(tǒng)設(shè)計(jì)框架如圖1 所示。

圖1 系統(tǒng)設(shè)計(jì)框架簡(jiǎn)圖
(1)數(shù)字孿生平臺(tái):以LabVIEW 為平臺(tái)開(kāi)發(fā)的數(shù)字孿生上位機(jī)軟件。
(2)智能溫室部分:以單片機(jī)為主控核心,內(nèi)部設(shè)有傳感器以及通風(fēng)、灌溉、照明等執(zhí)行機(jī)構(gòu)。
系統(tǒng)的硬件部分以STC89C52 單片機(jī)作為主控核心,主要針對(duì)溫室數(shù)據(jù)采集、數(shù)據(jù)傳輸、數(shù)據(jù)顯示等部分進(jìn)行設(shè)計(jì)。
前端設(shè)有各種環(huán)境信息采集設(shè)備,主要包括DHT22 溫濕度傳感器、RBY-CO2 二氧化碳傳感器、光照強(qiáng)度傳感器等,電路內(nèi)部包含一塊ADC0832 芯片,將傳感器傳輸出的0~5V 模擬電壓轉(zhuǎn)換為數(shù)字值。
(1)溫濕度傳感器:DHT22 是一種無(wú)需經(jīng)過(guò)其他變換電路,直接輸出溫濕度數(shù)字量的溫度傳感器,它采用單總線技術(shù),可直接與單片機(jī)接口相連。溫濕度信號(hào)傳入P1.0 口,再由STC89C52 單片機(jī)對(duì)溫濕度信號(hào)進(jìn)行處理,然后通過(guò)串口將數(shù)據(jù)傳輸給上位機(jī),LabVIEW 上位機(jī)程序進(jìn)行進(jìn)一步的數(shù)據(jù)分析處理,最終在前面板中顯示溫濕度結(jié)果,實(shí)現(xiàn)溫濕度的實(shí)時(shí)監(jiān)測(cè)[5]。
(2)二氧化碳傳感器和光照強(qiáng)度傳感器:分別用來(lái)檢測(cè)溫室內(nèi)CO2濃度大小和光照強(qiáng)度,并將CO2濃度和光強(qiáng)大小轉(zhuǎn)換為電阻值大小。此次傳感器選用RBY-CO2型二氧化碳傳感器與光敏電阻傳感器,傳感器由敏感元件以及轉(zhuǎn)換電路組成。系統(tǒng)工作中,當(dāng)CO2濃度和光照強(qiáng)度大小變化時(shí),傳感器電阻值發(fā)生變化,經(jīng)轉(zhuǎn)換電路引起輸出電壓的變化,并將此電壓信號(hào)輸送至數(shù)模轉(zhuǎn)換器,將電壓轉(zhuǎn)化為數(shù)字量以便單片機(jī)判別運(yùn)算。
(3)ADC0832 模數(shù)轉(zhuǎn)換芯片:因?yàn)楣庹諅鞲衅骱虲O2濃度傳感器采集的光強(qiáng)信息和CO2濃度信息為模擬量,經(jīng)轉(zhuǎn)換電路后輸出電壓信號(hào)也為模擬量,因此需選用ADC0832 模數(shù)轉(zhuǎn)換器將模擬量轉(zhuǎn)換為單片機(jī)能夠識(shí)別的數(shù)字量。ADC0832 是8 位分辨率的A/D 模數(shù)轉(zhuǎn)換器,適應(yīng)多數(shù)的模擬量轉(zhuǎn)換要求[6]。該模數(shù)轉(zhuǎn)換器的CS 端口由單片機(jī)P1.1 控制,兩傳感器分別將信號(hào)傳入CH0、CH1 雙通道,由CH0、CH1 和通道接收來(lái)的模擬信號(hào)經(jīng)轉(zhuǎn)換后由DO 口送至單片機(jī)P1.4 口。
數(shù)據(jù)傳輸使用串口通信,對(duì)前端采集站采集的數(shù)據(jù)進(jìn)行傳輸,同時(shí)接收后端傳輸?shù)闹噶顓?shù),適時(shí)對(duì)溫室作出相應(yīng)的調(diào)整。
使用CH340G 芯片實(shí)現(xiàn) USB 轉(zhuǎn)串口的功能。51 單片機(jī)內(nèi)部自帶UART(通用異步收發(fā)器),可實(shí)現(xiàn)單片機(jī)的串口通信。該系統(tǒng)所用通信方式是一幀10 位的異步串行通信方式,包括1 個(gè)起始位(值為0×FF),8 個(gè)數(shù)據(jù)位和1 個(gè)停止位(值為0×EE)。其中,傳輸數(shù)據(jù)時(shí)字符低位優(yōu)先傳送,字符高位稍后傳送,即數(shù)據(jù)由低到高傳輸。
(1)數(shù)據(jù)發(fā)送:當(dāng)TI=0 時(shí),開(kāi)始發(fā)送,由硬件自動(dòng)加入起始位和停止位,構(gòu)成一幀數(shù)據(jù),然后由TXD 端串行輸出。發(fā)送完成后,TXD 輸出線維持在“1”狀態(tài)下,并將SCOM 中的TI 置1,表示一幀數(shù)據(jù)發(fā)送完畢。
(2)數(shù)據(jù)接收:RI=0,REN=1 時(shí),接收電路以波特率的16 倍速度采樣RXD 引腳,如出現(xiàn)“1”變“0”跳變,認(rèn)為有數(shù)據(jù)正在發(fā)送[7]。
串行口工作之前,對(duì)其進(jìn)行初始化,主要是設(shè)置產(chǎn)生波特率的定時(shí)器(T1)、串行控制和中斷相關(guān)寄存器。
溫室端內(nèi)為了對(duì)采集的數(shù)據(jù)進(jìn)行觀測(cè)、分析,方便及時(shí)監(jiān)測(cè)農(nóng)業(yè)數(shù)據(jù),選用 LCD1602 液晶屏顯示溫濕度、CO2濃度以及光照強(qiáng)度等數(shù)據(jù)。如圖2 所示,運(yùn)行過(guò)程中LCD 屏第一行“SD”顯示溫室內(nèi)濕度,“CO2”顯示二氧化碳濃度;第二行“WD”顯示溫室內(nèi)溫度數(shù)據(jù),“GZ”顯示溫室內(nèi)光照強(qiáng)度。LCD1602 液晶屏的 8 位數(shù)據(jù)端 D1~D7 由單片機(jī)的 P0 口控制,RS、R/W、E 端分別由單片機(jī)P2.6、P2.5、P2.4 控制[6]。

圖2 溫室端電路圖
平臺(tái)端對(duì)下位機(jī)發(fā)出指令,控制繼電器吸合(低電平觸發(fā))從而控制照明、通風(fēng)、灌溉、溫控等設(shè)備。
以太陽(yáng)能為動(dòng)力為溫室系統(tǒng)供能,清潔可靠。供電系統(tǒng)內(nèi)部蓄電池為12V 可充電鋰電池,經(jīng)穩(wěn)壓模塊電壓變換后輸出得到一個(gè)邏輯數(shù)字5V 的直流電壓,為單片機(jī)、傳感器、顯示屏和繼電器等設(shè)備供電;執(zhí)行機(jī)構(gòu)由獨(dú)立電源供電。
圖2為溫室端電路圖。
以LabVIEW 軟件為開(kāi)發(fā)環(huán)境設(shè)計(jì)數(shù)字孿生平臺(tái),平臺(tái)端通過(guò)三維模擬溫室的實(shí)時(shí)狀態(tài)、顯示溫室端的實(shí)時(shí)環(huán)境數(shù)據(jù)以及視頻監(jiān)控等功能,將本體的實(shí)時(shí)狀態(tài)以及外界環(huán)境條件復(fù)現(xiàn)到“孿生體”上,同時(shí)平臺(tái)可對(duì)溫室系統(tǒng)中的通風(fēng)、灌溉、照明等執(zhí)行機(jī)構(gòu)進(jìn)行遠(yuǎn)程管理。
軟件設(shè)計(jì)包括數(shù)字孿生界面和實(shí)時(shí)采樣界面。
(1)數(shù)字孿生界面:包括視頻監(jiān)控實(shí)時(shí)采集視頻數(shù)據(jù),環(huán)境數(shù)據(jù)實(shí)時(shí)顯示,構(gòu)建基地“孿生體”三維模型,實(shí)現(xiàn)種植環(huán)境可視化以及溫室內(nèi)部執(zhí)行設(shè)備控制等功能[8]。
平臺(tái)數(shù)字孿生界面如圖3 所示,圖中面板上端為視頻采集區(qū),獲取實(shí)時(shí)視頻數(shù)據(jù);右上角為氣象顯示區(qū),通過(guò)心知天氣API 獲取氣象數(shù)據(jù);左側(cè)為環(huán)境數(shù)據(jù)顯示區(qū)域,顯示溫室內(nèi)各項(xiàng)環(huán)境數(shù)據(jù),并提供環(huán)境數(shù)據(jù)閾值設(shè)置與報(bào)警功能;右側(cè)為控制區(qū)域,控制溫室內(nèi)執(zhí)行設(shè)備的運(yùn)行、串行口的開(kāi)關(guān)以及自動(dòng)管理功能的開(kāi)關(guān)。

圖3 數(shù)字孿生與控制界面
(2)實(shí)時(shí)采樣界面:顯示溫室內(nèi)部各項(xiàng)指標(biāo)數(shù)據(jù)詳細(xì)變化情況,并可選擇數(shù)據(jù)保存,記錄此前的環(huán)境數(shù)據(jù),以便幫助用戶跟進(jìn)作物生長(zhǎng)過(guò)程。
程序包括四個(gè)獨(dú)立部分分別為:構(gòu)建溫室孿生體、數(shù)字孿生、視頻監(jiān)控和網(wǎng)絡(luò)氣象數(shù)據(jù)讀取。
其中數(shù)據(jù)交互與顯示和數(shù)字孿生部分包含在一個(gè)狀態(tài)機(jī)結(jié)構(gòu)中,程序結(jié)構(gòu)利用While 循環(huán)、條件結(jié)構(gòu)和移位寄存器構(gòu)成一個(gè)狀態(tài)機(jī),狀態(tài)機(jī)結(jié)構(gòu)有Init(初始化)、Wait(等待)、GetDate(獲取數(shù)據(jù))、Deal(數(shù)據(jù)處理)、Exit(退出)五個(gè)分支;視頻監(jiān)控和網(wǎng)絡(luò)氣象數(shù)據(jù)讀取程序處于狀態(tài)機(jī)結(jié)構(gòu)之外,是獨(dú)立運(yùn)行的部分。
下面分別介紹四個(gè)獨(dú)立部分。
(1)構(gòu)建溫室孿生體:使用三維圖片控件構(gòu)建溫室三維模型。
通過(guò)3DMax、SolidWorks 等建模軟件構(gòu)建溫室主體以及內(nèi)部設(shè)備的三維模型,并將三維模型文件轉(zhuǎn)換為WRL 格式;使用Photoshop 制作建立溫室三維模型所需要的圖片文件,并將其轉(zhuǎn)換BMP 格式。在準(zhǔn)備好WRL 模型文件和BMP 文件的基礎(chǔ)上,在狀態(tài)機(jī)結(jié)構(gòu)Wait(等待)分支里通過(guò)“創(chuàng)建對(duì)象”“添加對(duì)象”“縮放對(duì)象”“設(shè)置平移”“旋轉(zhuǎn)X/Y/Z 軸”等控件,調(diào)節(jié)模型的顯示位置,構(gòu)建溫室可視化三維模型[9]。構(gòu)建溫室孿生體程序框圖見(jiàn)圖4。

圖4 構(gòu)建溫室孿生體程序框圖
(2)數(shù)字孿生:在狀態(tài)機(jī)結(jié)構(gòu)GetDate(獲取數(shù)據(jù))分支里,利用VISA 串口接收下位機(jī)數(shù)據(jù),Deal(數(shù)據(jù)處理)分支里使用數(shù)值轉(zhuǎn)換控件將下位機(jī)采集的8bit 數(shù)據(jù)和16bit數(shù)據(jù)轉(zhuǎn)換為十進(jìn)制,并顯示在程序中,數(shù)據(jù)的處理與顯示程序框圖如圖5 所示。
通過(guò)比較處理后的數(shù)據(jù)值與設(shè)定閾值的大小以及獲取下位機(jī)端設(shè)備的運(yùn)行狀況,可在孿生體中實(shí)時(shí)模擬現(xiàn)實(shí)情景,如溫室端光照強(qiáng)度過(guò)低時(shí),孿生體中場(chǎng)景變暗,模擬光照不足時(shí)的場(chǎng)景并發(fā)出警報(bào);當(dāng)溫室端開(kāi)啟風(fēng)扇時(shí),孿生體中風(fēng)扇同時(shí)轉(zhuǎn)動(dòng),模擬通風(fēng)場(chǎng)景;當(dāng)溫室端開(kāi)啟水泵時(shí),孿生體也開(kāi)啟水泵模擬灌溉時(shí)場(chǎng)景。同時(shí)平臺(tái)端通過(guò)串口向下位機(jī)發(fā)送幀頭為“0×FF”,幀尾為“0×EE”的字符指令可遠(yuǎn)程對(duì)溫室端內(nèi)的設(shè)備進(jìn)行管理。
(3)視頻監(jiān)控:采用生產(chǎn)者與消費(fèi)者的結(jié)構(gòu),生產(chǎn)者部分實(shí)現(xiàn)圖像數(shù)據(jù)流的讀取,消費(fèi)者部分實(shí)現(xiàn)了拍照和錄像的功能。視頻采集程序框圖見(jiàn)圖6。

圖6 視頻采集程序框圖
(4)網(wǎng)絡(luò)氣象數(shù)據(jù)讀取:通過(guò)訪問(wèn)心知天氣API 來(lái)獲取天氣數(shù)據(jù)并顯示在程序中。網(wǎng)絡(luò)氣象數(shù)據(jù)讀取程序框圖見(jiàn)圖7。

圖7 網(wǎng)絡(luò)氣象數(shù)據(jù)讀取程序框圖
搭建溫室試驗(yàn)?zāi)P腿鐖D8 所示,接通溫室端電源,溫室端與數(shù)字孿生平臺(tái)端通過(guò)USB 串口相連接,此時(shí)數(shù)據(jù)開(kāi)始實(shí)時(shí)交互。
(1)在平臺(tái)端手動(dòng)升高光強(qiáng)過(guò)低報(bào)警閾值,來(lái)模擬光強(qiáng)不足時(shí)情景,此時(shí)平臺(tái)端開(kāi)始報(bào)警,數(shù)字孿生界面模擬光照不足時(shí)情景。
(2)開(kāi)啟自動(dòng)管理模式,數(shù)字孿生平臺(tái)針對(duì)光強(qiáng)不足的情況對(duì)下位機(jī)發(fā)出開(kāi)啟補(bǔ)光開(kāi)關(guān)指令,溫室端內(nèi)補(bǔ)光燈開(kāi)啟,同時(shí)數(shù)字孿生界面模擬開(kāi)啟補(bǔ)光時(shí)情景。當(dāng)光照強(qiáng)度保持在報(bào)警閾值之內(nèi)時(shí),補(bǔ)光燈自動(dòng)關(guān)閉。
(3)平臺(tái)端開(kāi)啟灌溉開(kāi)關(guān),溫室端內(nèi)灌溉裝置開(kāi)啟,同時(shí)數(shù)字孿生界面模擬灌溉時(shí)場(chǎng)景。
(4)將界面切換至實(shí)時(shí)采樣界面,可觀察環(huán)境數(shù)據(jù)詳細(xì)變化。
驗(yàn)證結(jié)果見(jiàn)圖9,所示為不同情況下的數(shù)字孿生界面及實(shí)時(shí)采樣界面。

圖9 不同情況下的數(shù)字孿生界面和實(shí)時(shí)采樣界面
本文將數(shù)字孿生技術(shù)與農(nóng)業(yè)生產(chǎn)相結(jié)合,對(duì)溫室生產(chǎn)系統(tǒng)進(jìn)行數(shù)字化建模與實(shí)時(shí)三維模擬,對(duì)溫濕度、光照、CO2濃度等各種環(huán)境數(shù)據(jù)進(jìn)行實(shí)時(shí)采集,實(shí)現(xiàn)了種植過(guò)程的可視化監(jiān)測(cè),動(dòng)態(tài)化控制,幫助農(nóng)民更加科學(xué)和精準(zhǔn)的決策,提高作物的生長(zhǎng)效率和產(chǎn)量。
該項(xiàng)目主要應(yīng)用于智能溫室方面,比如農(nóng)業(yè)節(jié)水灌溉,農(nóng)業(yè)節(jié)能控溫,除了溫室種植方面,城市園林、蔬菜種植園、花卉栽培園等場(chǎng)所都是該設(shè)計(jì)的潛在市場(chǎng)。該項(xiàng)目可以實(shí)現(xiàn)智能噴灑、智能控溫(升溫、降溫、通風(fēng))的同時(shí)降低能耗。項(xiàng)目的推廣適應(yīng)我國(guó)新農(nóng)村建設(shè),響應(yīng)了國(guó)家雙碳戰(zhàn)略,對(duì)國(guó)家經(jīng)濟(jì)可持續(xù)發(fā)展作出貢獻(xiàn),應(yīng)用前景廣闊。