2、三环控制架构:电流环、速度环、位置环的层级关系与作用
做FOC控制,说白了就是在玩三个环。我见过不少新手,一上来就调PID参数,结果调了半天电机要么抖得像筛子,要么干脆转不动。为什么?因为没搞懂这三个环到底谁听谁的。
电流环、速度环、位置环,它们不是平级关系。你想想看,一个公司里得有总经理、部门经理、一线员工,层层汇报才行。三环也是这个道理——位置环发号施令,速度环居中调度,电流环负责执行。
核心观点:三环是典型的串级控制结构。内环必须比外环跑得快,这是铁律。内环带宽不够,外环调得再好也是白搭。
2.1 三环的层级关系
先看一张图,把三环的层级关系理清楚。我个人习惯用这种框图来跟团队沟通,一目了然。
从图上你能看到,指令是从左往右流的。位置环在最外层,它根据目标位置和实际位置的差值,算出一个速度指令,扔给速度环。速度环拿到这个指令,再结合当前实际速度,算出电流指令,扔给电流环。电流环最后直接控制电机。
反馈信号则是反方向流回来的。电流传感器测到相电流,编码器测到速度和位置,一层层往回送。每个环都在做同一件事——让反馈追上指令。
2.2 各环的作用与特点
2.2.1 电流环(最内层)
电流环是三个环里最忙的。它直接面对电机绕组,控制的是Id和Iq。我习惯叫它"苦力环",因为它干的是最累的活——每几十微秒就要算一次。
电流环的核心任务就两个:
- 快速跟踪电流指令——速度环给多少电流,它就得让实际电流跟上
- 抑制反电动势干扰——电机转起来会产生反电动势,电流环得把它压住
电流环的采样频率通常是最高的。我做过一个项目,电流环跑20kHz,速度环只有2kHz,位置环才200Hz。比例大概是100:10:1。这个比例不是随便定的,后面讲带宽匹配时会细说。
经验之谈:电流环的PI参数,我一般先调比例项,让电流能快速响应。积分项加一点点就够了,加多了反而容易振荡。记住,电流环要的是"快",不是"准"——准的事交给外环。
2.2.2 速度环(中间层)
速度环是个"调度员"。它从位置环拿到速度指令,再从编码器拿到实际速度,算出差值,输出电流指令给电流环。
速度环有个特点——它处理的是低频信号。位置环给的指令变化不会太快,编码器反馈的速度也是经过滤波的。所以速度环的带宽可以比电流环低一个数量级。
我在调试一个伺服项目时遇到过一个问题:速度环响应太快,结果电机一启动就"嗡嗡"响。后来发现是速度环带宽跟机械谐振频率撞上了。把速度环带宽降下来,声音立马消失。嗯,这里要注意——速度环不是越快越好。
| 对比项 | 电流环 | 速度环 | 位置环 |
|---|---|---|---|
| 控制对象 | Id/Iq电流 | 电机转速 | 转子位置 |
| 典型带宽 | 500~2000 Hz | 50~500 Hz | 5~50 Hz |
| 采样频率 | 10~20 kHz | 1~5 kHz | 0.5~2 kHz |
| 主要干扰 | 反电动势、死区 | 负载转矩 | 编码器噪声 |
| 控制器类型 | PI(通常无D) | PI | P或PI |
2.2.3 位置环(最外层)
位置环是"老板环"。它不关心电流怎么流,也不关心速度怎么变,它只关心一件事——位置到没到。
位置环的指令通常来自上位机或者运动规划器。比如让电机转10圈,或者走到某个角度。位置环算出差值,输出速度指令。
位置环的带宽是最低的。为什么?因为位置信号本身变化就慢,而且位置环的输出要经过速度环、电流环两层才能作用到电机上。你想想看,如果位置环调得比电流环还快,那整个系统就乱套了——位置环以为速度已经变了,实际上电流还没跟上。
注意:位置环一般只用P控制,不加I。为什么?因为位置环的积分项会导致超调,而且位置误差本身可以通过速度环的积分来消除。我曾经犯过这个错——位置环加了积分,结果电机到位后总要来回晃几下才停稳。
2.3 三环的带宽匹配原则
带宽匹配,说白了就是让内环跑得比外环快。具体来说:
- 电流环带宽 > 速度环带宽 > 位置环带宽——这是铁律,不能违反
- 每级带宽差3~5倍——比如电流环1000Hz,速度环200~300Hz,位置环40~60Hz
- 最慢的环决定系统响应速度——位置环带宽就是整个系统的带宽
为什么要有这个倍数关系?我打个比方:你让一个员工干活,你得等他干完了再检查结果。如果检查得太快,员工还没干完你就去查,那查到的永远是"还没干完",系统就会振荡。
具体到数字上,我一般这样配:
- 电流环带宽:800~1500 Hz(取决于PWM频率和电流采样延迟)
- 速度环带宽:电流环的1/5~1/3,即150~500 Hz
- 位置环带宽:速度环的1/5~1/3,即30~150 Hz
一个实用的调试顺序:先调电流环,让它稳定跟踪;再调速度环,让速度响应不振荡;最后调位置环,让定位精度达标。千万别反过来调,否则你永远不知道问题出在哪一环。
2.4 实际项目中的常见问题
讲几个我在项目中踩过的坑:
坑一:电流环带宽不够,导致速度环振荡。有一次我调一个高速主轴电机,速度环怎么调都抖。后来发现是电流环带宽设得太低,只有300Hz,速度环指令一变,电流根本跟不上。把电流环带宽提到1.2kHz,问题解决。
坑二:位置环带宽太高,导致到位过冲。一个定位项目,客户要求精度0.01度。我把位置环带宽调高想加快响应,结果每次到位都要过冲再拉回来。后来把位置环带宽降到速度环的1/10,过冲消失。
坑三:三个环的采样率没拉开差距。有人把三个环都跑在10kHz,觉得这样"响应快"。实际上三个环互相干扰,系统反而更不稳定。正确的做法是让采样率也按带宽比例拉开。
小技巧:调试时可以用示波器同时看三个环的误差信号。如果内环误差在振荡,先别动外环;如果内环稳了外环还在抖,那才是外环的问题。这个排查思路能省你不少时间。