FOC(二)转速电流双闭环结构
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ω
调试时先把电流环单独调稳定,再闭合速度环,否则速度波形、电流波形同时震荡时,很难判断问题来源。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)