基于LabVIEW和Matlab混合编程的滚动轴承故障诊断系统

2018-07-23 02:14孙小明
电子科技 2018年7期
关键词:波包生产者故障诊断

孙小明

(内蒙古科技大学 机械工程学院,内蒙古 包头 014010)

滚动轴承是旋转机械中广泛应用的零件,其工作状态的好坏直接决定着整台机械的运行效率。但由于滚动轴承承受冲击能力差,易发生故障。针对滚动轴承的故障诊断,目前大多数研究者是借助Matlab强大的信号处理能力,运用不同方法对轴承振动信号进行分析,提取故障特征。这些方法在轴承故障诊断方面都拥有各自的优点和适用性,但都缺乏必要的人机交互界面,操作不便,具有一定的局限性[1-3]。为此,本文基于LabVIEW和Matlab混合编程的思想,利用Matlab Script节点技术将LabVIEW和Matlab的优势相结合,开发了一套轴承故障诊断系统,既弥补了Matlab人机交互能力差的缺点,又克服了LabVIEW数据处理分析方面的不足,为准确、高效地提取并判断轴承故障提供了途径。

1 系统框架及算法基础

1.1 生产者-消费者模式

生产者-消费者设计模式基于主/从设计模式,将生产和消费数据速度不同的任务分开处理。通过基于队列的并行执行方式,生产者-消费者模式可以有效地避免因时间的延迟所导致的数据丢失现象[4]。本系统采用结合生产者与消费者的事件响应机制,将事件结构放入生产者循环,通过队列将事件信息传递给消费者,在消费者循环中获得响应,增加了事件结构的灵活性,提高了事件处理的效率。设计模式如图1所示。

图1 融合事件结构的生产者-消费者模式

若程序运行出现错误或用户主动停止程序时,先跳出生产者循环,不再向消费者循环输出数据,这将导致消费者循环中的“元素出队”函数发生错误,从而使进程执行结束。

1.2 小波包降噪和EMD分解

小波包分析是小波分析的延伸,提供了更加灵活、精细的分析手段。其基本思想是让能量集中,在细节上寻找有序性,采用多层次的方法将频带进行划分,对多分辨率没有细分的高频部进一步分解,因此具有更高的时频分辨率。而EMD是将非平稳信号分解成一系列不同时间尺寸的IMF,这些分量代表了信号中不同频率成分,随分解的先后频率逐渐降低。本文依据互相关、峭度准则选择对应的IMF分量进行包络谱分析,提取出故障信息,从而准确地判断出轴承故障类型。故障分析的具体步骤如下:

(1)利用NI硬件平台采集轴承故障信号;

(2)选择小波包并确定其分解层次,对原始信号进行小波包分解;

(3)依据熵标准,找到最优小波包树,确定最优小波包基;

(4)选择最优树的小波包节点系数,对信号进行小波包重构,便可获得降噪信号[5];

(5)依据互相关、峭度准则选择对应的IMF分量进行包络谱分析,判断故障类型。

2 系统硬件构成

系统的硬件由PC机、NI-cDAQ9184机箱、NI 9234振动采集模块、加速度传感器等组成。其中,NI-cDAQ9184是一款4槽的以太网机箱,可搭载多款NI专用C系列I/O模块。 NI 9234模拟输入模块作为一款高精度振动数据采集模块,配置了4个BNC连接器,可提供4路模拟振动信号的同步采集,具有24位分辨率,102 dB的动态范围,信号输入范围为-5~+5 V,最高采样率可达到51.2 kS/s,频率精度为±50 ppm。每个通道的输入信号经缓存、调理后,由24位的模数转换器对其采样。数据采集硬件平台如图2所示。

图2 NI数据采集硬件平台

3 系统软件设计与实现

软件系统是利用LabVIEW2014和Matlab 8.5混合编程实现的。其中,LabVIEW将生产者-消费者模式与现有的事件结构相结合,使其发挥各自的优势,减少了对系统资源的消耗,避免因时间的延迟所导致的数据丢失现象。同时,系统采用DAQmx底层VI采集轴承振动信号,并利用Matlab Script节点技术调用Matlab完成信号的小波包降噪,同时对降噪后的信号进行EMD包络谱分析[6]。

3.1 信号的采集

