2. 速度环控制原理:速度环在FOC中的位置、速度环与电流环的关系、速度环的输入输出

聊FOC,大家第一反应往往是电流环怎么调、SVPWM怎么算。但说实话,真正让电机“听话”的,是速度环。我刚开始做FOC驱动时,电流环调得飞快,结果一上速度环,电机就开始抖,像得了帕金森。后来才明白——速度环才是整个系统的“大脑”,电流环只是“肌肉”。

2.1 速度环在FOC中的位置

先看一张图,这是我个人习惯画的FOC三层架构:

FOC三层控制架构 位置环(可选) 输入:目标位置 | 输出:目标速度 速度环(核心) 输入:目标速度 + 实际速度 | 输出:目标电流 Iq_ref 电流环(底层) 输入:目标电流 Iq/Id + 实际电流 | 输出:电压 Vq/Vd 频率:10~100Hz 频率:1~10kHz

你看,速度环夹在位置环和电流环中间。位置环是老大,它告诉速度环“你要跑多快”;速度环是中层干部,它把任务拆解给电流环;电流环是执行者,直接去拧电机。

在实际项目中,很多场合其实不需要位置环。比如风机、水泵,只要速度环就够了。我做过一个工业风扇项目,直接速度环闭环,效果很好。但如果你做的是伺服、机械臂,那位置环就得上。

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 速度环的典型控制框图

下面这张图,是我做项目时常用的速度环控制结构:

Speed_ref - PI控制器 Kp, Ki 限幅器 ±Iq_max Iq_ref Speed_fb 速度环控制框图

流程很简单:目标速度减去实际速度,得到误差。误差进PI控制器,输出经过限幅,就是Iq_ref。这个Iq_ref直接送给电流环的q轴参考值。

你想想看,这个结构和普通的PID控制有啥区别?其实没有。速度环本质上就是一个PI控制器(很少用D,因为速度反馈本身噪声大,微分项容易放大噪声)。

注意:速度环的PI参数和电流环的PI参数是两码事。电流环的Ki通常很大,响应快;速度环的Ki要小得多,否则会震荡。我曾经把电流环的PI参数直接套到速度环上,结果电机像发了疯一样来回摆,差点把联轴器扭断。

2.5 实际项目中的速度环设计要点

说了这么多理论,来点实际的。我在做速度环时,有几个习惯:

  1. 速度反馈一定要滤波——编码器信号有抖动,直接算出来的速度噪声很大。我一般用一阶低通滤波,截止频率设到速度环带宽的3~5倍。
  2. 积分限幅要单独做——PI控制器的积分项容易饱和。比如电机堵转时,误差一直很大,积分项会一直累加。等堵转解除,积分项释放,电机就会猛冲。我习惯给积分项单独设一个限幅,通常是Iq_max的50%~70%。
  3. 启动时用开环——零速时速度反馈不准,直接闭环容易出问题。我一般先开环强拖一段,等速度起来再切闭环。这个叫“开环启动+闭环切换”。

嗯,差不多就这些。速度环的原理其实不复杂,但调好它需要一点耐心和经验。下一节我们聊速度环的PI参数整定,到时候我会分享一些我踩过的坑。


专注资料整理