当前位置:舍宁秘书网 > 专题范文 > 公文范文 > 基于Python的振动监测与故障诊断系统开发

基于Python的振动监测与故障诊断系统开发

时间:2024-11-13 12:45:01 来源:网友投稿

胡王平,周裕康,孙荣坤,张志新

(浙江大学 化工机械研究所,浙江 杭州 310031)

振动烈度是反应泵、风机和齿轮箱等旋转机械运行状态的重要参数[1]。手持式测振仪可以测量振动大小,常用于旋转机械的振动巡检,但需要人工记录,容易造成错记或数据丢失,且不具备振动分析与故障诊断功能。随着检测技术的发展,具有简单的频谱分析功能的点检设备面世,但诊断能力较弱。现场振动分析与故障诊断系统通过传统诊断方法实现故障诊断功能,但具有高成本和封闭系统功能拓展性差的缺点。近年来,随着计算机技术的发展,利用大数据的人工智能诊断方法也逐渐兴起[3-4]。相较于传统诊断方法,人工智能诊断方法对专业诊断人员的诊断经验要求更低,对历史数据的利用率更高。因此,为结合传统振动诊断方法和人工智能诊断方法的优势,解决其他振动系统成本高、开放性差等缺点,本文利用Python这一开源编程语言,结合适当的硬件选型,开发了一套振动故障监测系统,该系统成本低,开放性高,能方便地集成最新的监测与智能诊断算法,且实现了现场诊断与远程协同诊断功能,提供了多种诊断方式。

1.1 系统的整体方案

系统的整体方案结构如图1所示。现场检测端的主要功能是信号采集和现场诊断,布置在旋转机械上的振动传感器负责采集振动信号,由信号采集板卡上传至现场终端进行状态监测与故障分析。为增强系统诊断能力,系统还配备了远程Web端以实现远程协同会诊的功能,通过云平台中的云数据库功能,可将现场端的振动数据传入云端,远程专家可以通过Web端访问后进行协同会诊。

图1 振动监测与故障诊断系统整体方案图

图2 系统选用的时频域分析方法

1.2 振动信号采集与预处理

系统选用频响范围宽、结构可靠、抗干扰能力强的IEPE/ICP压电式加速度传感器,选用型号为MPS-140801-I的USB数据采集板卡,该卡可以直接接入IEPE/ICP类传感器,能实现8通道、每个通道最高以128 kHz为采样频率的信号采集。设备运行环境的复杂性会使传感器测得的振动信号受到许多干扰,这些干扰信号会对后续故障诊断产生影响,为了降低无用信号干扰,获得更有效的诊断用信号,本系统会在诊断前进行滤波降噪的预处理。集成的包含隔直、带通滤波器、移动平均、中值滤波、维纳滤波、五点三次平滑等滤波降噪算法可以根据不同的应用环境供用户选择。

为了提高系统的适用性,由其他测振系统中测得的振动信号按照本系统中所用数据格式进行统一后,也可以导入系统中进行分析,即实现归一化数据输入的功能。

1.3 故障诊断方法

1.3.1 基于时频域分析的传统诊断方法

时频域分析方法是传统故障诊断的核心,主要包含信号的时域分析、频域分析和时频分析。

振动信号的时域指标能够评估转子系统的振动大小,判断其运行状态[5]。在实际工程中,时域分析常常作为系统状态监测的主要手段,也作为故障发生的早期预警,帮助工作人员发现早期故障,主要包括有效值、峰峰值、峭度值等时域指标。

频谱分析以傅立叶变换为核心,其计算公式如下:

(1)

式中:x(t)是时域信号,X(ω)是其傅里叶变换。

作为工程上最常用的频谱分析方法,快速傅立叶变换能分析旋转特性,识别简单的如转子不平衡、不对中等故障[6],而复杂的故障则常常可根据其故障特性利用不同的诊断方法来识别,结合转子系统中最常见的轴承与齿轮故障,常有以下几种诊断方法:

包络谱分析是一种对冲击信号十分敏感的处理方法,时域信号f(t)利用式(2)进行Hilbert变换:

(2)

由此得到解析信号为:

z(t)=f(t)+iH(t)

(3)

对其取模即得包络信号:

(4)

对包络信号进行快速傅里叶变换后,可以放大滚动轴承故障发生时的冲击引起的共振信号并分离出其故障信息,结合滚动轴承的特征频率信息,可以识别出其故障部位。

为识别齿轮故障发生时不同的故障对齿轮啮合频率的不同调制效果,常可以对所需频段进行细化分析或利用倒频谱分析将频谱图上复杂的边频信号分离,从而分析其边频信息,判断故障情况。

(5)

(6)

进行离散小波变换时,信号会通过一系列的高通滤波器来分析高频成分,通过一系列低通滤波器来分析低频成分,将高低频端信号成分分离,经过小波重构后就可以还原不同频段的振动信息,以达到提取细化频段的目的。

