4. 速度前馈原理:速度前馈的作用机制、前馈系数对跟随误差的补偿效果
上一章我们聊了位置环增益,很多同学调完位置环后发现:稳态误差没了,但一跑起来,尤其是加减速阶段,误差还是很大。这就像开车——你油门踩到底,但车总是慢半拍才响应。这时候,就该速度前馈登场了。
说白了,速度前馈就是给伺服系统“打提前量”。它不等着误差产生再去纠正,而是提前告诉驱动器:我要怎么动,你先准备好。我个人习惯把前馈比作“老司机的预判”——不是等撞上了再打方向,而是看到弯道就提前减速。
4.1 速度前馈的作用机制
先看一个典型的伺服控制框图:
从图上你能看到:速度前馈直接从位置指令取微分,得到速度指令,然后叠加到速度环的输入端。这意味着什么?意味着速度环不再完全依赖位置误差来产生速度指令,而是提前知道了“目标速度”。
我记得有一次调试一个高速贴片机,位置环增益已经拉到极限了,但跟随误差还是超过允许值。后来加了速度前馈,误差直接降了一半。当时我就想:这玩意儿真香。
4.2 前馈系数对跟随误差的补偿效果
前馈系数 Kff 决定了“提前量”的大小。它的取值范围通常是 0~100%,但实际应用中很少开到 100%。
| 前馈系数 Kff | 补偿效果 | 典型应用场景 |
|---|---|---|
| 0% | 无前馈,完全靠位置环纠偏 | 低速、高精度定位 |
| 30%~50% | 部分补偿,跟随误差明显减小 | 中速运动、通用机械 |
| 60%~80% | 大部分补偿,误差接近零 | 高速运动、贴片机、机器人 |
| 90%~100% | 几乎完全补偿,但可能过冲 | 极高速、轻负载、刚性系统 |
这里有个关键点:前馈系数不是越大越好。我曾经在一个大惯量转台上试过 95% 的前馈,结果启动瞬间电机直接过冲,差点撞限位。为什么?因为前馈给的指令太“激进”了,实际系统响应跟不上。
核心公式:
速度前馈指令 = Kff × d(位置指令)/dt
当 Kff = 100% 时,速度环收到的指令完全来自前馈,位置环只负责修正残余误差。
4.3 前馈与反馈的配合关系
前馈和反馈不是二选一的关系,而是搭档。前馈负责“大头”,反馈负责“小头”。
- 前馈:处理已知的、可预测的运动(如匀速、匀加速)
- 反馈:处理未知的扰动(如摩擦力变化、负载波动)
你想想看,如果没有前馈,位置环要等误差产生了再去纠正,这中间就有延迟。有了前馈,位置环只需要处理前馈没算准的那部分误差,工作量小多了。
我的调参习惯:
先调好位置环增益,让系统稳定。然后从 30% 开始加前馈系数,每次加 10%,观察跟随误差的变化。当误差不再明显减小时,就说明前馈已经到位了。再往上加,反而可能引入过冲。
4.4 实际调试中的避坑指南
我曾经在一个项目中吃过亏,这里分享几个经验:
- 前馈不能替代位置环增益——有些同学发现前馈效果好,就把位置环增益降得很低。结果系统对外部扰动的抵抗能力变差,一有负载变化就抖。
- 加减速阶段要特别关注——匀速段前馈效果最好,加减速段因为加速度的存在,单纯的速度前馈还不够,可能需要加速度前馈配合。
- 注意指令平滑度——如果位置指令本身有毛刺(比如 S 曲线没做好),微分出来的速度指令也会很“脏”,这时候加前馈反而会引入噪声。
警告:
前馈系数超过 80% 时,务必检查系统的刚性。如果机械连接有间隙(比如联轴器松动、皮带弹性变形),过高的前馈会导致震荡甚至损坏设备。
4.5 一个简单的调试流程
如果你刚接触前馈,可以按这个步骤来:
- 先把前馈系数设为 0,调好位置环增益
- 让系统跑一个典型的运动轨迹(比如梯形速度曲线)
- 记录当前的跟随误差曲线
- 逐步增加前馈系数(每次 10%~20%)
- 观察误差曲线的变化——误差峰值应该逐渐减小
- 当误差不再明显变化时,停止增加
- 做一次全速运行测试,确认没有过冲或震荡
嗯,这个流程我用了很多年,基本没出过问题。当然,具体数值还得看你的系统——小惯量伺服和大惯量转台,调法完全不一样。
速度前馈是伺服调参中性价比最高的一个参数。加对了,效果立竿见影。但记住:它是个“放大器”,系统本身不稳的话,前馈只会放大问题。