趙宇航,龔元明,王瑤,龍林
(1.201620 上海市 上海工程技術大學 機械與汽車工程學院;2.201713 上海市 上海佩納沙士吉打機械有限公司)
垃圾抓斗是垃圾焚燒廠供料系統的核心設備,但抓斗的各主要機構需頻繁移動、變速及急停,起升高度和水平移距較大,工作強度大,而且由于垃圾貯坑中溫濕度高、粉塵較多,作業區環境極差;垃圾在發酵過程中產生大量易燃的烷類氣體和具有腐蝕性的氣體,對作業設備銹蝕嚴重。因此抓斗監測非常必要,可實時監測環境數據,及時捕捉故障信息。但傳統的垃圾抓斗監測平臺往往采用有線采集或者集成ZigBee 模塊,不僅現場布線復雜、成本高,而且通信準確性、穩定性和抗干擾能力較差。針對通信存在問題,作為低功耗廣域網的技術代表LoRa,與ZigBee、藍牙等網絡相比具有低功耗、遠距離的優勢,并且相較NB-IoT 成本低,成為遠程監測系統的首選。
孫鵬[1]采用ZigBee 與GPRS 構成通信網關傳輸實時數據,并通過LCD 現場顯示屏以及遠程監測軟件實現數據可視化,但存在信號傳輸距離短、穩定性及抗干擾能力較差的缺點;滕雪剛[2]設計了一種港口起重機抓斗測試系統,采用有線連接,但每次僅能對單個節點進行測試,更換測試節點則需要現場人工調試,并且大量抓斗在港口間距較大,布線復雜,通信成本高;程毅[3]設計了一種散貨船上抓斗的狀態監測及故障診斷系統,構建一種基于深度置信網絡的時間序列故障預測模型,實現抓斗故障診斷的實時性和可靠性。
上述研究雖然部分實現了遠程通信、故障診斷等功能,但現場環境復雜帶來的采集數據波動大、通信技術抗干擾能力弱等問題沒有良好的解決方案。本文設計的垃圾抓斗遠程監測平臺,使用LoRa+4G 通信方式,可有效解決上述問題。并且使用網頁自適應技術,實現手機端與電腦端實時查看云服務器數據庫,提高遠程監測的便利性。此外,通過卡爾曼濾波算法處理傳感器采集的數據,保證系統的準確性與穩定性。
垃圾抓斗遠程監測系統主要由現場數據采集與處理、通信模塊、云平臺3 大模塊組成,實現數據采集與處理、數據傳輸與云存儲、數據遠程展示和故障診斷等功能。系統總體設計方案如圖1 所示。

圖1 系統總體設計方案Fig.1 Overall design scheme of the system
抓斗數據采集模塊通過傳感器采集環境數據,包括抓斗壓力、加速度、傾角、毛重與凈重、連續工作次數、總工作次數、環境溫濕度、有害氣體濃度等。數據處理與通信模塊將采集的數據先進行卡爾曼濾波,并通過各個數據采集從節點的LoRa 模塊與LoRa 網關主節點進行通信,實現一個通信主節點對應多個抓斗數據采集模塊子節點;通信協議采用Modbus 協議;最后,通過自組建的LoRa 網關的以太網模塊實現與云平臺數據通信。云平臺采用B/S 架構模式,服務器端負責接收并解析數據通信模塊發送的報文數據,再存儲至MySQL 數據庫,其中Web客戶端基于Ajax 技術,根據客戶端請求將響應結果發送至請求端,實現異步更新與數據展示[4]。
硬件平臺利用模塊化的設計方法進行硬件電路設計和驅動程序編寫,主要包括數據采集模塊和LoRa 網關2 部分。
數據采集模塊主要由電源模塊、傳感器數據采集模塊和LoRa 從節點模塊3 部分組成。電源模塊通過電壓轉換器轉換成24 V 直流電,為傳感器數據采集和通信模塊提供穩定電源。首先傳感器進行數據采集,數據送入 MCU 經濾波處理,再通過LoRa 模塊周期性地將數據傳輸到網關[5]。LoRa 的多個從節點和中心節點組成星狀網,減少了大量節點上行時數據沖突的概率并具有極大的延拓性。
主控制器選擇英飛凌的 XC2234L 芯片,該芯片具有5 級流水線高性能 CPU,4 個通用串行接口通道、160 kB片上程序存儲器以及足夠的外設接口,如SPI、USART 和I2C 等。圖2 為XC2234L 最小系統設計電路圖。

