打印
[技术]

3相3级逆变器的中心对齐SVPWM实现

[复制链接]
8320|75
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
kkzz|  楼主 | 2014-6-25 23:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
摘要
空间矢量脉宽调制(SVPWM)广泛用于3相逆变器控制系统。SVPWM MCU实现的最有效方法是中心对齐PWM,因为MCU中的PWM模块可轻松产生中心对齐PWM。本文将讨论SVPWM实现方法,并介绍一种轻松实现中心对齐SVPWM的方法,其适合于片上PWM模块。

1 引言

SVPWM广泛用于3相逆变器控制系统,原因是它比正弦脉宽调制(SPWM)拥有更高的DC侧电压利用效率。尽管SVPWM具有许多优势,但是它难以实现。最难的因素是计算每个功率开关的占空比,以及确定每个开关周期的矢量扇区和脉冲序列。许多**都介绍了3相2级逆变器的占空比计算方法,并且我们可以使用许多方法来计算出矢量序列(例如,中心对齐方法,它可以在MCU平台中轻松地实现)。

为了改善3相逆变器的系统效率,3级或者多级逆变器正变得越来越流行。相比2级逆变器,3级逆变器拥有更多的功率开关(最多可达12个);这就意味着,3级逆变器比2级逆变器拥有更多的矢量扇区。因此,相比2级逆变器,3级逆变器SVPWM的占空比计算和矢量计算更加复杂。

本文[1]介绍了一种计算矢量扇区的简单方法。计算过程总共只有2步,第1步把整个矢量分为6个主要扇区。这一步与2级逆变器的扇区计算方法非常类似。第2步,把基准扇区重新定位至这6个扇区之一中,然后把这个主扇区分为6个子扇区。这种计算方法可用于2级逆变器,用于确定有效矢量和计算其停顿时间。但是,我们还没有讨论每个开关周期的矢量序列,并且占空比计算方法很难在MCU应用中实现。本文[2]把相同方法用于计算矢量。重新定位的零矢量作为2级逆变器的零矢量,则得到的矢量序列与2级逆变器一样。在实现过程中,MCU用于产生序列信号,并把外围逻辑电路用于每个功率开关的已实现PWM生成。我们并未介绍没有外围逻辑电路且适合于MCU实现的方法。

SVPWM MCU实现的最有效方法是中心对齐PWM,因为MCU的PWM模块可轻松地产生中心对齐PWM。本文将基于[1]和[2]所述方法,讨论SVPWM实现,并介绍实现中心对齐SVPWM的一种简单方法,其适合于片上PWM模块。

相关帖子

沙发
kkzz|  楼主 | 2014-6-25 23:58 | 只看该作者
2 3相3级逆变器的基本SVPWM原理

图1显示了中点箝位(NPC)型3相3级逆变器的硬件拓扑。

图1中,共有3个NPC腿(R、S和T);每个腿包括4个功率开关。每个腿的4个功率开关必须在两个补偿对中得到控制。Qx1、Qx3(x = R,S,T)为一个补偿对,Qx2、Qx4为另一对。因此,对于每个腿而言,它可通过4个功率开关输出3个不同相位的电压状态。



图1 NPC 3相3级逆变器的硬件拓扑

使用特权

评论回复
板凳
kkzz|  楼主 | 2014-6-25 23:59 | 只看该作者



表1 每个腿的输出状态


当控制每个腿的功率开关(参见表1)时共有27个状态;每个状态均可映射到α-β坐标平面矢量图。27个矢量可形成18个扇区,如图2所示。




图2 3相3级逆变器SVPWM矢量图


使用特权

评论回复
地板
kkzz|  楼主 | 2014-6-25 23:59 | 只看该作者
假设基准矢量Vref。根据SVPWM理论,我们必须在图2中找出两个最接近的矢量Vx、Vy以及一个零矢量Vz,以组成矢量Vref。图2显示了Vref和Vx、Vy、Vz之间的关系。因此,我们可以选择矢量PNN(Vx)、PNN(Vy)和NNN(Vz),形成Vref。如果规定间隔Ts内Vx、Vy、Vz的停顿时间分别为Tx、Ty、Tz,则可得到如下函数:



但是,仅仅通过2级SVPWM中使用的角度还很难确定Vx、Vy、Vz,因为即使角度相同,但基准矢量可位于不同扇区内。为了确定该扇区,需要基准矢量的大小,但它会增加计算方法的复杂度。

[1]和[2]介绍了一种计算Vx、Vy、Vz的简单方法。首先,图2所示整个矢量图被分为6个主扇区。每个主扇区包含10个原始扇区,其会形成一个子六边形。这6个主扇区呈60度角差连续分布。图3显示了这6个主扇区。



