趙宇航,龔元明,王瑤,龍林
(1.201620 上海市 上海工程技術(shù)大學(xué) 機械與汽車工程學(xué)院;2.201713 上海市 上海佩納沙士吉打機械有限公司)
垃圾抓斗是垃圾焚燒廠供料系統(tǒng)的核心設(shè)備,但抓斗的各主要機構(gòu)需頻繁移動、變速及急停,起升高度和水平移距較大,工作強度大,而且由于垃圾貯坑中溫濕度高、粉塵較多,作業(yè)區(qū)環(huán)境極差;垃圾在發(fā)酵過程中產(chǎn)生大量易燃的烷類氣體和具有腐蝕性的氣體,對作業(yè)設(shè)備銹蝕嚴重。因此抓斗監(jiān)測非常必要,可實時監(jiān)測環(huán)境數(shù)據(jù),及時捕捉故障信息。但傳統(tǒng)的垃圾抓斗監(jiān)測平臺往往采用有線采集或者集成ZigBee 模塊,不僅現(xiàn)場布線復(fù)雜、成本高,而且通信準(zhǔn)確性、穩(wěn)定性和抗干擾能力較差。針對通信存在問題,作為低功耗廣域網(wǎng)的技術(shù)代表LoRa,與ZigBee、藍牙等網(wǎng)絡(luò)相比具有低功耗、遠距離的優(yōu)勢,并且相較NB-IoT 成本低,成為遠程監(jiān)測系統(tǒng)的首選。
孫鵬[1]采用ZigBee 與GPRS 構(gòu)成通信網(wǎng)關(guān)傳輸實時數(shù)據(jù),并通過LCD 現(xiàn)場顯示屏以及遠程監(jiān)測軟件實現(xiàn)數(shù)據(jù)可視化,但存在信號傳輸距離短、穩(wěn)定性及抗干擾能力較差的缺點;滕雪剛[2]設(shè)計了一種港口起重機抓斗測試系統(tǒng),采用有線連接,但每次僅能對單個節(jié)點進行測試,更換測試節(jié)點則需要現(xiàn)場人工調(diào)試,并且大量抓斗在港口間距較大,布線復(fù)雜,通信成本高;程毅[3]設(shè)計了一種散貨船上抓斗的狀態(tài)監(jiān)測及故障診斷系統(tǒng),構(gòu)建一種基于深度置信網(wǎng)絡(luò)的時間序列故障預(yù)測模型,實現(xiàn)抓斗故障診斷的實時性和可靠性。
上述研究雖然部分實現(xiàn)了遠程通信、故障診斷等功能,但現(xiàn)場環(huán)境復(fù)雜帶來的采集數(shù)據(jù)波動大、通信技術(shù)抗干擾能力弱等問題沒有良好的解決方案。本文設(shè)計的垃圾抓斗遠程監(jiān)測平臺,使用LoRa+4G 通信方式,可有效解決上述問題。并且使用網(wǎng)頁自適應(yīng)技術(shù),實現(xiàn)手機端與電腦端實時查看云服務(wù)器數(shù)據(jù)庫,提高遠程監(jiān)測的便利性。此外,通過卡爾曼濾波算法處理傳感器采集的數(shù)據(jù),保證系統(tǒng)的準(zhǔn)確性與穩(wěn)定性。
垃圾抓斗遠程監(jiān)測系統(tǒng)主要由現(xiàn)場數(shù)據(jù)采集與處理、通信模塊、云平臺3 大模塊組成,實現(xiàn)數(shù)據(jù)采集與處理、數(shù)據(jù)傳輸與云存儲、數(shù)據(jù)遠程展示和故障診斷等功能。系統(tǒng)總體設(shè)計方案如圖1 所示。
圖1 系統(tǒng)總體設(shè)計方案Fig.1 Overall design scheme of the system
抓斗數(shù)據(jù)采集模塊通過傳感器采集環(huán)境數(shù)據(jù),包括抓斗壓力、加速度、傾角、毛重與凈重、連續(xù)工作次數(shù)、總工作次數(shù)、環(huán)境溫濕度、有害氣體濃度等。數(shù)據(jù)處理與通信模塊將采集的數(shù)據(jù)先進行卡爾曼濾波,并通過各個數(shù)據(jù)采集從節(jié)點的LoRa 模塊與LoRa 網(wǎng)關(guān)主節(jié)點進行通信,實現(xiàn)一個通信主節(jié)點對應(yīng)多個抓斗數(shù)據(jù)采集模塊子節(jié)點;通信協(xié)議采用Modbus 協(xié)議;最后,通過自組建的LoRa 網(wǎng)關(guān)的以太網(wǎng)模塊實現(xiàn)與云平臺數(shù)據(jù)通信。云平臺采用B/S 架構(gòu)模式,服務(wù)器端負責(zé)接收并解析數(shù)據(jù)通信模塊發(fā)送的報文數(shù)據(jù),再存儲至MySQL 數(shù)據(jù)庫,其中Web客戶端基于Ajax 技術(shù),根據(jù)客戶端請求將響應(yīng)結(jié)果發(fā)送至請求端,實現(xiàn)異步更新與數(shù)據(jù)展示[4]。
硬件平臺利用模塊化的設(shè)計方法進行硬件電路設(shè)計和驅(qū)動程序編寫,主要包括數(shù)據(jù)采集模塊和LoRa 網(wǎng)關(guān)2 部分。
數(shù)據(jù)采集模塊主要由電源模塊、傳感器數(shù)據(jù)采集模塊和LoRa 從節(jié)點模塊3 部分組成。電源模塊通過電壓轉(zhuǎn)換器轉(zhuǎn)換成24 V 直流電,為傳感器數(shù)據(jù)采集和通信模塊提供穩(wěn)定電源。首先傳感器進行數(shù)據(jù)采集,數(shù)據(jù)送入 MCU 經(jīng)濾波處理,再通過LoRa 模塊周期性地將數(shù)據(jù)傳輸?shù)骄W(wǎng)關(guān)[5]。LoRa 的多個從節(jié)點和中心節(jié)點組成星狀網(wǎng),減少了大量節(jié)點上行時數(shù)據(jù)沖突的概率并具有極大的延拓性。
主控制器選擇英飛凌的 XC2234L 芯片,該芯片具有5 級流水線高性能 CPU,4 個通用串行接口通道、160 kB片上程序存儲器以及足夠的外設(shè)接口,如SPI、USART 和I2C 等。圖2 為XC2234L 最小系統(tǒng)設(shè)計電路圖。
圖2 XC2234L 最小系統(tǒng)設(shè)計電路圖Fig.2 Circuit diagram of XC2234L minimum system design
質(zhì)量傳感器是整個采集模塊的關(guān)鍵模塊,主要采集抓斗實際抓取重物的質(zhì)量,并根據(jù)獲取的值減去抓斗的質(zhì)量計算出凈質(zhì)量。采集值受環(huán)境噪聲影響較大,通過卡爾曼濾波算法可對采集值進行優(yōu)化。加速度傳感器采用7130A 模塊,直接通過I2C通信協(xié)議進行數(shù)據(jù)傳輸,采集XYZ 三軸的加速度。溫濕度傳感器的核心是LM420,以溫濕度一體式探頭作為測溫工具,具有體積小、測量精度高和抗干擾能力強等特點,測量溫度范圍在-40~120℃,精度在±0.5℃,濕度范圍在0~100%,精度在±3%,最后通過RS485 實現(xiàn)與微控制器數(shù)據(jù)傳輸。有害氣體傳感器采用SO2-B4,通過電化學(xué)法監(jiān)測SO2濃度,并通過UART 進行數(shù)據(jù)傳輸。
LoRa 各個從節(jié)點采用的是LM400TU 的LoRa二次開發(fā)模塊,搭載SX1278 收發(fā)器,通過SPI 通信協(xié)議與微控制器進行數(shù)據(jù)傳輸,支持一鍵自組網(wǎng),提供LoRaWAN 協(xié)議,降低開發(fā)復(fù)雜度[6]。待機狀態(tài)下電流為22.2 mA,發(fā)送階段電流為120 mA,但卻以37.5 kbit/s 的高傳輸速率以及-148 dBm 的高接收靈敏度,最終滿足實際應(yīng)用中對傳輸距離、靈敏度、功耗的要求[7]。
LoRa 網(wǎng)關(guān)由LoRa 主節(jié)點、以太網(wǎng)模塊構(gòu)成無線通信網(wǎng),實現(xiàn)移動網(wǎng)和LoRa 自組網(wǎng)之間的數(shù)據(jù)轉(zhuǎn)換[8],并通過 TCP/IP 協(xié)議作為云服務(wù)器和網(wǎng)關(guān)的傳輸協(xié)議,起到快速、及時、準(zhǔn)確發(fā)送傳輸數(shù)據(jù)的作用。LoRa 主節(jié)點無需連接傳感器的采集工作,UART 接口與主控芯片通信,實現(xiàn)數(shù)據(jù)傳輸。網(wǎng)關(guān)利用無線自組網(wǎng)具有的快速展開、無控制中心等特點,將傳感器數(shù)據(jù)采集節(jié)點置于其終端位置,并在組網(wǎng)時自動給各節(jié)點分配16 位網(wǎng)絡(luò)地址,并且地址與廣播信息匹配時,將數(shù)據(jù)發(fā)送給網(wǎng)關(guān)[9]。以太網(wǎng)模塊選用W5500,模塊集成硬件化TCP/IP 協(xié)議,內(nèi)部32 K字節(jié)存儲器作TX/RX緩存,通過SPI通信,具有簡單方便、可靠性高優(yōu)勢。LoRa 無線通信單元如圖3 所示。
圖3 LoRa 無線通信單元Fig.3 LoRa wireless communication unit
下位機程序設(shè)計包括針對XC2234L 的信號采集與傳輸設(shè)計、網(wǎng)關(guān)程序模塊設(shè)計。信號采集與傳輸程序模塊負責(zé)完成:(1)通過電源模塊驅(qū)動電路,并將采集到的環(huán)境數(shù)據(jù)轉(zhuǎn)換為數(shù)字信號;(2)數(shù)據(jù)經(jīng)MCU 進行濾波處理;(3)通過網(wǎng)關(guān)將數(shù)據(jù)傳輸至云服務(wù)器。程序流程包括時鐘、串口、定時器和多CAN 模塊的初始化,隨后連接網(wǎng)絡(luò)、發(fā)送數(shù)據(jù)、接收數(shù)據(jù)和邏輯控制處理等。
終端設(shè)備和業(yè)務(wù)服務(wù)器通過TCP Socket 進行通信,服務(wù)器端先初始化Socket,之后綁定、監(jiān)聽端口并等待終端設(shè)備連接。對終端設(shè)備發(fā)送的數(shù)據(jù),首先網(wǎng)絡(luò)服務(wù)器驗證數(shù)據(jù)的合法性,再進行數(shù)據(jù)解析并將解析的數(shù)據(jù)存入數(shù)據(jù)庫中[10]。數(shù)據(jù)庫使用MySQL8.0,數(shù)據(jù)庫內(nèi)存有各類故障碼對應(yīng)的信息和抓斗各種性能相關(guān)的數(shù)據(jù),用于存儲實時數(shù)據(jù)、故障碼、配置信息以及用戶信息等。
數(shù)據(jù)包協(xié)議由頭部、設(shè)備號、命令字、命令計數(shù)器、數(shù)據(jù)、校驗位、尾部組成,其中頭部為固定值0xAA,尾部為固定值0x55;命令字為現(xiàn)場設(shè)備通信接口與云服務(wù)器通信接口通信過程中的功能標(biāo)識以及對現(xiàn)場設(shè)備網(wǎng)絡(luò)協(xié)議軟件的控制信息;數(shù)據(jù)表示終端設(shè)備與云服務(wù)器通信之間的數(shù)據(jù)傳輸內(nèi)容,包含一個請求報文和一個響應(yīng)報文以及每個報文的發(fā)送或接收時間,并且該協(xié)議嚴格遵守LoRaWAN 規(guī)范。通信協(xié)議數(shù)據(jù)包格式見表1。
表1 通信協(xié)議數(shù)據(jù)包格式Tab.1 Format of communication protocol data packet
本監(jiān)測系統(tǒng)采用前后端分離的開發(fā)方式,后端采用Springboot+MybatisPlus 框架進行開發(fā)。SpringBoot 在繼承Spring 的控制反轉(zhuǎn)(IOC)與面向切面(AOP)的優(yōu)點上,優(yōu)化依賴管理及配置過程,將業(yè)務(wù)實現(xiàn)和對象創(chuàng)建解耦,并且可以在不改變原有結(jié)構(gòu)基礎(chǔ)上增加新功能,便于后期功能擴展。同時,SpringBoot 嵌入Tomcat 服務(wù)器可快速構(gòu)建應(yīng)用。MybatisPlus 作為對象映射框架,通過XML 或注解配置映射關(guān)系,實現(xiàn)接口和實體類(POJO)與數(shù)據(jù)庫數(shù)據(jù)形成映射,并提供基本CRUD 操作及支持自定義SQL 語句操作。
前端使用VUE3.js+ElementUI 技術(shù)設(shè)計,Vue作為自下向上的漸進式框架,采用MVVM 設(shè)計模式,通過數(shù)據(jù)和結(jié)構(gòu)分離,實現(xiàn)響應(yīng)的雙向數(shù)據(jù)綁定并映射到視圖層,其核心的響應(yīng)式編程和組態(tài)化開發(fā),極大提高開發(fā)效率。ElementUI 作為桌面組件庫,對于原生標(biāo)簽進行封裝,提供多種風(fēng)格統(tǒng)一、樣式豐富的組件,大大簡化開發(fā)過程。前后端通信運用了Axios 技術(shù),基于promise 的HTTP 庫和后端交互,在異步的情況下實時抓取數(shù)據(jù)庫數(shù)據(jù)并更新網(wǎng)頁完成交互。管理員通過設(shè)備管理與終端設(shè)備進行數(shù)據(jù)交互,完成參數(shù)配置。界面如圖4 所示。
圖4 Web 端設(shè)計界面Fig.4 Web side design interface
針對垃圾抓斗的狀態(tài)監(jiān)測及日常管理的需要,系統(tǒng)設(shè)計了用戶管理、數(shù)據(jù)管理、實時顯示、設(shè)備管理4 個核心功能模塊,并根據(jù)抓斗連續(xù)工作時間、工作次數(shù)、工作參數(shù)進行維護提醒以及故障預(yù)警:
(1)用戶管理。為用戶提供注冊、登錄、修改、刪除賬號信息以及為管理員提供權(quán)限管理操作、用戶與設(shè)備匹配功能。數(shù)據(jù)庫中包含角色表和權(quán)限表,并在角色表中包含角色級別字段,權(quán)限分為2 級,提前設(shè)定好角色表中各級擁有的權(quán)限。
(2)數(shù)據(jù)管理。為用戶提供了歷史數(shù)據(jù)查詢、數(shù)據(jù)導(dǎo)入與導(dǎo)出的操作,數(shù)據(jù)庫保存,歷史數(shù)據(jù)以1 h為間隔,保存到數(shù)據(jù)庫中,當(dāng)超過48 h自動刪除。
(3)實時顯示。用于監(jiān)視設(shè)備運行狀態(tài),包括抓斗的XYZ 三軸位置信號、開壓、閉壓等信息,并且根據(jù)預(yù)先存在數(shù)據(jù)庫中的數(shù)據(jù)解析故障碼并將故障顯示在頁面上。
(4)設(shè)備管理。根據(jù)預(yù)先錄入設(shè)備的名稱、型號、卡號、設(shè)備號、時間、備件,便于定位故障設(shè)備以及根據(jù)型號及時定位并更換備件,當(dāng)備件不足時自動發(fā)送通知。
為測試系統(tǒng)傳輸數(shù)據(jù)的穩(wěn)定性,將LoRa 數(shù)據(jù)采集節(jié)點均勻部署在抓斗工作區(qū)內(nèi),LoRa 網(wǎng)關(guān)架設(shè)控制室,主要通過改變控制室LoRa 網(wǎng)關(guān)的位置,在不同距離下,將數(shù)據(jù)通信模塊的丟包率作為穩(wěn)定性的評價指標(biāo),網(wǎng)絡(luò)丟包率的公式為
式中:Pr——總數(shù)據(jù)包數(shù);Pc——收到的數(shù)據(jù)包數(shù)。
在2 km 范圍內(nèi),以100 m 作為一個測試點,并在每個測試點進行10 輪測試取平均值,最后對20 組測試數(shù)據(jù)的平均丟包率和傳輸距離進行對比分析。平均丟包率和數(shù)據(jù)傳輸距離的關(guān)系如圖5 所示。實驗結(jié)果表明,測試距離在500 m 以內(nèi)的丟包率為0%,1 km 以內(nèi)的丟包率不到10%,說明該系統(tǒng)能滿足高可靠、遠距離的組網(wǎng)通信。
圖5 傳輸距離與平均丟包率Fig.5 Transmission distance and average packet loss rate
為測試系統(tǒng)傳輸數(shù)據(jù)的實時性,計算從LoRa網(wǎng)關(guān)發(fā)送數(shù)據(jù)到云平臺的數(shù)據(jù)展示的時間間隔,主要是通過20 組數(shù)據(jù),標(biāo)記時間戳,計算間隔時間。LoRa 網(wǎng)關(guān)發(fā)送數(shù)據(jù)時間、云平臺接收到數(shù)據(jù)時間和時間差關(guān)系如表2 所示。
表2 實時性測試表Tab.2 Real time performance test
經(jīng)20 組測試,平均時間差在32 ms,最長時間間隔42 ms,說明該系統(tǒng)實時性較高,滿足系統(tǒng)要求。
本文設(shè)計了垃圾抓斗遠程監(jiān)控系統(tǒng),采用LoRa 通信技術(shù)實現(xiàn)數(shù)據(jù)通信和數(shù)據(jù)長距離數(shù)據(jù)傳輸,并且在垃圾貯坑中能長時間穩(wěn)定工作。通過Web 端監(jiān)控系統(tǒng)實現(xiàn)了對抓斗工作狀態(tài)的實時數(shù)據(jù)監(jiān)測和環(huán)境數(shù)據(jù)監(jiān)測,提高信息的融合程度。通過測試發(fā)現(xiàn),在1.5 km 范圍內(nèi),實現(xiàn)丟包率10%以下,實時性間隔在32 ms 左右,表明該監(jiān)測系統(tǒng)具有較高的運行穩(wěn)定性與實時性、操作維護簡單、適用范圍廣,滿足工業(yè)實際的需求。