刘伟
[摘 要]针对传统采集方案中有线网络布线困难,系统扩展性不强,缺乏统一数据集成接口的现状,提出了一种由ZigBee无线通信技术和Modbus总线接口技术相结合的电机温度及振动参数采集方案。采用微控制芯片作为参数采集端及数据中转端控制内核,CC2530作为无线通信芯片,中转端控制内核同时提供Modbus-RTU-Slave及Modbus-TCP-Server接口给上位机。文章详细介绍了系统的软硬件结构设计,传感器设备的选择及Zigbee组网与报文数据帧定义封装,实现了参数采集系统的智能化,信息化及安装简单,容易维护,接口统一的目标。
[关键词]Zigbee;Modbus-RTU-Slave;Modbus-TCP-Server;数据采集
[中图分类号]TN915.8 [文献标志码]A [文章编号]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
電机在运行过程中用以衡量其健康状态的参数除了电压、电流、转矩、功率等外,还包括电机机壳温度、电机轴承振动等数据。在实际工程应用现场中,常规参数可以通过电机驱动装置读取,而对电机机壳温度、轴承振动参数少有关注,究其原因:①设备型号各异,规格不统一,系统维护性差;②设备安装分散,不便于传感器安装布线;③即便是有采集参数的设备,对上位机提供的数据接口也不尽统一,系统扩展性差。
近年来随着工业物联网的发展,各种无线通信协议的应用越来越普及,采用无线方式构建灵活便捷,高拓展性的电机温度、振动参数采集系统,必将成为以后数据采集方面的发展趋势。其中,ZigBee是一种高可靠、低功率、低成本、低数据速率,高安全性的双向无线射频通信技术。
1 系统硬件设计
1.1 系统硬件元器件的选择
通过对采集设备现场安装方式、安装位置、传感器布线等多方面因素的考虑,采用总线型参数采集传感器,磁吸式安装方式,低功率小型化MCU控制器。
温度传感器采用DS18B20,该传感器仅需要一条数据线即可实现与微处理的双向通信,具有支持多点组网、测量范围宽、体积小、抗干扰能力强等特点。振动传感器采用磁吸式安装方式,可以安装在轴承盖上,可以测量振动速度、振动位移,它是由运动线圈切割磁力线而输出电压的磁电式变送器,因此具有性能稳定、安装方便等特点。
无线射频模块采用CC2530[1],该模块广泛应用在2.4GHz IEEE802.15.4系统中,可满足系统对低成本、低功耗的要求,ZigBee模块根据功能的不同,分为协调器、路由器、终端3种类型。
采集端MCU采用ATmega328P8[2]位微控制芯片,该控制芯片具有尺寸小、功耗低、接口丰富等特点。通过SPI总线增加一块ADS1118模拟量采集芯片,该芯片分辨率为16位,能更好地还原采样参数。数据接收端采用ESP32[3]微控制芯片,双核32位MCU、2.4 GHz双模WiFi和蓝牙芯片,支持多种通信协议。
1.2 系统的硬件结构
硬件结构主要由底层数据采集部分和数据接收协议转换两大部分组成。底层数据采集部分由温度、振动数据采集模块、ZigBee终端节点、ZigBee路由器节点、数据采集MCU模块组成,将这几个模块进行逻辑连接,可实现数据采集端功能,ZigBee路由器节点不是必须的,如果距离较近,可不使用单独的路由器节点,协调器在建立网络之后,本身可以当做路由器使用。
数据接收及协议转换端连接ZigBee协调器[4]节点,负责建立管理整个ZigBee网络,接收各个采集端上传的温度、振动数据,整理后写入相关Modbus[5]寄存器,为上位机提供统一接口。
系统整体硬件结构图如图1所示,数据采集端、接收端硬件结构及通信接口图如图2所示。
2 系统软件设计
软件设计方面基于美国德州仪器(TI)公司推出的CC2530F256芯片配套的ZigBee协议栈,微处理器控制程序基于Arduino开发环境,利用C语言或C++语言开发。本系统软件设计主要包括三大部分:
(1)数据采集端的数据采集程序以及数据打包上传的协议帧设计。
(2)数据采集端与数据接收端之间利用ZigBee无线网络通信的数据传输协议帧的设计。
(3)数据接收端协议数据封包、解包、转换、Modbus通信接口的实现。
数据采集端软件实现主要包括两部分内容:
(1)电机机壳温度与轴瓦振动数据的采集。
(2)根据设定的上传模式,将数据封包上传。
在初始化函数setup()中首先采用串口命令与CC2530无线芯片通信,根据CC2530的硬件MAC地址获取设备的网络短地址,以备后续通信使用,接着采用sensors.begin();函数初始化DS18B20单总线设备。采用ads1118.begin();函数利用默认参数初始化ADS1118芯片。在循环执行程序voidloop(void)中通过sensors.requestTemperatures();对温度采集芯片DS18B20发送命令以获取温度。利用TempC=sensors.getTempCByIndex(i);语句可以获取第i个温度采集传感器的摄氏温度值。同时利用ads1118.getMilliVolts();函数获取振动传感器反馈的毫伏电压值。
数据上传模式分为两种,模式一根据设置的参数阈值,当采集的温度和振动数据超过阈值才进行封包上传,采用模式一可以有效减轻网络传输压力,且可以避免传输重复数据。实际应用中出现运行超温,振动超限的情况毕竟属于少数。模式二采用轮询应答模式,数据采集端接收到数据请求后,才执行数据采集及封包上传的动作。数据采集端工作流程如图3所示。
(1)数据接收端采用CC2530无线芯片的广播工作模式,向全网设备下达命令,命令数据中包括数据采集端工作模式、温度阈值、振动阈值、设备短地址。
数据采集端上传数据时,采用CC2530芯片的点对点通信工作模式,上传数据帧末尾会根据传输模式的设定自动添加自身MAC地址或者短地址。命令数据帧格式如图4所示,上传数据帧格式如图5所示。
(2)数据接收端在初始化函数setup()中通过串口指令根据MAC地址表獲取网络中各个设备的短地址,以备后续使用。接收到上传的数据后,通过MAC地址的匹配,将各个设备的数据存放到相应Modbus寄存器地址中。当上位机通过Modbus指令更新寄存器中数据时,通过回调函数,程序重新组织下发命令。数据接收端程序流程如图6所示。
3 上位机Modbus接口设计
Modbus协议是广泛应用在各种控制器,上位机软件上的一种通用通信总线。系统取得数据后,为了给其他系统提供一个统一标准的数据接口,结合ESP32微处理器的硬件优势,通过UART串口+TTL转RS485模块设计了Modbus-RTU-Slave接口,同时结合ESP32微处理器提供的WIFI模组建立一个Modbus-TCP-Server接口。
各个设备采集的温度、振动数据统一以Modbus功能码F03存放在以40001开始的寄存器中。工作模式,参数阈值等设定参数通过以40050开始的寄存器控制。
4 结束语
本文重点以CC2530无线射频芯片为基础,结合ATmega328P与ESP32等微型处理器以及温度、振动参数采集模块,通过软件编程组成了一套能提供标准Modbus通信接口的ZigBee无线数据采集系统。系统设计既利用了ZigBee网络易组建,成本低、等诸多优点,又通过提供的Modbus接口,将物联网协议与工业通信协议有机结合起来。使得万物互联的理念又向工业领域推进一步。可以看到,随着无线通信技术应用的日益广泛,相关成熟技术必然会推行到工业领域,工业领域也越来越重视无线通信技术。
参考文献
[1] QST青软实训.Zigbee技术开发CC2530单片机原理及应用[M].北京:清华大学出版社,2015.
[2] 佚名.AVR单片机开发与应用实例[M].北京:中国电力出版社,2018.
[3] 杨晋,曹盛宏.智能硬件项目教程-基于ESP32[M].北京:北京航空航天大学出版社,2020.
[4] 宋俊慷,臧翔.基于ZigBee承载ModBus-RTU的智慧农业监测数据传输网络设计[J].智能计算机与应用,2020(7):247-249.
[5] 陈吕州.Arduino程序设计基础[M].第二版.北京:北京航空航天大学出版社,2015.