基于深度学习的发电机整流器诊断系统研究
2020-04-28刘力宇
刘力宇,崔 江
(南京航空航天大学 自动化学院,南京 211106)
0 引 言
旋转整流器式无刷交流发电机是现代独立电力系统的重要组成部分。无刷交流发电机发明于20世纪中叶,其冷却方式、材料及工艺在之后的数十年间得到了不断的完善和发展,其功率密度越来越大,可靠性显著提高[1]。旋转整流器的发明与应用取代了原本交流同步发电机所必要的电刷结构,避免了由于电刷故障而导致的频繁维修与更换,交流同步电机的应用也随之更加广泛。而旋转整流器的故障诊断也成为交流同步发电机能否正常运行的关键因素之一。
目前,常用的发电机故障诊断实现平台,有以微处理器(例如DSP)为核心的嵌入式设备和仿真软件(例如MATLAB)等。哈尔滨理工大学的研究人员采用DSP实现发电机输出电压与电流信号的采集与故障诊断[2];还有些研究人员以DSP芯片为核心,搭建了发电机旋转整流器故障诊断系统,提高了诊断的实时性与正确率[3]。华北电力大学的于海波使用MATLAB软件建立风力发电机的仿真模型,并在软件中实现了希尔伯特-黄变换(HHT)方法用于发电机定子匝间短路故障的诊断,诊断效果良好[4];中国地质大学的刘旭使用MATLAB软件对风力发电机的数据进行挖掘,将K-means聚类与BP神经网络相结合,提高了发电机故障诊断的正确率[5]。嵌入式设备需要将算法程序烧录进存储器中,难以根据不同情况灵活选择相应的方法,操作界面也并不友好;MATLAB等软件占用PC机资源多,功能冗余,只适合算法的功能性验证。本文所设计的诊断平台,主要基于C++ Builder实现其软件算法,硬件采用泰普HandyScope4(HS4)作为电机平台的数据采集模块。整个软件系统包含图形显示、特征提取和故障分类等功能,具有较强的诊断功能和可操作性。
1 旋转整流器故障分析
旋转整流器(如图1所示)的数学模型是一个双桥结构,其中的6个二极管(D1~D6)可以将三相交流输入转换为直流输出。二极管开路是其故障的常见原因[6],模式可分为正常、单管(例如D1)开路故障、同相双管(例如D1D3)开路故障、同桥双管(例如D1D4)开路故障、异相异桥双管(例如D1D6)开路故障共5种。
图1 旋转整流器模型
因二极管具有单向导通性,发电机交流励磁机的电枢绕组上会产生一定的谐波分量,这些谐波分量又会在励磁机的励磁绕组中产生对应的谐波分量,这种现象通常被称为谐波电枢反应[7]。当发电机整流二极管发生开路故障时,交流励磁机励磁绕组中的谐波分量将发生改变。因此,传统方法往往是根据励磁电流的谐波分析及其变化情况来进行故障诊断的[8-9]。本设计采用深度置信网络等深度学习理论模型,自适应提取励磁电流信号中蕴含的故障特征,可以获得较高的故障诊断率。
2 平台设计
2.1 硬件介绍
本平台使用的硬件主要包括三大模块(如图2所示),其中使用霍尔传感器作为采集电流信号的传感器元件,将发电机交流励磁机的励磁电流信号转换为大小合适的电压信号,然后使用HS4信号采集卡进行信号采集与传输。HS4拥有高速采样率和12~16位可调节分辨率,与PC机间利用USB进行信号传输。
图2 硬件框架图
2.2 软件设计
本平台使用基于C++语言,在Borland C++ Builder 6.0(BCB 6.0)编译器中编写。BCB 6.0是Borland公司在 Delphi 基础上推出的可视化集成开发工具,它使用Visual Component Library(VCL)可视组件库,在开发应用程序时更加简单、便捷[10]。
本平台由TEdit,TButton,TPaintBox,TCheckBox等多个控件构成,集成了数据采集、数据读取与存储、特征提取、故障诊断等功能模块,故障诊断的步骤如图3所示。平台可使用信号采集模块获取实时信号进行在线故障诊断,也可使用数据读取与存储模块加载PC机本地数据进行分析诊断。平台的特征提取模块与故障诊断模块包含深度置信网络等深度学习模型。原始信号和特征信号的图形可直观地显示在信号显示窗口中,便于进行波形的人工分析和观察对比。
图3 故障诊断流程图
3 平台各模块功能与实现
3.1 数据采集模块
数据采集模块用于从信号采集卡获得原始数据,使用该模块时需要将HS4信号采集卡通过USB接口与PC机连接,并安装泰普公司发布的驱动程序。该模块拥有4个实时采样频道,50 MHz的最大采样率,单次最大采集点数为4 096点。本平台使用4个6 000点double数组储存采集到的原始数据并使用信号显示区域的第一个TPaintBox控件显示各数组的前1 000点。每个采样频道都配备一个TEdit控件用于调节显示图形的y轴幅值。
3.2 数据读取与存储模块
数据读取与存储模块用于加载本地数据或将采集模块各通道的信号储存到PC机中。本平台使用两个6 000点double数组加载本地数据,并在信号显示区域的第二个TPaintBox控件中显示各数组的前1 000点,每个数组配备一个TEdit控件用于调节显示图形的y轴幅值。平台通过TOpenDialog和TSaveDialog控件进行数据的读取与存储。
3.3 特征提取模块
特征提取模块主要采用了离散傅里叶变换(Discrete Fourier Transform,以下简称DFT)等方法对信号进行处理,对储存原始数据的数组中的一个或多个进行特征提取并将得到的数据储存在新的double数组中,数据显示窗口区第三个TPainBox控件中绘制出相应图形。使用DFT算法进行特征提取时,由一个TEdit控件决定进行傅里叶变换的点数,使用TSpeedButton控件控制特征提取模块是否运行,使用TComboBox控件配合switch函数确定特征提取中的算法。
3.4 故障诊断模块
故障诊断模块主要包括了深度置信网络(Deep Belief Networks,以下简称DBN)及最小距离法(Minimum Distance Classification,以下简称MDC)等算法,用于对特征提取模块的输出数组进行故障诊断,返回一个int参数来显示故障类型。该模块可对6个采样通道同时进行诊断并分别在各通道下方的TEdit控件中显示诊断结果。本平台使用一个TComboBox控件根据多种负载情况调整算法参数,使用一个TEdit控件确定信号的采样频率。使用2个TEdit控件在诊断完成后分别输出诊断次数和正确率。
4 算法介绍
本系统使用了MDC作为典型方法的一个代表,其特点是占用内存空间小,运算速度较快,但存在准确率不高,鲁棒性较差,距离阈值选取不灵活等缺陷。
一般而言, MDC使用励磁电流信号的1,2,6次谐波幅值作为诊断依据[11]。训练MDC时,首先对原始信号进行DFT运算,根据式(1)可计算出,励磁电流信号的1,2,6次谐波分别位于频谱的6,11,31点处:
(1)
式中:n为谐波次数;f为实验发电机励磁机频率50 Hz;F为采样频率10 kHz;N为采样点数1 000点。
计算出不同负载情况下1,2,6次谐波幅值的平均值,将其作为算法参数输入到C++程序中,由于数据总量较小,平台设计时直接将其写入算法中以提高诊断效率。
DBN是Hinton等人在2006年提出的一种目前应用广泛的深度学习网络,该网络可以对输入的数据自动地逐层提取能够反映原始数据的本质特征[12]。DBN是一种具有多个隐层的神经网络,由多个限制玻尔兹曼机(Restricted Boltzmann Machine,以下简称RBM)组成(如图4所示),RBM是一种基于热力学能量函数的概率网络模型,它的网络结构符合玻尔兹曼分布,其能量函数模型如下:
(2)
式中:bi,cj分别为隐含层与可见层的阈值;vi,hj分别为隐含层与可见层的神经元输出;Wij为各节点间的权值。其可见层与隐含层各神经元的条件似然函数如下:
(3)
式中:Ψ为网络使用的激活函数,本文使用“sigmoid”函数作为激活函数:
(4)
式中:exp为以自然常数e为底数的指数函数;z为RMB隐含层中各神经元对应的输入向量。
整个DBN的训练过程主要分为两步,首先使用无监督方式对RBM网络进行逐层训练,提取出能够反映输入信号的本质特征(即故障特征);其次,加入监督信号对整体网络进行反向有监督微调,如果考虑分类则需要在输出接一个分类器,使其能够对输入信号进行一一对应,达到分类效果。
图4 DBN的组成结构
本平台使用的DBN由两个RBM网络和一个神经网络组成。训练前,先将之前采集的原始信号作DFT变化并归一化处理[13]。取其前250个点作为DBN的第一层输入,将输出层节点数设置为5, 两层隐含层节点数分别设值为100、20,RBM训练完成后将其导入神经模型进行有监督微调。训练完成后将得到的权值、阈值等参数导入到C++程序中进行实验。
深度学习算法拥有较强的特征提取与分类能力,可以有效地避免MDC等常规算法可能产生的诊断误差。
5 实验与结果分析
使用预先采集的信号样本在本平台上对DBN和MDC两种诊断方法进行测试。为便于仿真和实际实验比较,发电机负载为空载,特征提取方法均选择DFT,结果如表1所示。
表1 离线实验结果
利用物理实验平台对算法进行验证,平台构成如图5所示。此处,实验的发电机基本频率为50 Hz,故障模式设置为正常模式、单管开路、同相双管开路、同桥双管开路、异相异桥双管开路五种情况,每种情况进行200次实验(共1 000次在线测试)。采集主励磁机励磁电流信号,通过HS4采集信号并传输给计算机,采样率设置为10kHz,采样点数为1 000点。两种方法均获得了100%的诊断率。MDC算法虽然简单,但也获得了较好的诊断效果,这说明丰富的专家知识在诊断领域也是十分重要的。而DBN方法无需专家信息,可以自动对信号进行分析,也能获取媲美专家的诊断结果。
图5 故障诊断实验
具体的软件运行操作界面如图6所示。在PC机上使用本平台对发电机励磁电流进行实时处理,能够准确地对发电机旋转整流器故障进行在线诊断。
图6 在线实验的软件界面
6 结 语
本文主要基于C++语言编写程序,研究和设计了发电机旋转整流器故障诊断上位机系统,系统主要包括必要的硬件和算法软件。该平台的操作界面简洁,功能丰富,可集成和嵌入多种故障特征提取和分类算法,可移植性强。仿真和在线实验均证明了所设计的算法和系统的有效性。