✅ 博主简介:擅长数据搜集与处理、建模仿真、程序设计、仿真代码、论文写作与指导,毕业论文、期刊论文经验交流。
✅ 具体问题可以私信或扫描文章底部二维码。
(1) 永磁同步电机轴承故障的产生及诊断困难
永磁同步电机(Permanent Magnet Synchronous Motor,PMSM)轴承故障是该电机中最常见的故障之一。当轴承的滚道或滚动体由于应力集中、污染物进入或润滑不良而产生微小裂纹时,这些裂纹会随着轴承的运转逐渐扩大,导致电机在运行过程中产生异常的振动和噪声,甚至在严重情况下造成轴承的失效。尤其是在非稳态工况下(如变速、变负载运行),故障特征信号变得更加复杂,使得传统的故障诊断手段难以有效捕捉到特征信号。
传统上,振动信号和电流信号是诊断电机轴承故障的主要手段,但这需要在电机中增加额外的传感器,并且诊断精度容易受到环境噪声和电磁干扰的影响。在非稳态工况下,电机轴承故障特征信号的频率和幅值不再保持恒定,频谱分析结果中的频率分量也随时间变化相互混淆,进一步增加了故障诊断的难度。因此,探索在非稳态工况下的有效轴承故障诊断技术具有重要意义。
(2) 基于观测器的轴承故障信号辨识方法
本文提出了一种基于无速度观测器的轴承外圈故障诊断方法,通过对电机电压和电流信号进行辨识,从而获得电机转速信号中的故障特征分量。首先,构建了用于辨识电机角位移和转速的扩张反电势观测器,通过获取角度信息进行角域重采样。角域重采样技术可以将非稳态工况下的时变信号转化为稳态信号,使得后续的频谱分析更加简单和准确。
在频谱分析中,使用了基于频谱幅值自适应计算的阈值生成算法,以确定频谱中的故障特征谱峰是否超过设定的诊断门槛。该方法特别适用于轴承外圈故障的检测,尤其是在转速和负载变化频繁的复杂工况下。通过实验验证,辨识到的转速信号相比于传统的电流或电压信号,能够更加有效地反映轴承的外圈故障特征,其诊断精度和鲁棒性也得到了显著提升。
(3) 基于自然转矩观测器的轴承故障诊断方法
针对电机轴承内圈和外圈故障,本文进一步研究了基于自然转矩观测器的轴承故障诊断方法。通过分析电机转矩信号的传递路径,发现转矩信号的传递路径相对于转速信号更短,受环境干扰影响较小。为此,本文提出了一种基于q轴电流多阶差分的自然转矩观测器算法,在稳态工况下通过多阶差分抑制转矩观测值的抖动,而在非稳态工况下则加快了观测值的收敛速度。
利用该观测器重构出的负载转矩信号,再经过角域重采样和幅值调制补偿,生成用于故障诊断的阶次谱。在频谱的故障特征判定过程中,本文引入了信息熵计算最优窗口长度的迭代方法,以减少人为参数选择对诊断结果的影响。在变转速和变转矩条件下的实验中,通过对比相电流和q轴电流信号进行故障诊断,验证了基于自然转矩观测器的诊断方法在信噪比和诊断有效性方面的显著优势。
(4) 基于转速高频共振的轴承内圈故障诊断
对于轴承内圈故障的诊断,本文提出了一种基于双惯量系统的建模与共振信号分析的方法。在电机内圈出现故障时,故障特征信号往往由于电机的交变转矩调制而难以被直接检测到。本文建立了电机的双惯量系统模型,通过分析在脉冲转矩激励下的高频共振现象,揭示了共振分量与轴承故障特征分量之间的相互调制作用。
为了实现有效的共振信号提取,本文采用了变分模态分解(VMD)结合人工蜂群算法对信号中的各个模态进行优化滤波,去除与故障无关的分量。同时,为了增强故障特征谱峰,本文引入了多点最优最小熵解卷积(MOMEDA)算法,以提高故障特征信号的幅值。实验和仿真结果显示,该方法能够在非稳态工况下有效诊断轴承内圈和外圈的故障,诊断结果在信噪比和稳定性方面也优于其他传统方法。
(5) 实验与算法验证
本文的各个故障诊断方法在多种非稳态工况下进行了实验验证,包括变转速、变负载等复杂条件。实验结果表明,本文提出的基于观测器的信号辨识方法和自然转矩观测器方法,在轴承外圈和内圈故障的诊断中均表现出较高的诊断精度和鲁棒性。通过与传统基于振动和电流信号的故障诊断方法进行对比,可以看出,本文的方法能够在噪声复杂、负载波动较大的环境中稳定地提取到轴承故障特征信号,显示出更好的抗干扰能力和适应能力。
import numpy as np
import matplotlib.pyplot as plt
from scipy.signal import hilbert, find_peaks
# 角域重采样函数
def angle_resample(signal, angle):
resampled_signal = np.interp(np.linspace(0, angle[-1], len(angle)), angle, signal)
return resampled_signal
# 转速信号生成函数
def generate_speed_signal(frequency, amplitude, num_samples):
time = np.linspace(0, 1, num_samples)
speed_signal = amplitude * np.sin(2 * np.pi * frequency * time)
return time, speed_signal
# 扩张反电势观测器模拟函数
def expanded_back_emf_observer(voltage, current, params):
# 简化的模拟观测器,仅用于信号计算
k = params['k']
observed_signal = k * (voltage - current)
return observed_signal
# 参数初始化
num_samples = 1000
frequency = 5 # Hz
amplitude = 10 # 单位
# 生成模拟转速信号
time, speed_signal = generate_speed_signal(frequency, amplitude, num_samples)
angle = np.cumsum(speed_signal) * (2 * np.pi / num_samples)
# 进行角域重采样
resampled_signal = angle_resample(speed_signal, angle)
# 使用扩张反电势观测器模拟信号观测
voltage = np.sin(2 * np.pi * frequency * time)
current = 0.5 * np.sin(2 * np.pi * frequency * time)
params = {'k': 0.8}
observed_signal = expanded_back_emf_observer(voltage, current, params)
# 绘制结果
plt.figure()
plt.subplot(3, 1, 1)
plt.plot(time, speed_signal)
plt.title('Original Speed Signal')
plt.subplot(3, 1, 2)
plt.plot(angle, resampled_signal)
plt.title('Angle Resampled Signal')
plt.subplot(3, 1, 3)
plt.plot(time, observed_signal)
plt.title('Observed Signal using Expanded Back EMF Observer')
plt.tight_layout()
plt.show()