时频域分析包含短时傅里叶变换、Winger-Ville分布和小波变换等分析方法,其中小波变换常用于滤波、分析各频段能量、研究非平稳信号以及提取特定的信号特征等等[7-8],是故障诊断时综合分析判断许多故障时的常用方法。

1.3.2 基于人工智能的诊断方法

传统诊断方法的诊断理论较为完善,诊断逻辑也较为清楚,然而实际诊断过程中,诊断方法的选用和诊断结果的分析等工作仍需要专业诊断人员的介入,故障检出率很大程度上依赖于诊断人员的技术与经验,往往增加了诊断的成本和难度。因此在本系统设计过程中,引入了传统在线振动监测系统中缺少的人工智能诊断方法。

作为人工智能所依赖的技术之一,神经网络依靠系统的复杂程度,通过调整内部大量节点之间相互连接的关系,从而达到处理信息的目的[9-10]。利用这一特性,本系统利用BP神经网络建立起旋转机械的振动特性与故障之间的联系,训练故障诊断模型,从而帮助诊断识别故障,提供针对不同机型的有效诊断网络。

BP神经网络是一种按照误差逆向传播算法训练的多层前反馈神经网络,其特点是按误差反向传递,无需事先确定输入输出之间的映射关系。BP神经网络的主要结构如图3所示,计算时,隐层则作为中间层让神经网络能实现非线性变换,其主要流程包括信号的前向传播和误差的反向传播两个流程,通过两个过程的不断迭代,神经网络会不断调整各权重值并逐渐减少误差,从而达到理想的收敛效果。

图3 BP神经网络结构图

在故障诊断中,BP神经网络可以通过已有的故障输入输出信息来训练权重层,把输入向量进行目的性分类,即将输入振动信息按故障种类进行分类,从而达到分离不同故障的目的。

1.4 软件功能实现

软件系统主要实现振动数据的处理、故障诊断与界面设计的功能,作为一款开源且生态丰富的编程语言,Python可以调用大量的第三方库,且编程灵活快速,开发方便,能简单有效地面向对象编程;通过数据库库函数,Python可以实现外界数据库控制,完成快速的数据库读取功能,同时许多信号处理相关的库函数可以用于故障诊断时的信号处理;此外,它可以方便地通过库函数调用Qt进行GUI设计。对于设计振动故障系统来说,Python能满足全部的设计要求,基于此,本系统的软件开发工作均通过Python完成。

图4表明了现场检测端、云平台和远程Web段的主要功能。

图4 总体软件功能图

现场检测端的核心功能是数据采集与故障诊断,实时数据采集时,信号采集板卡所带有的DLL函数接口通过Python的调用,实现调用板卡获取振动数据和设置采样参数等功能。获得振动信号后,现场端的Python程序可以对振动信号进行诊断分析,并且诊断方法多样且可集成性高。硬件选型与Python开发满足了系统低成本与开放性高的特点。在工业设备的诊断过程中,当设备的工作环境较为极端时,现场诊断会难以进行;当诊断现场缺少专业诊断人员时,也会让诊断过程变得困难。在一些情况下现场端的功能难以实现诊断功能,需要有远程协同会诊功能来完成远程诊断或协助现场工作人员进行诊断。因此,系统除了搭建了集成各诊断方法的现场终端外,还搭建了远程Web端,让用户能实现远程多平台的在线监控与协同诊断,这一功能是利用现场端与远程端之间的桥梁云平台来实现的。

云平台由云服务器和云数据库组成。国内阿里云、腾讯云、华为云等公司均提供云服务器的服务,本系统选用阿里云提供的轻量应用型服务器。现场端将采集到的振动数据上传至云数据库中,云服务器中存储的Web程序可以获取云数据库中的数据并对其进行诊断分析,远程Web端通过HTTP协议与云服务器进行通讯,最终实现跨平台的远程状态监控软件。远程端软件功能的实现主要包含数据库结构设计和远程Web端程序设计等工作。

MySQL是一种小型关系型数据库管理系统。与其他大型数据库管理系统相比,其在规模与功能方面有一定的局限性,但其体积小、速度快、开源免费等特点使其在中小型网站开发中得到了广泛的应用。MySQL的众多API使得其可以在Python端和Web程序端实现读写功能,因此本系统选用MySQL作为数据库。根据现场端和远程Web端的设计方案,数据库中配有用户管理表、设备配置表和振动数据存储表等表格,以记录现场检测端上传的搭建完数据库后,现场端便可以上传振动数据至云数据库。远程Web端通过调用云数据库中的数据实现振动数据的远程访问。基于B/S模式的Web程序不需要用户安装客户端软件,只需要通过浏览器就可以访问服务器,在云平台中搭建好Web程序后,用户就可以与云服务器进行通讯,可以实现多设备的访问。

