虽然simulink里自带了两电平SVPWM模块,但是为了熟悉一下SVPWM算法原理,还是决定自己搭建一个。

两电平的SVPWMSVPWM算法按以下3个步骤来实现:

  1. 判断参考电压矢量UrefU_{ref}所在的扇区,以得到需要作用的两个相邻矢量
  2. 计算这两个相邻矢量的作用时间。
  3. 计算空间电压矢量的切换点,产生PWM脉冲。

一、判断扇区

比较常见的方法是通过分析UαU_\alphaUβU_\beta的大小关系来判断扇区。方法如下:

  1. 如果Uβ>0U_\beta>0,则使A = 1,否则A = 0;
  2. 如果3UαUβ>0\sqrt3U_\alpha-U_\beta>0,则使B = 1,否则B = 0;
  3. 如果3Uα+Uβ>0\sqrt3U_\alpha+U_\beta>0,则使C = 0,否则C = 1;
  4. 扇区号N=A+2B+4CN = A + 2B + 4C

这个方法实现比较简单,但是不太容易理解,其扇区编号规则不是逆时针1~6的编号方法,而是以逆时针3、1、5、4、6、2的顺序编号,如下图中红色编号。
电机学习笔记3——SVPWM算法的simulink模型搭建
编号规则很重要,采用不同的编号规则,后面计算的各矢量作用时间也要作出相应的改变。

对于我这个有强迫症的人来说,一定要按照1~6的顺序编号才舒服。因此,我决定采用一个比较笨的办法,用参考矢量的角度θ\theta的来判断其所在扇区。仿真模型如下图。
电机学习笔记3——SVPWM算法的simulink模型搭建
根据输入的UαU_\alphaUβU_\beta值,获取参考适量的角度θ\theta
θ=arctan(Uβ/Uα) \theta = arctan(U_\beta/U_\alpha)
计算得到的θ\theta角范围是[π2π2][-\frac \pi2,\frac \pi2],其中第一象限计算结果与第三象限相同,第二象限计算结果与第四象限相同。因此为了区分所在象限,所以要对θ\theta进行修正。

Uα>0U_\alpha>0时,θ\theta角范围是[π2π2][-\frac \pi2,\frac \pi2]

Uα<0U_\alpha<0时,将计算得到的θ\theta角加上π\pi,将其范围修正为[π23π2][\frac \pi2,\frac {3\pi}2]

计算到这一步,θ\theta在一、二、三象限都是正值,但是在第四象限是负值,因此当θ<0\theta<0时,加上2π2\pi。此时,不论参考矢量落在哪个象限,都能得到θ\theta角在[02π][0,2\pi]范围内的值。

每一个扇区的角度是π3\frac \pi3,因此将所得到的θ\theta角除以π3\frac \pi3,得到的结果向上取整,便可以得到矢量所在扇区。

该方法的扇区编号顺序如上图中所示IIIIIIIVVVII、II、III、IV、V、VI

二、计算这两个相邻矢量的作用时间。

得到了矢量所在扇区,就可以利用该扇区两端的矢量对其进行合成。通过合理分配两个零矢量(000和111)可以使每一次矢量切换只有一相的功率器件动作,能够减少开关损耗。在这里采用七段式SVPWM调制。以第一扇区为例,在第一扇区的矢量要以U0U1U2U7U7U2U1U0U_0、U_1、U_2、U_7、U_7、U_2、U_1、U_0的原则进行合成,此时开关状态是 000 100 110 111 111 110 100 000。这8个开关状态,每一个的第一位是A相桥臂状态,第二位是B相桥臂状态,第三位是C相桥臂状态。可以看出,每一次状态切换,只改变了其中的一位,也就是只有一个桥臂的功率开关动作。

矢量在第二扇区时,此时合成的原则是U0U3U2U7U7U2U3U0U_0、U_3、U_2、U_7、U_7、U_2、U_3、U_0注意,是先U3U_3U2U_2。此时对应的开关状态是000、010、110、111、111、110、010、000,这样就是每次只有一个桥臂的功率开关进行切换。如果是先U2U_2U3U_3,则开关状态是000 011 010 111 111 010 011 000 ,这种状态下,从000到011、010到111都改变了两个桥臂的状态,增加了开关损耗。

其他几个扇区也是按类似的方法分析。最后得到在各扇区的矢量作用顺序如下:

扇区 矢作用量顺序
I U0U1U2U7U7U2U1U0U_0、U_1、U_2、U_7、U_7、U_2、U_1、U_0
II U0U3U2U7U7U2U3U0U_0、U_3、U_2、U_7、U_7、U_2、U_3、U_0
III U0U3U4U7U7U4U3U0U_0、U_3、U_4、U_7、U_7、U_4、U_3、U_0
IV U0U5U4U7U7U4U5U0U_0、U_5、U_4、U_7、U_7、U_4、U_5、U_0
V U0U5U6U7U7U6U5U0U_0、U_5、U_6、U_7、U_7、U_6、U_5、U_0
VI U0U1U6U7U7U6U1U0U_0、U_1、U_6、U_7、U_7、U_6、U_1、U_0

