劉偉
[摘? ? 要]針對(duì)傳統(tǒng)采集方案中有線網(wǎng)絡(luò)布線困難,系統(tǒng)擴(kuò)展性不強(qiáng),缺乏統(tǒng)一數(shù)據(jù)集成接口的現(xiàn)狀,提出了一種由ZigBee無(wú)線通信技術(shù)和Modbus總線接口技術(shù)相結(jié)合的電機(jī)溫度及振動(dòng)參數(shù)采集方案。采用微控制芯片作為參數(shù)采集端及數(shù)據(jù)中轉(zhuǎn)端控制內(nèi)核,CC2530作為無(wú)線通信芯片,中轉(zhuǎn)端控制內(nèi)核同時(shí)提供Modbus-RTU-Slave及Modbus-TCP-Server接口給上位機(jī)。文章詳細(xì)介紹了系統(tǒng)的軟硬件結(jié)構(gòu)設(shè)計(jì),傳感器設(shè)備的選擇及Zigbee組網(wǎng)與報(bào)文數(shù)據(jù)幀定義封裝,實(shí)現(xiàn)了參數(shù)采集系統(tǒng)的智能化,信息化及安裝簡(jiǎn)單,容易維護(hù),接口統(tǒng)一的目標(biāo)。
[關(guān)鍵詞]Zigbee;Modbus-RTU-Slave;Modbus-TCP-Server;數(shù)據(jù)采集
[中圖分類號(hào)]TN915.8 [文獻(xiàn)標(biāo)志碼]A [文章編號(hào)]2095–6487(2021)09–00–03
[Abstract]Aiming at the current situation of difficult wired network wiring, weak system expansibility and lack of unified data integration interface in the traditional acquisition scheme, a motor temperature and vibration parameter acquisition scheme based on the combination of ZigBee wireless communication technology and MODBUS interface technology is proposed. The micro control chip is used as the control core of parameter acquisition end and data transfer end, and CC2530 is used as the wireless communication chip. The transfer end control core provides Modbus RTU slave and Modbus TCP server interfaces to the upper computer at the same time. The software and hardware structure design of the system, the selection of sensor equipment, ZigBee networking and packet data frame definition and packaging are introduced in detail. The goal of intellectualization, informatization, simple installation, easy maintenance and unified interface of the parameter acquisition system is realized.
[Keywords]Zigbee;Modbus-RTU-Slave;Modbus-TCP-Server;data acquisition
電機(jī)在運(yùn)行過(guò)程中用以衡量其健康狀態(tài)的參數(shù)除了電壓、電流、轉(zhuǎn)矩、功率等外,還包括電機(jī)機(jī)殼溫度、電機(jī)軸承振動(dòng)等數(shù)據(jù)。在實(shí)際工程應(yīng)用現(xiàn)場(chǎng)中,常規(guī)參數(shù)可以通過(guò)電機(jī)驅(qū)動(dòng)裝置讀取,而對(duì)電機(jī)機(jī)殼溫度、軸承振動(dòng)參數(shù)少有關(guān)注,究其原因:①設(shè)備型號(hào)各異,規(guī)格不統(tǒng)一,系統(tǒng)維護(hù)性差;②設(shè)備安裝分散,不便于傳感器安裝布線;③即便是有采集參數(shù)的設(shè)備,對(duì)上位機(jī)提供的數(shù)據(jù)接口也不盡統(tǒng)一,系統(tǒng)擴(kuò)展性差。
近年來(lái)隨著工業(yè)物聯(lián)網(wǎng)的發(fā)展,各種無(wú)線通信協(xié)議的應(yīng)用越來(lái)越普及,采用無(wú)線方式構(gòu)建靈活便捷,高拓展性的電機(jī)溫度、振動(dòng)參數(shù)采集系統(tǒng),必將成為以后數(shù)據(jù)采集方面的發(fā)展趨勢(shì)。其中,ZigBee是一種高可靠、低功率、低成本、低數(shù)據(jù)速率,高安全性的雙向無(wú)線射頻通信技術(shù)。
1 系統(tǒng)硬件設(shè)計(jì)
1.1 系統(tǒng)硬件元器件的選擇
通過(guò)對(duì)采集設(shè)備現(xiàn)場(chǎng)安裝方式、安裝位置、傳感器布線等多方面因素的考慮,采用總線型參數(shù)采集傳感器,磁吸式安裝方式,低功率小型化MCU控制器。
溫度傳感器采用DS18B20,該傳感器僅需要一條數(shù)據(jù)線即可實(shí)現(xiàn)與微處理的雙向通信,具有支持多點(diǎn)組網(wǎng)、測(cè)量范圍寬、體積小、抗干擾能力強(qiáng)等特點(diǎn)。振動(dòng)傳感器采用磁吸式安裝方式,可以安裝在軸承蓋上,可以測(cè)量振動(dòng)速度、振動(dòng)位移,它是由運(yùn)動(dòng)線圈切割磁力線而輸出電壓的磁電式變送器,因此具有性能穩(wěn)定、安裝方便等特點(diǎn)。
無(wú)線射頻模塊采用CC2530[1],該模塊廣泛應(yīng)用在2.4GHz IEEE802.15.4系統(tǒng)中,可滿足系統(tǒng)對(duì)低成本、低功耗的要求,ZigBee模塊根據(jù)功能的不同,分為協(xié)調(diào)器、路由器、終端3種類型。
采集端MCU采用ATmega328P8[2]位微控制芯片,該控制芯片具有尺寸小、功耗低、接口豐富等特點(diǎn)。通過(guò)SPI總線增加一塊ADS1118模擬量采集芯片,該芯片分辨率為16位,能更好地還原采樣參數(shù)。數(shù)據(jù)接收端采用ESP32[3]微控制芯片,雙核32位MCU、2.4 GHz雙模WiFi和藍(lán)牙芯片,支持多種通信協(xié)議。
1.2 系統(tǒng)的硬件結(jié)構(gòu)
硬件結(jié)構(gòu)主要由底層數(shù)據(jù)采集部分和數(shù)據(jù)接收協(xié)議轉(zhuǎn)換兩大部分組成。底層數(shù)據(jù)采集部分由溫度、振動(dòng)數(shù)據(jù)采集模塊、ZigBee終端節(jié)點(diǎn)、ZigBee路由器節(jié)點(diǎn)、數(shù)據(jù)采集MCU模塊組成,將這幾個(gè)模塊進(jìn)行邏輯連接,可實(shí)現(xiàn)數(shù)據(jù)采集端功能,ZigBee路由器節(jié)點(diǎn)不是必須的,如果距離較近,可不使用單獨(dú)的路由器節(jié)點(diǎn),協(xié)調(diào)器在建立網(wǎng)絡(luò)之后,本身可以當(dāng)做路由器使用。
數(shù)據(jù)接收及協(xié)議轉(zhuǎn)換端連接ZigBee協(xié)調(diào)器[4]節(jié)點(diǎn),負(fù)責(zé)建立管理整個(gè)ZigBee網(wǎng)絡(luò),接收各個(gè)采集端上傳的溫度、振動(dòng)數(shù)據(jù),整理后寫入相關(guān)Modbus[5]寄存器,為上位機(jī)提供統(tǒng)一接口。
系統(tǒng)整體硬件結(jié)構(gòu)圖如圖1所示,數(shù)據(jù)采集端、接收端硬件結(jié)構(gòu)及通信接口圖如圖2所示。
2 系統(tǒng)軟件設(shè)計(jì)
軟件設(shè)計(jì)方面基于美國(guó)德州儀器(TI)公司推出的CC2530F256芯片配套的ZigBee協(xié)議棧,微處理器控制程序基于Arduino開發(fā)環(huán)境,利用C語(yǔ)言或C++語(yǔ)言開發(fā)。本系統(tǒng)軟件設(shè)計(jì)主要包括三大部分:
(1)數(shù)據(jù)采集端的數(shù)據(jù)采集程序以及數(shù)據(jù)打包上傳的協(xié)議幀設(shè)計(jì)。
(2)數(shù)據(jù)采集端與數(shù)據(jù)接收端之間利用ZigBee無(wú)線網(wǎng)絡(luò)通信的數(shù)據(jù)傳輸協(xié)議幀的設(shè)計(jì)。
(3)數(shù)據(jù)接收端協(xié)議數(shù)據(jù)封包、解包、轉(zhuǎn)換、Modbus通信接口的實(shí)現(xiàn)。
數(shù)據(jù)采集端軟件實(shí)現(xiàn)主要包括兩部分內(nèi)容:
(1)電機(jī)機(jī)殼溫度與軸瓦振動(dòng)數(shù)據(jù)的采集。
(2)根據(jù)設(shè)定的上傳模式,將數(shù)據(jù)封包上傳。
在初始化函數(shù)setup()中首先采用串口命令與CC2530無(wú)線芯片通信,根據(jù)CC2530的硬件MAC地址獲取設(shè)備的網(wǎng)絡(luò)短地址,以備后續(xù)通信使用,接著采用sensors.begin();函數(shù)初始化DS18B20單總線設(shè)備。采用ads1118.begin();函數(shù)利用默認(rèn)參數(shù)初始化ADS1118芯片。在循環(huán)執(zhí)行程序voidloop(void)中通過(guò)sensors.requestTemperatures();對(duì)溫度采集芯片DS18B20發(fā)送命令以獲取溫度。利用TempC=sensors.getTempCByIndex(i);語(yǔ)句可以獲取第i個(gè)溫度采集傳感器的攝氏溫度值。同時(shí)利用ads1118.getMilliVolts();函數(shù)獲取振動(dòng)傳感器反饋的毫伏電壓值。
數(shù)據(jù)上傳模式分為兩種,模式一根據(jù)設(shè)置的參數(shù)閾值,當(dāng)采集的溫度和振動(dòng)數(shù)據(jù)超過(guò)閾值才進(jìn)行封包上傳,采用模式一可以有效減輕網(wǎng)絡(luò)傳輸壓力,且可以避免傳輸重復(fù)數(shù)據(jù)。實(shí)際應(yīng)用中出現(xiàn)運(yùn)行超溫,振動(dòng)超限的情況畢竟屬于少數(shù)。模式二采用輪詢應(yīng)答模式,數(shù)據(jù)采集端接收到數(shù)據(jù)請(qǐng)求后,才執(zhí)行數(shù)據(jù)采集及封包上傳的動(dòng)作。數(shù)據(jù)采集端工作流程如圖3所示。
(1)數(shù)據(jù)接收端采用CC2530無(wú)線芯片的廣播工作模式,向全網(wǎng)設(shè)備下達(dá)命令,命令數(shù)據(jù)中包括數(shù)據(jù)采集端工作模式、溫度閾值、振動(dòng)閾值、設(shè)備短地址。
數(shù)據(jù)采集端上傳數(shù)據(jù)時(shí),采用CC2530芯片的點(diǎn)對(duì)點(diǎn)通信工作模式,上傳數(shù)據(jù)幀末尾會(huì)根據(jù)傳輸模式的設(shè)定自動(dòng)添加自身MAC地址或者短地址。命令數(shù)據(jù)幀格式如圖4所示,上傳數(shù)據(jù)幀格式如圖5所示。
(2)數(shù)據(jù)接收端在初始化函數(shù)setup()中通過(guò)串口指令根據(jù)MAC地址表獲取網(wǎng)絡(luò)中各個(gè)設(shè)備的短地址,以備后續(xù)使用。接收到上傳的數(shù)據(jù)后,通過(guò)MAC地址的匹配,將各個(gè)設(shè)備的數(shù)據(jù)存放到相應(yīng)Modbus寄存器地址中。當(dāng)上位機(jī)通過(guò)Modbus指令更新寄存器中數(shù)據(jù)時(shí),通過(guò)回調(diào)函數(shù),程序重新組織下發(fā)命令。數(shù)據(jù)接收端程序流程如圖6所示。
3 上位機(jī)Modbus接口設(shè)計(jì)
Modbus協(xié)議是廣泛應(yīng)用在各種控制器,上位機(jī)軟件上的一種通用通信總線。系統(tǒng)取得數(shù)據(jù)后,為了給其他系統(tǒng)提供一個(gè)統(tǒng)一標(biāo)準(zhǔn)的數(shù)據(jù)接口,結(jié)合ESP32微處理器的硬件優(yōu)勢(shì),通過(guò)UART串口+TTL轉(zhuǎn)RS485模塊設(shè)計(jì)了Modbus-RTU-Slave接口,同時(shí)結(jié)合ESP32微處理器提供的WIFI模組建立一個(gè)Modbus-TCP-Server接口。
各個(gè)設(shè)備采集的溫度、振動(dòng)數(shù)據(jù)統(tǒng)一以Modbus功能碼F03存放在以40001開始的寄存器中。工作模式,參數(shù)閾值等設(shè)定參數(shù)通過(guò)以40050開始的寄存器控制。
4 結(jié)束語(yǔ)
本文重點(diǎn)以CC2530無(wú)線射頻芯片為基礎(chǔ),結(jié)合ATmega328P與ESP32等微型處理器以及溫度、振動(dòng)參數(shù)采集模塊,通過(guò)軟件編程組成了一套能提供標(biāo)準(zhǔn)Modbus通信接口的ZigBee無(wú)線數(shù)據(jù)采集系統(tǒng)。系統(tǒng)設(shè)計(jì)既利用了ZigBee網(wǎng)絡(luò)易組建,成本低、等諸多優(yōu)點(diǎn),又通過(guò)提供的Modbus接口,將物聯(lián)網(wǎng)協(xié)議與工業(yè)通信協(xié)議有機(jī)結(jié)合起來(lái)。使得萬(wàn)物互聯(lián)的理念又向工業(yè)領(lǐng)域推進(jìn)一步。可以看到,隨著無(wú)線通信技術(shù)應(yīng)用的日益廣泛,相關(guān)成熟技術(shù)必然會(huì)推行到工業(yè)領(lǐng)域,工業(yè)領(lǐng)域也越來(lái)越重視無(wú)線通信技術(shù)。
參考文獻(xiàn)
[1] QST青軟實(shí)訓(xùn).Zigbee技術(shù)開發(fā)CC2530單片機(jī)原理及應(yīng)用[M].北京:清華大學(xué)出版社,2015.
[2] 佚名.AVR單片機(jī)開發(fā)與應(yīng)用實(shí)例[M].北京:中國(guó)電力出版社,2018.
[3] 楊晉,曹盛宏.智能硬件項(xiàng)目教程-基于ESP32[M].北京:北京航空航天大學(xué)出版社,2020.
[4] 宋俊慷,臧翔.基于ZigBee承載ModBus-RTU的智慧農(nóng)業(yè)監(jiān)測(cè)數(shù)據(jù)傳輸網(wǎng)絡(luò)設(shè)計(jì)[J].智能計(jì)算機(jī)與應(yīng)用,2020(7):247-249.
[5] 陳呂州.Arduino程序設(shè)計(jì)基礎(chǔ)[M].第二版.北京:北京航空航天大學(xué)出版社,2015.