远程Web程序中集成了实时监控图、历史趋势图、历史诊断、远程协同诊断、设备管理和用户管理等功能模块。实时监控图、历史趋势图和远程协同诊断的功能都依靠云数据库中存储的振动数据。实时监控界面每隔一秒发动调用请求,获得振动数据后刷新实时监控图,并可以显示有效值等时域指标。历史趋势图可以绘制一段时间内的振动有效值、峰峰值和峭度值等时域指标趋势图,以查看设备运行状况。Web远程端集成了现场端已有的故障诊断算法,历史诊断能依据云数据库中存储的历史振动数据进行诊断分析或查看设备历史运行情况,而在远程诊断远程协同会诊功能中,Web端能够同步现场端的诊断数据,在远程进行诊断分析,从而指导现场端的诊断,如调整采样参数、调整测点等,从而提高诊断效率与准确率。设备管理功能用于记录设备的详细信息。用户管理功能则用于管理账户与密码。

通过现场端与远程端的软件功能实现,结合完整的硬件设备体系,组成了一套低成本、开放性高且支持远程协同会诊的智能诊断系统。

2.1 软件功能测试

软件功能测试的主要目的是验证多通道传感器振动采集的稳定性,检查现场端数据采集、上传等功能和远程Web端的监测、协同会诊等功能,本次测试的试验台为杭州前进齿轮有限公司的风电机组齿轮箱振动试验台,如图5所示。在测试线上布置完传感器、信号采集板卡和终端电脑后,利用振动故障系统监测风电机组齿轮箱从开机到满负载运转时的振动情况。

图5 杭州前进齿轮有限公司风电机组齿轮箱振动试验台

图6为远程Web端的历史趋势功能中记录的风电齿轮箱开机全过程的有效值变化图,该图说明了现场检测端的设备实现了七通道的实时数据采集并将数据上传至云数据库中,远程Web端实现了从云数据库中读取数据并显示的功能,可以对现场进行监测,同时利用数据同步的功能帮助现场端进行故障诊断,实现远程协同会诊的功能。

图6 远程Web端中显示的各通道有效值变换趋势图

2.2 故障诊断方法测试

西储大学提供了一份滚动轴承故障振动信号数据集,为验证系统故障诊断算法的有效性,以一深沟球轴承为例,其主要参数如表1所示。

表1 6205-2RS SKF深沟球轴承尺寸参数

在电机转速为1797 r/min时,根据该轴承的结构计算得到的其内圈故障特征频率为162.2 Hz,取其数据进行快速傅里叶变换和包络谱分析,结果如图7所示。在频谱图中,该频率分量虽然能找到,但是与其他频率特征相比并不明显,而在包络谱图中,该频率分量是幅值最高最明显的分量,能够比较明显地识别轴承的故障。

图7 内圈故障数据频谱图与包络谱图

以振动数据作为输入层,不同故障状态作为输出层,如正常状态时输出为[1,0,0,0],内圈故障时输出为[0,1,0,0],滚动体故障时输出为[0,0,1,0],外圈故障时输出为[0,0,0,1],利用数据集中的部分数据作为训练集,训练隐含层节点数为8的BP神经网络。将训练好的模型用于诊断其他故障数据,查看诊断结果,获得如表2所示的数据。

表2 BP神经网络训练结果表

试验结果表明,除了正常状态外,神经网络对其他故障的检出率都较好,证明了神经网络具有可靠性。但有些测试结果的输出层数据也不是很明显,这是由于数据量过少,训练模型的训练精度便相对较低,系统中设置了训练数据的输入手段,可以不断更新训练数据集,在实际应用中随着数据量的增多会使训练模型的精度不断提高。

基于Python开发的振动故障系统实现了高速、稳定的数据采集以及有效的数据处理,针对旋转机械的日常监测与故障诊断有助于帮助其管理与运维。通过不同的测试验证了其稳定运行、智能监测与故障诊断的功能,实现了其设计目的。

猜你喜欢 故障诊断远程振动 振动的思考科学大众(2023年17期)2023-10-26让人胆寒的“远程杀手”:弹道导弹军事文摘(2022年20期)2023-01-10远程工作狂综合征英语文摘(2021年11期)2021-12-31振动与频率天天爱科学(2020年6期)2020-09-10远程诈骗学生天地(2018年19期)2018-09-07中立型Emden-Fowler微分方程的振动性数学物理学报(2017年6期)2018-01-22因果图定性分析法及其在故障诊断中的应用重庆工商大学学报(自然科学版)(2015年10期)2015-12-28UF6振动激发态分子的振动-振动驰豫计算物理(2014年2期)2014-03-11基于LCD和排列熵的滚动轴承故障诊断振动、测试与诊断(2014年5期)2014-03-01基于WPD-HHT的滚动轴承故障诊断机械与电子(2014年1期)2014-02-28

推荐访问:振动 监测 故障诊断

猜你喜欢