接下来,就可以根据矢量作用顺序计算矢量作用时间。总的计算是依据是伏秒平衡。
电机学习笔记3——SVPWM算法的simulink模型搭建
以第一扇区为例:
UT1+UT2=UrefTs \vec{U}T_1' + \vec{U}T_2' = \vec{U}_{ref}T_s
式中T1T_1'是矢量U1\vec{U}_1作用时间,式中T2T_2'是矢量U2\vec{U}_2作用时间,式中TsT_s是矢量Uref\vec{U}_{ref}作用时间。
变换到直角坐标系上来表示,也就是用模和相角来表示,得到:
T123Ud(cos0+jsin0)+T223Ud(cosπ3+jsinπ3)=Ts(Uα+jUβ) T_1'\sqrt{\frac 23}U_d(cos0+jsin0)+T_2'\sqrt{\frac 23}U_d(cos\frac \pi3+jsin\frac \pi3) = Ts(U_\alpha+jU_\beta)
在这里采取恒功率变换,相电压幅值取23Ud\sqrt{\frac 23}U_d。保证式中实部和虚部相等,可以解得:
T1=(62Uα22Uβ)Ts/UdT2=2UβTs/Ud T_1' = (\frac {\sqrt6}2 U_\alpha-\frac {\sqrt2}2 U_\beta)Ts/U_d \\ T_2' = \sqrt2 U_\beta Ts/U_d \\

关于相电压幅值是23Udc\sqrt{\frac 23}U_{dc}还是23Udc\frac 23U_{dc},可以参考这个帖子:SVPWM调制中的6个非零基础电压矢量的幅值到底是Udc还是2/3Udc ?

同理可以计算其他扇区的矢量作用时间,得到表格如下。如果前面扇区编号规则不同,该表格也有些差别。
电机学习笔记3——SVPWM算法的simulink模型搭建如果前面扇区编号规则不同,该表格也有些差别。

如果给定的电压矢量太长,超过调制范围的话,计算出来的T1T_1T2T_2之和可能会大于脉冲周期TsT_s,因此需要做相应的处理。
T1=T1Ts/(T1+T2)T2=T2Ts/(T1+T2) T_1 = T_1'T_s/(T_1'+T_2') \\ T_2 = T_2'T_s/(T_1'+T_2')
这样处理之后,并没有改变两个矢量作用时间之间的比例关系。模块搭建如下。
电机学习笔记3——SVPWM算法的simulink模型搭建

三、计算空间电压矢量的切换点

以参考电压矢量在第一扇区来说明。此时一个周期内的矢量作用顺序是U0U1U2U7U7U2U1U0U_0、U_1、U_2、U_7、U_7、U_2、U_1、U_0,开关状态分别是000、100、110、111、111、110、100、000。由此可以画出一个周期内的三相桥臂作用时间。
电机学习笔记3——SVPWM算法的simulink模型搭建
由图中可以看出,零矢量(000和111)作用时间被一分为四,两个有效矢量的作用时间为一分为二。A相桥臂状态,其状态切换是在零矢量作用时间结束之后。其切换时间点为:
tcm1=(TsT1T2)/4 t_{cm1} = (T_s - T_1 -T_2)/4

B相桥臂切换状态是在000和100矢量作用时间之后切换状态,其切换时间点为:
tcm2=tcm1+T1/2 t_{cm2} = t_{cm1}+T_1 /2

C相桥臂切换状态是在000、100、110矢量作用时间之后切换状态,其切换时间点为:
tcm3=tcm2+T2/2 t_{cm3} = t_{cm2}+T_2/2 \\
将这三个值用一个周期为TsT_s,幅值也为Ts/2T_s/2的三角载波进行PWM调制,就可以得到各矢量的作用时间。其他几个扇区的计算方法与此类似,各个扇区的矢量作用切换点对应关系如下表:

扇区 I II III IV V VI
TAT_A tcm1t_{cm1} tcm2t_{cm2} tcm3t_{cm3} tcm3t_{cm3} tcm2t_{cm2} tcm1t_{cm1}
TBT_B tcm2t_{cm2} tcm1t_{cm1} tcm1t_{cm1} tcm2t_{cm2} tcm3t_{cm3} tcm3t_{cm3}
TCT_C tcm3t_{cm3} tcm3t_{cm3} tcm2t_{cm2} tcm1t_{cm1} tcm1t_{cm1} tcm2t_{cm2}

以此为依据搭建仿真模型如下。
电机学习笔记3——SVPWM算法的simulink模型搭建

由此整个SVPWM模块搭建完成,经测试模块工作正常。

相关文章: