永磁同步电机FOC矢量控制

**

永磁同步电机控制FOC概述

**
Ia, Ib, Ic分别是A相、B相、C相的采样电流,是可以直接通过AD采样得到的,通常直接采样其中两相,利用公式Ia+Ib+Ic=0计算得到第三相,电角度θ可以通过实时读取磁编码器的值计算得到。
在得到三相电流和电角度后,即可以进行电流环的执行了:三相电流Ia, Ib, Ic经过Clark变换得到Iα, Iβ;然后经过Park变换得到Iq, Id;然后分别与他们的设定值Iq_Ref, Id_Ref计算误差值;然后分别将q轴电流误差值代入q轴电流PI环计算得到Vq,将d轴电流误差值代入d轴电流PI环计算得到Vd;然后对Vq, Vd进行反Park变换得到Vα, Vβ;然后经过SVPWM算法得到Va, Vb, Vc,最后输入到电机三相上。这样就完成了一次电流环的控制。

当对PMSM进行速度控制时,需要在电流环外面加一个速度环,控制框图如下
在这里插入图片描述

第一步电流采集

首先通过ADC采样得到电机两相电流信息 Ia,Ib 根据基尔霍夫电流定律同一个节点流入电流值与流出电流相等估算出Ic电流。

第二步Clark变换

通过Clark变换,可以将三相定子坐标系(三个轴互为120°,ia,ib,ic),转化为两相的定子直角坐标系(iα,iβ)

在这里插入图片描述
在这里插入图片描述
变换中有一个系数k,一般取2/3

第三步Park变换

因为我们主要控制的是转子的旋转,所以需要通过Park变换将两相定子坐标系变换到两相转子坐标系(iq,id)本质上就是矩阵的旋转变换,在这里我们用到的转子的位置信息。该位置信息便是由磁编码器返回的绝对角度信息。
其中id 为励磁电流分量,iq为转矩电流分量。

在这里插入图片描述
Park变换
这里的φ角是

第四步建立PI调节器

可以建立两个PI调节器分别对两个电流分量进行调节。通常情况下,励磁电流分析应该为0,而转矩电流分量为给定值或者是经过速度环输出值。速度环可以根据速度反馈来控制该电流的大小,之后转矩电流的PI调节器输出VqVq ,励磁电流的PI调节器输出VdVd。

第五步反Park变换

通过反Park变换再将VdVd转化为两相定子坐标系(Vα,Vβ)。
我们能控制的因素其实只有:1、外磁场在d、q轴上的大小。2、外磁场的角度。
我们要做的事情其实只是:用编码器测量转子的电角度,然后根据转子的电角度(内磁场的角度)用电机绕组产生设置了d、q轴大小的外磁场。
在这里插入图片描述
如上图所示,如果转子的电角度在θ1,则我们就要在θ1处产生d、q轴大小的外磁场。如果转子的电角度在θ2,则我们就要在θ2处产生d、q轴大小的外磁场。好了,现在我们引入第一个变换:反park变换(你也许会问,为什么要变换呢?这个就跟式子化简或者变形金刚变形一样,变过去又可以变回来,不过你可能会发现,明明都是一样的东西,变个形态,怎么问题就变得这么简单)
我们把角度θ1的情况单独提出来,把它移到原点去,然后把x、y轴重命名为α,β
在这里插入图片描述
根据空间矢量的关系,我们可以把q、d轴的大小分解到α,β轴上:
在这里插入图片描述
如果d轴等于0:
在这里插入图片描述
上面这个式子的意义是:互差90度的大小随正弦规律变化的两个磁场,可以产生大小恒定的旋转磁场。

第六步SVPWM

需要通过SVPWM算法计算Va,Vb,Vc,输出到逆变器。

在这里插入图片描述
SVPWM的全称是空间矢量脉宽调制(Space Vector Pulse Width Modulation),是由三相功率逆变器的六个功率开关元件组成的特定开关模式产生的脉宽调制波,能够使输出电流波形尽可能接近于理想的正弦波形。理论基础是平均值等效原理,即在一个开关周期内通过对基本电压矢量加 以组合,使其平均值与给定电压矢量相等。
假设直流母线电压为Udc,三相相电压分别为UA,UB,UC,且相互之间的相位差为120°;假设Um为相电压有效值,f为电源频率,则有:
在这里插入图片描述
则三相电压空间矢量相加的合成空间矢量U(t)就可以表示为:在这里插入图片描述
U(t)是一个旋转的空间矢量,幅值不变,为相电压峰值,且以角频率ω=2πf按逆时针方向均匀旋转,而空间矢量U(t)在三相坐标轴(a,b,c)上的投影就是对称的三相正弦量。
在这里插入图片描述
图九:三相逆变电路

图九是一个三相逆变电路,每一相在同一时刻只有一个桥会导通,定义这样一个开关函数Sx(x=a、b、c):

上桥臂导通时,Sx=1;下桥臂导通时,Sx=0。举个例子:假设a相上桥导通,b和c相下桥导通,那么三相的结果就是a=1,b=0,c=0,组合的结果就是U4(100)。