系统采用DAQmx底层VI完成振动数据的采集。生产者循环中放置事件结构来收集用户界面的各种请求,而消费者循环中的条件结构执行具体的操作。当用户按下某个按钮后,与之对应的命令便会置入队列,从而完成消费者循环中程序各部分执行相应的操作。使用事件结构避免了因轮询对系统资源带来的消耗,同时也为程序提供了扩展更多事件的能力[7-8]。图3所示为数据采集程序框图。

图3 数据采集程序框图

3.2 混合编程技术的实现

为了将Matlab的强大的信号处理能力方便地应用于虚拟仪器系统开发中,LabVIEW 提供了Matlab Script节点,使得把m文件脚本部署为LabVIEW 程序的一部分成为可能。在LabVIEW脚本节点选版中打开Matlab Script节点,然后在图形内单击鼠标右键,选择导入命令,并选择对应的m文件,再根据程序需要在节点边界上添加输入输出变量,并确定变量的数据类型。当运行LabVIEW程序时,系统会自动启动Matlab进程,为后续调用做准备。EMD包络谱的混合编程程序框图如图4所示[9-10]。

图4 EMD包络谱混合编程程序框图

4 试验与分析

利用美国 Spectra Quest公司的轴承故障诊断实验台(如图5所示)对系统故障分析的准确性进行验证。该轴承为 MB.ER -10K型深沟球轴承,滚子个数为8,轴承节径为33.5 mm,滚动体接触角为 0°,滚动体直径为7.937 5 mm。其中,加速度传感器布置在左侧轴承座的垂直径向、水平径向和水平轴向3个方向上,然后分别连接在NI 9234模拟输入模块的不同BNC连接器上,完成轴承振动信号的采集。

图5 轴承故障诊断实验台

首先,通过内圈故障试验对系统进行验证。试验中,轴承的转速为1 860 r/min,采样频率为2 560 Hz,根据深沟球轴承的各项基本参数,获得轴承转动频率为31.0 Hz,滚动体故障频率为153.45 Hz。首先,对原始信号进行小波包降噪处理,去除部分干扰,原始信号和降噪信号时域波形图如图6所示。在图中,可清楚看到原始信号降噪后的效果[11-12]。接着,对降噪信号进行3层EMD分解,并选取IMF1进行包络谱分析,结果如图7所示。

图6 滚动体故障原始信号和降噪信号

图7 内圈故障IMF1分量包络谱

然后,再利用滚动体故障试验对系统进行验证。试验中,轴承的转速为2 580 r/min,采样频率为2 560 Hz,计算得到轴承转动频率为43.0 Hz,故障频率为85.65 Hz。包络谱分析结果如图8所示。

图8 滚动体故障IMF1分量包络谱

图6中时域振动信号带有明显的冲击效果,说明轴承出现了故障,但无法确定故障类型,需做进一步的频域分析。从图7包络谱中的31.1 Hz、61.58 Hz和153.2 Hz处可找到明显的频率成分,分别与轴承转频31.0 Hz和滚动体故障特征频率62.0 Hz以及2倍频153.45 Hz接近吻合,可以判断轴承的内圈发生了故障。同理,从图8中也可找到42.8 Hz、 85.63 Hz和170.8 Hz,分别与轴承转频43.0 Hz以及2倍频85.65 Hz和滚动体故障特征频率171.3 Hz相近,可以判断轴承的滚动体发生了故障。通过以上两种轴承的典型故障类型的推理诊断,验证了该系统的有效性、正确性和可靠性[13-14]。

5 结束语

滚动轴承故障诊断系统,采用混合编程思想,将LabVIEW和Matlab相结合,使其发挥了各自的优势,不仅提供了良好的人机交互界面,也具备了强大的数据处理能力。经实验验证,系统采集到的数据清晰、可靠,能够准确地判断出轴承所发生的故障[15]。同时,用户可以根据实际测试要求加入新的程序算法,对系统进行扩展,具有一定的应用前景。

猜你喜欢
波包生产者故障诊断
基于包络解调原理的低转速滚动轴承故障诊断
1月巴西生产者价格指数上涨3.92%
基于支持向量机和小波包变换的EOG信号睡眠分期
2019德国IF设计大奖
基于小波包Tsallis熵和RVM的模拟电路故障诊断
家禽福利的未来:生产者能期待什么?
一场大风带给生产者的思考
基于小波包变换的电力系统谐波分析
因果图定性分析法及其在故障诊断中的应用
基于LCD和排列熵的滚动轴承故障诊断