基于TMS320F28335的SVPWM实现方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于TMS320F28335的SVPWM实现方法
SVPWM/TMS320F28335/DSP/电机控制
1引言
随着电机控制理论的日趋成熟和微处理器的不断优化,脉宽调制(PWM)技术在变频器中得到了广泛的应用。
如今,PWM开关信号的控制方法最常见的有正弦脉宽调制(SPWM)和空间矢量脉宽调制(SVPWM)。
与SPWM方法相比,SVPWM方法具有电压谐波小,直流电压利用率高,电动机的动态响应快,减少电动机的转矩脉动,易于实现数字化等显著的优点,从而使SVPWM方法的实际应用愈来愈广泛[1,5]。
TMS320F28335数据信号处理器是TI公司最新推出的32位浮点DSP控制器,具有150MHz的高速处理能力,18路PWM输出,与TI前几代数字信号处理器相比,性能平均提高了50%,并可与定点C28x控制器软件兼容[2,3]。
其浮点运算单元,可以显著地提高控制系统的控制精度和处理器的运算速度,是目前控制领域最先进的处理器之一。
可以应用到参数辨识等需要大运算量的电机实时控制系统中。
以下介绍基于TMS320F28335的SVPWM基本原理和实现方法。
2 SVPWM的基本原理
SVPWM是利用逆变器的功率开关器件的不同开关组合合成有效电压矢量来逼近基准圆[4.5]。
图1为三相电压源逆变器(VSI)的拓扑结构[2.3]。
图1三相电压型逆变器
为便于分析理解,图1可以简化为图2所示。
图2三相电压型逆变器电路桥
在图1中,V a、V b、V c是逆变器的输出相电压,Q1~Q6为6个功率开关晶体管,它们分别由a,a’,b,b’,c,c’个控制信号控制。
当逆变器上桥臂的一个功率开关晶体管开通状态(a或b 或c为1)时,下半桥臂的相对功率开关晶体管必须为关闭状态(a’或b’或c’为0);同理,当下桥臂开关晶体管为开通状态(a’或b’或c’为1)时上桥臂的相对功率开关晶体管必须为关闭状态(a或b或c为0)。
对于图1、图2所示的逆变器,其开关状态组合(c b a)有8种基本工作状态,即:000、001、010、011、100、101、110、111,其中除了000和111工作状态为无效状态,称为零矢量外,其余六种工作状态为有效状态,称为非零矢量。
因而开关量[a b c]与相电压矢量「V a V b V c」、线电压矢量「V ab V bc V ca」之间的关系可由以下式子表示。
(1)
(2)
式中,V DC为输入直流母线电压。
通过Clark变换,三相坐标系可由(α,β)坐标系上表示,如下式所示:
(3)
由式(3)和V a+V b+V c=0可得到式(4)。
(4)
其中,V sα、V sβ为电压空间矢量在(α,β)坐标轴上的分量。
因为逆变器一共有8种开关状态组合,所以对应于每一种开关状态,可以计算出V sα、V sβ的值,如表1所示。
表1开关模式与相应的基本空间矢量的(α,β)坐标轴的分量
表1的最后一列为对应于各种开关组合的空间矢量名称。
例如:(c,b,a)=001对应的空间矢量为U0。
8种空间矢量和开关状态的关系如图3所示。
图3基本空间矢量
其中非零矢量的幅值相同,相邻的矢量间隔60°;两个零矢量幅值为零,位于中心。
SVPWM技术的目的是通过选择对应基本空间矢量的开关组合的模式,来近似一个给定的定子参考电压矢量U out,该给定电压矢量U out由它所在(α,β)坐标轴的分量V sα、V sβ表示[3]。
目标矢量U out 在不同扇区内的变化是不一样的。
3 SVPWM的实现方法
TMS320F28335是TI公司最新推出的高性能浮点运算的DSP,它具有丰富的外设模块,为控制系统的应用提供了一个非常理想的解决方法。
空间电压矢量脉宽调制(SVPWM)的目的就是通过控制6个开关功率晶体管的8种工作状态来逼近电机工作所需目标电压矢量U out,从而达到较高的控制性能。
3.1 扇区(sector)的确定
根据Clarke逆变换,通过给定的(α,β)坐标轴分量V sα、V sβ,把它们表示的目标电压矢量U out转变为平衡的三相电压矢量U a、U b、U c。
值得注意的是该变换是将V sα投影到U a。
(5)
在已知V sα,V sβ的条件下,通过定义变量a、b、c,然后由式(6)确定U out所处扇区。
若U a>0,则a=1,反之a=0;若U b>0,则b=1,反之b=0;若UC>0,则c=1,反之c=0;
sector=4c+2b+a (6)
3.2 占空比的确定
在图3中,目标矢量U out处于U0,U60两个矢量之间的第3扇区内,在该扇区内的U0、U60的作用时间T1,T2,T为PWM载波周期,T0为零矢量作用时间,则有以下关系式。
(7)
式(7)在(α,β)坐标轴的投影为:
(8)
利用最大相电压(相对于中性点为)为基准做标幺化,可得,代入式(8)后,可得
(9)
其中,t1,t2分别为基本矢量U0,U60的占空比。
同理,在其他扇区中,相应的基本矢量的占空比也可以求出。
如表2所示。
表2不同扇区中,占空比t1、t2的取值表
3.3 SVPWM的TMS320F28335 DSP实现方法
TMS320F28335没有事件管理器模块,在TMS320F28335的EPWM模块中,每一个完整的PWM通道都包含两个PWM输出:EPWMxA和EPWMxB,因而与目前较为成熟的TMS320F2812在配置PWM产生上存在非常显著的差异。
在TMS320F28335DSP中,每一个EPWM模块都包括定时器(Time-base)模块、计数比较(Counter-compare)模块、比较方式(Action-qualifier)模块、死区(Dead-band)模块、事件触发(Event-trigger)模块、PWM-chopper模块和Trip-zone模块七个模块。
为了发出正确的PWM波,需对定时器模块、计数比较模块、比较方式模块、死区模块和事件触发模块相应的寄存器进行配置。
配置步骤如下(开关频率为3kHz):
(1)定时器模块的配置
通过TBCTL(控制寄存器)设置定时器的时钟、计数模式和同步模式。
EPwm1Regs.TBCTL.bit.CLKDIV= TB_DIV2(表示定时器的时钟为DSP输出时钟的两分频),EPwm1Regs.TBCTL.bit.CTRMODE= TB_COUNT_UPDOWN(表示计数模式为连续增减模式);
EPwm1Regs.TBCTL.bit.SYNCOSEL=TB_CTR_ZERO;通过TBPHS(相位寄存器)设置计数器的起始计数位置:EPwm1Regs.TBPHS.half.TBPHS=0(计数器的计数位置为);通过TBPRD(周期寄存器)设置计数器的计数周期:EPwm1Regs.TBPRD=0x30D4。
(2)计数比较模块的配置
通过CMPCTL(比较控制寄存器)设置CMPA、CMPB的重载模式;通过CMPA/CMPB(比较寄存器A/B)设置EPWMxA/B的比较值。
EPwm1Regs.CMPCTL.bit.LOADAMODE= CC_CTR_ZERO;
EPwm1Regs.CMPCTL.bit.SHDWAMODE= CC_SHADOW。
(3)比较方式模块的配置
通过AQCTLA/B(输出A/B比较方式控制寄存器)设置EPWMxA/B的比较方
式。
EPwm1Regs.AQCTLA.bit.CAU = AQ_SET(表示计数器与比较寄存器A在上升计数时相等时,使输出为高);
EPwm1Regs.AQCTLA.bit.CAD= AQ_CLEAR(表示计数器与比较寄存器A在下降计数时相等,是输出为低)。
(4)死区模块的配置
设置DBCTL(死区控制寄存器)并通过DBRED/DBFED(死区上升/下降沿延时)设置上升/下降沿延时时间。
EPwm1Regs.DBCTL.bit.IN_MODE= DBB_ALL;
EPwm1Regs.DBCTL.bit.OUT_MODE=DB_FULL_ ENABLE;
EPwm1Regs.DBCTL.bit.POLSEL= DB_ACTV_HIC;
EPwm1Regs.DBRED = 0x0500;
EPwm1Regs.DBFED = 0x0600。
(5)事件触发模块的配置
通过ETSEL(事件触发选择寄存器)配置使能及触发事件源的选择。
通过设置ETPS事件触发预设寄存器,设置计数器的次数、中断信号何时发出等状态。
EPwm1Regs.ETSEL.bit.INTSEL= ET_CTR_ZERO;
EPwm1Regs.ETSEL.bit.INTEN= PWM1_INT_ENABLE;
EPwm1Regs.ETPS.bit.INTPRD= ET_1ST。
配置好相应的寄存器后,再根据V sα、V sβ计算U a、U b、U c,然后根据式(6)确定扇区,再由表2确定占空比t1,t2。
3.4 软件流程图
主程序和SVPWM中断程序流程图如图4所示。
图4主程序和SVPWM中断程序流程图
4实验结果分析
为了验证配置好相关寄存器后能否产生正确的SVPWM,进行了以下的验证实验。
在实验中,设置开关频率为3kHz,低通滤波器的截至频率为16Hz,在EPwm1A引脚输出的PWM波信号,经低通滤波后,得到的信号波形如图5所示。
图5 EPwm1A滤波后波形
在实验中,EPwm1A配置为高有效,EPwm1B配置为低有效,死区控制(DBCTL)寄存器
EPwm1Regs.DBRED=0x0500;EPwm1Regs.DBFED=0x0600,对应上升延迟约6μs,下降延迟约4μs 的,EPwm1A和EPwm1B的波形如图6所示。
图6 EPwm1A和EPwm1B的波形
5结束语
本文在SVPWM基本原理的基础上,详细介绍了如何通过配置TI公司最新的浮点数字信号处理器(DSP)TMS320F28335芯片的相应寄存器来实现SVPWM。
实验结果证明,TMS320F28335与TI公司提供的其他DSP控制器(TMS320F2812、TMS320F2407)相比, TMS320F2812只能配置一个死区时间,而TMS320 F28335数字信号处理器可以独立对上升延迟(DBRED)和下降延迟(DBFED)配置,使得数字信号处理器TMS320F28335可以更为方便地配置死区时间,更好的满足功率器件对驱动信号的不同要求。
杨立永田安民陈智刚更多请访问:中国自动化网()。