基于DSP的两电平SVPWM实现方法研究

时间:2022-07-15 03:52:22

基于DSP的两电平SVPWM实现方法研究

【摘 要】 本文在介绍了SVPWM基本原理的基础上,详细分析了利用DSP实现两电平SVPWM算法的方法,并通过实验进行了验证,实验结果表明本文所设计的实现方法正确可行。

【关键词】 SVPWM DSP

1 引言

SVPWM控制技术利用逆变器各桥臂开关控制信号的不同组合,使逆变器的输出电压空间矢量的运行轨迹尽可能接近圆形。空间矢量脉宽调制技术,不仅可以使得电机脉动降低,电流波形畸变减小,而且与常规正弦脉宽调制(SPWM)技术相比,直流电压利用率有很大提高,并更易于数字化。

2 SVPWM基本原理

SVPWM是从电动机的角度出发,着眼于使电机获得幅值恒定的圆形磁场。它以三相对称正弦波电压供电时的理想圆形磁通轨迹为基准,用逆变器不同的开关模式产生的实际磁通去逼近基准磁通圆,从而达到较高的控制性能。

通常的三相电压型逆变器采用6个功率晶体管;逆变器的工作状态共有8种,分别对应8个电压矢量,其中有6个基本矢量模长等于,另外2个分别对应于(000)和(111)状态。SVPWM以三相对称正弦波电压供电时交流电动机产生的理想圆形磁链轨迹为基准,通过这8个空间矢量去等效参考矢量,从而使电机的实际气隙轨迹逼近理想的圆形。

3 DSP实现两电平SVPWM算法的软件设计

TMS320F28035在一个器件中集成多个ePWM通道,ePWM单元可根据时序和控制要求对每个通道单独控制,避免了各通道的相互依赖,这种相互独立的结构为应用提供了很大的灵活性,使其成为很多功率控制系统必需的控制单元。ePWM模块主要包括时间基准模块、计数器比较模块、动作限定模块、死区控制模块、PWM斩波模块、错误控制模块以及事件触发模块。根据ePWM模块生成PWM波形的原理,可以得到应用其生成SVPWM波形的结构图如下图1所示。

ePWM单元通过配置时间基准(TB)模块得到一定频率的三角载波信号,再通过配置计数比较(CC)模块中计数比较A(CMPA)寄存器的值,同时按照控制要求配置动作限定(AQ)模块,进而得到符合要求的PWM脉冲EPWMxA;为防止上下桥臂两个功率开关管同时导通,发生桥臂的直通现象,应对加在同一桥臂上的两组脉冲加入死区控制,让一个功率管完全关断后,再开通另一个功率管。ePWM单元的死区控制(DB)模块可以实现这一要求,将输出的EPWMxA送入死区控制模块,然后根据控制要求对死区控制模块的寄存器进行相应的配置,从而可以得到一对互补输出的PWM脉冲,根据文献[1]对SVPWM的分析可知,功率管的开通关断要符合利用SVPWM算法计算出的时间变量,这就要求在每个开关周期内根据时间变量的值不断更新CMPA的值,本文通过配置事件触发(ET)模块相应寄存器,使其在三角载波信号过零点时进入中断,然后在中断函数中按照时间变量的值不断重新装载CMPA的值,从而得到需要的PWM脉冲,实现了SVPWM算法在DSP中的实现。

由以上分析可知,利用TMS320F28035芯片实现SVPWM 算法的关键问题是如何配置寄存器,下面将具体讨论如何配置寄存器。

3.1 时间基准子模块

每个ePWM模块都有自己的时间基准子模块确定相关事件时序,同步逻辑允许多个ePWM模块采用相同的时间基准,要想获得三角载波信号,应将时间基准控制(TBCTL)寄存器的计数模式选择位TBCTL[CTRMODE]配置为0x2,即工作在递增递减模式下,在这种模式下,时基计数器从零开始递增计数,直到等于周期值(TBPRD)。当计数值等于周期值时,时基计数器开始递减计数到零。在此种工作模式下,不断重复上述过程,从而产生三角载波信号。由上述分析可知,在递增递减计数模式下时三角载波信号的周期应为:

时间基准时钟(TBCLK)是系统时钟经过分频得到的,对应关系如式(3.2)所示:

本论文将TBCTL[HSPCLKDIV]配置为0x0,TBCTL[CLKDIV]配置为0x0,未对其分频,TBCLK采用系统时钟(30MHz)。在第二章分析SVPWM算法实现时,功率开关管的开关周期选择的是0.0002s,则大小为0.0002s,由式(3.1)可得:

3.2 计数比较子模块

计数比较子模块为时间基准计数值的输入,本论文中时间基准计数器(TBCTR)不断同CMPA比较,当两者值相等时,计数比较单元产生相应动作。为防止软件异步更改寄存器的内容,将CMPCTL(SHDWAMODE)配置为0x0,使得计数比较寄存器CMPA使用映射寄存器进行存储,这样只有在特定的操作点上刷新寄存器才实现硬件同步。由对SVPWM如何在DSP中实现的分析可知,CMPA要在中断函数中不断更新,而中断是在TBCTR过零时发生的,所以应将CMPCTL[LOADAMODE]配置为0x0,在TBCTR过零时刷新CMPA的映射寄存器。

3.3 动作限定子模块

动作限定子模块在PWM产生过程中起着重要的作用——确定事件转换的类型,在EPWMxA和EPWMxB输出上产生需要的波形,本论文中采用高电平来开通功率开关管,所以应将AQCTLA[CAU]配置为0x2、AQCTLA[CAD]配置为0x1,在递增计数值等于CMPA时,PWM输出高电平;当递减计数值等于CMPA时,PWM输出低电平。

3.4 死区控制子模块

一般功率开关管的开通关断时间都需几百纳秒,为防止桥臂的直通现象,应对同一桥臂的两组脉冲加入死区,通过配置DBCTL[IN_MODE]为0x0,选择死区控制子模块的输入信号来自动作限定模块的EPWMxA,再通过配置DBCTL[POLSEL]为0x2、DBCTL[OUT_MODE]为0x3,从而得到一对高电平有效互补输出的PWM脉冲,至于死区时间可以通过寄存器DBRED和DBFED设置,死区控制子模块支持独立的上升沿和下降沿延时控制,延时大小计算公式如下:

3.5 事件触发子模块

本论文中通过配置事件触发子模块来产生中断,进而在中断函数中实现SVPWM算法。将ETSEL[INTSEL]配置为0x1,选择当TBCTR为零时作为中断触发事件,再将ETPS[INTPRD]配置为0x1并且使能中断,那么每当时间基准计算器为零时,就会产生中断。

4 实验结果分析

本文利用TMS320F28035最小系统板对所设计软件进行实验验证,系统板的芯片的晶振频率为30MHz,实验所得波形如下图3所示。

PWM脉冲在未加入死区时,由图3a、图3b可知,PWM1口输出的PWM脉冲占空比是随时间不断变化的,并且输出脉冲频率符合理论推导值5KHz,对PWM脉冲进行滤波之后得到图3c所示的波形,该波形频率为50Hz且为马鞍波,与理论推导相符。

5 结语

综上所述,通过对实验波形的分析可知,基于TI公司TMS320F 28035芯片所设计的用于实现SVPWM算法的软件是正确可行的。

参考文献:

[1]徐静.异步电动机按定子磁链定向的连续型矢量控制策略的研究与实现 [博士学位论文].上海:上海大学,2006

[2]张卫宁等.TMS320C28X系列DSP的CPU与外设(上)(下)[M].北京:清华大学出版社,2002.

[3]谢青红,张筱荔.TMS320F2812DSP原理及其在运动控制系统中的应用[M].北京:电子工业出版社,2009,106-152.

[4]苏奎峰,吕强等.TMS320x28xxx原理与开发[M].北京:电子工业出版社,2009.

[5]TI Use’s Guide. TMS320x2802x, 2803x Piccolo Enhanced Pulse Width Modulator (ePWM) Module.

上一篇:浅谈自动抄表技术在电能计量中的应用 下一篇:汽车信息化技术—Telematics