图3 3级SVPWM的主扇区

使用特权

评论回复
5
kkzz|  楼主 | 2014-6-25 23:59 | 只看该作者
给定基准矢量Vref情况下,可仅利用该角度计算主扇区。例如,图4中,Vref和α轴之间角度θ为+60度到-60度,其意味着Vref主扇区为扇区1。



图4 主扇区1

在计算出主扇区以后,它必须把初始矢量映射到所选主扇区内。映射算法如下:



使用特权

评论回复
6
kkzz|  楼主 | 2014-6-26 00:00 | 只看该作者
例如,主扇区1的初始矢量为PPP(OOO,NNN)、POP(NON)、PNO、PNN、PON、PPO(OON)、POO(ONN)。为了获得类似于2级SVPWM的六边形,把POO(ONN)作为映射矢量Vmap1=V0。在映射以后,我们可得到图5所示六边形,其与2级SVPWM的矢量图一样。在该六边形中,共有7个映射矢量,其在六边形中形成6个子扇区。



图5 主扇区1映射

由图5,我们可以看到,Vref位于子扇区1中,并且我们可以轻松地计算停顿矢量为V1和V2。V0可以作为2级SVPWM的零矢量。因此,我们可以得到如下函数:



使用特权

评论回复
7
kkzz|  楼主 | 2014-6-26 00:00 | 只看该作者
组合方程式(2)和方程式(3),得到:



因此



由方程式4,如果可以计算出停顿时间V1'、V2'和V0',则可计算得到初始矢量停顿时间。由图5映射,3级SVPWM的矢量选择和停顿时间计算被完全转换为2级SVPWM。不同主扇区拥有不同映射矢量。表2总结了每个主扇区的映射矢量。



表2 每个主扇区的映射矢量


使用特权

评论回复
8
kkzz|  楼主 | 2014-6-26 00:00 | 只看该作者
3 主扇区计算简单方法

利用α-β坐标平面Vref角度,可计算出该主扇区。如图2和图3所示,每个主扇区均位于固定角度范围内。例如,第一个主扇区的角度范围为[-π/3,π/3]。还可以计算第二个主扇区的角度范围,其为[0,2π/3]。因此,第一个和第二个主扇区之间的重叠区域,会延伸到两个相邻区域。这些重叠区域增加了主扇区的计算难度。为了规定每个扇区的独占角度区域,我们可重新定义主扇区,如图6所示。



图6 主扇区新定义

利用图6所示定义,每个主扇区都有其自己的角度区域及其自己的子扇区。

使用特权

评论回复
9
kkzz|  楼主 | 2014-6-26 00:01 | 只看该作者
鉴于图7所示3相电压波形,相应主扇区被标记在正确位置。由图7,表3总结了主扇区编号与3个相位元素之间的关系,其可帮助轻松确定主扇区。



图7 主扇区位置

使用特权

评论回复
10
kkzz|  楼主 | 2014-6-26 00:01 | 只看该作者



表3 主扇区确定方法

使用特权

评论回复
11
kkzz|  楼主 | 2014-6-26 00:01 | 只看该作者
4 子扇区过程

在2级SVPWM中,第1步是找出可确定停顿矢量的扇区编号。第2步是,计算每个所选矢量的停顿时间。根据第1章中3级SVPWM原则,当确定主扇区且所有矢量均映射到主扇区时,可使用与2级SVPWM相同的过程来确定子扇区,并计算每个停顿矢量的停顿时间。这种过程算法在许多**中都有介绍,因此本文将不再讨论子扇区确定方法和停顿时间计算方法。

尽管我们可以通过子扇区方法找出每个矢量的停顿时间,但是每个功率开关的占空比分布比2级SVPWM要复杂得多。3级SVPWM拥有6对补偿功率开关,其意味着,当我们得到所选矢量的停顿时间时,必须计算出6个占空值。为了简化占空比计算过程,本文介绍一种有效的方法,用于轻松地计算每对功率开关的占空比。

我们同样以主扇区1作为例子。根据图4,R相位没有N状态。除此以外,如果选择OON、ONO和OOO,用于矢量映射,则S和T相位没有P状态。就R相位而言,用1代替P状态,并用0代替O状态。就S和T相位而言,用1代替O状态,用0代替N状态。结果是,与2级SVPWM相同的矢量图。图8显示了这种操作过程。



图8 状态代替

使用特权