在同一时刻,如果不同相的上下桥同时存在导通的桥,那么就会有相电流产生,属于非零矢量;如果同一时刻,三相的上桥同时导通或者三相的下桥同时导通,此时并不会有相电流产生,属于零矢量。所以总共存在6个非零矢量:U1(001)、U2(010)、U3(011)、U4(100)、U5(101)、U6(110);以及两个零矢量:U0(000)、U7(111)。电压矢量的坐标如下图所示:
在这里插入图片描述
图十:电压空间矢量图
在图十中,显示了8个电压空间矢量U0U7,以及六个扇区ⅠⅥ。

假如Sx(x=a,b,c)=(100),则此时Ua=⅔Udc,Ub=-⅓Udc,Uc=-⅓Udc,同理可以得到其他各种组合下的空间电压矢量,如下表:
在这里插入图片描述
图十一:电压空间矢量表

结合图十和图十一可知,非零矢量的幅值相同,均为⅔Udc,相邻的矢量间隔60°,而两个零矢量幅值为0,位于中心。在每一个扇区,选择相邻两个电压矢量以及零矢量,按照伏秒平衡原则来合成每个扇区内的任意电压矢量,即:
在这里插入图片描述

或者等效成下式:
在这里插入图片描述

其中,Uref为期望电压矢量,T为周期,Tx、Ty、T0分别对应两个非零矢量Ux、Uy和零矢量U0在一个周期T内的作用时间,其中U0包括U0和U7两个零矢量。由于最终要得到的是作用在三相半桥上的占空比,也就是三个定时器通道的捕获比较寄存器的值,所以我们只要能计算出Tx、Ty、T0的值,就可以知道三个捕获比较寄存器值。
先来看一下当Uref在第Ⅰ个扇区时的情况,见下图:

在这里插入图片描述
图十二:电压空间矢量位于第Ⅰ扇区

如图十二所示,Uref位于U4和U6之间,由正弦定理可得:
在这里插入图片描述
得到以U4、U6、U7及U0合成的Uref的时间后,接下来就是如何产生实际的脉宽调制波形。在SVPWM调制方案中,零矢量的选择是最具灵活性的适当选择零矢量,可最大限度的减少开关次数,尽可能避免在负载电流较大的时刻的开关动作,最大限度的减少开关损耗。因此,我们以减少开关次数为目标,将基本矢量作用顺序的分配原则选定为:在每次开关状态转换时,只改变其中一相的开关状态,并且对零矢量在时间上进行了平均分配,以使产生的PWM对称,从而有效的降低PWM的谐波分量。可以发现当U4(100)切换至U0(000)时,只需改变A相上下一对切换开关,若由U4(100)切换至U7(111)则需要改变B、C相上下两对切换开关,增加了一杯的切换损失。因此要改变电压矢量U4(100)、U2(010)、U1(001)的大小,需配合零电压矢量U0(000),而要改变U6(110)、U3(011)、U5(101),需要配合零电压矢量U7(111)。这样通过在不同扇区内安排不同的开关切换顺序,就可以获得对称的输出波形,其他各扇区的开关切换顺序下表:
在这里插入图片描述
同样以第Ⅰ扇区为例,电压矢量的先后顺序为U0、U4、U6、U7、U7、U6、U4、U0,将其画成a,b,c三相的PWM波形的话就如图十三所示:
在这里插入图片描述
图十三:第1扇区三相PWM波形

  一般我们在控制PMSM的时候都会将PWM波形设定为中央对齐模式,所以在图十三中,对称中心的两边各个电压矢量所占的时间都是该电压矢量在整个周期中所占时间的一半。

  要先实现SVPWM的实时调制,我们首先要知道Uref所在的扇区位置,然后才能利用所在扇区的相邻电压矢量和适当的零矢量来合成电压矢量。由图十二可以知道,电压矢量Uref与α轴的夹角θ决定了Uref所在的扇区,所以我们只要判断θ角的大小即可知道Uref所在的扇区。

由 tanθ=Uβ/Uα,可知 θ=arctan(Uβ/Uα),当Uref位于第Ⅰ扇区时,θ满足0<θ<60°,此时,Uα>0,Uβ>0,tanθ满足 0<tanθ<√3;所以Uref位于第Ⅰ扇区时的充要条件是:Uα>0,Uβ>0,√3Uα>Uβ。

同理可以得出Uref位于其他扇区时的等价条件,如下:

Uref位于第Ⅱ扇区时的充要条件是:Uβ>0,√3|Uα|<Uβ;

Uref位于第Ⅲ扇区时的充要条件是:Uα<0,Uβ>0,-√3Uα>Uβ;

Uref位于第Ⅳ扇区时的充要条件是:Uα<0,Uβ<0,√3Uα<Uβ;

Uref位于第Ⅴ扇区时的充要条件是:Uβ<0,√3|Uα|<-Uβ;

Uref位于第Ⅵ扇区时的充要条件是:Uα>0,Uβ<0,√3Uα>-Uβ;

