前年做一台多轴联动设备,其中有一个旋转轴用的是交流伺服驱动。调试的时候遇到一个怪现象:低速运行时一切正常,一旦给定速度超过某个临界值,电机就开始发出明显的啸叫声,示波器上看速度反馈波形上叠加了一个频率很高的振荡分量,幅值不大但持续存在。更麻烦的是,这个振荡会通过机械耦合传导到相邻轴上,导致另一台原本调好的轴也跟着抖。
当时第一反应是机械共振,花了整整两天排查联轴器、轴承预紧、负载惯量匹配,甚至把整个传动链拆了重装,问题依旧。后来静下心来用频响分析工具扫了一遍,才发现问题出在速度环和电流环的带宽配比上——速度环的带宽设得太接近电流环了,两者之间没有拉开足够的衰减间距。这是一个公开资料里很少专门拿出来讲、但在现场调试中极其常见的隐形陷阱。
为什么两个环的带宽不能靠得太近
伺服驱动内部是典型的多环串级结构。最内层是电流环,往外是速度环,再往外是位置环。每一层闭环都有自己的带宽,也就是闭环幅频特性下降到-3dB对应的频率。
串级控制有一个基本原则:外环的带宽必须显著低于内环的带宽,通常要求至少差三到五倍。原因很直白——外环在计算输出时,是把内环当作一个“理想执行器”来对待的。只有内环的响应速度远快于外环,这个假设才近似成立。如果两个环带宽接近,内环的动态延迟对外环来说就不再是可以忽略的小量,外环会“看到”内环的相位滞后,整个串级系统的相位裕度被吃掉,阶跃响应上就会出现持续振荡甚至发散。
用控制理论的话说,就是两个闭环的极点靠得太近,互相影响,