圖2 XC2234L 最小系統設計電路圖Fig.2 Circuit diagram of XC2234L minimum system design
質量傳感器是整個采集模塊的關鍵模塊,主要采集抓斗實際抓取重物的質量,并根據獲取的值減去抓斗的質量計算出凈質量。采集值受環境噪聲影響較大,通過卡爾曼濾波算法可對采集值進行優化。加速度傳感器采用7130A 模塊,直接通過I2C通信協議進行數據傳輸,采集XYZ 三軸的加速度。溫濕度傳感器的核心是LM420,以溫濕度一體式探頭作為測溫工具,具有體積小、測量精度高和抗干擾能力強等特點,測量溫度范圍在-40~120℃,精度在±0.5℃,濕度范圍在0~100%,精度在±3%,最后通過RS485 實現與微控制器數據傳輸。有害氣體傳感器采用SO2-B4,通過電化學法監測SO2濃度,并通過UART 進行數據傳輸。
LoRa 各個從節點采用的是LM400TU 的LoRa二次開發模塊,搭載SX1278 收發器,通過SPI 通信協議與微控制器進行數據傳輸,支持一鍵自組網,提供LoRaWAN 協議,降低開發復雜度[6]。待機狀態下電流為22.2 mA,發送階段電流為120 mA,但卻以37.5 kbit/s 的高傳輸速率以及-148 dBm 的高接收靈敏度,最終滿足實際應用中對傳輸距離、靈敏度、功耗的要求[7]。
LoRa 網關由LoRa 主節點、以太網模塊構成無線通信網,實現移動網和LoRa 自組網之間的數據轉換[8],并通過 TCP/IP 協議作為云服務器和網關的傳輸協議,起到快速、及時、準確發送傳輸數據的作用。LoRa 主節點無需連接傳感器的采集工作,UART 接口與主控芯片通信,實現數據傳輸。網關利用無線自組網具有的快速展開、無控制中心等特點,將傳感器數據采集節點置于其終端位置,并在組網時自動給各節點分配16 位網絡地址,并且地址與廣播信息匹配時,將數據發送給網關[9]。以太網模塊選用W5500,模塊集成硬件化TCP/IP 協議,內部32 K字節存儲器作TX/RX緩存,通過SPI通信,具有簡單方便、可靠性高優勢。LoRa 無線通信單元如圖3 所示。

圖3 LoRa 無線通信單元Fig.3 LoRa wireless communication unit
下位機程序設計包括針對XC2234L 的信號采集與傳輸設計、網關程序模塊設計。信號采集與傳輸程序模塊負責完成:(1)通過電源模塊驅動電路,并將采集到的環境數據轉換為數字信號;(2)數據經MCU 進行濾波處理;(3)通過網關將數據傳輸至云服務器。程序流程包括時鐘、串口、定時器和多CAN 模塊的初始化,隨后連接網絡、發送數據、接收數據和邏輯控制處理等。
終端設備和業務服務器通過TCP Socket 進行通信,服務器端先初始化Socket,之后綁定、監聽端口并等待終端設備連接。對終端設備發送的數據,首先網絡服務器驗證數據的合法性,再進行數據解析并將解析的數據存入數據庫中[10]。數據庫使用MySQL8.0,數據庫內存有各類故障碼對應的信息和抓斗各種性能相關的數據,用于存儲實時數據、故障碼、配置信息以及用戶信息等。
數據包協議由頭部、設備號、命令字、命令計數器、數據、校驗位、尾部組成,其中頭部為固定值0xAA,尾部為固定值0x55;命令字為現場設備通信接口與云服務器通信接口通信過程中的功能標識以及對現場設備網絡協議軟件的控制信息;數據表示終端設備與云服務器通信之間的數據傳輸內容,包含一個請求報文和一個響應報文以及每個報文的發送或接收時間,并且該協議嚴格遵守LoRaWAN 規范。通信協議數據包格式見表1。

