东莞专业网站设计制作公司,青少年编程培训哪家好,遵义网,网站的空间价格转子动力学#xff0c;模态分析求临界转速#xff0c;稳定状态下转子轴心轨迹#xff0c;圆盘质量不平衡条件下振动响应操作视频。转子系统跑着跑着突然剧烈振动#xff1f;八成是遇到临界转速了。这玩意儿就像荡秋千到最高点突然有人推你一把#xff0c;系统固有频率和旋…转子动力学模态分析求临界转速稳定状态下转子轴心轨迹圆盘质量不平衡条件下振动响应操作视频。转子系统跑着跑着突然剧烈振动八成是遇到临界转速了。这玩意儿就像荡秋千到最高点突然有人推你一把系统固有频率和旋转频率共振时设备能给你表演原地升天。今天咱们直接开撸代码手把手带你看转子怎么跳舞。先整点硬核的临界转速计算直接上特征值分析。敲个Python脚本感受下import numpy as np from scipy.linalg import eig m 50 # 质量 kg k 1e6 # 刚度 N/m c 500 # 阻尼 N·s/m # 构建质量矩阵和刚度矩阵 M np.array([[m, 0], [0, m]]) K np.array([[k, -k], [-k, k]]) C np.array([[c, -c], [-c, c]]) # 特征值求解 omega 2000 # 初始猜测转速 rad/s A np.vstack([np.hstack([np.zeros_like(M), np.eye(2)]), np.hstack([-np.linalg.inv(M)K, -np.linalg.inv(M)C])]) w, v eig(A) # 特征值分解 critical_speeds np.abs(np.imag(w))/(2*np.pi) print(f临界转速{critical_speeds[np.argmax(critical_speeds)]:.2f} Hz)这段代码暗藏玄机把二阶微分方程转化为状态空间方程特征值的虚部直接对应系统固有频率。注意这里没考虑陀螺效应实际做转子动力学得把回转力矩矩阵加进去不然计算结果会漏掉重要模态。画轴心轨迹才是真的带劲上实测数据处理代码import matplotlib.pyplot as plt from scipy.signal import hilbert # 假设x,y是振动传感器数据 t np.linspace(0, 10, 1000) x 0.1*np.sin(2*np.pi*25*t) 0.05*np.random.randn(len(t)) y 0.08*np.cos(2*np.pi*25*t) 0.03*np.random.randn(len(t)) # 希尔伯特变换提取包络 analytic_x hilbert(x) analytic_y hilbert(y) plt.figure(figsize(8,6)) plt.plot(x, y, alpha0.3, label原始轨迹) plt.plot(np.real(analytic_x), np.real(analytic_y), r--, lw2, label包络线) plt.xlabel(X方向位移 (mm)) plt.ylabel(Y方向位移 (mm)) plt.title(轴心轨迹-稳定状态) plt.axis(equal) plt.legend() plt.show()看到没原始数据乱得像醉酒走位包络线一画立马现出原形——典型的椭圆轨迹说明存在固定方向的激振力。如果轨迹变成内八字或者外八字那可得赶紧查是不是碰摩故障了。质量不平衡响应模拟最刺激直接上微分方程暴力求解from scipy.integrate import solve_ivp def rotor_eq(t, z, m, c, k, e, omega): x, x_dot, y, y_dot z Fx m*e*omega**2 * np.cos(omega*t) Fy m*e*omega**2 * np.sin(omega*t) dxdt x_dot dydt y_dot dx_dot (Fx - c*x_dot - k*x)/m dy_dot (Fy - c*y_dot - k*y)/m return [dxdt, dx_dot, dydt, dy_dot] # 模拟参数 e 0.001 # 偏心距1mm res solve_ivp(rotor_eq, [0, 20], [0,0,0,0], args(m, c, k, e, 2*np.pi*25), methodLSODA, rtol1e-5) # 绘制时域波形 plt.plot(res.t, res.y[0], labelX方向) plt.plot(res.t, res.y[2], labelY方向) plt.title(质量不平衡振动响应) plt.xlabel(时间 (s)) plt.ylabel(振幅 (mm)) plt.legend()这里用龙格库塔法硬刚非线性方程注意看振幅随时间的变化趋势——刚开始乱颤那是瞬态响应后面走成稳定正弦波才是稳态。代码里偏心距参数e调大点分分钟给你画出振幅爆表的刺激曲线。操作视频要点在轴心轨迹图上加个实时更新的红点用matplotlib.animation模块整成动态图。记得设置interval参数控制刷新速度ffmpeg输出视频时要选对编码格式不然生成的视频可能只有几KB——别问我是怎么知道的。