1. 引言
随着计算机和电子技术的发展,工程机械设备不断向着大型化、高速化、连续化和自动化方向发展。液压系统是这些设备的核心,其设备的功能增多,结构变得越来越复杂,性能指标要求越来越高,工作强度也越来越大,加之其工作环境的恶劣与多变复杂性,相应地增加了液压系统出现故障的可能性[1] [2] 。一旦发生故障不仅损失大、影响大;即便是正常维修,也会产生很大的设备维修量和维修费用。还可能破坏整台设备,影响整个生产过程,造成环境污染,甚至危及到人身安全,带来巨大的经济损失。液压泵是液压系统的心脏,泵的性能直接影响着液压系统的性能 。因此有必要寻找一种经济、可靠、易实现的方法来实时在线监测液压泵的运行状态,有效采集液压泵的特定状态信息,这样才能为后期数据融合与处理奠定坚实的基础,提高液压泵的寿命和工程机械的工作效率。
文献[3] 采用DSP的有线数据采集方式,但是布线繁琐,干扰较多,采集方式繁琐,不适合在恶劣环境中作业。文献[4] 采用基于wifi的无线数据采集方式,但是能耗比较大,而且wifi只能点对点传输,当有多路数据需要同时传输到终端上时,丢包严重。本文研究并设计了一套基于ZigBee的液压泵数据采集系统,用来精确的大量的采集液压泵运行数据和周围环境数据,保障后期故障诊断与预测的精确性。本系统与以往监测方法相比,引入自组网思想,将静态的无线传感器网络节点放到动态的工程车辆上去,在采集数据的量和度上,都提升了一个档次,同时加入环境数据的采集,使数据更加真实,有效,实用。
2. 系统总体结构设计
本系统以ARM处理器s3c6410为核心,采用低功耗ZigBee模块CC2530作为协调器组建无线网络,配合各类数据采集传感器采集液压泵温度,压力,流量数据和车辆周围空气温湿度,海拔等环境数据,通过串口传入ARM处理器并显示出来。系统总体设计如图1所示。
如图2所示,为便于系统后期维护和功能扩展,将整个系统分为处理层,中间层和终端层。处理层为系统上层,实现整个系统的数据存储,处理与显示,供用户调取。ZigBee无线网络作为中间层,由协调器节点和终端节点构成,运行Zstack,实现网络组建与数据的传输。传感器与ZigBee的终端节点为终端层,实现对液压泵各种运行数据的采集和传输。
3. 系统硬件设计
3.1. 节点设计与传感器选择
一个液压泵上布置了若干个采集节点,分别采集液压泵的温度,压力,流量数据。同时在泵车边缘
Figure 1. The overall design diagram of the system
图1. 系统总体设计图
Figure 2. The hierarchical system structure diagram
图2. 系统分层结构图
安装温湿度传感器用来采集环境数据。经纬度海拔数据直接从车载gps采集。每一个采集节点对应一个采集模块,采集模块由ZigBee终端和传感器组成。本系统采用星形网络作为ZigBee网络的拓扑结构。由一个协调器与多个终端设备组成。设备选取TI公司的低功耗ZigBee模块CC2530,协调器与ARM处理器采用USB通信。协调器硬件电路中选用PL2303芯片,它是Profile公司生产的一种高度集成的RS232-USB转换器,可提供一个RS232全双工异步串行通信装置与USB功能接口便利连接的解决方案。终端设备的硬件电路结构与协调器基本相同,不同之处是接有各种数据采集传感器。图3为液压泵数据采集终端硬件原理图。
在液压泵的吸油口和排油口各安装一个液压压力传感器,用来测量不同工作负载下泵的油液压力。本系统采用杭州美控自动化技术有限公司的MIK-P300型压力传感器。该传感器量程为0到100 MPa,电源电压选择24 V,输出信号选择4到20 mA,接口螺纹M20*1.5,量程精度为%0.1,输出电流可直接转换成实际压力P/MPa。设输出电流为N1~N2,量程为T,输出电流为N,则P = (N − N1)*T\(N2 − N1)。
Figure 3. Hydraulic pump data acquisition terminal hardware principle diagram
图3. 液压泵数据采集终端硬件原理图
在泵体四壁上放置若干个温度传感器DS18b20用来测量泵体的温度,同时可将数据进行对比,可预测液压泵受热不均,气路系统故障等情况。DS18b20由美国DALLAS半导体公司推出,测温范围−55℃~+125℃,测温误差1℃。工作电源3.0~5.5 V/DC,可编程的分辨率为9~12位,对应的可分辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃,可实现高精度测温,如图4所示为DS18b20温度值格式表。
二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。例如+125℃的数字输出为07D0H,+25.0625℃的数字输出为0191H,−25.0625℃的数字输出为FE6FH,−55℃的数字输出为FC90H。
流量传感器采用杭州美控自动化技术有限公司的LWGY9012型液体涡轮流量计,用来测量泵液进出口流量。输出信号为脉冲输出4~20 mA,介质温度−20℃~+120℃,环境温度为−20℃~+60℃,误差为%1,供电电源为DC24V,正常流量范围为0.5~10 m³/H。设输出电流为N,输出电流可直接转换成实际流量F = (N − 4)*9.5\16 + 0.5。
温湿度传感器选择具有标准数字信号输出的DHT11。供电电压3.3~5 V,测量范围:湿度20%~90% RH,温度0℃~50℃。测量精度:湿度±5%RH,温度±2℃。分辨率:湿度1% RH,温度1℃。输出为单总线数字信号。
3.2. 网关设计
网关是ZigBee网络与外界交互的桥梁,它的主要工作就是存储和处理收到的数据,同时转换成另一种格式发送出去。本系统采用ARM处理器s3c6410。网关工作流程图如图5所示。
4. 系统软件设计
本系统软件设计主要包含协调器设计,终端设计,采集设备及数据传输协议4部分。
4.1. 协调器软件设计
在TI官方的Zstack协议栈基础上修改AF层与调用HAL层代码来实现[5] 。协调器程序主要负责接收终端发送来的数据,判断帧类型,组建星形网络,建立物理地址和逻辑地址的映射表,同时通过串口发送给处理层。程序流程图如图6所示。
4.2. 终端软件设计
终端主要负责将采集到的传感器数据发送给协调器,加入星形网络[6] 。设备上电后,节点从休眠模
Figure 4. The temperature value format of DS18b20
图4. DS18b20温度值格式表
Figure 6. The ZigBee coordinator work flow chart
图6. ZigBee协调器工作流程图
式中醒来,扫描信道,看是否收到周围节点传来信标帧,没有则等待,收到信标帧之后,监听信标帧,选择父节点加入网络,发送入网请求,收到入网请求响应,则加入网络成功,没收到说明父节点的短地址满了,寻找尚未申请的父节点,没有则入网失败,进入休眠模式,有则重新加入网络。入网成功后,看是否有无线数据,地址是否为本机短地址,如果不是则丢弃数据包,重新等待接收无线数据包,如果是,则解析数据命令帧,获取温度,温湿度,流量,压力,环境数据传感器数值,压力和流量数据经过AD转换成ZigBee协议的数据帧格式,P07口接收温度数据,P06口接收温湿度数据,P05口接收环境数据,发送到协调器。继续等待无线数据包发送。流程图如图7所示。
4.3. 采集设备软件实现
设备上电后,初始化传感器,进入循环。对于DS18b20和DHT11,采集的是数字量。获取任务ID后进行串口初始化,将传感器的输出数据IO口初始化为CC2530的P07和P06口,在数据发送结构体函数中加入读取语句,将采集的数字量转换之后存放到设置好的字符串中。设置AF_DataRequest()数据发送函数,将数据包发送给目的地址协调器。对于输出是模拟量的传感器,先进行采样,然后进行AD转换和滤波,转换为数字量,进行数据传输。流程图如图8、图9所示。
4.4. 数据传输协议设计
本系统将若干个传感器置于泵车上,组建星形网络,将数据统一传至协调器。每一个传感器对应一个数据采集终端。数据传输协议采用MSG (报文)帧结构,使用APSDE-DATA.request原语发送,通过APSDE-DATA.request原语接收[6] 。MSG事务帧结构如图10所示。
在数据包格式中启始位占一个字节,扩展字节也占一个字节,保留为以后扩展功能所用。数据包长度(Length)占两个字节。帧控制域占两个字节,包括帧类型(CMD,DATA,ACK),帧属性(广播,组播,点播),请求应答,加密控制等。数据包序列号占两个字节,每发送一次数据,次数加1。地址域包括目
Figure 8. Acquisition of digital work flow sensor
图8. 采集数字量传感器工作流程图
Figure 9. The acquisition of analog sensor work flow chart
图9. 采集模拟量传感器工作流程图
的地址协调器,源地址采集终端。数据包帧负载为包体,本系统将其字节定义为温湿度,流量,压力数据。校检占两个字节,为包尾。采集的模拟量数据经过AD转换以16进制数字量形式传输。数据包格式如图11所示。
5. 实验测试及结论
为验证本系统工作性能,现在进行实际测试实验,对整个系统进行测试。
测试环境:选用一个协调器节点,9个终端节点,编号为1到9,每个节点各控制一个传感器,组成星型拓扑网络,对液压实验室教学用液压泵进行模拟数据采集。编号为1到4的四个节点采集泵体温度,编号为5和6的两个节点采集进出口流量,编号为7和8的两个节点采集油液压力,9号节点采集环境数据[7] 。终端节点携带传感器安置在泵上,协调器与终端节点距离5米,ARM处理器与协调器通过串口连接。采集到的数据显示在ARM中。测试场景节点图如图12所示。
通过Packet Sniffer抓包工具对抓取的数据包进行分析。EBID为0050,Chip type为CC2530,EB type为SmartRF04EB。如图13所示。
截图的这个数据包是一个数据帧,节点16位短地址为0XB85A的终端将采集的数据向目的地址为0X0000的协调器传送。目的PANID为0XFFF1。MAC数据包有效载荷为48 00 00 00 5A B8 1E A9 00 14 03 00 08 0F 14 04 33 31 20 43,数据包序列号为0X4F。节点的64位IEEE地址为0X00124B000550477D。温度数据为31度。此时相关值:106,RSSI值为:−99 dBm。
Figure 11. The format of the data packet structure diagram
图11. 数据包格式结构图
通过抓包工具,监测开始一段时间的工作数据,可以看出:系统上电后,协调器自动开始扫描信道,获取PANID,然后终端加入网络,先发送信标帧,之后是命令帧,收到协调器回复后,获得短地址,加入网络成功,进行数据传输。整个过程自动完成,只需要几帧数据,速度很快,体现出无线自组网的优势。且一个协调器可同时允许大量子节点加入,可连接不同的传感器,具有很强的扩展性。
终端设备向协调器发送单播数据测试丢包率如表1所示。
由表1可知,经过四天数据采集测试,单播数据丢包率平均值为0.53%,峰值小于1%,表明系统具有良好的稳定性,故障发生概率极低,满足数据采集传输的基本要求。
6. 结论
基于ZigBee的液压泵数据采集系统,有效的解决了工程车辆数据采集过程中有线网络布线复杂,采

Figure 13. Analysis of packet sniffer capture
图13. Packet sniffer抓包分析
Table 1. System resulting data of standard experiment
表1. 标准试验系统结果数据
集方式繁琐,故障率高的问题,同时具有很强的扩展性,将无线网络的自组网特性,用于移动终端的数据采集上,成本低,数据传输稳定,速度快,具有一定的应用价值。