表1 通信協議數據包格式Tab.1 Format of communication protocol data packet
本監測系統采用前后端分離的開發方式,后端采用Springboot+MybatisPlus 框架進行開發。SpringBoot 在繼承Spring 的控制反轉(IOC)與面向切面(AOP)的優點上,優化依賴管理及配置過程,將業務實現和對象創建解耦,并且可以在不改變原有結構基礎上增加新功能,便于后期功能擴展。同時,SpringBoot 嵌入Tomcat 服務器可快速構建應用。MybatisPlus 作為對象映射框架,通過XML 或注解配置映射關系,實現接口和實體類(POJO)與數據庫數據形成映射,并提供基本CRUD 操作及支持自定義SQL 語句操作。
前端使用VUE3.js+ElementUI 技術設計,Vue作為自下向上的漸進式框架,采用MVVM 設計模式,通過數據和結構分離,實現響應的雙向數據綁定并映射到視圖層,其核心的響應式編程和組態化開發,極大提高開發效率。ElementUI 作為桌面組件庫,對于原生標簽進行封裝,提供多種風格統一、樣式豐富的組件,大大簡化開發過程。前后端通信運用了Axios 技術,基于promise 的HTTP 庫和后端交互,在異步的情況下實時抓取數據庫數據并更新網頁完成交互。管理員通過設備管理與終端設備進行數據交互,完成參數配置。界面如圖4 所示。

圖4 Web 端設計界面Fig.4 Web side design interface
針對垃圾抓斗的狀態監測及日常管理的需要,系統設計了用戶管理、數據管理、實時顯示、設備管理4 個核心功能模塊,并根據抓斗連續工作時間、工作次數、工作參數進行維護提醒以及故障預警:
(1)用戶管理。為用戶提供注冊、登錄、修改、刪除賬號信息以及為管理員提供權限管理操作、用戶與設備匹配功能。數據庫中包含角色表和權限表,并在角色表中包含角色級別字段,權限分為2 級,提前設定好角色表中各級擁有的權限。
(2)數據管理。為用戶提供了歷史數據查詢、數據導入與導出的操作,數據庫保存,歷史數據以1 h為間隔,保存到數據庫中,當超過48 h自動刪除。
(3)實時顯示。用于監視設備運行狀態,包括抓斗的XYZ 三軸位置信號、開壓、閉壓等信息,并且根據預先存在數據庫中的數據解析故障碼并將故障顯示在頁面上。
(4)設備管理。根據預先錄入設備的名稱、型號、卡號、設備號、時間、備件,便于定位故障設備以及根據型號及時定位并更換備件,當備件不足時自動發送通知。
為測試系統傳輸數據的穩定性,將LoRa 數據采集節點均勻部署在抓斗工作區內,LoRa 網關架設控制室,主要通過改變控制室LoRa 網關的位置,在不同距離下,將數據通信模塊的丟包率作為穩定性的評價指標,網絡丟包率的公式為
式中:Pr——總數據包數;Pc——收到的數據包數。
在2 km 范圍內,以100 m 作為一個測試點,并在每個測試點進行10 輪測試取平均值,最后對20 組測試數據的平均丟包率和傳輸距離進行對比分析。平均丟包率和數據傳輸距離的關系如圖5 所示。實驗結果表明,測試距離在500 m 以內的丟包率為0%,1 km 以內的丟包率不到10%,說明該系統能滿足高可靠、遠距離的組網通信。

圖5 傳輸距離與平均丟包率Fig.5 Transmission distance and average packet loss rate
為測試系統傳輸數據的實時性,計算從LoRa網關發送數據到云平臺的數據展示的時間間隔,主要是通過20 組數據,標記時間戳,計算間隔時間。LoRa 網關發送數據時間、云平臺接收到數據時間和時間差關系如表2 所示。

表2 實時性測試表Tab.2 Real time performance test
經20 組測試,平均時間差在32 ms,最長時間間隔42 ms,說明該系統實時性較高,滿足系統要求。
本文設計了垃圾抓斗遠程監控系統,采用LoRa 通信技術實現數據通信和數據長距離數據傳輸,并且在垃圾貯坑中能長時間穩定工作。通過Web 端監控系統實現了對抓斗工作狀態的實時數據監測和環境數據監測,提高信息的融合程度。通過測試發現,在1.5 km 范圍內,實現丟包率10%以下,實時性間隔在32 ms 左右,表明該監測系統具有較高的運行穩定性與實時性、操作維護簡單、適用范圍廣,滿足工業實際的需求。