FPGA平台实现最小开关损耗的SVPWM算法
扫描二维码
随时随地手机看文章
摘要:详细分析了SVPWM的原理,介绍一种根据负载的功率因子来决定电压空间零矢量的分配与作用时间的SVPWM算法,使得桥臂开关在通过其电流最大时的一段连续时间内没有开关动作。这样在提高开关频率的同时减小了开关电流,以此得到具有最小开关损耗的SVPWM算法。Si-mulink仿真结果验证了理论的正确性,ModelSim的仿真结果表明该算法在FPGA平台上实现的可行性。
关键词:逆变器;SVPWM;不连续调制;零矢量;最小开关损耗;FPGA
引言
脉冲调制技术(PWM)已被广泛应用于逆变器的设计当中,电压空间矢量调制技术(SVPWM)与SPWM相比,直流电压利用率提高了(15.4%),且利于数字化实现。本文介绍了一种基于不连续调制的SVPWM算法,可根据负载功率因子在不同扇区内灵活放置零电压矢量,与传统的连续调制SVPWM相比,在增加开关频率的同时减小了开关电流。仿真结果也表明这种方法有着最小的开关损耗。
现场可编程逻辑阵列FPGA是高集成度和高复杂度的可编程ASIC,具有设计灵活、开发周期短、可靠性高、纯硬件并行处理、不占用CPU资源等特点。本文以FPGA硬件平台来实现算法,采用硬件连线实现软件算法,实现真正的并行运算,这样可降低系统对MCU/DSP的速度要求。此外,基于IP核的模块化设计使得系统设计灵活,便于升级维护,满足更高性能的要求。
1 SVPWM原理
图1为典型的电压型三相两电平逆变器的设计,开关一共有8种不同的状态,因此逆变器的输出电压可以由这8种不同开关状态来合成。
定义单个开关状态,三相坐标系经Clarke变换为复平面α—β坐标系
模长为0称为零电压矢量,6种开关状态如图2所示,电压矢量空间被6个有效电压矢量分为6个扇区。
[!--empirenews.page--]
根据伏秒原则,落入任何一个扇区的电压矢量都可由两个相邻的有效电压矢量合成得到:
[!--empirenews.page--]
2 零空间矢量放置调制策略
逆变器换向序列是指在一个采样周期内有效电压矢量和零空间矢量的切换方式。在同一扇区,零矢量既有又有,称为连续调制,只有其中一种零矢量称为不连续调制。有效脉冲居中放置,且沿半开关周期对称放置,可以获得比同等条件下其他放置方式更好的谐波性能。
2.1 传统SVPWM开关序列
传统SVPWM开关序列采用连续调制方式,在开关周期内两个零矢量和的作用时间相等,图3为在扇区I中传统SVPWM开关序列排列方式。
2.2 最小开关损耗
在考虑逆变器性能时,还需考虑开关损耗Ploss:
式中,g(uT,iT)是uT、iT的单调增函数,uT、iT和fT分别是开关器件的开关电压、电流和实际的开关频率,对于电压源型逆变器uT是固定的,因此,若想减小开关损耗Ploss,可以从减小开关频率fT和开关电流iT两方面来考虑。
①减小开关频率fT。从图2中可以看出,在不同的扇区中选择合适的零电压矢量,可以使得某个桥臂在一段连续的区间内表现出常开或常闭特性即无开关动作。在空间矢量的一段区间内只选择一个零矢量,这样根据观察可以得到,这种不连续调制的开关动作与传统的SVPWM相比,开关频率降低了1/3。因此在同样的开关损耗下,不连续的开关频率可增加至传统SVPWM的3/2倍。
②减小开关电流iT。为了降低开关电流得到最小的开关损耗,需要使得在负载电流值最大时,对应的相桥臂没有开关动作。为了使得三相负载电流相对较大值区域都处于桥臂无开关动作状态,可以得到负载电流这一较大值区域是以正负峰值为中心的60°区域,即在这60°区域内,对应的桥臂应处于无开关动作状态。
负载电流的相位是由对称负载的功率因数角决定,如图4所示。若逆变器三相对称负载的功率因数角为δ(-π/2≤δ≤π/2),定义在扇区I和Ⅵ中零矢量放置区域的角平分线与矢量的夹角为α,逆变器三相对称负载的功率因数角为δ。如果α=δ,则可以使得以电流正负峰值为中心的60°区间正好落在桥臂没有开关动作扇区中。α和δ的关系为:
[!--empirenews.page--]
当-π/3≤α≤π/3,零矢量在空间矢量中的放置方式如下:
若α=30°,扇区I零矢量为;若α=-30°,扇区I零矢量为。当负载的功率因数角为0°时,α=0°,电压空间矢量被分为12个扇区,以为中心的30°区域的零矢量为,以为中心的30°区域的零矢量为,这样三相桥臂就分别有着连续的60°的常开和常闭区域,三相桥臂的切换时间如表2所列,其中:Ta=Tx/2,Tb=Ty/2,Tc=(Tx+Ty)/2,Td=(T-(Tx+Ty))/2,Te=Td+Ta=(T-Ty)/2,Tf=Td+ Tb=(T-Tx)/2。
这样就可以使得负载功率因数角为0°的三相电流波形的峰值落在桥臂没有开关动作的60°区域内,从而达到减小开关电流的目的。
3 Simulink仿真结果
根据前文所述理论,搭建Simulink仿真模型,三相逆变器的负载电阻R=5 Ω,负载电感L=0.5 mH,当逆变器的负载对称平衡时,功率因子约为0.999,此时α近似为0°,直流电压为690 V,调制比M=0.9,矢量空间被划分为12个扇区。Simulink仿真模型算法模块包括坐标变换模块、扇区判断模块、扇区时间选择模块、桥臂时间切换模块。
仿真结束后逆变器输出3相的电流波形见本刊网站www.mesnet.com.cn——编者注。三相之间电流相差120°,矢量空间被分为12个扇区,在以a相电流峰值为中心的60°区域中,调制波为1或0,即a相桥臂是没有开关动作的(常开或常闭)。仿真结果验证了前文的理论分析。
4 基于FPGA的实现及实验仿真结果
选择Altera CycloneⅡ系列EP2C8Q208为FPGA的硬件核心,实现环境是QuartusⅡ9.0,FPGA硬件描述语言采用Verilog HDL,仿真环境ModelSim PE 6.6b。如图5所示,三相调制波形相位与Simulnk仿真一致,调制波毛刺部分为FPGA内部逻辑延迟时间,小于FPGA所能识别的最小时间,对本系统的设计无影响。由图中三相桥臂的上开关的控制信号可知,桥臂在一个开关周期内有120°的区域是没有开关动作的(60°常开,60°常闭),因此系统的时序设计是正确可靠的,也验证了上述理论以及Simulink仿真的正确性。
结论
本文实现了基于FPGA硬件平台的最小开关损耗SVPWM算法。此算法相比于传统SVPWM算法,在提高开关频率的同时减少了开关损耗,可以根据实际负载的功率因子来判断零矢量的选择以及零矢量在扇区中的位置,控制桥臂开关的切换。FPGA硬件平台的实现为今后实现更复杂的控制算法奠定了基础,相比MCU/DSP,基于FPGA硬件实现的SVPWM有着更好的实时性能,其模块化的设计也有着更好的灵活性,为进一步升级控制性能提供了便利。