评论回复
12
kkzz|  楼主 | 2014-6-26 00:02 | 只看该作者
在完成2级SVPWM过程以后,可知道3个矢量的停顿。如图8所示,Tx为100停顿时间,Ty为110停顿时间,而Tz为111和000停顿时间。因此,我们可以利用中心对齐PWM输出模式,计算出3对补偿功率开关的3个占空比(d1、d2和d3);本例所得矢量序列为000→100→110→111→110→100→000。图9左边显示了2级SVPWM中3对补偿功率开关上级开关的状态,其被称作中心对齐SVPWM。



图9 2级逆变器中心对齐SVPWM

如果我们用P和N分别代替1和0,则我们可得到3级逆变器中心对齐SVPWM的右边部分。3级SVPWM的矢量序列为:

ONN→PNN→PON→POO→PON→PNN→ONN。

使用特权

评论回复
13
kkzz|  楼主 | 2014-6-26 00:02 | 只看该作者
正功率开关对为Qx1和Qx3(x=R、S、T);负功率开关对为Qx4和Qx2(x = R、S、T)。我们对每对状态0和1的定义也与2级SVPWM相同。因此,对于主扇区1而言,在单开关周期内,负R相位对始终为0,对于S、T相位而言,正对始终为0。那么,仅3对功率开关必须通过不同的占空比、正R相位对和负S、T相位对控制,其相当于2级SVPWM的3对功率开关。这意味着,在主扇区1中,d1可分配给正R相位对,d2可分配给负S相位对,而d3可分配给负T相位对。

前面分析结果可扩展至其它矢量。表4总结了状态代替,表5列举了每个主扇区的占空比分配情况。



表4 每个主扇区的状态代替



表5 每个主扇区的占空比分配

使用特权

评论回复
14
kkzz|  楼主 | 2014-6-26 00:02 | 只看该作者
5 算法实施

由第4小节的分析,我们可实现3级SVPWM算法。图10显示了该软件流程图。



图10 3级SVPWM算法流程图

图10中,所有函数输入均为基准矢量的αβ元素。

RevParkConv为Park反向转换的函数,由此,我们可以得到3个相位静态元素。

MainSectorCal为通过表3所列结果确定主扇区编号的函数。

MapVector为映射基准矢量至所选主扇区的函数。表2列出了映射矢量αβ元素。

Svgen_dq_2_Level为实现2级SVPWM过程的函数,由此,我们可知道三个占空比d1、d2和d3。

DutyAssign为通过表5所列结果为功率开关对分配CMPR值的函数。

使用特权

评论回复
15
kkzz|  楼主 | 2014-6-26 00:03 | 只看该作者
6 仿真结果

为了测试第5章所讨论算法的有效性,我们使用Matlab Simulink Platform得到仿真结果。所有算法均通过C代码s函数完成,其可轻松移植至现实系统。

仿真条件如下:

三相三级NPC桥
开关频率:10kHz、PWM周期计数:3000
DC侧电压:700V
基准相到相电压:(1)200V/50Hz;(2)280V/50Hz
LC滤波器参数:每个相位,L=9mH,C=4.7μf
R负载:每个相位100Ω
无停滞时间



图11 仿真结果

使用特权

评论回复
16
kkzz|  楼主 | 2014-6-26 00:03 | 只看该作者
(CH1:基准电压;CH2:输出电压;CH3:主扇区计算;CH4:子扇区计算)



图12 仿真结果

使用特权

评论回复
17
kkzz|  楼主 | 2014-6-26 00:03 | 只看该作者
(CH1:正QR1 PWM;CH2:负QS2 PWM;CH3:负QT2 PWM;CH4:主扇区)



图13 220Vac输出CMPR值

CH1:R相位正(蓝色)和负(绿色)的CMPR值
CH2:S相位正(蓝色)和负(绿色)的CMPR值
CH3:T相位正(蓝色)和负(绿色)的CMPR值
CH4:主扇区

使用特权

评论回复
18
kkzz|  楼主 | 2014-6-26 00:03 | 只看该作者



图14 280Vac输出CMPR值

CH1:R相位正(蓝色)和负(绿色)的CMPR值
CH2:S相位正(蓝色)和负(绿色)的CMPR值
CH3:T相位正(蓝色)和负(绿色)的CMPR值
CH4:主扇区

由图11-图14所示仿真结果,经证明,该算法是正确的。这种算法可用于实现3级3相逆变器SVPWM。但是,由于没有考虑到停滞时间和DC侧电压失衡所产生的影响,因此要求做进一步的研究。所以,我们必须特别注意这种方法的局限性。

使用特权

评论回复
19
ljhtj| | 2014-6-26 08:43 | 只看该作者
学习了

使用特权

评论回复
20
pjy| | 2014-6-26 22:55 | 只看该作者
mark

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

317

主题

10900

帖子

13

粉丝