SVPWM是FOC的基础,其实现流程大致如下所示:
1. 判断合成矢量所在扇区
2. 计算相邻矢量作用时间
3. 计算各桥臂导通时间
4. 得到各相PWM占空比
5. 更新相应寄存器值
SVPWM目标矢量是根据其所在扇区选择非零矢量与零矢量合成而成,有五段式、七段式、混合式,七段式开关次数较多,但谐波较小;五段式开关次数是七段式的一半,但谐波较大,下面的计算过程以七段式为例
1. 判断合成矢量所在扇区
合成矢量 Uref Uref在二相坐标系 α α轴和 β β轴的分量分别为 Uα Uα、 Uβ Uβ(在FOC中,由反Park变换得到),由合成矢量落在各扇区的充分必要条件分析可知,可按如下方法确定合成矢量所属扇区:
令
U1=Uβ U1=Uβ
U2=3√Uα−Uβ2 U2=3Uα−Uβ2
U3=−3√Uα−Uβ2 U3=−3Uα−Uβ2
若 U1>0 U1>0,则A = 1,否则A=0;
若 U2>0 U2>0,则B = 1,否则B=0;
若 U3>0 U3>0,则C = 1,否则C=0;
令 N = 4C +2B+A
N值与扇区关系对应如下:
N | 1 | 2 | 3 | 4 | 5 | 6 |
扇区 | II | VI | I | IV | III | V |
2. 计算各相邻矢量作用时间
令
⎧⎩⎨⎪⎪⎪⎪X=AUβY=A2(3–√Uα+Uβ)Z=A2(−3–√Uα+Uβ) {X=AUβY=A2(3Uα+Uβ)Z=A2(−3Uα+Uβ)
A=3√TUDC A=3TUDC, UDC UDC为母线电压, T T为合成矢量 Uout Uout作用时间
扇区 | I | II | III | IV | V | VI |
t1 | -Z | Z | -X | X | -Y | Y |
t2 | X | Y | -Y | Z | -Z | -X |
令
⎧⎩⎨⎪⎪⎪⎪⎪⎪Ta=T−t1−t24Tb=Ta+t12Tc=Tb+t22 {Ta=T−t1−t24Tb=Ta+t12Tc=Tb+t22
3. 计算各桥臂导通时间及占空比
扇区 | I | II | III | IV | V | VI |
TCM1 TCM1 | Ta | Tb | Tc | Tc | Tb | Ta |
TCM2 TCM2 | Tb | Ta | Ta | Tb | Tc | Tc |
TCM3 TCM3 | Tc | Tc | Tb | Ta | Ta | Tb |
4. 将上面计算出的 TCM1 TCM1, TCM2 TCM2, TCM3 TCM3送入单片机定时器寄存器即可产生SVPWM