1. FOC 为什么要分电流环和速度环

FOC 的核心是把三相交流电机变成类似直流电机来控制。

三相电流经过 Clarke、Park 变换后,变成旋转坐标系下的两个直流量:

其中:

对于常见表贴式 PMSM,通常采用:

这样控制比较简单,电机转矩基本由iq决定:

这里的Kt就是1.5倍的磁链与极对数的乘积。

所以 FOC 一般是双闭环结构:

再经过反 Park、SVPWM,得到三相逆变器驱动信号。

简单理解就是:

速度环负责“我要多大转矩”,电流环负责“这个转矩对应的电流能不能快速跟上”。


2. FOC 双闭环整体结构

典型结构如下:

然后:

最终控制逆变器输出三相电压,使电机电流跟踪给定值。


3. 电流环设计

电流环是 FOC 里面最核心、最底层的环节。它的好坏直接决定转矩响应、速度环稳定性和电流波形质量。

3.1 dq 轴电压方程

PMSM 在 dq 坐标系下的电压方程(电压方程特别重要!建议大家理解的背下来):

其中: Rs为定子电阻; Ld, Lq为 dq 轴电感; ωe为电角速度; ψf为永磁体磁链。

可以看出,dq 轴不是完全独立的,里面有交叉耦合项:

还有 q 轴反电动势项:

所以电流环除了 PI 控制,还经常要加解耦补偿。


3.2 电流环控制对象

如果先忽略耦合项,那么 d 轴和 q 轴都可以近似看成一个 RL 一阶对象:

这就是电流环 PI 参数设计的基础。

也就是说,电流环的控制对象本质上是:

它的惯性主要由电感 L 决定,阻尼主要由电阻 Rs决定。


3.3 电流环 PI 控制器

电流 PI 一般写成:

然后加解耦补偿得到最终电压指令:

如果是 id∗=0,则 q 轴主要控制转矩,d 轴主要让电流保持在 0 附近。


4. 电流环 PI 参数设计

常用的设计方法是“零极点对消法”。

电流对象是:

PI 控制器是:

希望 PI 的零点抵消电机电气环节的极点,即:

设电流环期望带宽为:

则常用整定公式为:

对于 d 轴:

对于 q 轴:

如果 Ld=Lq,那么 d、q 轴 PI 参数可以一样;如果是内嵌式 PMSM,Ld​ 和 Lq​ 不一样,最好分别计算。


5. 电流环带宽选取

电流环要比速度环快很多,但不能无限快。

一般经验:

或者:

比如:

载波频率是 10 kHz,采样频率也是 10 kHz,那么电流环带宽可以先取:

换成角频率:

如果取 fci=1000Hz,则:

实际仿真或者实物中,如果电流噪声很大、超调明显、震荡严重,可以适当降低电流环带宽,比如降到 300 Hz、500 Hz。


6. 电流环设计注意事项

6.1 解耦补偿

不加解耦时,低速可能还行,但高速时电流会明显耦合。

例如你给 iq​ 一个阶跃,id也会被带偏;或者 id给定是 0,但实际 id会出现较大波动。

所以高速控制中一般要加:

这些前馈补偿。


6.2 电压限幅和抗积分饱和

电流 PI 输出的是 vd∗,vq∗,但逆变器能输出的电压有限。

SVPWM 线性区大致满足:

如果 PI 输出超过电压极限,就会出现积分饱和。

表现为:

电流跟踪慢、超调大、速度恢复慢,甚至电流振荡。

所以需要 vd∗,vq∗限幅,同时积分限幅积分限幅积分限幅,或者抗积分饱和抗积分饱和抗积分饱和

实际调试中,很多“速度降下去之后又冲上来”“电流迟迟回不来”的问题,都和积分饱和有关。


6.3 采样延迟会降低稳定性

数字控制中,电流采样、坐标变换、PI 运算、SVPWM 更新都会有延迟。

这个延迟会造成相角滞后,使电流环相位裕度降低。

所以电流环带宽不能设置得过高。带宽太高时,仿真里可能还能跑,实物上容易出现电流震荡、噪声放大、THD 增大。


7. 速度环设计

速度环是外环,它的输出不是电压,而是 q 轴电流给定: iq∗,也就是说,速度环通过改变 iq∗​ 来改变电机转矩,从而调节速度。


7.1 机械运动方程

电机机械方程为:

其中: J为转动惯量;B为粘性阻尼系数; TL为负载转矩; ωm为机械角速度。

在 id=0控制下:

所以:

忽略负载扰动时,从 iq 到速度的传递函数为:


7.2 速度环 PI 控制器

速度环 PI 为:

速度环输出的 iq∗​ 必须限幅:

因为 iq∗实际上对应电磁转矩,不能超过电机和逆变器允许的最大电流。


8. 速度环 PI 参数

如果认为电流环足够快,可以近似为:

那么速度环对象就是:

速度 PI 加上机械对象后,闭环特征方程为:

希望它等效为标准二阶系统:

对应可得:

其中: ζ是阻尼比,一般取: 0.7∼1,ωn​是速度环期望自然频率。

如果不知道 B,很多时候可以先忽略:


9. 速度环带宽选取

速度环一定要比电流环慢。

一般经验:

更稳妥一些:

比如电流环带宽是 1000 Hz,那么速度环带宽可以先取: 50Hz∼100Hz

如果系统惯量比较大,或者负载变化比较明显,可以更低一些,比如: 20Hz∼50Hz

不要把速度环带宽调得太接近电流环,否则速度环输出的 iq∗ 变化太快,电流环跟不上,就容易出现速度震荡和电流冲击。


10. 电流环和速度环的关系

可以这样理解:

电流环像“力矩执行器”,速度环像“指挥器”。

速度环说,速度低了,多给点转矩速度低了,于是输出更大的 iq∗

电流环负责让实际 iq快速跟踪这个给定值。

如果电流环没调好,速度环再怎么调都不稳;所以实际设计顺序一定是: 先调电流环,再调速度环先调电流环,不要一开始就两个环一起调,否则很难判断问题到底来自哪里。


11. 实际调试顺序

第一步:只调电流环

先断开速度环,直接给定:

id∗=0,iq∗为某个小阶跃

观察实际 id、iq跟踪情况。

理想情况: iq能快速跟踪给定,超调不大; id基本保持在 0 附近。

如果 iq上升慢,说明电流环增益偏小;

如果 iq超调大、振荡明显,说明电流环增益偏大,或者采样延迟、解耦、限幅有问题。


第二步:加入速度环

电流环稳定后,再闭合速度环。

先给小的速度阶跃,比如: 500rpm→800rpm,不要一开始给很大的阶跃。

观察: ω是否平稳跟踪; iq是否有很大的冲击; id​是否被带偏。

如果速度响应很慢,可以适当增大速度环 Kp;如果速度超调大,可以减小 Kp​ 或 Ki;

如果速度长期有静差,可以适当增大 Ki;

如果速度来回振荡,多半是速度环 PI 太大,或者速度环带宽太接近电流环。


12. 常见问题分析

12.1 电流环 THD 很大

可能原因有:

电流环带宽过高,导致噪声被放大;

采样频率太低或采样点不合适;

死区补偿没有做好;

SVPWM 电压限幅进入非线性区;

电机参数 Rs,Ld,Lq不准确,解耦补偿反而引入误差;

电流传感器零偏或滤波不足。


12.2 id​ 给定为 0,但实际波动很大

常见原因有:

Park 变换角度不准;

电角度和机械角度换算错误;

极对数设置错误;

dq 轴解耦补偿不对;

电流采样相序错误;

Clarke/Park 变换符号方向不一致;

电流环 PI 太激进。


12.3 速度阶跃时电流冲击很大

这是因为速度环输出的 iq∗突然变大。

解决方式:

给速度指令加斜坡;

限制 iq∗最大值;

限制速度环 PI 输出变化率;

减小速度环 Kp​;

加入抗积分饱和。


12.4 速度环震荡

常见原因有:

速度环 Kp​ 太大;

速度环 Ki太大;

速度环带宽太接近电流环;

机械惯量 J设置不对;

速度反馈噪声大;

负载突变太剧烈;

电流环本身没有调稳。


13. 设计流程

可以按下面这个顺序来:

第一步,确定参数:

Rs, Ld, Lq, ψf, J, B, p

第二步,选电流环带宽:

fi=500∼1000Hz

第三步,计算电流 PI:

第四步,加入电压解耦补偿:

第五步,加入限幅和抗积分饱和。

第六步,调好电流环之后,选速度环带宽:

第七步,计算速度 PI:

其中:

第八步,在仿真中逐步加负载、加速度阶跃、加限幅,观察系统稳定性。


14. 总结

FOC 中,电流环是内环,负责快速、准确地产生转矩;速度环是外环,负责根据速度误差给出所需转矩电流。设计时一定要保证: 电流环快,速度环慢

一般满足: fi≈5∼10倍fω

调试时先把电流环单独调稳定,再闭合速度环,否则速度波形、电流波形同时震荡时,很难判断问题来源。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