news 2026/6/10 15:12:02

轴承-转子系统动力学仿真手记

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
轴承-转子系统动力学仿真手记

MATLAB轴承—转子系统动力学代码(可考虑轴承故障、转子碰摩、转子涂层),根据集中质量法建模(含数学方程建立和公式推导)并在MATLAB中采用ODE45进行数值计算。 可模拟不同系统参数的动力学特性,输出时域加速度、速度和位移波形、动态碰摩力、频谱图、相图、庞加莱图和分岔图。

最近在折腾旋转机械的故障仿真,发现用集中质量法建模轴承-转子系统还挺有意思。这个模型能模拟轴承故障、转子碰摩这些典型问题,今天就来说说怎么用MATLAB的ODE45实现这个动力学仿真。

先上核心的数学模型。我们把转子简化为两个垂直方向的自由度,考虑质量块的位移x和y。轴承刚度用k表示,阻尼系数c,碰摩发生时会产生非线性接触力。系统方程长这样:

mx'' + cx' + k*x = Funbalance + Frubbing

my'' + cy' + k*y = Funbalance + Frubbing

这里碰摩力F_rubbing的模型是关键。当转子位移超过间隙δ时触发碰摩,可以用库伦摩擦模型:

if sqrt(x^2 + y^2) > δ

F_rubbing = -μN(x/r, y/r)

else

F_rubbing = 0

end

接下来是MATLAB的实现部分。先定义系统参数:

m = 12.5; % 质量 kg k = 8e5; % 刚度 N/m c = 1200; % 阻尼 N·s/m mu = 0.08; % 摩擦系数 delta = 1e-4; % 碰摩间隙 m omega = 1200; % 转速 rpm

微分方程的函数实现需要注意状态变量的拆分。这里把x和y方向的位移、速度都放进状态向量:

function dydt = rotor_sys(t, y) % y = [x; dx/dt; y; dy/dt] global m c k mu delta omega F_unbalance = 0.05*m*omega^2*sin(omega*t); % 不平衡激励 % 碰摩力计算 r = sqrt(y(1)^2 + y(3)^2); if r > delta F_rub = -mu*k*(r - delta)*[y(1); y(3)]/r; else F_rub = [0; 0]; end % 微分方程组 dydt = zeros(4,1); dydt(1) = y(2); dydt(2) = (-c*y(2) - k*y(1) + F_unbalance + F_rub(1))/m; dydt(3) = y(4); dydt(4) = (-c*y(4) - k*y(3) + F_unbalance + F_rub(2))/m; end

这个函数有几个需要注意的点:1)全局变量的使用虽然方便,但后续可以考虑参数传递优化;2)碰摩力的方向处理需要归一化坐标;3)不平衡力的幅值需要根据实际工况调整。

求解器调用采用自适应步长的ODE45:

[t, Y] = ode45(@rotor_sys, [0 2], [1e-5 0 1e-5 0], ... odeset('RelTol',1e-6));

结果后处理可以玩出很多花样。时域波形直接plot就行,频谱分析用FFT要注意窗函数选择:

% 加速度计算 acc = gradient(Y(:,2), t(2)-t(1)); % 频谱分析 Fs = 1/(t(2)-t(1)); NFFT = 2^nextpow2(length(acc)); freq = Fs/2*linspace(0,1,NFFT/2); fft_acc = fft(acc, NFFT);

庞加莱图通过周期采样实现,分岔图则需要扫频计算。比如改变转速omega,观察系统行为变化:

omega_range = 800:50:2000; bifurcation_data = zeros(length(omega_range), 100); for i = 1:length(omega_range) omega = omega_range(i); [~, Y] = ode45(...); % 重新求解 bifurcation_data(i,:) = Y(end-99:end,1); % 取稳态解 end

实际跑代码时可能会发现,当转速接近临界转速时,系统会出现明显的共振峰。加入碰摩后,频谱中会出现超谐波成分,庞加莱图呈现点阵分布,说明系统进入准周期运动状态。

调试过程中遇到过几个坑:1)刚度系数太大导致数值发散,需要调整求解器相对误差;2)碰摩力计算时忘记归一化导致方向错误;3)分岔扫频耗时太长,后来改用parfor并行计算才解决。

最后说个有意思的现象:当摩擦系数超过0.1时,系统会出现混沌运动,相图轨迹不再闭合,分岔图上出现典型的倍周期分岔序列。这说明即使简单的两自由度模型,也能呈现丰富的非线性动力学行为。

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

1995-2024年《中国高技术产业统计年鉴》EXCEL+PDF

一、资源介绍 数据:《中国高技术产业统计年鉴》1995-2024 毫无疑问,技术创新是推动经济增长的不竭动力。目前,国内流行的三大年鉴分别是《中国科技统计年鉴》《中国火炬统计年鉴》和《中国高技术产业统计年鉴》。今天我们为大家带来最新的三…

作者头像 李华
网站建设 2026/6/9 13:23:23

如何修复 Element Plus Table 在分页切换时滚动条不更新的问题

问题描述Element Plus Table 组件在分页切换时,可能出现滚动条位置未更新的问题,导致滚动条停留在上一页的位置或显示异常。解决方法强制更新 Table 布局 通过调用 Table 的 doLayout 方法,强制重新计算滚动条和表格布局。在分页切换事件&…

作者头像 李华
网站建设 2026/6/9 14:18:23

C#与OpenCVSharp结合的通用视觉框架:全面覆盖基本功能与应用场景

c#opencvsharp,通用视觉框架,基本功能都有最近在捣鼓一个用C#和OpenCvSharp搭建的通用视觉框架,感觉还挺有意思的。这个框架基本上涵盖了常见的视觉处理功能,比如图像加载、处理、显示等等。废话不多说,直接上代码&…

作者头像 李华
网站建设 2026/6/7 18:31:48

基于LightGBM算法的Matlab数据回归预测代码

基于LightGBM算法的数据回归预测 LightGBM回归 matlab代码注:暂无Matlab版本要求 -- 推荐 2018B 版本及以上 注:仅支持 Windows 64位系统直接开整,咱们今天聊点实在的——用Matlab搞LightGBM回归预测。虽然官方没明说版本限制,但实…

作者头像 李华
网站建设 2026/6/9 2:43:11

洗车行业的多商户管理小程序源码系统 带完整的搭建部署教程

温馨提示:文末有资源获取方式 洗车服务行业也迎来了专属的效率提升与业务拓展解决方案。一款经过深度优化与全面升级的洗车行业多商户小程序源码系统已正式亮相,旨在为平台运营商与实体门店提供一体化、高性能的线上经营工具。源码获取方式在源码闪购网。…

作者头像 李华