张力文
摘要:机械故障诊断技术能够提供高质量的监控系统,提升管理效率,降低维护成本。通过MATLAB/Simulink仿真技术可以简洁地将故障诊断的结果图像化表达出来,提高故障诊断的质量和效率。该文模拟了机械故障诊断的全过程,充分发挥技术融合的优势,完成机械故障诊断的监测和分析处理任务。
关键词:计算机仿真; MATLAB/Simulink;机械故障诊断
中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2017)06-0262-03
1机械故障诊断的重要性
现代工业设备呈现流水线大型化、功能复杂化、运行自动化的发展趋势,设备的管理与维护对于安全运行,避免经济损失和人员伤亡愈发重要。机械故障诊断技术为现代工业生产提供了高质量的测控系统,实现了大型工业设备的高效率管理与低成本维护,其故障诊断功能完善、且易操作。
2 计算机仿真技术在机械故障诊断中的应用意义
随着现代化计算机技术的快速发展,计算机所模拟的结构、功能更为逼真,计算机仿真技术已广泛应用于现代工业生产的信号处理和数据分析,尤其是在故障诊断领域享有盛誉。MATLAB/Simulink仿真凭借其强大的数值运算功能,以及交互性良好的用户界面在众多计算机仿真软件中脱颖而出。
在机械故障诊断中,可以利用MATLAB/Simulink仿真的测试系统控制、图像处理、信号处理和数据统计等功能辅助诊断机械设备故障,简化故障信号分析的数学推导和复杂故障信号的描述,简洁的将故障诊断的结果用图形、图像表达出来,提高故障诊断的质量和效率。
将MATLAB/Simulink仿真应用到机械故障诊断中,增加了机械故障分析处理的可视化程度,使故障诊断中涉及的大量抽象的数值分析、信号变换等环节变得容易操作。利用MATLAB/Simulink仿真不仅能够实现对机械故障诊断系统的实时监测,还可以试验机械设备性能参数调整对诊断系统的影响。MATLAB/Simuknk仿真在机械故障诊断中的应用框架如图1所示。
3 基于MATLAB/Simulink的机械故障诊断系统构建
机械故障诊断系统融合了传感、信号处理、控制、统计等多门技术,主要包括数据采集、在线监测、信号调理、状态识别、诊断响应等内容。该系统由试验装置将待诊断机械设备控制在预定状态下,并将其有关方面的内在联系充分显露出来,以便进行有效诊断。
机械故障诊断系统中的诊断装置由传感器和故障信号预处理装置构成,将待测设备故障参数转换为电信号,并进行信号预处理。记錄显示仪器作为故障诊断系统的输出环节,能够将诊断过程中的有用信号及其变化过程显示或记录下来。机械故障诊断系统框架如图2所示。
机械故障诊断系统的硬件结构由故障诊断信号源、传感器、信号调理装置、数据采集装置、A/D转换器和计算机仿真系统组成。其中,故障诊断信号源的作用是产生测试信号;传感器将被测非电信号转换成电信号(模拟量,如电压信号),以便诊断系统对该电信号进行调理与分析;信号调理装置主要完成对电信号的预处理,例如信号调制解调、滤波、放大等;数据采集装置及A/D转换器将预处理后的电信号传递至计算机系统,最后由显示器、存储器等设备显示、记录故障诊断结果。机械故障诊断系统硬件结构框如图3所示。
根据机械故障诊断系统框架,可得出系统模块化设计方案。模块设计是机械故障诊断系统的核心部分,主要包括五大模块:故障诊断信号源、系统报警模块、数据采集与显示模块、数据分析模块和数据处理模块。
故障诊断信号源的功能是产生类似于方波、白噪声、锯齿波、正弦波等标准激励信号;系统报警模块能够对诊断系统实时数据进行统计分析,比较实时数据与系统阈值,智能判断是否报警;数据采集与显示;数据分析模块主要完成对诊断信号的时频域分析,可应用于均方值、最值、误差统计、相关分析、频谱分析等方面;数据处理模块可对采集到的诊断信号进行预处理,其处理方式如采样、滤波等。
4 MATLAB/Simulink实时诊断机械故障方法研究
4.1故障诊断系统信号源模型构建
1)诊断系统信号源的MATLAB仿真模拟
用户建立机械故障诊断系统时,可以直接使用MATLAB仿真系统工具箱的丰富的内置库函数。例如,MATLAB仿真系统中的sin、stepfun、randn等函数,可以进行诊断系统信号源的模拟,其MATLAB仿真实现方法如下:
%MATLAB编程实现阶跃信号源模拟
t=-0.5:0.001:1;t0=0;u=stepfun(t,t0);plot(t,u),axis([-0.5 1 -0.2 1.2])
%MATLAB编程实现正弦信号源模拟
N=200;fs=200;n=0:N-1;t=n/fs;x=5*sin(10*pi*t);plot(t,x)
%MATLAB编程实现随机信号源模拟,生成正态分布的伪随机信号(均值为0,方差为1)
randn(5,7);plot(ans)
上图分别为阶跃信号模拟信号源、正弦信号模拟信号源、随机信号模拟信号源,三种不同类型的信号共同构成了诊断系统信号源,以应对故障诊断中对信号源的多样化需求。
2)基于MATLAB仿真诊断系统信号源分析
在故障诊断处理中,需要针对信号不同方面的特性逐一进行分析,例如信号的实部特性、虚部特性、幅值特性、相角特性等。借助MATLAB仿真工具箱对real、image、abs、angle函数进行函数调用,可以方便直观的实现对信号各个特性的分析,其具体实现编程如下:
%MATLAB编程实现信号实部特性分析
R=real(z)
%MATLAB编程实现信号虚部特性分析,其中z为复数
I=imag(z)
%MATLAB编程实现信号幅值特性分析
A=abs(z)
%MATLAB编程实现信号相角特性分析,其中z为复数
Theta=angle(z)
4.2 诊断系统报警功能应用
诊断系统报警功能主要依据故障特点,采用相应的信号处理方法,突出机械设备状况特征,以识别故障类型,发错报警信号。以超门限报警为例,机械故障诊断系统依托计算机仿真软件实时监测设备运行参数,当参数值接近或超过设备参数阈值时,系统识别参数超门限,发出报警信号。MATLAB仿真源程序如下:
%MATLAB编程实现正弦信号源的超门限报警功能
x=1:0.001:70;y=0.5;
z=sin(pi*x)+cos(pi*x);
plot(x,y,'r',x,z,'b')
xlabel('时间(s)');ylabel('幅值');axis([10,30,-2,2])
%MATLAB编程实现随机信号源的超门限报警功能
R=randn(8);M=max(R);
figure(1)
subplot(231)
plot(R)
X=0:0.0001:8;Y=stepfun(X,0);
figure(1)
subplot(232)
plot(X,Y)
上图分别为正弦信号源和随机信号源的超门限报警功能实现。针对两种不同类型的信号源,通过MATLAB仿真系统的辅助分析,得出机械设备运行中参数信号的统计信息、实时运行参数最大值,与设定的峰值阈值(本文设定为0.5)相比较可识别是否超门限,保证了机械设备的正常运转,避免了大型危险事故的发生。
4.3诊断系统性能分析
4.3.1 诊断系统信号特征的频域提取
上述2.2中的时域统计特征指标反映了机械设备的总体运转状态,在故障监测中应用广泛。一旦发现故障出现,就需要对故障的部位、类型做进一步的精密分析,此时信號特征的频域提取是必不可少的关键步骤,是机械故障诊断的常用分析方法。其MATLAB/Simulink仿真实现方法如下:
fs=200;N=200;n=0:N-1;t=n/fs
%MATLAB编程实现诊断信号(本文以正弦信号为例)特征的频域提取
x=5*sin(10*pi*t)
%MATLAB编程实现对诊断信号进行FFT变换
y=fft(x,N)/N
%MATLAB编程实现检测信号幅值的求解
mag=abs(y)
f=(0:length(y)-1)'*fs/length(y)
plot(f-100,mag)
xlabel('频率(Hz)')
ylabel('幅值')
grid
axis([-150,150,-1,4])
MATLAB编程仿真得到诊断信号特征的频谱分析如图6所示,其中横坐标表示频率,纵坐标表示信号幅值,诊断参数频率特征点为f=-100Hz和f=100Hz。
4.3.2 诊断系统稳定性分析
MATLAB仿真技术对诊断系统频率特性的图像分析方法主要为奈奎斯特图系统稳定性分析,该种方法能够绘制出机械故障诊断系统的频率特性图形,可视化分析诊断系统稳定性,其具体编程实现及仿真结果如下:
num=[0.5]
den=[1 2 1 0.5 ]
nyquist(num,den)
axis([-1.1,1.1,-1.5,1.5])
5 结论
本文论述的机械故障诊断系统,在系统框架构建上采用了计算机仿真的技术思路,充分发挥技术融合的优势,使其依托于MATLAB/Simulink仿真平台,完成机械故障诊断的监测和分析处理任务。通过MATLAB/Simulink辅助故障诊断系统的构建,说明了计算机仿真技术在机械故障诊断应用方面具有兼容性和实用性。
参考文献:
[1] 赫培峰.计算机仿真技术[M].北京:机械工业出版社,2009.
[2] 张建.机械故障诊断技术[M]. 北京:机械工业出版社,2008.
[3] 王国彪,何正嘉,陈雪峰,赖一楠.机械故障诊断基础研究何去何从[J].机械工程学报,2013(1):63-72.
[4] 王光研,许宝杰.RBF神经网络在旋转机械故障诊断中的应用[J].机械设计与制造,2008(9):57-58.
[5] 苏剑飞,赵捍东.神经网络在旋转机械故障诊断中的应用[J].微计算机信息,2007(13):214-215,221.