Yong's blog

  • 首页
  • 个人简介
  1. 首页
  2. 电机控制
  3. 正文

FOC技术原理

2024年12月27日 1人点赞 0条评论

1 背景

磁场定向控制(Field-Oriented Control,FOC),又称矢量控制(Vector Control),是一种高性能的电机控制方法。FOC基于伏-秒平衡(volt-second balance)原理,通过控制三相电压,在空间中精确合成任意幅值与角度的电压矢量,从而实现对电机电流(转矩)的精准控制。借助闭环控制器,FOC可实现电流(转矩)、速度及位置的闭环调节,使电机运行更平稳、噪声更低、效率更高,并具备快速的动态响应特性。该技术广泛应用于永磁同步电机(PMSM)、无刷直流电机 (BLDC)等电机系统,是当前高性能电机驱动的主流控制方法之一。

FOC的核心思想是利用数学变换(Clarke与Park变换),将电机的三相定子电流由固定三相坐标系(abc)转换为与转子磁链方向对齐的旋转坐标系(d-q)。在d-q坐标系中,复杂的三相交流电流可分解为励磁电流Id和转矩电流Iq这两个直流分量。通过分别控制这两个分量,可独立调节电机的磁通与转矩。该解耦策略使交流电机的控制逻辑类似于直流电机,从而显著降低整体控制复杂度。

2 永磁同步电机(PMSM)

永磁同步电机是一种以永磁体为转子的同步电机。

A diagram of a motor Description automatically generated

2.1 电机结构

如图所示,永磁同步电机的内部结构由转子和定子组成。定子绕组位于外圈,永磁体转子位于中央。定子绕组数量通常为永磁体极对数的三倍。例如,图中永磁体的极对数为1,对应的定子绕组数量为3,相邻绕组在空间上间隔120°。根据安培定律,当定子绕组通电时,会在绕组周围产生与电流方向相对应的磁场。例如,当a相定子绕组中有电流输入时,会在空间中产生指向a相方向的磁场。

2.2 电机旋转原理

如图所示,当电机定子绕组通入三相电流时,三相电流在空间中合成一个电流空间矢量,该矢量产生一个定子磁场Ψs,即最终合成的定子磁场。当Ψs与转子之间存在夹角时,定子磁场会拽着转子旋转。因此,当定子磁场Ψs旋转时,转子会在电磁力的作用下跟随定子磁场同步旋转。

同时,定子磁场Ψs可分解为两个方向的分量:

  1. Ψd(d轴分量):平行于转子磁场方向,主要用于建立磁链。为实现最大转矩输出,通常将Ψd控制为零,使定子磁场的合成方向完全用于转矩产生。
  2. Ψq(q轴分量):垂直于转子磁场方向,主要用于产生电磁转矩。

在此情况下,为使定子磁场的作用力完全用于驱动转子旋转,定子磁场Ψs的方向必须始终超前转子磁场方向 90°,并保持这一相对关系不变,从而实现定子磁场的最高利用率和最优转矩输出。

通过控制定子电流,可调节定子磁场的大小与方向,从而实现对电机转矩的幅值与方向的精确控制。

3 Clark变换和Park变换及其反变换

在交流电机控制中,若直接在三相坐标系中处理定子三相电流,不仅计算复杂度高,而且难以实现精确控制。为简化控制过程,FOC算法引入了Clarke变换和Park变换。Clarke变换将三相坐标系中的电流转换为静止直角坐标系下的两轴信号(α轴和β轴),以降低计算复杂度并简化后续处理。随后,Park变换进一步将静止坐标系的信号转换为旋转坐标系下的信号(d轴和q轴),实现励磁电流和转矩电流的解耦控制。

3.1 Clarke变换及其反变换

如图所示,Ia​、Ib​、Ic​ 为三相坐标系下的电流大小。通过 Clarke 变换,可以将三相电流分解到静止直角坐标系(α-β)中,其变换公式为:

由于基尔霍夫电流定律Ia​ + Ib​ + Ic​ = 0,可进一步化简以上公式为:

为了进一步简化公式并保证变换时的幅值一致性,同时由于FOC是一个线性系统,可以对等式右侧乘以2/3的系数​,从而实现归一化。这样,最终的Clarke变换公式可以表达为:

通过对公式(3-3)的仿真,我们可以看到,在向Clarke变换输入三相电流后,变换前后的结果:

如图所示,由于等式右侧乘以了2/3的系数,变换前后的幅值保持相等。这种变换称为等幅值变换。

反Clarke变换用于将α-β坐标系中的电流分量Iα和Iβ转回到三相坐标系下,根据公式(3-3),并结合基尔霍夫电流定律,可以推导出反Clarke变换的公式如下:

3.2 Park变换及其反变换

如图所示,θ为转子当前的角度,其中d轴(直轴)与转子的磁场对齐,q轴(交轴)垂直于磁场。d-q坐标系会随着转子角度θ的变化而旋转。Park变换将原本静止坐标系(α-β)中的电流分量Iα和Iβ转换到旋转坐标系(d-q)下,Park变换公式为:

经过Park变换后,电流分量Id和Iq分别代表电机的磁通电流分量和转矩电流分量。因此,电机的磁通和转矩可以实现解耦控制,其中Id控制电机的磁通,Iq控制电机的转矩。

反Park变换用于将控制器输出的旋转坐标系(d-q)电压转换为静止坐标系(α-β)电压。

如图所示,Ud在α轴上的分量为Ud·cos(θ),Uq在α轴上的分量为-Uq·sin(θ);Ud在β轴上的分量为Ud·sin(θ),Uq在β轴上的分量为Uq·cos(θ)。因此,反Park变换公式为:

4 SVPWM原理

如下图所示,为永磁同步电机的驱动电路。通过控制三相逆变器中MOS管的开关状态和占空比,可生成等效的三相电压。这三相电压在空间上合成为一个电压空间矢量,从而决定定子磁场的大小和方向。精确调节MOS管的开关方式来控制这一合成的空间矢量,即为SVPWM(空间矢量脉宽调制)技术。

A diagram of a circuit Description automatically generated

4.1 SVPWM八个基本矢量

在永磁同步电机的驱动电路中,三相逆变器的每个桥臂在任意时刻只能选择上桥臂或下桥臂导通,不能同时导通上下桥臂。显然,如果上下桥臂同时导通,会导致直流侧发生短路。因此,我们定义上桥臂MOS管闭合且下桥臂MOS管断开时,此时桥臂的开关状态为1;反之,上桥臂MOS管断开且下桥臂MOS管闭合时,桥臂的开关状态为0。根据这一规则,三相逆变器的桥臂开关状态共有八种:000、001、010、011、100、101、110、111。

接下来,我们以开关状态“100”为例,分析此时三相电压合成的空间矢量。

如图所示,N点为中性点(零点)。根据欧姆定律分压,可得a、b、c三相电压的幅值为:

Ua、Ub 、Uc为三相电压的幅值,根据平行四边形法则,可得到合成矢量U4(100)的幅值为Udc。

同理,可以根据不同的开关状态绘制出其他合成空间矢量。

如图所示,八种开关状态对应8种合成空间矢量。将这八种合成空间矢量从三相坐标系转换到静止直角坐标系后,类似于Clarke变换的等幅值变换,合成空间矢量的幅值将变为原来的2/3。

如图所示,八个合成空间矢量是SVPWM的基本矢量,其中六个非零矢量的幅值相同,相邻矢量之间的夹角为60°,幅值为(2/3)Udc​。另外,两个零矢量的幅值为零,位于坐标平面的中心。六个非零矢量将空间划分为Ⅰ、Ⅱ、Ⅲ、Ⅳ、Ⅴ、Ⅵ六个扇区,每个扇区的角度为60°。

4.2 SVPWM扇区判断

在 SVPWM 算法中,通过相邻的两个非零矢量和零矢量,并根据伏-秒平衡原则,可合成该扇区内任意的电压矢量。因此,SVPWM 算法的第一步是判断合成矢量所处的扇区。

如图所示,六个扇区由三条红线分割。这三条红线对应的函数表达式为:

因此,可以通过A、B、C相对于零的大小关系确定当前合成空间矢量所在的扇区。下表列出了每一扇区对应的A、B、C与零的关系:

Table 1

将 A、B、C 的值定义为:大于零时记为 1,小于零时记为 0,从而可用一个二进制值表示每个扇区。根据该规则,每个扇区对应一个十进制值 N,计算公式为 N = 4C + 2B + A。具体对应关系如下表所示:

Table 2

通过计算N值,可以快速判断当前合成空间矢量所在的扇区。

4.3 相邻矢量作用时长计算

合成任意矢量的操作基于伏-秒平衡原则,类似于PWM的脉宽调制思想,通过控制一个周期内开关的时间比例,可以实现不同电压的等效。这里SVPWM也是一样,通过在一个周期内,控制相邻基本矢量的作用时间(同一时间只能有一个基本矢量输出),并根据矢量的合成法则(即平行四边形法则),就可以实现不同方向的矢量的等效。

以扇区Ⅰ为例,当需要合成的电压空间矢量Us在α-β坐标系中的分量的大小分别为Uα和Uβ时,可通过伏-秒平衡原则计算出基本矢量U4和U6在一个时间周期T内的作用时间T4和T6​。

如图所示,Ux和Uy分别表示基本矢量方向上Us等效矢量分量的大小。根据伏-秒平衡原则,其表达式为:

同时,通过正交分解,可以用Ux和Uy表示Uα和Uβ:

联立公式(2)和(3),可解得T4和T6的表达式:

按照同样的原理,可以计算出其他扇区相邻矢量的作用时长,结果如下:

Table 3

通过观察上述表达式可以发现,相邻矢量的作用时长由一个常量√3TUdc..乘以后续变量得到,而这些变量的值在扇区判断时已经计算出。结合SVPWM扇区判断中的公式(4-2)和表2,可以进一步确定N值与基本矢量作用时长的关系:

Table 4

4.4 七段式SVPWM

在SVPWM的一个周期内,包含四个基本矢量的作用时间:两个相邻的非零矢量和两个零矢量。这四个基本矢量对应着四种不同的开关状态。SVPWM通过逆变器MOS管的通断来改变这些开关状态。为了减少MOS管的功耗并延长其使用寿命,我们应尽量减少MOS管的切换次数。七段式SVPWM将一个开关周期划分为七段,使得每次切换基本矢量时,只有一对MOS管的状态发生变化。

以扇区Ⅰ为例,扇区Ⅰ有四种开关状态:000、100、110和111。为了确保每次切换基本矢量时仅有一对MOS管状态发生切换,开关状态的切换顺序为:000 → 100 → 110 → 111 → 110 → 100 → 000,具体过程如图所示。

通过在合适的位置插入两个零矢量,并对零矢量时间均衡分配,使产生的PWM波形实现对称,从而有效降低PWM的谐波成分,同时也减少MOS管的功耗。

同理,以下是每个扇区的开关状态切换顺序:

扇区

切换顺序

三相波形图

Ⅰ

U0(000) → U4(100) → U6(110) → U7(111) → U6(110) → U4(100) → U0(000)

Ⅱ

U0(000) → U2(010) → U6(110) → U7(111) → U6(110) → U2(010) → U0(000)

Ⅲ

U0(000) → U2(010) → U3(011) → U7(111) → U3(011) → U2(010) → U0(000)

Ⅳ

U0(000) → U1(001) → U3(011) → U7(111) → U3(011) → U1(001) → U0(000)

Ⅴ

U0(000) → U1(001) → U5(101) → U7(111) → U5(101) → U1(001) → U0(000)

Ⅵ

U0(000) → U4(100) → U5(101) → U7(111) → U5(101) → U4(100) → U0(000)

Table 5

4.5 最大可控圆形矢量边界

合成的电压矢量由相邻基本矢量与零矢量组合产生,因此其幅值存在最大限制。

如图所示,根据矢量合成的平行四边形法则,六边形边界表示合成电压矢量的最大幅值。然而,为在旋转过程中保持幅值恒定,实际应用中将可控范围限定为六边形的内切圆。由此,实际可控的电压矢量最大幅值等于该内切圆半径。

5 FOC算法流程

FOC流程图:

如图所示,这是一个FOC电流闭环控制流程图,其完整控制过程如下:

  1. 对电机三相电流中的两相进行采样,得到Ia和Ib​,并将其输入Clarke变换模块。
  2. 通过Clarke变换,将Ia和Ib转换为两相静止坐标系电流​Iα和Iβ,并将结果输出至Park变换模块。
  3. 通过Park变换,将Iα和Iβ转换为旋转坐标系电流Id和Iq​。计算Id和Iq与设定值Ref_Id和Ref_Iq的误差,并将误差输入PI控制器。
  4. PI控制器根据误差计算出控制电压Ud​和Uq,并将其输出至反Park变换模块。
  5. 然后通过反Park变换将Ud​和Uq转换回静止坐标系电压Uα和Uβ,并将其输出至SVPWM模块。
  6. 通过SVPWM模块调制Uα和Uβ,生成PWM信号,用于控制三相逆变器MOS管开关,从而驱动电机。
  7. 循环上述步骤

6 总结

以上是FOC电流闭环控制的原理。在此基础上加入速度环与位置环,即可实现电机的三环控制。电流环作为最内层,负责快速调节电机电流,确保输出转矩的精确控制;速度环位于中间层,通过调节电流环的参考值,实现电机转速的动态响应和平稳运行;位置环作为最外层,通过调整速度环的参考值,确保目标位置的精确跟踪。三环控制在内外层环路的协同作用下,使伺服电机获得高精度和高动态性能的控制效果。

7 REFERENCE

  1. https://zhuanlan.zhihu.com/p/103758450?utm_source=qzone、
  2. https://blog.csdn.net/linzhe_deep/article/details/105849395
  3. https://www.switchcraft.org/learning/2017/3/15/space-vector-pwm-intro
标签: 暂无
最后更新:2025年1月14日

Yong

JUST FOR FUN !!!

点赞

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复
文章目录
  • 1 背景
  • 2 永磁同步电机(PMSM)
    • 2.1 电机结构
    • 2.2 电机旋转原理
  • 3 Clark变换和Park变换及其反变换
    • 3.1 Clarke变换及其反变换
    • 3.2 Park变换及其反变换
  • 4 SVPWM原理
    • 4.1 SVPWM八个基本矢量
    • 4.2 SVPWM扇区判断
    • 4.3 相邻矢量作用时长计算
    • 4.4 七段式SVPWM
    • 4.5 最大可控圆形矢量边界
  • 5 FOC算法流程
  • 6 总结
  • 7 REFERENCE
最近评论
BigPigBro 发布于 4 个月前(02月04日) :rolleyes: Love From China~
Hete 发布于 4 个月前(02月04日) peace~
标签聚合
CAN总线 TFTP更新下位机文件 CAN总线网络 同步跳转宽度 Zynq 7020 2023 SJW 2024

COPYRIGHT © 2023 Yong's blog. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang