CN113033611B - 一种电机轴承数据采集与故障诊断系统 - Google Patents
一种电机轴承数据采集与故障诊断系统 Download PDFInfo
- Publication number
- CN113033611B CN113033611B CN202110208036.9A CN202110208036A CN113033611B CN 113033611 B CN113033611 B CN 113033611B CN 202110208036 A CN202110208036 A CN 202110208036A CN 113033611 B CN113033611 B CN 113033611B
- Authority
- CN
- China
- Prior art keywords
- motor bearing
- module
- fault diagnosis
- motor
- bearing fault
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000003745 diagnosis Methods 0.000 title claims abstract description 124
- 238000012549 training Methods 0.000 claims abstract description 54
- 239000002245 particle Substances 0.000 claims abstract description 51
- 238000005457 optimization Methods 0.000 claims abstract description 25
- 238000000605 extraction Methods 0.000 claims abstract description 24
- 238000004140 cleaning Methods 0.000 claims abstract description 19
- 238000013079 data visualisation Methods 0.000 claims abstract description 14
- 238000002372 labelling Methods 0.000 claims abstract description 11
- 230000006870 function Effects 0.000 claims description 30
- 238000012360 testing method Methods 0.000 claims description 14
- 238000005070 sampling Methods 0.000 claims description 9
- 239000013598 vector Substances 0.000 claims description 9
- 238000000354 decomposition reaction Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 5
- 238000013480 data collection Methods 0.000 claims description 4
- 238000004891 communication Methods 0.000 claims description 3
- 239000000470 constituent Substances 0.000 claims description 3
- 230000009467 reduction Effects 0.000 claims description 3
- 238000013519 translation Methods 0.000 claims description 3
- 238000000034 method Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 7
- 239000000306 component Substances 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 230000001174 ascending effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000003066 decision tree Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 238000009776 industrial production Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000002790 cross-validation Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 229910000831 Steel Inorganic materials 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 239000010959 steel Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
- G06F18/2148—Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the process organisation or structure, e.g. boosting cascade
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01M—TESTING STATIC OR DYNAMIC BALANCE OF MACHINES OR STRUCTURES; TESTING OF STRUCTURES OR APPARATUS, NOT OTHERWISE PROVIDED FOR
- G01M13/00—Testing of machine parts
- G01M13/04—Bearings
- G01M13/045—Acoustic or vibration analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/10—Pre-processing; Data cleansing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C3/00—Registering or indicating the condition or the working of machines or other apparatus, other than vehicles
- G07C3/005—Registering or indicating the condition or the working of machines or other apparatus, other than vehicles during manufacturing process
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2218/00—Aspects of pattern recognition specially adapted for signal processing
- G06F2218/02—Preprocessing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2218/00—Aspects of pattern recognition specially adapted for signal processing
- G06F2218/08—Feature extraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2218/00—Aspects of pattern recognition specially adapted for signal processing
- G06F2218/12—Classification; Matching
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Manufacturing & Machinery (AREA)
- Acoustics & Sound (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Control Of Electric Motors In General (AREA)
- Testing Of Devices, Machine Parts, Or Other Structures Thereof (AREA)
Abstract
本发明涉及电机轴承故障诊断技术领域,提供一种电机轴承数据采集与故障诊断系统,包括数据采集模块、故障诊断模块、数据可视化模块;数据采集模块用于采集电机的振动速度等运行参数;故障诊断模块包括数据清洗模块,电机轴承故障类别标注模块,用于提取振动信号的小波包能量特征的特征提取模块,用于以振动信号的小波包能量特征为输入、对应的电机轴承故障类别标签为输出、构建并训练基于XGboost的电机轴承故障诊断模型的电机轴承故障诊断模型训练模块,用于采用改进粒子群优化算法对训练后的电机轴承故障诊断模型进行优化的故障诊断模型优化模块,电机轴承故障实时诊断模块。本发明能够提高电机轴承故障诊断的准确性、快速性及稳定性。
Description
技术领域
本发明涉及电机轴承故障诊断技术领域,特别是涉及一种电机轴承数据采集与故障诊断系统。
背景技术
各类电机是工业化生产装备中不可缺少的部分,由于运行中的外部条件变化等原因,可能会引起电机出现各种故障,而故障的表现形式不同,其关系错综复杂。当电机发生故障时,降低机械生产效率,甚至可能造成人员伤亡,引起灾难性后果。在电机系统中,轴承是其核心部件,它的正常与否关系到整台电机的运行状态。因此对电机轴承部件进行状态监测和故障诊断,对确保电机持久稳定的工作具有重要的意义。
由于在工业生产过程中,生产环境恶劣,很难对电机的运行过程进行完整精确的监控,目前对电机实现运行监控的方法包括架设录像机和使用PLC的HMI界面两种方法。
目前应用最多的是使用PLC的HMI界面来监控电机的运行过程,主要是编写PLC程序,并使用PLC中的HMI模块来显示一些选定要监控的电机参数的数值,这些被选定监控的电机参数是影响故障诊断的关键参数。使用PLC的HMI界面方法显示直观,在工厂中有广泛的应用。但是这种方法内模型中参数的确定都是通过PLC内部的方法得到的,其存在以下几个缺点:1.读取参数的流程较为复杂;2.参数的显示方式单一,只能显示数值,不具有显示柱状图、饼状图等多种形式;3.显示的参数数量较少;4.仅仅靠数值根据经验判断飞剪电机的运行状态存在较大的困难,且不具有准确性和快速性。
发明内容
针对现有技术存在的问题,本发明提供一种电机轴承数据采集与故障诊断系统,能够提高电机轴承故障诊断的准确性、快速性及稳定性。
本发明的技术方案为:
一种电机轴承数据采集与故障诊断系统,其特征在于:包括数据采集模块、故障诊断模块、数据可视化模块;
所述数据采集模块用于采集电机在每个采样点的各运行参数,并将各运行参数存储在数据库中;其中,各运行参数包括电机的振动速度,每个采样区间的振动速度构成电机的振动信号;
所述故障诊断模块包括电机轴承故障诊断模型建立模块、电机轴承故障实时诊断模块,所述电机轴承故障诊断模型建立模块包括数据清洗模块、电机轴承故障类别标注模块、特征提取模块、电机轴承故障诊断模型训练模块、电机轴承故障诊断模型优化模块;
所述数据清洗模块用于提取用于建立模型的振动信号数据并对其进行数据清洗,将数据清洗后的振动信号数据传输给电机轴承故障类别标注模块;
所述电机轴承故障类别标注模块用于对接收到的每个振动信号对应的采样区间下电机轴承进行故障类别标注,并将振动信号及振动信号对应的电机轴承故障类别标签传输给特征提取模块;
所述特征提取模块用于提取接收到的振动信号的小波包能量特征;
所述电机轴承故障诊断模型训练模块用于以振动信号的小波包能量特征为输入、振动信号对应的电机轴承故障类别标签为输出,构建并训练基于XGboost的电机轴承故障诊断模型;
所述电机轴承故障诊断模型优化模块用于采用改进粒子群优化算法对训练后的基于XGboost的电机轴承故障诊断模型进行优化;
所述电机轴承故障实时诊断模块用于从数据库中提取待诊断电机的振动信号数据,并提取该振动信号的小波包能量特征,将待诊断电机的振动信号的小波包能量特征输入到优化后的电机轴承故障诊断模型中,输出待诊断电机的电机轴承故障类别标签给数据可视化模块;
所述数据可视化模块用于对待诊断电机的各运行参数、电机轴承故障类别进行可视化。
进一步的,所述数据采集模块包括电机控制系统中的PLC、计算机;所述电机与PLC之间电连接,所述PLC的通讯口与计算机的串口电连接;所述计算机用于利用Python中的OpenOPC库从opcserver中选取需要的OPC端口并读取数据,将读取的OPC端口的数据存入InfluxDB数据库的表1中,利用Python读取并处理数据库中的数据,将处理后的数据存入表2中。
进一步的,所述数据采集模块采集到的电机的各运行参数是带有时间戳的时间序列数据,各运行参数还包括电机的转速、转向、扭矩、电流、电压、功率、频率。
进一步的,所述数据清洗模块中数据清洗的操作包括对振动信号中的无效值与缺失值进行插值处理。
进一步的,所述特征提取模块用于提取接收到的振动信号的小波包能量特征,具体包括:
所述特征提取模块用于对振动信号f(t)进行m层小波包分解;其中,振动信号f(t)经过第j∈{1,2,...,m}层分解后可表示为由2j个组成成分构成的形式 为振动信号f(t)在第j层分解产生的第i个组成成分,/>s为平移参数,/>分别为小波包系数、小波包函数;
所述特征提取模块用于计算振动信号f(t)经过第m层分解后得到的2m个频带中第i∈{1,2,...,2m}个频带的能量其中,T为第i个频带的重构信号的离散点总数;
所述特征提取模块用于计算第i个频带的能量特征值为得到振动信号f(t)的能量特征向量为x=[g1,g2,...,gi,...,g2 m];
所述特征提取模块用于以每个振动信号的能量特征向量及该振动信号对应的电机轴承故障类别标签构成一个样本,得到样本集A,从样本集A中随机选取n个样本构成训练样本集A1={(x1,y1),(x2,y2),...,(xr,yr),...,(xn,yn)}、剩下的样本构成测试样本集A2,并将训练样本集A1传输给电机轴承故障诊断模型训练模块、测试样本集A2传输给电机轴承故障诊断模型优化模块;其中,(xr,yr)为第r个训练样本,r=1,2,...,n,n为训练样本总数,xr为训练样本集中第r个振动信号的能量特征向量,yr为训练样本集中第r个振动信号对应的电机轴承故障类别标签,轴承故障类别包括正常、外圈故障、内圈故障、滚珠故障,正常工况下电机轴承故障类别标签为0,外圈故障下故障直径为d1、d2、d3时电机轴承故障类别标签分别为1、2、3,内圈故障下故障直径为d1、d2、d3时电机轴承故障类别标签分别为4、5、6,滚珠故障下故障直径为d1、d2、d3时电机轴承故障类别标签分别为7、8、9。
进一步的,所述电机轴承故障诊断模型训练模块用于以振动信号的小波包能量特征为输入、振动信号对应的电机轴承故障类别标签为输出,构建并训练基于XGboost的电机轴承故障诊断模型,具体包括:
所述电机轴承故障诊断模型训练模块用于以振动信号的能量特征向量为输入、振动信号对应的电机轴承故障类别标签为输出,构建基于XGboost的电机轴承故障诊断模型;
所述电机轴承故障诊断模型训练模块用于利用训练样本集A1={(x1,y1),(x2,y2),...,(xr,yr),...,(xn,yn)}对基于XGboost的电机轴承故障诊断模型进行训练,具体地,
基于XGboost的电机轴承故障诊断模型的输出可以表示为K个弱学习器输出的叠加:
其中,fk()表示第k个弱学习器;
函数空间中的最小化目标函数为:
其中,l()表示loss函数,Ω(f)表示正则化函数,γ、λ均为系数,T为叶子节点数,ω为叶子节点数值。
进一步的,所述弱学习器为分类与回归树,每轮在之前的模型基础上,只对第k棵分类与回归树的目标函数进行优化:
其中,为第k-1棵分类与回归树的输出;
对XGboost的loss函数进行二次泰勒展开:
其中,gr和hr分别为第r个训练样本在损失函数上的一阶和二阶导数;
将上式对叶子节点的值求导可以得到最优树的第t个叶子节点的分数总和为:
其中,It为第t个叶子节点的实例;
利用ω* t,得到最优树的结构为
进一步的,所述电机轴承故障诊断模型优化模块用于采用改进粒子群优化算法对训练后的基于XGboost的电机轴承故障诊断模型进行优化,具体包括:
所述电机轴承故障诊断模型优化模块用于采用改进粒子群优化算法利用测试样本集A2对训练后的基于XGboost的电机轴承故障诊断模型进行优化;
所述改进粒子群优化算法中,以基于XGboost的电机轴承故障诊断模型中儿童所需观察的最小权重总和、进行拆分所需的最小损失减少量、树的最大深度这三个参数构成的向量为粒子,以基于XGboost的电机轴承故障诊断模型对测试样本集A2进行故障诊断的准确度为适应度函数,以适应度函数最优时三个参数的取值为个体极值;
第a个粒子的位置更新公式为
xa=xa+va
其中,a=1,2,...,N,N为粒子群中粒子的总数;xa为第a个粒子的位置,va为第a个粒子的速度;
第a个粒子的速度更新公式为
va=ω×va+c1×rand()×(pbesta-xa)+c2×rand()×(gbest-xa)
其中,ω为惯性因子,ω为非负,c1、c2均为学习因子,rand()为介于(0,1)之间的随机数,va的最大值为vamax,若va>vamax,则va=vamax;pbesta为第a个粒子的个体最优值,gbest为全局最优值。
进一步的,ω采用线性递减权值策略,具体的,t时刻惯性因子的值为:
ωt=(ωini-ωend)(Gk-g)/Gk+ωend
其中,Gk为最大迭代次数,ωini为初始惯性因子值,ωend为迭代至最大迭代次数时的惯性因子值,g为t时刻迭代的次数。
进一步的,所述数据可视化模块用于对待诊断电机的各运行参数、电机轴承故障类别进行可视化,具体包括:
通过Grafana展示待诊断电机的各运行参数,并根据待诊断电机的电机轴承故障类别标签展示待诊断电机的故障类别及故障位置、故障大小。
本发明的有益效果为:
本发明利用PLC对电机轴承数据进行采集,以电机振动信号的小波包能量特征为输入、振动信号对应的电机轴承故障类别标签为输出,构建并训练了基于XGboost的电机轴承故障诊断模型,并采用改进粒子群优化算法对训练后的电机轴承故障诊断模型进行了优化,利用数据可视化模块对待诊断电机的各运行参数、电机轴承故障类别进行可视化,能够提高电机轴承故障诊断的准确性、快速性及稳定性,可以多种形式实时呈现电机的各项运行参数,并实时监控并展示待诊断电机的故障类别及故障位置、故障大小,有利于确保电机持久稳定的工作,能够提高工业生产线产品的质量。
附图说明
图1为本发明的电机轴承数据采集与故障诊断系统的模块示意图。
图2为具体实施方式中数据采集模块的流程图。
图3为具体实施方式中故障诊断模块的流程图。
图4为具体实施方式中数据可视化模块的界面示意图。
图5为具体实施方式中正常工况下电机轴承的振动数据时域图。
图6为具体实施方式中外圈故障下电机轴承的振动数据时域图。
图7为具体实施方式中内圈故障下电机轴承的振动数据时域图。
图8为具体实施方式中滚珠故障下电机轴承的振动数据时域图。
具体实施方式
下面将结合附图和具体实施方式,对本发明作进一步描述。
如图1所示,本发明的电机轴承数据采集与故障诊断系统,包括数据采集模块、故障诊断模块、数据可视化模块。
所述数据采集模块用于采集电机在每个采样点的各运行参数,并将各运行参数存储在数据库中;其中,各运行参数包括电机的振动速度,每个采样区间的振动速度构成电机的振动信号。
本实施例中,如图2所示,所述数据采集模块包括电机控制系统中的PLC、计算机;所述电机与PLC之间电连接,所述PLC的通讯口与计算机的串口电连接;所述计算机用于利用Python中的OpenOPC库从opc server中选取需要的OPC端口并读取数据,将读取的OPC端口的数据存入InfluxDB数据库的表1中,利用Python读取并处理数据库中的数据,将处理后的数据存入表2中。
所述数据采集模块采集到的电机的各运行参数是带有时间戳的时间序列数据,各运行参数还包括电机的转速、转向、扭矩、电流、电压、功率、频率。
故障诊断模块的流程图如图3所示。所述故障诊断模块包括电机轴承故障诊断模型建立模块、电机轴承故障实时诊断模块,所述电机轴承故障诊断模型建立模块包括数据清洗模块、电机轴承故障类别标注模块、特征提取模块、电机轴承故障诊断模型训练模块、电机轴承故障诊断模型优化模块。
所述数据清洗模块用于提取用于建立模型的振动信号数据并对其进行数据清洗,将数据清洗后的振动信号数据传输给电机轴承故障类别标注模块。
本实施例中,所述数据清洗模块中数据清洗的操作包括对振动信号中的无效值与缺失值进行插值处理。
所述电机轴承故障类别标注模块用于对接收到的每个振动信号对应的采样区间下电机轴承进行故障类别标注,并将振动信号及振动信号对应的电机轴承故障类别标签传输给特征提取模块。
小波包变换(Wavelet Packet Transform,WPT)是基于多频率分析的思想,在小波分析的基础上加以改进的信号处理方法。与小波分析不同的是,小波包分解不仅对低频部分进行分解,对高频部分也实施了分解,而且小波包分解能根据信号特性和分析要求自适应地选择相应频带与信号频谱相匹配。基于上述优势,选用小波包分解来提取电机轴承信号的能量特征。
所述特征提取模块用于提取接收到的振动信号的小波包能量特征,具体包括:
所述特征提取模块用于对振动信号f(t)进行m层小波包分解;其中,振动信号f(t)经过第j∈{1,2,...,m}层分解后可表示为由2j个组成成分构成的形式 为振动信号f(t)在第j层分解产生的第i个组成成分,/>s为平移参数,/>分别为小波包系数、小波包函数;
所述特征提取模块用于计算振动信号f(t)经过第m层分解后得到的2m个频带中第i∈{1,2,...,2m}个频带的能量其中,T为第i个频带的重构信号的离散点总数;
所述特征提取模块用于计算第i个频带的能量特征值为得到振动信号f(t)的能量特征向量为x=[g1,g2,...,gi,...,g2 m];
所述特征提取模块用于以每个振动信号的能量特征向量及该振动信号对应的电机轴承故障类别标签构成一个样本,得到样本集A,从样本集A中随机选取n个样本构成训练样本集A1={(x1,y1),(x2,y2),...,(xr,yr),...,(xn,yn)}、剩下的样本构成测试样本集A2,并将训练样本集A1传输给电机轴承故障诊断模型训练模块、测试样本集A2传输给电机轴承故障诊断模型优化模块;其中,(xr,yr)为第r个训练样本,r=1,2,...,n,n为训练样本总数,xr为训练样本集中第r个振动信号的能量特征向量,yr为训练样本集中第r个振动信号对应的电机轴承故障类别标签,轴承故障类别包括正常、外圈故障、内圈故障、滚珠故障,正常工况下电机轴承故障类别标签为0,外圈故障下故障直径为d1、d2、d3时电机轴承故障类别标签分别为1、2、3,内圈故障下故障直径为d1、d2、d3时电机轴承故障类别标签分别为4、5、6,滚珠故障下故障直径为d1、d2、d3时电机轴承故障类别标签分别为7、8、9。
极限梯度上升树(XGboost)是由陈天奇博士等人提出的一种基于梯度提升算法的集成学习模型框架。与传统的梯度提升决策树(Gradient Based Decision Tree,GBDT)相比,它们都是以决策树为基础,但是极限梯度上升树通过二阶泰勒展开和加入正则项,有效地控制了模型的复杂度,也使得模型的方差得到了大幅度的降低,训练出来的模型也更加简单和稳定。虽然boosting算法迭代本身不能支持并行,但极限梯度上升树(XGboost)可以支持在特征级别上进行并行计算。以上改进都使得该算法在计算效率的提升和防止过拟合上有了显著的提升。
所述电机轴承故障诊断模型训练模块用于以振动信号的小波包能量特征为输入、振动信号对应的电机轴承故障类别标签为输出,构建并训练基于XGboost的电机轴承故障诊断模型,具体包括:
所述电机轴承故障诊断模型训练模块用于以振动信号的能量特征向量为输入、振动信号对应的电机轴承故障类别标签为输出,构建基于XGboost的电机轴承故障诊断模型;
所述电机轴承故障诊断模型训练模块用于利用训练样本集A1={(x1,y1),(x2,y2),...,(xr,yr),...,(xn,yn)}对基于XGboost的电机轴承故障诊断模型进行训练;
XGboost的核心是通过若干个回归树来降低预测误差,同时保证这些回归树组成的树群具有尽量大的泛化能力。基于XGboost的电机轴承故障诊断模型的输出可以表示为K个弱学习器输出的叠加:
其中,fk( )表示第k个弱学习器;
函数空间中的最小化目标函数为:
其中,l()表示loss函数,Ω(f)表示正则化函数,γ、λ均为系数,T为叶子节点数,ω为叶子节点数值。
本实施例中,所述弱学习器为分类与回归树,每轮在之前的模型基础上,只对第k棵分类与回归树的目标函数进行优化:
其中,为第k-1棵分类与回归树的输出;
对XGboost的loss函数进行二次泰勒展开:
其中,gr和hr分别为第r个训练样本在损失函数上的一阶和二阶导数;
将上式对叶子节点的值求导可以得到最优树的第t个叶子节点的分数总和为:
其中,It为第t个叶子节点的实例;
利用ω* t,得到最优树的结构为
所述电机轴承故障诊断模型优化模块用于采用改进粒子群优化算法对训练后的基于XGboost的电机轴承故障诊断模型进行优化,具体包括:
所述电机轴承故障诊断模型优化模块用于采用改进粒子群优化算法利用测试样本集A2对训练后的基于XGboost的电机轴承故障诊断模型进行优化。
所述改进粒子群优化算法中,以基于XGboost的电机轴承故障诊断模型中儿童所需观察的最小权重总和min_child_weight、进行拆分所需的最小损失减少量gamma、树的最大深度max_depth这三个参数构成的向量为粒子,以基于XGboost的电机轴承故障诊断模型对测试样本集A2进行故障诊断的准确度为适应度函数,以适应度函数最优时三个参数的取值为个体极值。其中,min_child_weight、gamma、max_depth均是XGboost算法中的参数,这三个参数会影响到XGboost算法对电机轴承故障诊断的成功率,粒子群算法的作用是调整这三个参数的值,从而找到使故障诊断成功率最大的三个参数的值。
粒子群算法通过设计一种无质量的粒子来模拟鸟群中的鸟,粒子仅具有两个属性:速度和位置,速度代表移动的快慢,位置代表移动的方向。每个粒子在搜索空间中单独地搜寻最优解,并将其记为当前个体极值,并将个体极值与整个粒子群里的其他粒子共享,找到最优的那个个体极值作为整个粒子群的当前全局最优解,粒子群中的所有粒子根据自己找到的当前个体极值和整个粒子群共享的当前全局最优解来调整自己的速度和位置。
PSO初始化为一群随机粒子(随机解)。然后通过迭代找到最优解。在每一次的迭代中,粒子通过跟踪两个“极值”(pbest,gbest)来更新自己。在找到这两个最优值后,粒子通过下面的公式来更新自己的速度和位置:
第a个粒子的位置更新公式为
xa=xa+va
其中,a=1,2,...,N,N为粒子群中粒子的总数;xa为第a个粒子的位置,va为第a个粒子的速度;
第a个粒子的速度更新公式为
va=ω×va+c1×rand( )×(pbesta-xa)+c2×rand( )×(gbest-xa)
其中,ω为惯性因子,ω为非负,c1、c2均为学习因子,c1=c2=2,rand( )为介于(0,1)之间的随机数,va的最大值为vamax(大于0),若va>vamax,则va=vamax;pbesta为第a个粒子的个体最优值,gbest为全局最优值。
惯性因子的值较大时,全局寻优能力强,局部寻优能力弱;其值较小时,全局寻优能力弱,局部寻优能力强。动态ω能获得比固定值更好的寻优结果。动态ω可在PSO搜索过程中线性变化,也可以根据PSO性能的某个测度函数动态改变。
本实施例中,ω采用线性递减权值策略,t时刻惯性因子的值为:
ωt=(ωini-ωend)(Gk-g)/Gk+ωend
其中,Gk为最大迭代次数,ωini为初始惯性因子值,ωend为迭代至最大迭代次数时的惯性因子值,g为t时刻迭代的次数。
本实施例中,ωini=0.9,ωend=0.9。ω的引入,可以很大程度上提高PSO算法的性能。
所述电机轴承故障实时诊断模块用于从数据库中提取待诊断电机的振动信号数据,并提取该振动信号的小波包能量特征,将待诊断电机的振动信号的小波包能量特征输入到优化后的电机轴承故障诊断模型中,输出待诊断电机的电机轴承故障类别标签给数据可视化模块。
所述数据可视化模块用于对待诊断电机的各运行参数、电机轴承故障类别进行可视化。
本实施例中,如图4所示,通过Grafana展示待诊断电机的各运行参数,并根据待诊断电机的电机轴承故障类别标签展示待诊断电机的故障类别及故障位置、故障大小。
本实施例中,在某钢厂进行了电机轴承的数据采集及故障诊断的实验。选取了部分电机轴承的数据。采用db3小波包对电机轴承的振动信号做3层小波包分解,总共可以得到8个频带,d1、d2、d3分别为0.1778mm、0.3556mm、0.5334mm。选取了每种工况下的数据各160组。正常工况下、外圈故障下、内圈故障下、滚珠故障下电机轴承的振动数据(故障数据的故障直径为0.1778mm)时域图分别如图5、图6、图7、图8所示。对以上四种不同工况下的振动信号进行小波包变换提取能量特征,可以得到训练和测试样本,部分训练样本如下表1所示。
表1
在考虑轴承的受损程度的情况下,分别将0.1778mm、0.3556mm、0.5334mm的轴承数据分别划分为轻微故障、中等故障、严重故障,采用KFold 10折交叉验证,将所有数据分割为10个子样本,其中9个样本作为训练数据,1个样本作为测试数据,交叉验证总共重复10次,使得测试集遍历所有训练集,最后将每次的训练集结果综合,对准确率取平均值。如表2所示,得到本发明的故障诊断准确率为98.25%。
表2
本实施例中,还利用改进粒子群优化前的其他分类器对电机轴承进行故障诊断,得到各分类器的用时和准确率如表3所示。
表3
分类器 | 用时/s | 准确率 |
PSO-XGboost | 9.35 | 98.25% |
XGboost | 5.88 | 93.75% |
KNN | 7.60 | 93.125% |
SVM | 7.55 | 92.5% |
由上表3可以看出,本发明针对电机故障问题,结合极限梯度上升树XGboost与改进粒子群优化PSO对飞剪电机轴承进行故障诊断,通过提取飞剪电机轴承振动信号的小波包能量特征,使振动信号具有较好的可靠性,提高了故障诊断的准确率;采用改进的粒子群优化算法对极限梯度上升树(XGboost)中的重要参数进行超参数优化,与故障诊断中常用的其他算法进行对比,有较好的诊断效果。
显然,上述实施例仅仅是本发明的一部分实施例,而不是全部的实施例。上述实施例仅用于解释本发明,并不构成对本发明保护范围的限定。基于上述实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,也即凡在本申请的精神和原理之内所作的所有修改、等同替换和改进等,均落在本发明要求的保护范围内。
Claims (8)
1.一种电机轴承数据采集与故障诊断系统,其特征在于:包括数据采集模块、故障诊断模块、数据可视化模块;
所述数据采集模块用于采集电机在每个采样点的各运行参数,并将各运行参数存储在数据库中;其中,各运行参数包括电机的振动速度,每个采样区间的振动速度构成电机的振动信号;
所述故障诊断模块包括电机轴承故障诊断模型建立模块、电机轴承故障实时诊断模块,所述电机轴承故障诊断模型建立模块包括数据清洗模块、电机轴承故障类别标注模块、特征提取模块、电机轴承故障诊断模型训练模块、电机轴承故障诊断模型优化模块;
所述数据清洗模块用于提取用于建立模型的振动信号数据并对其进行数据清洗,将数据清洗后的振动信号数据传输给电机轴承故障类别标注模块;
所述电机轴承故障类别标注模块用于对接收到的每个振动信号对应的采样区间下电机轴承进行故障类别标注,并将振动信号及振动信号对应的电机轴承故障类别标签传输给特征提取模块;
所述特征提取模块用于提取接收到的振动信号的小波包能量特征;
所述电机轴承故障诊断模型训练模块用于以振动信号的小波包能量特征为输入、振动信号对应的电机轴承故障类别标签为输出,构建并训练基于XGboost的电机轴承故障诊断模型;
所述电机轴承故障诊断模型优化模块用于采用改进粒子群优化算法对训练后的基于XGboost的电机轴承故障诊断模型进行优化;
所述改进粒子群优化算法中,以基于XGboost的电机轴承故障诊断模型中儿童所需观察的最小权重总和、进行拆分所需的最小损失减少量、树的最大深度这三个参数构成的向量为粒子,以基于XGboost的电机轴承故障诊断模型对测试样本集A2进行故障诊断的准确度为适应度函数,以适应度函数最优时三个参数的取值为个体极值;
第a个粒子的位置更新公式为
xa=xa+va
其中,a=1,2,…,N,N为粒子群中粒子的总数;xa为第a个粒子的位置,va为第a个粒子的速度;
第a个粒子的速度更新公式为
va=ω×va+c1×rand()×(pbesta-xa)+c2×rand()×(gbest-xa)
其中,ω为惯性因子,ω为非负,c1、c2均为学习因子,rand()为介于(0,1)之间的随机数,va的最大值为vamax,若va>vamax,则va=vamax;pbesta为第a个粒子的个体最优值,gbest为全局最优值;
t时刻惯性因子的值为:
ωt=(ωini-ωend)(Gk-g)/Gk+ωend
其中,Gk为最大迭代次数,ωini为初始惯性因子值,ωend为迭代至最大迭代次数时的惯性因子值,g为t时刻迭代的次数;
所述电机轴承故障实时诊断模块用于从数据库中提取待诊断电机的振动信号数据,并提取该振动信号的小波包能量特征,将待诊断电机的振动信号的小波包能量特征输入到优化后的电机轴承故障诊断模型中,输出待诊断电机的电机轴承故障类别标签给数据可视化模块;
所述数据可视化模块用于对待诊断电机的各运行参数、电机轴承故障类别进行可视化。
2.根据权利要求1所述的电机轴承数据采集与故障诊断系统,其特征在于,所述数据采集模块包括电机控制系统中的PLC、计算机;所述电机与PLC之间电连接,所述PLC的通讯口与计算机的串口电连接;所述计算机用于利用Python中的OpenOPC库从opc server中选取需要的OPC端口并读取数据,将读取的OPC端口的数据存入InfluxDB数据库的表1中,利用Python读取并处理数据库中的数据,将处理后的数据存入表2中。
3.根据权利要求1所述的电机轴承数据采集与故障诊断系统,其特征在于,所述数据采集模块采集到的电机的各运行参数是带有时间戳的时间序列数据,各运行参数还包括电机的转速、转向、扭矩、电流、电压、功率、频率。
4.根据权利要求1所述的电机轴承数据采集与故障诊断系统,其特征在于,所述数据清洗模块中数据清洗的操作包括对振动信号中的无效值与缺失值进行插值处理。
5.根据权利要求1所述的电机轴承数据采集与故障诊断系统,其特征在于,所述特征提取模块用于提取接收到的振动信号的小波包能量特征,具体包括:
所述特征提取模块用于对振动信号f(t)进行m层小波包分解;其中,振动信号f(t)经过第j∈{1,2,…,m}层分解后可表示为由2j个组成成分构成的形式fj i(t)为振动信号f(t)在第j层分解产生的第i个组成成分,/>s为平移参数,/>分别为小波包系数、小波包函数;
所述特征提取模块用于计算振动信号f(t)经过第m层分解后得到的2m个频带中第i∈{1,2,…,2m}个频带的能量其中,T为第i个频带的重构信号的离散点总数;
所述特征提取模块用于计算第i个频带的能量特征值为得到振动信号f(t)的能量特征向量为/>
所述特征提取模块用于以每个振动信号的能量特征向量及该振动信号对应的电机轴承故障类别标签构成一个样本,得到样本集A,从样本集A中随机选取n个样本构成训练样本集A1={(x1,y1),(x2,y2),…,(xr,yr),…,(xn,yn)}、剩下的样本构成测试样本集A2,并将训练样本集A1传输给电机轴承故障诊断模型训练模块、测试样本集A2传输给电机轴承故障诊断模型优化模块;其中,(xr,yr)为第r个训练样本,r=1,2,…,n,n为训练样本总数,xr为训练样本集中第r个振动信号的能量特征向量,yr为训练样本集中第r个振动信号对应的电机轴承故障类别标签,轴承故障类别包括正常、外圈故障、内圈故障、滚珠故障,正常工况下电机轴承故障类别标签为0,外圈故障下故障直径为d1、d2、d3时电机轴承故障类别标签分别为1、2、3,内圈故障下故障直径为d1、d2、d3时电机轴承故障类别标签分别为4、5、6,滚珠故障下故障直径为d1、d2、d3时电机轴承故障类别标签分别为7、8、9。
6.根据权利要求5所述的电机轴承数据采集与故障诊断系统,其特征在于,所述电机轴承故障诊断模型训练模块用于以振动信号的小波包能量特征为输入、振动信号对应的电机轴承故障类别标签为输出,构建并训练基于XGboost的电机轴承故障诊断模型,具体包括:
所述电机轴承故障诊断模型训练模块用于以振动信号的能量特征向量为输入、振动信号对应的电机轴承故障类别标签为输出,构建基于XGboost的电机轴承故障诊断模型;
所述电机轴承故障诊断模型训练模块用于利用训练样本集A1={(x1,y1),(x2,y2),…,(xr,yr),…,(xn,yn)}对基于XGboost的电机轴承故障诊断模型进行训练,具体地,
基于XGboost的电机轴承故障诊断模型的输出可以表示为K个弱学习器输出的叠加:
其中,fk()表示第k个弱学习器;
函数空间中的最小化目标函数为:
其中,l()表示loss函数,Ω(f)表示正则化函数,γ、λ均为系数,T为叶子节点数,ω为叶子节点数值。
7.根据权利要求6所述的电机轴承数据采集与故障诊断系统,其特征在于,所述弱学习器为分类与回归树,每轮在之前的模型基础上,只对第k棵分类与回归树的目标函数进行优化:
其中,为第k-1棵分类与回归树的输出;
对XGboost的loss函数进行二次泰勒展开:
其中,gr和hr分别为第r个训练样本在损失函数上的一阶和二阶导数;
将上式对叶子节点的值求导可以得到最优树的第t个叶子节点的分数总和为:
其中,It为第t个叶子节点的实例;
利用ω* t,得到最优树的结构为
8.根据权利要求1所述的电机轴承数据采集与故障诊断系统,其特征在于,所述数据可视化模块用于对待诊断电机的各运行参数、电机轴承故障类别进行可视化,具体包括:
通过Grafana展示待诊断电机的各运行参数,并根据待诊断电机的电机轴承故障类别标签展示待诊断电机的故障类别及故障位置、故障大小。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110208036.9A CN113033611B (zh) | 2021-02-25 | 2021-02-25 | 一种电机轴承数据采集与故障诊断系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110208036.9A CN113033611B (zh) | 2021-02-25 | 2021-02-25 | 一种电机轴承数据采集与故障诊断系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113033611A CN113033611A (zh) | 2021-06-25 |
CN113033611B true CN113033611B (zh) | 2024-03-22 |
Family
ID=76461076
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110208036.9A Active CN113033611B (zh) | 2021-02-25 | 2021-02-25 | 一种电机轴承数据采集与故障诊断系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113033611B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114169110B (zh) * | 2022-02-10 | 2022-06-07 | 中国人民解放军海军工程大学 | 基于特征优选和GWOA-XGBoost的电机轴承故障诊断方法 |
CN116451874B (zh) * | 2023-06-14 | 2023-09-05 | 埃睿迪信息技术(北京)有限公司 | 一种城市用水量预测方法、装置及设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101221213A (zh) * | 2008-01-25 | 2008-07-16 | 湖南大学 | 基于粒子群算法的模拟电路故障诊断神经网络方法 |
CN104793124A (zh) * | 2015-04-06 | 2015-07-22 | 长沙学院 | 基于小波变换和ica特征提取的开关电路故障诊断方法 |
-
2021
- 2021-02-25 CN CN202110208036.9A patent/CN113033611B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101221213A (zh) * | 2008-01-25 | 2008-07-16 | 湖南大学 | 基于粒子群算法的模拟电路故障诊断神经网络方法 |
CN104793124A (zh) * | 2015-04-06 | 2015-07-22 | 长沙学院 | 基于小波变换和ica特征提取的开关电路故障诊断方法 |
Non-Patent Citations (5)
Title |
---|
A Swarm based Optimization of the XGBoost Parameters;Ali Haidar等;《Process. Syst.》;第16卷;74-81 * |
基于S变换和XGBoost算法的进给系统轴承故障诊断方法;房昕宇;金隼;唐水龙;;机械设计与研究(第04期);69-74 * |
基于小波包分解和PSO-BPNN的滚动轴承故障诊断;鞠晨等;《工矿自动化》;第46卷(第8期);70-74 * |
基于小波包和梯度提升决策树的轴承故障诊断;夏田等;《陕西科技大学学报》;第38卷(第5期);144-149 * |
基于数据驱动的注塑机液压故障智能诊断系统研究与设计;徐勇;《中国优秀硕士学位论文全文数据库 工程科技Ⅰ辑》(第1期);B016-339 * |
Also Published As
Publication number | Publication date |
---|---|
CN113033611A (zh) | 2021-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112161784B (zh) | 基于多传感器信息融合迁移网络的机械故障诊断方法 | |
Lei et al. | Fault diagnosis of wind turbine based on Long Short-term memory networks | |
Wang et al. | Modified multiscale weighted permutation entropy and optimized support vector machine method for rolling bearing fault diagnosis with complex signals | |
Chen et al. | One-dimensional convolutional auto-encoder-based feature learning for fault diagnosis of multivariate processes | |
Xia et al. | Fault diagnosis for rotating machinery using multiple sensors and convolutional neural networks | |
WO2022037068A1 (zh) | 一种机床轴承故障诊断方法 | |
CN113033611B (zh) | 一种电机轴承数据采集与故障诊断系统 | |
CN114004252A (zh) | 一种轴承故障诊断的方法、装置以及设备 | |
CN113705396B (zh) | 一种电机故障诊断方法、系统及设备 | |
CN111753891A (zh) | 一种无监督特征学习的滚动轴承故障诊断方法 | |
CN114091504A (zh) | 一种基于生成对抗网络的旋转机械小样本故障诊断方法 | |
CN113076920B (zh) | 一种基于非对称域对抗自适应模型的智能故障诊断方法 | |
CN116593157A (zh) | 少样本下基于匹配元学习的复杂工况齿轮故障诊断方法 | |
CN114429152A (zh) | 基于动态指数对抗性自适应的滚动轴承故障诊断方法 | |
CN112651426A (zh) | 一种风电机组滚动轴承故障诊断方法 | |
Xiang et al. | Data‐Driven Fault Diagnosis for Rolling Bearing Based on DIT‐FFT and XGBoost | |
Hou et al. | Multiple sensors fault diagnosis for rolling bearing based on variational mode decomposition and convolutional neural networks | |
CN112763215B (zh) | 一种基于模块化联邦深度学习的多工况在线故障诊断方法 | |
CN105823634A (zh) | 基于时频关联向量卷积玻尔兹曼机的轴承损伤识别方法 | |
CN117628005A (zh) | 一种融合信号液压马达故障诊断方法及系统 | |
Zhu et al. | Fault diagnosis of wheelset bearings using deep bidirectional long short-term memory network | |
CN116399592A (zh) | 一种基于通道注意力双路径特征提取的轴承故障诊断方法 | |
CN116578833A (zh) | 基于优化随机森林模型的igbt模块老化故障诊断系统 | |
CN114137915A (zh) | 一种工业设备的故障诊断方法 | |
CN113496255B (zh) | 基于深度学习与决策树驱动的配电网混合观测布点方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |