news 2026/5/15 7:53:21

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

作者头像

张小明

前端开发工程师

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/5/12 11:27:31

微电网恒功率PQ控制策略下的LCL并网仿真研究

微电网恒功率PQ控制,LCL并网仿真最近在搞微电网并网控制时发现个有意思的事——并网逆变器的PQ控制策略和LCL滤波器配合使用时,参数整定能把人绕晕。今天咱们就手撕个MATLAB仿真,看看这个经典组合到底怎么玩。先说说控制逻辑的核心&#xff1…

作者头像 李华
网站建设 2026/5/16 2:33:13

【青岛理工】25年计网期末A卷回忆版

一、简答题43分1.TCP/IP协议体系结构各层的核心功能2.简述CDMA的工作原理,计算过程见PPT/作业对于CDMA原理的理解,这里附上我在学习的时候自己的想法和思考(仅供参考,并非教科书式权威的理解):考虑&#xf…

作者头像 李华
网站建设 2026/5/8 3:42:33

51单片机数字电压表

51单片机的数字电压表(数码管显示)–可提供C程序、proteus仿真、原理图、PCB、元件清单 功能说明 主要由51单片机最小系统、四位共阴数码管、ADC0832模数转换芯片组成。 可测DC5V以内的电压,显示精度为0. 001V玩单片机的小伙伴应该都想过自己做个电压表吧&#xff1…

作者头像 李华
网站建设 2026/5/14 15:24:25

新的spring boot3.x和spring-security6.x的流程

以下是Spring Boot 3.x与Spring Security 6.x的核心流程及关键配置要点&#xff1a;依赖配置在pom.xml或build.gradle中添加依赖&#xff1a;<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-security</a…

作者头像 李华
网站建设 2026/5/9 2:30:00

主动配电网故障恢复的重构与孤岛划分模型 关键词:分布式电源 故障网络重构 主动配电网 孤岛划分...

主动配电网故障恢复的重构与孤岛划分模型 关键词&#xff1a;分布式电源 故障网络重构 主动配电网 孤岛划分 参考文档&#xff1a; [1]《A New Model for Resilient Distribution Systems by Microgrids Formation》 [2]《主动配电网故障恢复的重构与孤岛划分统一模型》 仿真软…

作者头像 李华