李雨田
(西安航空职业技术学院,陕西 西安 710089)
轴承作为一种典型的机械零件,被广泛应用在汽车、航空航天等多个领域。一旦轴承出现故障,将会给机械带来极其严重的后果。因此,加强对轴承的在线故障监测与诊断,对提高机械运行的安全性来讲,具有非常重要的价值和意义。但是,传统的轴承故障诊断来讲,大部分都是基于PLC或PC机开发的,这种平台在应用中存在很大的束缚,不仅体积大,同时成本也高,面对野外测试效率低下。因此,开发更为方便的轴承故障诊断系统,对提高机械的安全性,以及故障诊断的便捷性,具有现实的价值和意义。但针对轴承故障的诊断中,目前大部分文献都集中在对轴承故障特征信号的处理等方面。如雷文平[1]则提出一种基于采用SVM算法对小波信号进行识别,从而得出故障信号;李从志等的研究思路也主要集中在对故障信号进行识别[2]。但是,归纳上述的研究中发现,目前对于轴承故障信号的实用型系统研究还很少。鲜有学者提出一个比较实用和便捷的轴承诊断系统。基于以上背景,本文采用当前最为流行的Android体系架构对轴承故障诊断系统进行开发,从而改变以往的有线故障诊断方法,实现更为便捷和灵活的轴承故障诊断。
本系统构建的目的是构建一个便捷型的轴承故障系统,而结合轴承故障诊断问题,本系统主要从硬件和软件两方面对轴承故障诊断系统进行构建[3]。因此,按照上述的目的和设计思路,本文将该系统的整体方案设计为如图1所示。本文所设计的轴承故障系统主要由四大部分构成,分别为数据感知终端、无线传输层、手机终端和虚拟仪器。
图1 基于 Android 的轴承故障诊断系统总体结构
根据上述的架构看出,数据感知终端首先对传感器信号进行调理与采集;在完成采集工作之后,借助无线模块的蓝牙、wifi、3G、4G等通信方式,将采集到的传感器信号传输至手机终端中;最后,由手机虚拟仪器对接收数据开展分析与处理。虚拟仪器部分主要由四大功能模块进行支持,分别为数据传输模块、数据存储模块、数据呈现模块以及数据分析模块。
在本系统的构建中,硬件部分主要包括蓝牙模块、手持终端和信号采集部分。具体的硬件见表1。
表1 主要的硬件
软件部分开发,采用开源软件eclipse4.3作为开发工具。开源软件eclipse具备大量的开发插件,能够对本次设计开发需求进行满足。同时,开源软件eclipse还能够对众多常用的开发语言进行支持,具体包括Java语言、C/C++语言等。在应用开源软件eclipse开展基于 Android 的轴承故障诊断仪开发工作时,开发人员仅需通过在eclipse中配置相应的Android SDK,就能为系统开发构建起编译环境。对软件部分的开发中,采用模块化设计思想,目的是使系统在后续使用过程中具备较强的扩展性。整体功能组成部分见图2。
图2 软件系统结构设计
其中,数据采集主要是实现两大功能:一是对Android 虚拟仪器设备传送来的参数设置指令以及数据采集控制指令进行接收;二是向Android 虚拟仪器设备反馈传感器采集数据;
Android虚拟仪器设备主要实现三项功能:一是利用无线传输方式向数据采集功能模块发送相应的指令;二是接收数据采集功能模块反馈来的传感器采集数据;三是开展数据点在线显示及数据信号处理分析工作。
因此,根据以上分析,将Android程序的开发分为四大模块:数据传输模块、数据存储模块、数据呈现模块以及数据分析模块。其中,数据传输模块主要是对蓝牙及wifi模块读写操作进行实现;数据存储模块则负责对数据采样点信息进行存储,保障后续数据回放及信号处理;数据呈现模块主要是对处理后信号结果进行显示,实现系统与用户之间的交互;数据分析模块是整个故障诊断系统的关键部分,主要是对数据点信号进行时域分析与频域分析[4]。
3.2.1 数据采集模块设计
在轴承故障诊断系统的数据采集功能模块中,主要采用C语言作为采集器Arduino ADK编程语言,以Arduino IDE作为其开发平台,并以此实现对串口、I/O口的封装。同时,由于Arduino在全世界具备颇多的爱好者,使数据采集模块的开发工作将极为简便。通过此方式构建起的数据采集模块开发环境,将实现对许多类的良好封装,从而减少开发过程中不必要的开发工作量。数据采集模块所需要的类主要包括Serial类、analogRead类以及Timer类。具体数据采集模块工作流程如图3所示。
图3 数据采集模块工作流程
3.2.2 数据传输功能模块
数据传输功能模块主要由蓝牙无线通信模块以及WiFi无线通信模块构成。其中,蓝牙无线通信模块的开发主要需要Bluetooth Adapter类、Bluetooth Device类、Bluetooth Socke类以及Bluetooth Server Socke类。蓝牙无线通信模块开发步骤主要包括以下6步[5]:
(1)Android手机服务器端与客户端发起蓝牙无线通信模块开发权限申请;
(2)对本地蓝牙适配器进行获取;
(3)开打蓝牙设备;
(4)对蓝牙串口模块进行搜索;
(5)建立起服务器端与客户端之间的连接;
(6)借助inputStream及outputStream获取相应的数据流。
wifi无线通信模块主要采用与Windows下socket通信流程所类似的HLK-RM04 wifi串口模块[6]。在开发过程中主要借助socket.connect()方法构建起采集器与手机虚拟仪器的连接;利用socket.getInputStream()实现参数设置指令无线传输;以socket.getInputStream()获取采集器反馈数据。具体数据传输功能模块工作流程如图4所示。
图4 数据传输功能模块工作流程
3.2.3 数据存储功能模块
数据存储功能模块主要作用于对数据采样点进行存储,便于用户后续对采样数据的试用及分析,实现数据回放功能。由于本文所设计的轴承故障诊断仪基于Android系统,因此数据存储功能模块将具备多种数据存储方式,具体包括Share Preferences、文件存储、SQLite数据库等。具体存储功能模块的数据回放功能的数据回放流程如图5所示。
3.2.4 数据呈现功能模块
在数据呈现功能模块的设计过程中,为了避免该功能模块出现屏幕闪烁现象,本文将采用图像双缓冲绘图技术开展数据呈现功能模块的设计工作。数据呈现功能模块在开发过程中所需的类包括Paint类、Surface View类以及Canvas 类。同时,考虑到系统数据呈现功能模块的师生显示需求,本文将在数据呈现功能模块中引入数据刷新机制。具体数据呈现功能模块工作流程如图6所示。
图5 数据回放功能的数据回放流程
图6 数据呈现功能模块工作流程
3.2.5 数据分析功能模块
数据分析功能模块主要由三大模块构成,分别为数据预处理模块、时域特征分析模块以及频域特征分析模块。具体数据分析功能模块结构如图7所示。
为验证上述上述方案的可行性,搭建如图8所示的试验平台对轴承故障进行现场模拟诊断平台。
轴承选择UC201,具体参数为:钢球个数8,钢球内直径d=6.749 mm,外圆直径D=28.5 mm;工作转数为1 200 r/min,采样频率设定为20 480 Hz。依据对轴承故障特征频率的特征,可以得到如图9和图10所示的轴承故障时域特征信号和频域特征信号。
图7 数据分析功能模块结构
图8 轴承故障诊断现场实验图
图9 频域特征信号
同时为验证上述结果的正确性,将结果与传统的通过Lab VIEW虚拟仪器检测的结果进行比较,得到表2所示的结果。
通过上述的部分指标对比看出,两者采集到的轴承故障特征值的结果基本一致,说明本文采用的这种Android诊断方法与传统的Lab VIEW虚拟仪器测量结果一致,但本文构建的方法具有极大的便捷性。
图10 频域特征信号
表2 两者特征值对比结果
通过上述的分析可知,本文构建的Android轴承诊断方法,在很大程度上改变了以往传统的Lab VIEW虚拟诊断方法,为机械轴承的故障诊断采集提供了更为简单的方法。