✅博主简介擅长数据搜集与处理、建模仿真、程序设计、仿真代码、论文写作与指导毕业论文、期刊论文经验交流。✅ 如需沟通交流扫描文章底部二维码。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, fs1000): 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, threshold50e-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)如有问题可以直接沟通