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)
永磁同步电机是一种以永磁体为转子的同步电机。
2.1 电机结构
如图所示,永磁同步电机的内部结构由转子和定子组成。定子绕组位于外圈,永磁体转子位于中央。定子绕组数量通常为永磁体极对数的三倍。例如,图中永磁体的极对数为1,对应的定子绕组数量为3,相邻绕组在空间上间隔120°。根据安培定律,当定子绕组通电时,会在绕组周围产生与电流方向相对应的磁场。例如,当a相定子绕组中有电流输入时,会在空间中产生指向a相方向的磁场。
2.2 电机旋转原理
如图所示,当电机定子绕组通入三相电流时,三相电流在空间中合成一个电流空间矢量,该矢量产生一个定子磁场Ψs,即最终合成的定子磁场。当Ψs与转子之间存在夹角时,定子磁场会拽着转子旋转。因此,当定子磁场Ψs旋转时,转子会在电磁力的作用下跟随定子磁场同步旋转。
同时,定子磁场Ψs可分解为两个方向的分量:
- Ψd(d轴分量):平行于转子磁场方向,主要用于建立磁链。为实现最大转矩输出,通常将Ψd控制为零,使定子磁场的合成方向完全用于转矩产生。
- Ψ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(空间矢量脉宽调制)技术。
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电流闭环控制流程图,其完整控制过程如下:
- 对电机三相电流中的两相进行采样,得到Ia和Ib,并将其输入Clarke变换模块。
- 通过Clarke变换,将Ia和Ib转换为两相静止坐标系电流Iα和Iβ,并将结果输出至Park变换模块。
- 通过Park变换,将Iα和Iβ转换为旋转坐标系电流Id和Iq。计算Id和Iq与设定值Ref_Id和Ref_Iq的误差,并将误差输入PI控制器。
- PI控制器根据误差计算出控制电压Ud和Uq,并将其输出至反Park变换模块。
- 然后通过反Park变换将Ud和Uq转换回静止坐标系电压Uα和Uβ,并将其输出至SVPWM模块。
- 通过SVPWM模块调制Uα和Uβ,生成PWM信号,用于控制三相逆变器MOS管开关,从而驱动电机。
- 循环上述步骤
6 总结
以上是FOC电流闭环控制的原理。在此基础上加入速度环与位置环,即可实现电机的三环控制。电流环作为最内层,负责快速调节电机电流,确保输出转矩的精确控制;速度环位于中间层,通过调节电流环的参考值,实现电机转速的动态响应和平稳运行;位置环作为最外层,通过调整速度环的参考值,确保目标位置的精确跟踪。三环控制在内外层环路的协同作用下,使伺服电机获得高精度和高动态性能的控制效果。
文章评论