基于SDAE 算法的电机故障诊断及系统开发
王碧 姜天尚 张能文
广船国际有限公司 广州南沙区 511462;河海大学物联网工程学院 江苏南京 213022;江苏新道格自控科技有限公司 江苏无锡 214433
1 引言
电机是工业生产的主要原动力,电机运转是否正常与工业生产直接相关,所以保证电机安全稳定运行的基础是高效可靠的电机诊断技术[1]。目前,旋转机械的电机故障检测多采用振动分析,传统检测受专业知识和经验的约束容易导致故障无法提前预测、预警,应急响应速度严重受限。随着大数据和人工智能技术的发展,将大数据分析技术融入电机故障诊断中,研发旋转机械的电机故障智能诊断系统意义重大[2]。
康爱亮等人在文献[3]中提出了转子端部多种老化猜想,并开展试验进行分析,试验中合理确定参数并分析出电机定子绕组的老化发生机理。文献[4]提出电机在负载条件下的力矩振动和气隙偏心故障,其分析定子电流在电机内部的影响因素,提供诊断电机气隙偏心故障的理论依据。文献[5]通过解释同步电机励磁柜和阻尼条故障类型和原因来说明大型轧钢的电机故障机理。文献[6]提出了两种容错控制策略,来分析各种霍尔故障类型对估算电机转子位置来分析电机故障特征机理。文献[7]中P. Balakrishna 等提出了一种在IED 中实施的基于自主电气特性分析的测量方法,可以使用电机故障频率下的峰值和能量幅度提供故障诊断。M.Lopez-Ramirez 等在文献[8]提出了在现场可编程门阵列上实现的,基于电流信号提出 Walsh-Hadamard 域信号分析,实现了转子断条故障诊断。文献[9]中郭永亮提出了基于故障状态下的牵引电动机 T-S 模型,研究开发了一种基于滑模观测技术的诊断装置,能够精确检测牵引电机定子绕组局部短路故障。戴雪松等在文献[10]提出变分模态分解方法,以确定相似频率分析频谱中电动机故障特征的诊断方法,计算出固有模态成分分解的能量熵。
根据文献[11]的研究成果,研究人员通过整合 LabVIEW 图形化编程环境与MATLAB 数值计算平台,并辅以C 语言底层开发,构建了一套具有实时监测能力的智能诊断系统,专门用于异步电动机运行状态的在线分析与故障识别。文献[12]提出了一种基于 Android 移动平台的电机故障智能诊断方案,通过智能手机终端实现便捷的电机状态监测与故障分析功能。。文献[13]电机故障诊断基于形态学滤波与 ASTFA 应用 VisualStudio 平台提出,实现电机状态检测与故障诊断。文献[14]提出了基于贝叶斯估计数据融合算法的感应电机状态监测系统,实现对电机的温度采集、电压采集和电流采集。
2 基于SDAE 算法的电机故障诊断
2.1 SDAE 算法基本原理
堆栈降噪自编码器(SDAE)通过在输入数据中引入特定统计噪声提升模型鲁棒性,可以使自编码器学习到的特征不仅包含原始信息的特征,还包含加入的统计性噪声的特征,使特征更加复杂。然后通过自编码器反复训练重新构造出干净的输出信息。SDAE 算法可以改善自编码器的过拟合问题,编码器抗干扰能力得到增强,在编码过程中具有良好的稳定性和鲁棒性。
堆栈降噪自编码器采用多层降噪自编码器(DAE)级联结构,通过前层隐含特征向后层传递的方式构建深度网络。它是利用这一层次堆叠结构建立起深层的无监督学习模型,发掘出数据内部深层次、复杂结构的信息,并在很大程度上解决了高维度、大体量数据的问题。从图 1 所示 3 层 SDAE 模型的例子可以看出,SDAE 的结构就是由3 个降噪自编码器依次堆叠起来组成的。模型最后一层(第三个降噪自编码器)的隐藏层还增加了连接到分类器的部分。目的是为了同时兼顾利用低维特征实现对数据的表示和直接使用特征实现数据分类的目的。

