背景及摘要很多初学者刚接触故障诊断可能觉得很简单,套用深度学习模型进行训练,分类准确率很容易就达到99%。在写论文时,这样的确没问题。但是在工作或者在解决实际问题时,几乎是用不上(至少目前是这样)。 最近在读时献江老师等人的《机械故障诊断及典型案例解析》这本书时,发现其内容真的很丰富,故障诊断方法讲解的详细全面,且有实际丰富的案例,更加容易消化理解各方法特点及其应用场景。 上期分享了机械振动的3种基本动力学模型及3类振动传感器测量原理简介,这期给大家分享机械系统振动的概念及分类。 参考资料:书籍:机械故障诊断及典型案例解析(第2版,时献江) 目录 目录摘要1. 机械系统振动的概念及分类 1.1 机械振动的基本概念 1.2 机械振动的分类 1.3 机械振动的描述2. 实战代码3. 总结摘要本节将介绍机械振动基础知识,机械振动的基本概念、按不同指标进行分类、机械振动的三要素。 通过阅读本文将了解到(或带着以下疑问去阅读,答案见总结部分) 自由振动、受迫振动、自激振动是怎么区分的?低频、中频、高频振动各自的频率范围是多少?周期振动和准周期振动的区别? 两个不同频率的振动叠加之后还是周期振动吗? 1、机械振动的概念及分类1.1 机械振动的基本概念机械振动是系统在某一位置(通常是静平衡位置)附近做往复运动。振动的强弱用系统的位移、速度或加速度表征。机械振动广泛存在于机械系统中,如钟摆的摆动、汽车的颠簸及活塞的运动等。机械振动的一个主要应用就是振动诊断,其以机械系统在某种激励下的振动响应作为诊断信息的来源,通过对所测得的振动参量(振动位移、速度或加速度)进行各种分析处理,并借助一定的识别策略,判断机械设备的运行状态,进而给出机械的故障部位、故障程度以及故障原因等方面的诊断结论。 1.1 机械振动的分类(1) 按产生振动的原因分类根据机器产生振动的原因,可将机械振动分为三种类型自由振动:给系统一定的初始能量后所产生的振动。若系统无阻尼,则系统维持等幅振动;若系统有阻尼,则系统为自由衰减振动。受迫振动:元件或系统的振动是由周期变化的外力作用所引起的,如不平衡、不对中所引起的振动。自激振动:在没有外力作用下,只是由于系统自身的原因所产生的激励引起的振动,如旋转机械的油膜振荡、喘振等。机械故障领域所研究的振动,多属于受迫振动和自激振动。对于减速箱、电动机、低速旋转设备等机械故障,主要以受迫振动为主,通过对受迫振动的频率成分、振幅变化等特征参数分析,来鉴别故障。对于高速旋转设备以及能被工艺流体所激励的设备,如汽轮机、旋转空气压缩机等,除了需要监测受迫振动的特征参数外,还需监测自激振动的特征参数。(2) 按激振频率与工作频率的关系分类同步振动:机械振动频率与旋转转速同步(即激振频率等于工作频率),由此产生的振动称为同步振动。例如转子不平衡会激起转子的同步振动。亚同步振动:振动频率小于机械的旋转频率的振动称为亚同步振动,滑动轴承的油膜涡动频率约为同步旋转频率的一半,是典型的亚同步振动。(3) 按振动所处频段分类按照振动频率的高低,通常把振动分在如下3个频段低频振动, 采用低通滤波器(截止频率 )滤除高频信号,进行谱分析等处理。这个频段通常包含设备的直接故障频率成分,故不需要太复杂的信号处理手段,缺点是各种部件的故障频率混叠在一起,一些部件的微弱故障信号分离与识别困难。中频振动, 采用高通或带通滤波器滤除低频信号,再进行相关谱分析等处理。这个频段通常包含设备的结构共振故障频率成分,可采用加速度传感器获得。通常需要采用包络解调或细化等特殊信号处理方法,提取结构共振频率调制的低频故障信息,避免其他部件的低频段故障频率的影响。高频振动, 这个频段仅用于滚动轴承诊断的冲击脉冲法,采用加速度传感器的谐振频率来获取故障的冲击能量等。应当指出,目前,频段划分的界限尚无严格规定和统一标准。不同行业,或同一行业中对不同的诊断对象,其划分频段的标准都不尽一致。(4) 按描述系统的微分方程分类可分为线性振动和非线性振动。线性振动可用常系数线性微分方程来描述,其惯性力、阻尼力及弹性力只分别与加速度、速度及位移成正比;非线性振动不存在这种线性关系,需要用非线性微分方程来描述。(5) 按振动系统的自由度分类可分为单自由度和多自由度系统。自由度是指在任意时刻确定机械系统位置所需的独立坐标数目。(6) 按振动的运动规律分类按振动的运动规律,一般将机械振动分为如图1所示的几种类型图1 机械振动的分类下面主要依据这种分类方式,分别对机械振动进行进一步详细描述 1.3 机械振动的描述(1) 简谐振动图2 简谐振动简谐振动可用图2上半部所示的弹簧质量模型来描述。当忽略摩擦阻力时,在外力作用下,将质量块离开平衡点后无初速度释放,在弹簧力的作用下,质量块会在平衡点做连续的左右振动,如果取其平衡位置为原点,运动轨道为z轴,那么质点离开平衡位置的位移z随时间变化的规律如图2下半部分所示。如果没有任何阻力,这种振动便会不衰减地持续下去,这便是简谐振动。简谐振动 的数学表达式为: 式(1)式中 ----时间,s或ms; ----振幅或幅值,μm或mm; ----频率,Hz; ----初始相位,rad。其中,振幅 表示质点离开平衡位置( )时的最大位移的绝对值,称为振幅,振幅反映振动或故障的强弱。振幅不仅可以用位移表示,也可以用速度和加速度来表示。由于振幅是时变量,在时域分析中,通常用峰值 ,峰-峰值 表述瞬时振动的大小,用振幅的平方和或有效值表示振动的能量。例如,很多振动诊断标准都是以振动烈度来制定的,而振动烈度就是振动速度的有效值。图中 是简谐振动的周期,即质点再现相同振动的最小时间间隔。其倒数称为频率 , ,表示振动物体(或质点)每秒钟振动的次数,单位为Hz。频率是振动诊断中一个最重要的参数,在机械设备中,每一个运动的零部件都有其特定的结构固有振动频率和运动振动频率,某种频率的出现往往预示着设备存在某种特定类型的故障,我们可以通过分析设备的频率特征来判别设备的工作状态。频率 还可以用圆频率 来表示,即: 。 称为简谐振动的初相角或相位,如图3(a)所示,表示振动质点的初始位置。相位测量分析在故障诊断中亦有相当重要的地位,可用于谐波分析、设备动平衡测量或振动类型识别等方面。简谐振动的特征仅用幅值 ,频率 (或周期)和相位 。三个特征参数就可以描故称其为振动三要素。图3 简谐信号及其频谱简谐振动的时域波形(也称简谐信号)如图3(a)所示,其为复杂的曲线形式,不易识别。如果从振动的三要素的频率成分来看,它只含有一个频率为 ,幅值为 的单一简谐振动成分,可以用图3(b)所示幅频关系图来描述,这样的图称为离散谱或线谱。同理,相频关系也可用图3(c)来表示。在工程信号处理领域,图3(b)和图3(c)分别称为图3(a)所示时域波形的幅值谱和相位谱,俗称频谱。可见,频谱可以把一条复杂的简谐曲线(由若干点组成)表示成一根谱线(一个点),具有信息简化和易于识别等特点,这是频谱表示方法的优点之一。简谐振动(信号)是最基本的振动(信号),不可以再分割。对于复杂的信号,我们可以采用傅里叶变换方法,先把其变换为多个或无限个简谐振动(信号)的叠加过程,然后再绘制频谱。(2) 周期振动实际上,很多机械振动并不具备简谐振动的特征,但在时间域上仍然呈现周期性称为周期振动,或称非简谐周期振动,对于周期振动,当周期为 时,对任何时间应该有: 式(2)式中, 为振动周期,s; ,为振动频率,Hz。图4 两个正弦信号的叠加(有公共周期)图4所示是两个简谐振动信号叠加成一个周期振动信号的例子。两个简谐信号 [图4(a)] [图4(b)]合成信号 如图4(c)所示,虽然可以看出其具有周期信号特征,但是却难以辨别其所包含的频率成分。如按图3所示的方法可以绘出其幅值频谱图如图4(d)所示,则可以清楚看出该合成信号的频率构成和幅值分布。我们知道,多个振动信号叠加后的公共周期是所有叠加信号的周期的最小公倍数,因此,图4所示 和 的周期分别为 、 、 的最小公倍数为 。即叠加后信号的合成周期为 为1,其倒数 称为基波频率,简称基频。(3) 非周期振动① 准周期振动图5 两个正弦信号的叠加(无公共周期)准周期振动信号具有周期信号的特征,实质为非周期信号。例如图5(c)所示的信号 由 、 两个信号组成: 信号的周期为 ; 信号的周期为 。由于 为无理数,理论上, 和 的最小公倍数趋于无穷大,合成信号 为非周期信号。实际上, 只能取其近似值,例如当 的近似值为1.7时, 此时合成周期为 ;当 的近似值为1.73时,此时合成周期为 。因此,实际信号呈现的是周期信号的特征。另外,准周期信号还可从其频谱中[图5(d)]分辨,通常两根谱线间不具备整数(公)倍数关系。② 瞬态振动瞬态振动只在某一确定时间内才发生,其不具备周而复始的特性,是非周期振动信号,也可以说它的周期 。因此,可以把瞬态振动信号看作是周期趋于无穷大的周期振动信号自由衰减振动[图6(a)]是一个典型的瞬态振动。瞬态振动信号的频谱特征是连续的,如图6(b)所示。图6 自由衰减振动(4) 随机振动随机振动是一种非确定性振动,不能用精确的数学关系式加以描述,仅能用随机过程理论和数理统计方法对其进行处理,其时间历程曲线如图7所示。图7 某机器振动信号通常把图7所示的所有可能得到的振动信号 的集 合称为随机过程 ,而每一条曲线 称为随机过程 的一个样本。对于各态历经的平稳随机信号,单个样本的统计特征与总体相同,所以可以使用单个样本代替总体。也就是说,如果能够证明某个随机过程是平稳且各态历经的,只需采集一个样本进行分析即可,这是随机信号处理的基础之一。但是,上述计算需要大量的统计数据,显然是不可能实现的,通常只能根据经验来进行评估。一般来说,工程中所见的振动信号多数是平稳且各态历经的,如电机在稳定载荷和稳定转速下的振动信号;刀具在一定吃刀量和稳定走刀速度下的切削力信号等。而电机在启停过程中的振动信号、刀具在进刀和退刀过程中的切削力信号则为非平稳信号。设备在实际运行中,由故障引起振动一般具有一定的周期成分,往往被淹没在随机振动信号之中。当设备故障程度加剧时,随机振动中的周期成分会加强,从而使整台设备振动增大。因此,从某种意义上讲,设备振动诊断的过程就是从随机振动信号中提取和识别周期性成分的过程。2、实践代码 下面将演示文中图4、5、6的生成,建议在jupyter上演示。图4 两个正弦信号的叠加(有公共周期) import numpy as npimport matplotlib.pyplot as pltplt.rcParams['font.sans-serif'] = ['SimHei'] # 显示中文plt.rcParams['axes.unicode_minus'] = False # 显示负号font = {'family': 'Times New Roman', 'size': '20', 'color': '0.5', 'weight': 'bold'}##========生成第1个模拟信号=======##fs = 100 # 采样率100Hzf1 = 2t = np.linspace(0, 10, 10*fs) # 采集时长10sx1 = 10*np.sin(2*np.pi*f1*t+np.pi/6) # x1(t)=10sin(2*pi*2*t+pi/6)# 绘制时域图plt.figure(figsize=(10, 6))plt.subplot(2, 1, 1)plt.title('时域图')plt.plot(t, x1, label='x1(t)=10sin(2*pi*2*t+pi/6)', color='b')plt.xlabel('时间 (s)')plt.ylabel('幅值')plt.legend()plt.show()##========生成第2个模拟信号=======##fs = 100 # 采样率100Hzf2 = 3t = np.linspace(0, 10, 10*fs) # 采集时长10sx2 = 5*np.sin(2*np.pi*f2*t+np.pi/3) # x1(t)=10sin(2*pi*2*t+pi/6)# 绘制时域图plt.figure(figsize=(10, 6))plt.subplot(2, 1, 1)plt.title('时域图')plt.plot(t, x2, label='x2(t)=5sin(2*pi*3*t+pi/3)', color='b')plt.xlabel('时间 (s)')plt.ylabel('幅值')plt.legend()plt.show()##========生成第3个模拟信号=======##x3 = x1 + x2# 绘制时域图plt.figure(figsize=(10, 6))plt.subplot(2, 1, 1)plt.title('时域图')plt.plot(t, x3, label='x1(t)+x2(t)', color='b')plt.xlabel('时间 (s)')plt.ylabel('幅值')plt.legend()plt.show()##========生成第3个信号FFT图=======### 计算频域图fft_result = np.fft.fft(x3)fft_freq= np.fft.fftfreq(len(x3), d=t[1]-t[0]) # FFT频率fft_amp= 2*np.abs(fft_result)/len(t) # FFT幅值# 绘制频域图plt.subplot(2, 1, 2)plt.title('频域图')plt.plot(fft_freq[0: int(len(t)/2)], fft_amp[0: int(len(t)/2)], label='Frequency Spectrum', color='b')plt.xlabel('频率 (Hz)')plt.ylabel('幅值')plt.legend()plt.tight_layout()plt.show() 输出结果:图5 两个正弦信号的叠加及其频谱图 ##========生成第1个模拟信号=======##fs = 100 # 采样率100Hzf1 = np.sqrt(3)t = np.linspace(0, 10, 10*fs) # 采集时长10sx1 = 0.9*np.sin(2*np.pi*f1*t+np.pi/6) # x1(t)=10sin(2*pi*2*t+pi/6)# 绘制时域图plt.figure(figsize=(10, 6))plt.subplot(2, 1, 1)plt.title('时域图')plt.plot(t, x1, label='x1(t)=10sin(2*pi*2*t+pi/6)', color='b')plt.xlabel('时间 (s)')plt.ylabel('幅值')plt.legend()plt.show()##========生成第2个模拟信号=======##fs = 100 # 采样率100Hzf2 = 2t = np.linspace(0, 10, 10*fs) # 采集时长10sx2 = 0.9*np.sin(2*np.pi*f2*t+np.pi/3) # x1(t)=10sin(2*pi*2*t+pi/6)# 绘制时域图plt.figure(figsize=(10, 6))plt.subplot(2, 1, 1)plt.title('时域图')plt.plot(t, x2, label='x2(t)=5sin(2*pi*3*t+pi/3)', color='b')plt.xlabel('时间 (s)')plt.ylabel('幅值')plt.legend()plt.show()##========生成第3个模拟信号=======##x3 = x1 + x2# 绘制时域图plt.figure(figsize=(10, 6))plt.subplot(2, 1, 1)plt.title('时域图')plt.plot(t, x3, label='x1(t)+x2(t)', color='b')plt.xlabel('时间 (s)')plt.ylabel('幅值')plt.legend()plt.show()##========生成第3个信号FFT图=======### 计算频域图fft_result = np.fft.fft(x3)fft_freq= np.fft.fftfreq(len(x3), d=t[1]-t[0]) # FFT频率fft_amp= 2*np.abs(fft_result)/len(t) # FFT幅值# 绘制频域图plt.subplot(2, 1, 1)plt.title('频域图')plt.plot(fft_freq[0: int(len(t)/2)], fft_amp[0: int(len(t)/2)], label='Frequency Spectrum', color='b')plt.xlabel('频率 (Hz)')plt.ylabel('幅值')plt.legend()plt.tight_layout()plt.show() 输出结果:图6 衰减信号及其频谱图 ##========生成第1个模拟信号=======##fs = 100 # 采样率100Hzf1 = 3 # 频率n = 0.5 # 衰减系数t = np.linspace(0, 10, 10*fs) # 采集时长10sx4 = 10*np.exp(-n*t)*np.sin(2*np.pi*f1*t+np.pi/6) # x1(t)=10sin(2*pi*2*t+pi/6)# 绘制时域图plt.figure(figsize=(10, 6))plt.subplot(2, 1, 1)plt.title('时域图')plt.plot(t, x4, label='$x_4(t)=10e^{-0.5 t}sin(2\pi3t)$', color='b')plt.xlabel('时间 (s)')plt.ylabel('幅值')plt.legend()plt.show()##========生成衰减信号FFT图=======### 计算频域图fft_result = np.fft.fft(x3)fft_freq= np.fft.fftfreq(len(x4), d=t[1]-t[0]) # FFT频率fft_amp= 2*np.abs(fft_result)/len(t) # FFT幅值# 绘制频域图plt.figure(figsize=(10, 6))plt.subplot(2, 1, 1)plt.title('频域图')plt.plot(fft_freq[0: int(len(t)/2)], fft_amp[0: int(len(t)/2)], label='Frequency Spectrum', color='b')plt.xlabel('频率 (Hz)')plt.ylabel('幅值')plt.legend()plt.tight_layout()plt.show() 输出结果:3、总结 自由振动、受迫振动、自激振动是怎么区分的?自由振动:无外界力干扰、由本身的初始动能引起的振动,如钟摆运动受迫振动:有外界力干扰的振动,如不平衡、不对中自激振动:无外界力干扰,由系统本身产生的激励引起的振动,如油膜振动、喘振低频、中频、高频振动各自的频率范围是多少?低频振动: 中频振动: 高频振动: 周期振动和准周期振动的区别?周期振动:在时域上呈现周期性振动准周期振动:时域上看像周期信号,其实其周期为无穷大。 两个不同频率的振动叠加之后还是周期振动吗?多个振动信号叠加后的公共周期是所有叠加信号的周期的最小公倍数,如果公倍数为实数,则为周期振动;如果公倍数为无穷大,则为准周期振动。 注明本文内容摘抄自《机械故障诊断及典型案例解析》,仅供学习交流,若有侵权,烦请联系处理!参考文献[1] 《机械故障诊断及典型案例解析,第2版,时献江等,2020年第一次印刷》来源:故障诊断与python学习