进一步分析以上的条件就可以看出,电压矢量Uref所在的扇区完全由Uβ,√3Uα-Uβ,-√3Uα-Uβ三式决定,

因此令:
在这里插入图片描述

再定义,若U1>0,则A=1,否则A=0;若U2>0,则B=1,否则B=0;若U3>0,则C=1,否则C=0。

再令N=4C+2B+A,则可以通过下标计算Uref所在的扇区。

在这里插入图片描述
接下来就要来计算合成Uref的相邻电压矢量的作用时间以及零矢量的作用时间。

  假设Uref位于第Ⅰ扇区时(参照图十二),用到的电压矢量是U4和U6,所以就需要计算T4和T6,以及零电压矢量的T0和T7。计算过程如下:

Uα*Ts = |U4|*T4 + |U6|T6cos(π/3);

Uβ*Ts = |U4|T40 + |U6|T6cos(π/6);

前面说过,|U4|=|U6|=⅔Udc,所以有:

Ts = ⅔UdcT4 + ⅓Udc*T6; ①

Ts = (UdcT6) / √3; ②

解①,②组成的方程组,得:

T4 = (√3/Udc) * Ts * (√3Uα/2 - Uβ/2) = (√3/Udc) * Ts * U2;

T6 = (√3/Udc) * Ts * Uβ = (√3/Udc) * Ts * U1;

又因为Ts=T0+T4+T6+T7,并且T0和T7的给定是灵活的,可以令T0=T7,那么就有:

T0 = T7 = (Ts - T4 - T6) / 2;

这样就计算出了Uref位于第Ⅰ扇区时各电压矢量的时间了。同理可以计算出位于其他扇区时的各电压矢量时间:

Uref位于第Ⅱ扇区时:

T2 = (-√3/Udc) * Ts * (√3Uα/2 - Uβ/2) = -(√3/Udc) * Ts * U2;

T6 = (-√3/Udc) * Ts * (-√3Uα/2 - Uβ/2) = -(√3/Udc) * Ts * U3;

T0 = T7 = (Ts - T2 - T6) / 2;

Uref位于第Ⅲ扇区时:

T2 = (√3/Udc) * Ts * Uβ = (√3/Udc) * Ts * U1;

T3 = (√3/Udc) * Ts * (-√3Uα/2 - Uβ/2) = (√3/Udc) * Ts * U3;

T0 = T7 = (Ts - T2 - T3) / 2;

Uref位于第Ⅳ扇区时:

T1 = (-√3/Udc) * Ts * Uβ = -(√3/Udc) * Ts * U1;

T3 = (-√3/Udc) * Ts * (√3Uα/2 - Uβ/2) = -(√3/Udc) * Ts * U2;

T0 = T7 = (Ts - T1 - T3) / 2;

Uref位于第Ⅴ扇区时:

T1 = (√3/Udc) * Ts * (-√3Uα/2 - Uβ/2) = (√3/Udc) * Ts * U3;

T5 = (√3/Udc) * Ts * (√3Uα/2 - Uβ/2) = (√3/Udc) * Ts * U2;

T0 = T7 = (Ts - T1 - T5) / 2;

Uref位于第Ⅵ扇区时:

T4 = (-√3/Udc) * Ts * (-√3Uα/2 - Uβ/2) = -(√3/Udc) * Ts * U3;

T5 = (-√3/Udc) * Ts * Uβ = -(√3/Udc) * Ts * U1;

T0 = T7 = (Ts - T4 - T5) / 2;

这样就完成了Uref位于6个扇区时的各电压矢量时间的计算,其中√3/Udc是SVPWM调制模式下的最大不失真电压幅值,在计算定时器各通道的捕获比较寄存器值时可以将√3/Udc直接去掉;Ts是PWM一个完整周期的时间,也就是定时器的计数周期。

在图十三中,整个PWM周期中,最先发生的是T0,接下来依次是T4,T6,T7,其中T4,T6是两个非零矢量,且T4先于T6发生,所以我们可以令先发生的非零矢量时间为Tx,后发生的非零矢量时间为Ty,并且T0=T7,那么就可以得出加载到三个捕获比较寄存器上的时间分别是:

T1 = (Ts - Tx - Ty) / 4;

T2 = T1 + Tx/2;

T3 = T2 + Ty/2;

只要根据Uref实际所在的扇区,确定Tx和Ty实际所对应的电压矢量,就可以计算出T1,T2,T3的值;然后再根据Uref所在的扇区画出类似图十三的三相PWM波形,就可以确定T1,T2,T3分别对应到三相A,B,C的哪一个通道,再赋值给对应通道的捕获比较寄存器,就完成了SVPWM算法。

至此,就完成了FOC控制,有哪里讲的不对的地方,希望可以指出。
作者:hducollins
来源:CSDN
原文:https://blog.csdn.net/hducollins/article/details/79260176
版权声明:本文为博主原创文章,转载请附上博文链接!

  • 8
    点赞
  • 92
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值