2.2 基于SDAE 算法故障诊断流程
2.2.1 故障信号特征提取
电机振动信号通常包含干扰信号,比如直流分量干扰、环境温度变化、多种振动源等外界因素导致振动信号不纯,需要滤掉这些导致电机振动信号偏差的噪声信号,本文采用基于经验模态分解的故障特征提取方法。电机振动信号的处理采用的是一种平稳式的处理方式。该方法依据振动幅值的差异,将原始信号的波动逐级分解,分离成一系列的数据子集。每个子集所蕴含的信号特征彼此各异,但都可以用 IMF 表示,并能够方便的识别信号特征,然后可以对其中一个 IMF单独或者多个IMF 组合的方式运用Hilbert 变换方法生成包络谱,用于最终的电机故障特征样本。
电机故障特征分析方法根据 EMD-Hilbert 变换的步骤如下:
步骤1:采集原始电机振动信号,基于 MCDS 机械故障综合实验平台。从中随机截取表征故障的特征波形片段,每段样本长度固定为 2048 个数据点,由此重构形成新的振动信号数据集。该数据集经格式化转换为 mat 格式后,以时序信号 x(t) 表征。;
步骤 2:采用 EMD 方法对振动信号 x (t)进行模态分解,可提取若干本征模态函数(IMF)。根据工程实践,通常选取前5 个具有显著特征的IMF 分量,以其包络谱作为故障诊断依据,记为 c1,c2,…,cn。
步骤3:求每一 IMF 以瞬时幅值计算其存在的瞬时频率,然后对每一个需要的 ci 进行希尔伯特变换,求得 bi ;
步骤4:求出相应的包络信号 qi(t) ,如下式:

步骤5:通过分析包络信号qi(t)的功率谱特征,可有效识别电机振动数据中隐含的故障模式。
2.2.2 电机故障诊断流程
根据处理后的电机故障信号特征的特点,选取堆栈降噪2 层自编码器进行故障诊断,对故障特征进行深度分析,计算过程如图2 所示:
(1)首先对第一层自编码器进行预训练,在输入层中输入被噪声污染的原始数据,完成第一层的无监督训练;
(2)完成第二层无监督训练,然后将第二层自编码器堆栈到第一层,根据训练的第一层自编码器输出特征作为第二层的输入信号;
(3)在训练过程中,网络会得到网络权重w 和网络偏置向量b,其为深度学习到的初始化网络参数,把输出层堆栈到第二层自编码器上;
(4)通过反向传播算法进行网络权重 w 和网络偏执向量 b 的更新,即完成对网络的反向调优训练。

3 基于SDAE 算法的故障诊断实现及系统
3.1 电机故障信号采集
本实验使用美国SpectraQuest 公司研制的MCDS 机械故障综合测试平台(见图3a)进行数据采集。

如图 3(b)所示,实验台对各种故障进行了模拟实验,如电机故障,定子绕组故障,电压不稳,缺相,转子断条等,分为空载和带载两种情况,所以一共检测了六种情况,如表1 所示。


本实验采用磁电式速度传感器,灵敏度为 50mV/mm/s ,方向为水平或垂直,频率为 3kHz,通过设置为电流 1.5A 的磁粉制动器的负载,确保电机振动信号在采集一段完整的正常和失效状态下,在空载和负载状态下尽可能显示故障信号的差异。
实验过程中,从振动信号中随机截取 2048 个数据点构成单个故障样本,每种故障类型采集100 组样本数据,最终构建电机故障特征数据库。马达振动信号时域图如图 4(a)~(f)所示,取样点 /n 为横坐标单位,幅值 /mm 为纵坐标单位。
3.2 故障模型训练
SDAE 算法模型训练将 8 类故障特征样本,每类 100 组故障特征样本,通过随机划分数据集的方式,将共计800 组故障特征样本随机分为600 组训练集合和200 组测试集合。本实验设隐含层二层,其中神经元单元数第一层为500;神经元单元数在第二层中隐含为 30;单元数为 8 的输出层神经元;然后创建两个降噪自编码器,一个结构为100-50-100,另一个结构为50-30-50,用于预先训练马达故障特征样本,并将两个已经训练好的降噪自编码器堆砌成 SDAE 算法模型,其中选择使用具有稳定性的sigmoid 激活功能进行该功能优化。学习率设置为1,自编码器降噪参数设置为0.1。

训练集的结果如图 6 所示,可见本实验 SDAE 算法模型的训练和参数设定基本达到要求,能够使用测试集让SDAE 算法模型识别电机故障类型。
通过训练好的 SDAE 算法模型对测试集进行测试,如图 7 所示,测试集样本有7 处的期望输出和实际输出不相合,实际输出在电机正常状态空载处出错1次,在电机定子绕组故障空载处出错3 次,在电压不平稳和缺相故障空载处出错2 次,在电压不平稳和缺相故障负载处出错1 次,其他样本编号期望输出和实际输出相合。本次实验训练的 SDAE 算法模型对电机故障识别率为:test_accuracy=0.9650。


4 基于SDAE 算法的故障诊断系统开发
4.1 系统框架
通过基于 SDAE 算法的电机故障诊断方法仿真模型,训练集的分类正确率和测试集的分类正确率结果都比较好,因此基于 B/S 架构的电机诊断系统软件就是以此算法为核心而开发的。本系统基于Python 编程语言开发,采用Django作为 Web 应用框架,在 PyCharm IDE 环境下进行开发,并选用 MySQL 作为后台数据库管理系统。
4.2 系统设计
本系统主要实现对电机诊断系统的登录模块、权限管理模块、电机诊断三个模块的应用开发。登录模块主要实现对用户名和密码匹配,为了防止机器人频繁登录网站或非法分子恶意登录,引入了captcha 验证码功能。权限管理模块对于公开使用的系统来说,使用了可以匹配用户权限的 DjangoFramework 自带的Auth 组件。电机诊断模块分为模型训练和故障诊断两个小模块,模型训练模块通过对故障集训练生成 SDAE.ckpt 模型文件。故障诊断模块通过传入单个故障特征样本通过SDAE.ckpt 模型识别出具体故障,系统功能模块如图9 所示。

(1)登录管理模块设计
在浏览器中输入登录页地址,就可以进入网站登录页,登录界面有三个输入框,分别是用户名、密码和校验码,以及登录键和取消按键,当输入信息都正确
的情况下,没有报错提示,点击登录键就可以进入网站首页,当账号、密码和校验码出现错误的情况下,就会出现信息错误的提示。点击取消按钮,输入框里的录入信息就可以清空了。
(2)权限管理模块设计
权限管理按键框下有用户管理模块,点击用户管理,出现用户管理模块页面,页面显示用户信息,同时有用户按钮的批量删除和添加,多个用户同时勾选,可以同时删除多个用户的信息。点击添加用户按钮,弹出添加用户弹框,里面有用户名,密码输入框和确定按钮,点击确定按钮可以实现用户信息在用户名和密码输入符合规定的情况下进行添加,添加成功自动跳转到用户管理界面,用户列表中用户添加成功。
(3)模型训练管理模块设计
电机诊断按钮框下有模型训练管理模块,点击模型训练按钮,显示样本管理页面,页面下有文件上传框架中的点击选择文件按钮和查看、取消按钮。
(4)故障分类管理模块设计
电机诊断按钮框下有故障分类管理模块,点击故障分类按钮,显示样本管理页面,页面下有文件上传框架中的点击选择文件按钮和查看、取消按钮。
4.3 系统实现
(1)登录管理模块实现
登录者必须拥有此系统的用户账号才能对系统进行登录,如果没有用户账号,需要向系统拥有管理员权限的用户申请配置账号,不能够自己进行账号的注册。当用户拥有账号,需输入用户名、密码和图片验证码,图片验证码的实现是调用了第三方库,即 django-simple-captcha。登录页面如图 10 所示。

(2)权限管理模块实现
当管理员用户登录到主界面后,可以对权限管理模块中的用户管理页面进行一系列操作,若是普通用户,则没有进入用户管理页面的权限。用户管理图如图11 所示。

(3)模型训练管理模块实现
点击左菜单栏电机诊断下的模型训练,主菜单中添加模型训练页面,在模型训练的样本管理下,可以对文件进行添加、删除、上传等操作。页面上传功能使用的是webuploader 插件,模型训练模块如图12 所示。

(4)故障分类管理模块实现
点击左菜单栏电机诊断下的故障分类,主菜单中添加故障分类页面,也使用的webuploader 插件,但是更改了参数设置,一次只允许上传一个文件。
当电机振动信号存在 SDAE 模型无法分类的情况时,采用欧氏距离的方法,对待测量数据与算法模型中的每一个训练集之间求欧式距离,设置阈值Threshold,如果待测样本特征与每一个训练集样本特征之间的欧氏距离相差过大,大于我们设置的阈值Threshold ,则认为该待测故障特征样本不属于任何一类,即无法进行分类,如果待测样本特征与各训练集样本特征的欧氏距离差异很小,且小于我们设定的阈值 Threshold,则认为该样本属于该训练集样本所对应的一类。故障识别成功与否如图13(a)(b)所示。

5 结论
本文紧紧围绕旋转电机展开深入研究,并依托机械故障仿真实验。在恒定工况下以 MCDS 为实验环境开展电机故障植入实验。基于此,一套基于堆栈降噪自编码器(SDAE)算法的电机故障诊断方案被提出,相应的系统开发也随之展开。
该研究按照下面几个步骤进行:首先通过EMD-Hilbert 算法将原始信号中提取出故障特征,提取的信号便是基于原始数据得到的电机故障特征数据。在此过程中可以从原始信号中找到与电机故障有关的数据,并将其作为接下来故障诊断的基础。
第二步是使用经过预处理得到的故障特征值,把它们输入 SDAE 算法模型进行训练,同时调整模型参数,在训练过程中随时监测诊断效果,在不断的调参中使得模型更好地适应电机故障诊断的要求,并且不断提升电机故障诊断的准确率与可靠度。
基于前面所构建的故障特征提取与建模模块,建立采用 SDAE 算法的故障诊断系统,用于实时监测电机运行状态并实施故障诊断,在这个系统下完成电机故障诊断任务,完成了由数据处理到故障诊断的一体化过程。
最后验证了本文提出的方法,进行实验分析。实验结果充分表明,该方法能为马达安全稳定运行提供有力保障,在诊断马达故障时准确性和可行性都很高。
参考文献:
[1]李康林. 基于深度学习技术的兴趣点推荐方法研究[D]. 桂林电子科技大学, 2021.
[2]K. N. Gyftakis, J. A. Antonino-Daviu, R. Garcia-Hernandez, M. D.McCulloch, D. A. Howey and A. J. Marques Cardoso, "Comparative ExperimentalInvestigation of Broken Bar Fault Detectability in Induction Motors," in IEEETransactions on Industry Applications, vol. 52, no. 2, pp. 1452-1459, March-April2016.
[3]康爱亮. 高压电机定子绕组多因子老化方法及其局部放电机理研究[D].山西: 太原理工大学, 2016.
[4]孙昱, 谷立臣. 负载振动与气隙偏心下电机电流调制机理分析[J]. 电子测量与仪器学报, 2017.
[5]刘西沉. 大型轧钢电机故障类型及原因分析和对策[J]. 电工技术,2019(20): 142-143.
[6]吕德刚, 李松. 无刷直流电机故障诊断及容错控制技术[J]. 电机与控制学报, 2020.
[7]T. A. Shifat and J. W. Hur, "An Effective Stator Fault Diagnosis Frameworkof BLDC Motor Based on Vibration and Current Signals, "in IEEE Access, vol. 8, pp.106968-106981, 2020.
[8]M. Lopez-Ramirez, C. Rodriguez-Donate, L. M. Ledesma-Carrillo, F. J.Villalobos-Pina, J. U. Munoz-Minjares and E. Cabal-Yepez, "Walsh–HadamardDomain-Based Intelligent Online Fault Diagnosis of Broken Rotor Bars in InductionMotors, "in IEEE Transactions on Instrumentation and Measurement, vol. 71, pp.1-11, 2022.
[9]郭永亮. 基于 T-S 模糊模型的高速列车牵引电机故障诊断方法研究[D].江苏:南京航空航天大学, 2019.
[10]戴雪松. 基于特征信号识别的永磁同步电机的故障诊断方法[D]. 沈阳工业大学, 2021.
[11]李文铅. 异步电动机智能故障诊断系统的研究与应用[D]. 山东:曲阜师范大学, 2016.
[12]尹雪雪. 基于Android 平台的电机故障诊断系统的设计[D]. 安徽:安徽理工大学, 2018.
[13]万盛钊. 车用雨刮电机振动在线检测与故障诊断系统开发[D]. 湖南: 湖南大学, 2020.
[14]胡晓涛. 感应电机运行状态监测系统的研究与设计[D]. 北京:北京交通大学, 2020.