带故障诊断功能的七电平逆变器及故障诊断方法_2

文档序号:9325738阅读:来源:国知局
泡排序法找到yk中的最大值的下标k, k的值就是表1中所示的故障种类,DSP将该值实时显示在数码管上;然后,清空数组ad_ value [512],重新开始采集逆变器的输出电压值,进行新一轮的故障诊断
[0047] 最后,编写主函数程序"main()",在主函数中,程序设置为无限循环模式,每当 DSP进入中断,则触发一次AD采样,并存储在ad_value [512]数组中,当采集512次时,在 main()函数中调用一次diagnosis!;)函数,进行故障诊断,诊断结束后,将诊断的结果数 据显示在数码管上。
[0048] 本发明同时提供了一种基于神经网络的七电平逆变器故障诊断方法,所述基于神 经网络的故障诊断方法经过数据预处理步骤和神经网络训练步骤,嵌入DSP中,所述基于 神经网络的故障诊断方法由DSP自动采集数据,进行故障诊断,并通过数码管实时显示逆 变器的状态。
[0049] 所述数据预处理步骤和神经网络训练步骤如下:
[0050] 步骤1采集故障样本数据:
[0051] 首先采集逆变器故障时的输出电压作为故障样本数据,采集的方法为在逆变器 的输出电压一个周期内等间隔地采集512个时刻的离散电压值,每次采集的电压用序列
表示,序列中的每个值等于对应时刻的电压值;
[0052] 根据H桥主电路的电路状态和七电平逆变器的故障类型的对应关系:HlSl开 路-故障1,H1S2开路-故障2, H1S3开路-故障3, H1S4开路-故障4, H2S1开路-故障5, H2S1开路-故障6, H2S3开路-故障7, H2S4开路-故障8, H3S1或者H3S4开路-故障9, H3S2或者H3S3开路-故障10,正常工作-故障0,人为设置开路故障,采集逆变器在十种故 障情况下输出的电压波形,以及正常工作情况下的电压波形;采集每种电压波形各100组;
[0053] 步骤2 FFT变换:
[0054] 将序列?』11进行FFT变换,FFT变换公式: ,这
[0057] 经过FFT变换后得到了一个个数为512的虚数序列取该序列的前10个数 据(G!〗,并且将该序列的数据进行取模,将取模后的序列^ I丨;;作为样本数据进行下一步 的计算;
[0058] 步骤3 PCA降维:
[0059] 经过上述的FFT变换及截取后,原电压信号的特征数据由512个变为了 10个,接 下来进行PCA降维;具体方法如下:
[0060] 首先采集所有种类的故障样本数据:
[0062] 接着求协方差矩阵馬的特征值λ与特征值向量P :
[0063] 协方差矩阵:Rx = E {[Χ-Ε (X) ] [Χ-Ε (X) ] τ};
[0064] 通过求解 I λ I-RxI = 0 和 I λ J-RxIpi= 0, i = 1,2,…,b 求得 λ 和 Ρ,其中,λ ; 为馬的第i个特征值,并且满足λ λ 2彡…彡λ b,Pi是相应于特征值λ i的特征向量, P = [P1, P2,…,pb]T,这里b的值为11 ;选取P的前3列,得到Pl = [P1, p2, p3],Pl为10X3 的矩阵;以上工作只需要离线做一次,然后保留Pl ;
[0065] 最后计算出BP神经网络的输入序列細政(/:;),彳| W >< /3U,X1^个数为4 的数据序列,第一个数据是原信号的基波的相位,后三个是PCA降维后的数据序列;
[0066] 步骤4构建并训练BP神经网络
[0067] BP神经网络为三层神经网络,由于原始信号经过FFT变换以及PCA降维后得到了 个数为4的特征数据χιη,则输入层神经元个数定为4个,由于总共有11种故障类型,则输 出层神经元个数为11,隐层神经元个数根据经验选取为15 ;
[0068] 设输入层的神经元为{X,』,隐层的神经元为,输出层的神经元为,激 活函数为Sigmoid函数,设以^ G和iw" C的系数矩阵为xw4X15,丨% <和A4的系数矩阵 为xwi;)><ii,则输入输出关系为:
[0071] 构建好BP神经网络之后,对原始的网络进行训练;
[0072] 首先将步骤1中采集好的11种故障信号(含正常信号),经过FFT和PCA后得到 训练样本:
[0074] 由于步骤1中每种故障各采集了 100组信号,所以此时可以得到100个X_Sample, 将每个X_Sample的理论输出均设置为:
[0076] 采用动量梯度下降算法训练BP网络,训练误差阈值设为0.0001,学习率α = 0. 5,训练后得到两个系数矩阵XW_end e R4xi5和xw_end e R15X11,这两个矩阵包含了训练 好的神经网路所有信息,因此,神经网络只需要离线训练一次,得到这两个矩阵后便不再需 要训练;
[0077] 基于神经网络的故障诊断方法依如下步骤嵌入DSP中:
[0078] 步骤5将算法嵌入DSP中
[0079] 首先初始化DSP ;初始化DSP的时钟、锁相环、中断向量表,定义DSP的AO 口为 AD采集口采集电压,定义DSP的GPI016、GPI017、GPI018、GPI019为数码管通讯口,用来 控制数码管显示的数字;配置DSP的TimerO模块,使DSP产生周期中断,中断的频率为 25. 6KHz ;同时建立数组xw[4] [15]和wy[15] [11]分别储存步骤4中的xw_end e R4x15和 wy_end e R15x11,建立数组ad_value[512]存储DSP采集的电压值;
[0080] 然后编写故障诊断子函数程序,命名为"diagn〇SiS() " ;所述故障诊断子函数的 输入是512个电压值序列ad_value[512];所述故障诊断子函数的输出是一个数字量k,k 的值是故障的类型;所述故障诊断子函数程序的内容如下:
[0081] ad_Value[512]数组存储满之后,触发一次故障诊断,根据步骤2和步骤3中的 内容,将采集好的512个数据ad_ Value[512]进行预处理,得到预处理之后的四个数据 T,,,=如妒/(6 ),_jI Fi I丨〗X Pl丨_,接着将该数据和步骤4中的结果xw[4] [15]和wy [15] [11]带 入公式公式(2-1)和式(2-2)进行神经网络诊断,得到神经网络输出序列yk,该序列由11 个数据组成,包含诊断结果;DSP使用冒泡排序法找到yk中的最大值的下标k,k的值就是 表1中所示的故障种类,DSP将该值实时显示在数码管上;然后,清空数组ad_val Ue [512], 重新开始采集逆变器的输出电压值,进行新一轮的故障诊断;
[0082] 最后,编写主函数程序"main()",在主函数中,程序设置为无限循环模式,每当 DSP进入中断,则触发一次AD采样,并存储在ad_value [512]数组中,当采集512次时,在 main()函数中调用一次diagnosis!;)函数,进行故障诊断。
[0083] 本发明具有以下效果:
[0084] 1.本发明由七电平逆变电路和DSP检测诊断电路组成,能够实现故障的在线实时 诊断。
[0085] 2.本发明以七电平逆变器的输出电压作为唯一检测信号用来进行故障诊断。
[0086] 3.本发明将电压信号进行FFT变换,然后进行PCA降维,接着在将FFT变换后的电 压基波相位信号加入PCA降维后的数据最为故障信号的特征数据,最后将特征数据输入训 练好的BP神经网络,进行故障诊断。
[0087] 4.本逆变器自带有故障诊断功能,能够在线实时诊断出10种故障并通过数码管 显示出来。
[0088] 下面结合附图和实施例对本发明进一步说明。
【附图说明】:
[0089] 图1本发明带有自诊断功能的七电平逆变器的硬件结构图;
[0090] 图2本发明级联H桥型七电平逆变器的主电路拓扑图;
[0091] 图3本发明七电平逆变器输出电压波形图;
[0092] 图4本发明BP神经网络结构图;
[0093] 图5本发明DSP故障诊断程序流程图;
[0094] 图6本发明HlSl开路故障时输出的电压波形图;
[0095] 图7本发明正常工况下DSP的诊断情况;
[0096] 图8本发明HlSl开路故障时DSP的诊断情况;
[0097] 图9是本发明DSP内部程序模块图。
[0098] 图中,1是DSP,3是直流电源,9是H桥主电路,4是辅助电源,5是电阻负载,6是电 压变送器,8是故障显示器,11是Ov电压,33是七电平逆变器输出波形Ov上面的电平,66 是七电平逆变器输出波形Ov下面的电平,22是七电平输出电压故障波形在Ov之上的电平。 H1S1、H1S2、H1S3和H1S4分别是第一个H桥的四个开关管,分别标记为H2S1、H2S2、H2S3和 H2S4分别是第二个H桥的四个开关管,H3S1、H3S2、H3S3和H3S4分别标是第三个H桥的四 个开关管;Vol、V 〇2和V〇3分别是三个H桥的输出电压,Vo是该电路最终的输出电压。111 是数据预处理和神经网络训练模块,222是基于神经网络的故障诊断模块,333是数据存储 模块。
[0099] 具体实施方法:
[0100] 如图1 一种带故障诊断功能的七电平逆变器,包括直流电源3、H桥主电路9、DSP1、 电压变送器6、电阻负载5、以及故障显示器8。直流电源3由三个24v直流电源组成,DSPl 产生SPffM驱动H桥主电路9,将来自直流电源3的直流电转换成交流电,该交流电其电压加 载到20欧姆的电阻负载5两端,并且被电压变送器6检测。电压变送器6将检测到的电压 信号成比例降低到0~3v的范围之内送
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1