当前位置: 首页 > news >正文

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

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时,系统会出现混沌运动,相图轨迹不再闭合,分岔图上出现典型的倍周期分岔序列。这说明即使简单的两自由度模型,也能呈现丰富的非线性动力学行为。

http://www.cnnetsun.cn/news/91997.html

相关文章:

  • Numpy库实践2_索引和数组的操作
  • 图解 - 红黑树(插入)
  • Memgraph 全新 AI 图工具包:一键构建 GraphRAG 聊天机器人,实现快速上下文感知响应
  • 初始化列表和特殊成员
  • (二)前端基础框架构建
  • vLLM推理引擎教程6-Nsight Systems性能分析
  • 基于MATLAB的燃料电池汽车参数匹配与能量管理策略优化及仿真模型研究资料库
  • AM247L-0000伺服电机
  • DoraemonKit(DoKit)使用教程:从集成到实战
  • 构筑 AI 理论体系:深度学习 100 篇论文解读 第十九篇:序列建模的焦点——注意力机制 Attention Mechanism (2015)
  • 【小白笔记】移除元素与删除有序数组中的重复项与轮转数组(三步反转)
  • 什么是关键字驱动测试?
  • 前沿技术借鉴研讨-2025.12.16(超声心动图综述/妊娠期糖尿病/降低CTG解读主观性)
  • 别让发成绩,耗掉你课后的半小时
  • 企业级 Prompt 管理中心:实验分流 + 曝光埋点 + 可回溯,版本化/AB/DSL/可观测全齐
  • 执行 install.sh 报错 `env: ‘bash\r‘: No such file or directory` 怎么解决?
  • Part 10|我给这套系统划的第一个边界
  • agent-zh.md
  • 为什么过滤 rtmpt 而不是 rtmp?
  • Navicat x 达梦技术指引 | 启用和配置AI助手
  • Transformer的注意力权重的理解
  • 解构 Codigger:从内核到无限生态的“进化阶梯”
  • 基于Python的高考志愿报名推荐系统源码设计与文档
  • 飞桨PaddlePaddle入门与核心实践
  • 使用ZYNQ芯片和LVGL框架实现用户高刷新UI设计系列教程(第四十讲)
  • 热销榜单:2025年高口碑数字人推荐,解决你的选择难题!
  • 应“双碳”考核!安科瑞通信机房能耗监测方案,让PUE管控精准落地
  • 1天净流入10亿!A500ETF南方凭什么成为布局中国核心资产的优选?
  • Android 基础入门教程之RelativeLayout(相对布局)
  • 基于微信小程序的跑腿系统的设计与实现毕业设计项目源码