电机械制动系统振动故障检测与减振分析试验研究【附代码】
2026/5/5 21:28:00 网站建设 项目流程

博主简介:擅长数据搜集与处理、建模仿真、程序设计、仿真代码、论文写作与指导,毕业论文、期刊论文经验交流。
✅ 如需沟通交流,扫描文章底部二维码。


(1)基于集合经验模态分解与轴心轨迹提纯的转子不平衡故障检测:

电机械制动系统制动盘主轴的不平衡故障通过分析振动传感器采集的径向位移信号进行检测。采用集合经验模态分解将原始信号分解为多个本征模态函数,利用相关系数和能量占比双重准则筛选出代表转子不平衡特征的有效 IMF;对筛选出的 IMF 进行重构,并结合正交位移信号绘制合成轴心轨迹。设计 LabVIEW 数据采集与分析程序,实现信号实时采集、滤波、EEMD 分解及提纯和轴心轨迹绘制。在实验台上模拟不同不平衡量(5 g·mm、10 g·mm、20 g·mm)的故障,所得提纯轴心轨迹呈现清晰的椭圆形状,长半轴长度与不平衡量近似线性关系,经拟合 R² 达 0.98,为量化不平衡程度提供了直观判据。

(2)不平衡故障反馈控制与紧急制动策略:

基于检测到的不平衡故障特征,在 MATLAB/Simulink 中建立故障反馈控制模型。当转子振动位移幅值连续三个周期超过预设阈值 50 μm 时,激活故障响应控制器,控制器输出信号减小制动指令电流,并缩短制动器响应时间,以抑制振动加剧。控制策略采用 Bang-Bang 结合 PI 调节的方式,在故障确认后 0.2 s 内将制动电流降至安全水平以下,防止不平衡引起的剧烈抖动对机械结构造成损伤。在实验台进行故障反馈控制测试,结果表明,故障触发后制动时间由正常情况下的 1.2 s 缩短至 0.8 s,制动过程中径向振动幅值减少 38%,且未发生制动不可控现象,验证了故障反馈控制策略的有效性。

(3)制动器附加消音片减振特性与阻尼配置分析:

为抑制制动过程中制动器本体的高频振动和尖叫噪声,在制动器壳体外附加不同数量(1 片、2 片、4 片)的金属-橡胶复合消音片,形成约束阻尼层系统。设计振动加速度采集与 LabVIEW 滤波分析程序,分别采用巴特沃斯低通滤波和自适应卡尔曼滤波进行信号处理,通过信噪比和均方根误差对比两种滤波方案,最终选用卡尔曼滤波作为数据预处理手段。实验通过改变制动电压 12 V 至 24 V,测试消音片数量对制动位移和振动加速度的影响。结果表明,4 片消音片配置在 18 V 制动电压下,振动加速度有效值由无消音片时的 3.8 m/s² 降至 1.5 m/s²,位移超调减小 25%,阻尼减振效果显著,且制动响应时间仅增加 0.05 s,兼顾了响应速度与减振需求。

import numpy as np import matplotlib.pyplot as plt from PyEMD import EEMD from scipy.signal import butter, filtfilt import control # EEMD分解与轴心轨迹提纯 def eemd_fault_diagnosis(signal_x, signal_y, fs=1000): eemd = EEMD() IMFs_x = eemd.eemd(signal_x) IMFs_y = eemd.eemd(signal_y) # 相关系数筛选 def select_imf(imfs, signal): corrs = [np.corrcoef(imf, signal)[0,1] for imf in imfs] return imfs[np.argmax(corrs)] imf_x = select_imf(IMFs_x, signal_x) imf_y = select_imf(IMFs_y, signal_y) # 重构轴心轨迹 center_orbit = np.vstack([imf_x, imf_y]).T return center_orbit # 故障反馈控制仿真 class FaultFeedbackControl: def __init__(self, threshold=50e-6): self.threshold = threshold; self.state = 'normal' self.timer = 0 def detect(self, vibration_amp, dt): if vibration_amp > self.threshold: self.timer += dt if self.timer > 3*0.02: # 连续三周期 return True else: self.timer = 0 return False def control_action(self, required_brake_current): if self.state == 'fault': return required_brake_current * 0.4 # 降电流40% return required_brake_current # 消音片阻尼减振分析 def damping_effect_test(signal, num_shims, voltage): # 卡尔曼滤波去噪 def kalman_filter(z): x_est = 0; P = 1; Q = 0.01; R = 0.1 states = [] for z_i in z: x_pred = x_est; P_pred = P + Q K = P_pred / (P_pred + R) x_est = x_pred + K * (z_i - x_pred) P = (1 - K) * P_pred states.append(x_est) return np.array(states) filtered = kalman_filter(signal) rms = np.sqrt(np.mean(filtered**2)) damping_coefficient = 0.6 * num_shims * (voltage/24) # 简化阻尼系数估算 return rms, damping_coefficient if __name__ == '__main__': t = np.linspace(0, 1, 1000) sig_x = np.sin(2*np.pi*30*t) + 0.05*np.random.randn(1000) sig_y = np.cos(2*np.pi*30*t) + 0.05*np.random.randn(1000) orbit = eemd_fault_diagnosis(sig_x, sig_y) plt.plot(orbit[:,0], orbit[:,1]); plt.show() controller = FaultFeedbackControl() triggered = controller.detect(60e-6, 0.02) print('故障触发:', triggered) rms, damp = damping_effect_test(sig_x, 4, 18) print('振动RMS:', rms, '阻尼系数:', damp)


如有问题,可以直接沟通

👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询