在工业伺服系统和电驱应用中,工程师们经常遇到一个棘手现象:当电机运行到特定转速区间时,整个系统会出现剧烈振动,严重时甚至导致机械结构损坏。这种现象的罪魁祸首往往是机械共振——当电机激励频率与机械系统固有频率重合时,能量被持续吸收积累,最终表现为破坏性振动。
我曾在某半导体设备伺服轴调试中亲历过这种情况:电机在3000rpm附近运行时,机械臂末端振幅突然增大到正常值的15倍,导致定位精度完全失控。通过频谱分析,我们确认这正是典型的机械共振现象。
工业传动系统通常可简化为如图1所示的双惯量模型:
这个模型捕捉了电机与负载通过弹性联轴器连接时的核心动力学特性。当电机施加转矩时,弹性轴会产生扭转变形,形成类似弹簧-质量系统的振动特性。
系统存在两个关键频率点:
反共振频率(Anti-Resonance Frequency):
$$ f_{ar} = \frac{1}{2\pi}\sqrt{\frac{K_s}{J_l}} $$
谐振频率(Resonance Frequency):
$$ f_r = \frac{1}{2\pi}\sqrt{K_s\left(\frac{1}{J_m}+\frac{1}{J_l}\right)} $$
以某工业机械臂参数为例:
matlab复制Stiffness = 500; % N·m/rad
Damping = 0.1; % N·m·s/rad
matlab复制Jm = 0.002;
Jl = 0.02;
对于快速仿真,可直接建模为:
matlab复制A = [0 1 0 0;
-Ks/Jm -Cs/Jm Ks/Jm Cs/Jm;
0 0 0 1;
Ks/Jl Cs/Jl -Ks/Jl -Cs/Jl];
B = [0; 1/Jm; 0; 0];
C = [1 0 0 0]; % 电机位置输出
sys = ss(A,B,C,0);
matlab复制Kp = Jm*2*pi*100; % 100Hz带宽
Ki = Kp*2*pi*10;
离散传递函数实现:
matlab复制function [num, den] = designNotch(fr, fs, depth)
% fr: 谐振频率(Hz)
% fs: 采样频率(Hz)
% depth: 衰减深度(dB)
w0 = 2*pi*fr/fs;
bw = 2*pi*(fr/10)/fs; % 10%带宽
[num, den] = iirnotch(w0/pi, bw/pi);
num = num * 10^(-depth/20);
end
Simulink中使用Digital Filter模块实现,插入速度环前。
注意:陷波器会引入相位滞后,需确保在穿越频率处相位裕量仍大于45°
matlab复制K_coupling = Ks/(Jl*s^2 + Cs*s + Ks);
针对负载变化场景,采用LMS算法在线更新:
matlab复制function [y, w] = adaptiveNotch(u, d, w, mu)
% u: 参考信号
% d: 扰动信号
% w: 权值向量
% mu: 步长
y = w'*u;
e = d - y;
w = w + mu*e*u;
end
在MATLAB Function模块中实时更新陷波频率。
| 方案 | 超调量 | 稳定时间 | 振动幅值 |
|---|---|---|---|
| 无抑制 | 35% | 0.5s | ±15rpm |
| 固定陷波 | 12% | 0.4s | ±3rpm |
| 自适应陷波 | 8% | 0.3s | ±1rpm |
| 双闭环 | 5% | 0.2s | ±0.5rpm |
![Bode图对比]
当系统存在多个谐振点时:
matlab复制notch1 = designNotch(177, 5000, 40);
notch2 = designNotch(350, 5000, 30);
避免开关瞬态冲击:
matlab复制alpha = min(1, t/0.1); % 100ms渐变
y = alpha*notch(u) + (1-alpha)*u;
通过白噪声激励和频谱分析:
matlab复制[pxx,f] = pwelch(vibration, [],[],[], fs);
[~,idx] = findpeaks(pxx);
Ks_est = (2*pi*f(idx))^2 * Jm*Jl/(Jm+Jl);
根据应用场景选择合适方案:
| 场景特征 | 推荐方案 | 理由 |
|---|---|---|
| 固定负载 | 固定陷波 | 简单可靠 |
| 变负载 | 自适应陷波 | 自动跟踪频率变化 |
| 超高精度 | 双闭环 | 直接抑制负载端振动 |
| 多谐振点 | 多级陷波 | 针对性处理各谐振频率 |
| 数字孪生应用 | 刚度在线辨识 | 实现模型自更新 |
在实际项目中,我们最终为半导体设备选择了"双闭环+自适应陷波"的混合方案。测试数据显示振动幅值从原来的±15μm降低到±0.8μm,同时速度响应时间缩短了40%。这个案例证明,合理的共振抑制策略能同时提升系统精度和动态性能。