2. 速度环控制原理:速度环在FOC中的位置、速度环与电流环的关系、速度环的输入输出
聊FOC,大家第一反应往往是电流环怎么调、SVPWM怎么算。但说实话,真正让电机“听话”的,是速度环。我刚开始做FOC驱动时,电流环调得飞快,结果一上速度环,电机就开始抖,像得了帕金森。后来才明白——速度环才是整个系统的“大脑”,电流环只是“肌肉”。
2.1 速度环在FOC中的位置
先看一张图,这是我个人习惯画的FOC三层架构:
你看,速度环夹在位置环和电流环中间。位置环是老大,它告诉速度环“你要跑多快”;速度环是中层干部,它把任务拆解给电流环;电流环是执行者,直接去拧电机。
在实际项目中,很多场合其实不需要位置环。比如风机、水泵,只要速度环就够了。我做过一个工业风扇项目,直接速度环闭环,效果很好。但如果你做的是伺服、机械臂,那位置环就得上。
2.2 速度环与电流环的关系
这两者的关系,说白了就是“内外有别”。
- 电流环在内,速度环在外——速度环的输出,就是电流环的输入。
- 电流环要快,速度环要稳——电流环的带宽通常是速度环的10~20倍。
- 电流环是“力气”,速度环是“脑子”——电流环决定力矩大小,速度环决定什么时候该用力、用多大力。
我记得有一次调试,速度环响应太慢,电机加速像老牛拉车。我以为是速度环参数问题,调了半天没效果。后来发现是电流环带宽设得太低,速度环发出去的指令电流环根本来不及响应。嗯,这里要注意:速度环的性能上限,取决于电流环的响应速度。
核心要点:速度环的采样频率通常是电流环的1/10。比如电流环跑10kHz,速度环跑1kHz就够。太快反而容易引入噪声。
2.3 速度环的输入输出
速度环的输入输出其实很简单,但很多人容易搞混。我直接列个表:
| 项目 | 说明 | 典型值/来源 |
|---|---|---|
| 输入1 | 目标速度(Speed_ref) | 上位机指令、位置环输出、预设值 |
| 输入2 | 实际速度(Speed_fb) | 编码器/M霍尔传感器计算得到 |
| 输出 | 目标电流 Iq_ref | 送给电流环的q轴电流指令 |
你可能会问:为什么速度环只输出Iq_ref,不输出Id_ref?
因为Id是励磁电流,主要控制磁场。在表贴式永磁同步电机(SPMSM)中,Id_ref通常直接给0。只有在弱磁控制或内嵌式电机(IPMSM)中,才会去动Id。所以速度环只管Iq,也就是力矩电流。
小技巧:我习惯在速度环输出加一个限幅器。比如电机额定电流是10A,那Iq_ref最大就给8A,留点余量。曾经有一次没加限幅,调试时电机直接堵转,电流飙到15A,差点烧了驱动器。
2.4 速度环的典型控制框图
下面这张图,是我做项目时常用的速度环控制结构:
流程很简单:目标速度减去实际速度,得到误差。误差进PI控制器,输出经过限幅,就是Iq_ref。这个Iq_ref直接送给电流环的q轴参考值。
你想想看,这个结构和普通的PID控制有啥区别?其实没有。速度环本质上就是一个PI控制器(很少用D,因为速度反馈本身噪声大,微分项容易放大噪声)。
注意:速度环的PI参数和电流环的PI参数是两码事。电流环的Ki通常很大,响应快;速度环的Ki要小得多,否则会震荡。我曾经把电流环的PI参数直接套到速度环上,结果电机像发了疯一样来回摆,差点把联轴器扭断。
2.5 实际项目中的速度环设计要点
说了这么多理论,来点实际的。我在做速度环时,有几个习惯:
- 速度反馈一定要滤波——编码器信号有抖动,直接算出来的速度噪声很大。我一般用一阶低通滤波,截止频率设到速度环带宽的3~5倍。
- 积分限幅要单独做——PI控制器的积分项容易饱和。比如电机堵转时,误差一直很大,积分项会一直累加。等堵转解除,积分项释放,电机就会猛冲。我习惯给积分项单独设一个限幅,通常是Iq_max的50%~70%。
- 启动时用开环——零速时速度反馈不准,直接闭环容易出问题。我一般先开环强拖一段,等速度起来再切闭环。这个叫“开环启动+闭环切换”。
嗯,差不多就这些。速度环的原理其实不复杂,但调好它需要一点耐心和经验。下一节我们聊速度环的PI参数整定,到时候我会分享一些我踩过的坑。