048 FOC速度环与位置环设计
从一次电机“鬼畜”抖动说起
去年调试一个六轴协作机器人,第三关节在低速运行时出现周期性抖动——示波器抓电流波形,正弦波上叠加了明显的低频振荡。当时第一反应是速度环参数没调好,但反复调整PI参数,甚至把积分限幅压到极低,抖动依然存在。后来发现是位置环输出限幅和速度环积分器初始化顺序出了问题——位置环输出突变时,速度环积分器瞬间饱和,导致电流指令跳变。这个坑让我意识到,FOC的环路设计远不止调三个增益那么简单。
环路架构:谁在指挥谁
FOC控制器的标准三层结构:电流环在最内层,速度环在中间,位置环在最外层。电流环的带宽通常是速度环的5-10倍,速度环带宽又是位置环的5-10倍。这个比例不是拍脑袋定的——它决定了系统能否稳定解耦。
实际项目中,我见过有人把速度环带宽设到电流环的1/2,结果电机在额定转速附近出现持续啸叫。原因很简单:速度环的调节速度超过了电流环的响应能力,相当于指挥官的命令比传令兵跑得还快,指令堆积导致混乱。
电流环带宽:通常设计在1-2kHz(取决于PWM频率和电流采样延迟)。
速度环带宽:50-200Hz,再高就要考虑机械谐振了。
位置环带宽:5-20Hz,位置环本质上是“慢工出细活”的角色。
速度环设计:别让积分器成为“搅屎棍”
速度环的核心矛盾是:既要快速响应负载变化,又要抑制测量噪声。编码器在低速时的量化误差会被速度环放大,