news 2026/4/25 6:45:12

转子动力学与模态分析:临界转速计算与稳定状态下的轴心轨迹解析,圆盘质量不平衡条件下的振动响应及...

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
转子动力学与模态分析:临界转速计算与稳定状态下的轴心轨迹解析,圆盘质量不平衡条件下的振动响应及...

转子动力学,模态分析求临界转速,稳定状态下转子轴心轨迹,圆盘质量不平衡条件下振动响应+操作视频。

转子系统跑着跑着突然剧烈振动?八成是遇到临界转速了。这玩意儿就像荡秋千到最高点突然有人推你一把,系统固有频率和旋转频率共振时,设备能给你表演原地升天。今天咱们直接开撸代码,手把手带你看转子怎么跳舞。

先整点硬核的,临界转速计算直接上特征值分析。敲个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, alpha=0.3, label='原始轨迹') plt.plot(np.real(analytic_x), np.real(analytic_y), 'r--', lw=2, 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), method='LSODA', rtol=1e-5) # 绘制时域波形 plt.plot(res.t, res.y[0], label='X方向') plt.plot(res.t, res.y[2], label='Y方向') plt.title('质量不平衡振动响应') plt.xlabel('时间 (s)') plt.ylabel('振幅 (mm)') plt.legend()

这里用龙格库塔法硬刚非线性方程,注意看振幅随时间的变化趋势——刚开始乱颤那是瞬态响应,后面走成稳定正弦波才是稳态。代码里偏心距参数e调大点,分分钟给你画出振幅爆表的刺激曲线。

操作视频要点:在轴心轨迹图上加个实时更新的红点,用matplotlib.animation模块整成动态图。记得设置interval参数控制刷新速度,ffmpeg输出视频时要选对编码格式,不然生成的视频可能只有几KB——别问我是怎么知道的。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 5:23:34

Java毕设项目推荐-基于Java的网上宠物店管理系统宠物销售、服务预约、库存管理、客户互动【附源码+文档,调试定制服务】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/4/17 15:41:01

英伟达圣诞偷袭,200亿美元收购Groq

诸神缄默不语-个人技术博文与视频目录 看了substack的FOMO研究院圣诞特别篇介绍groq, LPU和英伟达实质性收购groq的文章。感觉写的非常好,及时分享。 (因为限时48小时免费,趁还能看赶紧写) Groq(不是马斯克的grok&am…

作者头像 李华
网站建设 2026/4/18 3:03:17

transformer-explainer

https://poloclub.github.io/transformer-explainer/

作者头像 李华
网站建设 2026/4/22 1:15:26

真实污水处理项目中的S7-1200实战经验

西门子PLC1200真实项目案例程序十 KTp1200屏画面 十电路图 博途V16 V17版,模拟量输入输出处理,液位设置处理,流量处理,双设备轮换,modbus通讯控制变频器,事件记录,污水处理设备程序最近刚完成某…

作者头像 李华
网站建设 2026/4/23 14:47:56

JavaScript 常见算法复杂度总结(大O表示法)

大O表示法具体含义总结表时间复杂度详解大O表示名称含义示例增长曲线执行时间(n1000)假设O(1)常数时间执行时间不随输入规模变化数组索引访问、哈希表查找水平线1单位时间O(log n)对数时间执行时间随输入规模对数增长二分查找、平衡树操作缓慢上升曲线10单位时间O(√n)平方根时…

作者头像 李华