1. 项目背景与核心问题
双惯量伺服系统在工业自动化领域极为常见,比如数控机床的主轴驱动、机器人关节控制等场景。这类系统由电机(第一惯量)通过弹性联轴器或传动轴(表现为扭转弹簧)连接负载(第二惯量)构成。我在调试某型号工业机械臂时,就遇到过典型的机械谐振问题——当电机快速启停或变速时,系统会出现持续振荡,严重时甚至引发机械结构异响。
问题的物理本质在于:弹簧-惯量系统存在固有谐振频率(公式:fn=1/2π√(K/J) ,其中K为轴系刚度,J为等效惯量)。当控制指令频率接近fn时,系统能量无法有效耗散,导致振幅不断叠加。传统PID控制器的微分项虽有一定抑制作用,但实测发现其效果有限,特别是在高频段容易放大噪声。
2. 陷波滤波器原理与设计
2.1 陷波器的数学本质
陷波滤波器(Notch Filter)本质上是一个在特定频率点具有极窄阻带的带阻滤波器。其传递函数标准形式为:
G(s) = (s² + ωn²)/(s² + 2ζωns + ωn²)其中ωn=2πfn为目标抑制频率,ζ决定阻带宽度。我在某次伺服调试中实测发现,当ζ=0.1时,-3dB带宽约为0.2fn,既能有效抑制谐振又不会过度影响相邻频段。
2.2 参数辨识实战技巧
准确获取谐振频率fn是设计关键。推荐两种工程方法:
- 频响分析法:给系统注入白噪声信号,用频谱分析仪捕捉响应峰值。我曾用SigLab设备采集数据,发现某型号传送带系统在87Hz处存在明显谐振峰。
- 阶跃响应法:通过观察电机急停后的自由振荡波形,用FFT计算主导频率。注意要关闭所有控制算法,仅保留最基本的电流环。
重要提示:实际系统可能存在多个谐振点。某次项目中就发现52Hz和118Hz双谐振现象,此时需要级联两个陷波器。
3. Simulink建模详解
3.1 双惯量系统建模
建立如图所示的Simulink模型:
[电机模型]--[弹簧阻尼]--[负载惯量] ↑ 谐振频率fn具体参数设置:
- 电机惯量Jm=0.002 kg·m²(参考安川SGM7G电机)
- 负载惯量Jl=0.005 kg·m²
- 轴刚度K=1e4 N·m/rad(典型钢制传动轴) 计算得理论fn=√(K(Jm+Jl)/(JmJl))/2π ≈ 92Hz
3.2 陷波器实现方案
在速度环前插入Digital Notch Filter模块,关键配置:
% 离散化设计示例 wn = 2*pi*92; % 自然频率 zeta = 0.1; % 阻尼比 [num,den] = iirnotch(wn/(0.5*Fs), zeta); % Fs为采样频率实测表明,采用双线性变换法离散化时,采样频率至少需10倍fn以避免畸变。
4. 仿真结果分析
对比加入陷波器前后的阶跃响应:
| 指标 | 无陷波器 | 有陷波器 |
|---|---|---|
| 调节时间(s) | 0.8 | 0.3 |
| 超调量(%) | 25 | 5 |
| 振荡次数 | >5 | ≤1 |
特别值得注意的是,在突变负载测试中,陷波器使速度波动幅度从±15rpm降至±3rpm。但同时也发现相位裕度降低了约8°,这需要通过优化PID参数补偿。
5. 工程实施要点
- 参数自适应:对于变惯量场合(如机械臂不同姿态),建议采用在线频率估计算法。我曾用LMS自适应滤波器实现动态调整,代码片段:
[lmsFilter, ~] = adaptfilt.lms(32, 0.01); % 32阶滤波器 [y, err] = lmsFilter(x, d); % x为激励信号,d为响应防饱和处理:当fn漂移时,可能出现高频信号泄漏。解决方案是在陷波器后追加一个40dB/dec的低通滤波器,截止频率设为3fn。
硬件在环验证:在dSPACE MicroLabBox上实测时,发现离散化会引入额外相移。最终采用Tustin变换+频率预修正的方法解决,具体修正系数为:
wn' = wn/(cos(wn*Ts/2)) % Ts为采样周期6. 典型问题排查
问题现象:加入陷波器后系统响应变慢
- 检查点:
- 确认阻带宽度是否过宽(ζ>0.3)
- 验证离散化方法是否合适(优先选用零极点匹配法)
- 检查是否有多谐振点未被抑制
问题现象:特定负载下出现新振荡
- 解决方案:
- 进行全工况频响测试
- 采用移动中值滤波实时更新fn
- 考虑并联多个自适应陷波器
某次现场调试中,发现减速机背隙导致谐振频率随转向变化。最终解决方案是配合陷波器增加非线性摩擦补偿,使定位精度从±0.1°提升到±0.02°。
7. 进阶优化方向
对于高性能场合,建议尝试:
- 谐振比观测器:通过构建龙伯格观测器,可分离出谐振分量进行针对性抑制
- MPC控制:将机械谐振约束显式地写入预测模型
- 智能调参:基于强化学习的参数自整定方法,我在某项目中使用PPO算法将调试时间缩短了60%
实测数据表明,优化后的复合控制策略可使系统带宽提升30%以上,同时保持谐振抑制效果。具体实现时需要注意计算延迟问题,建议在FPGA上部署核心算法。