基于TMS320F2812的三相SPWM波的实现

时间:2022-07-13 03:17:20

摘 要:针对SPWM波调制在逆变变频电源中的广泛应用,介绍了采用高性能数字信号处理器(DSP)TMS320F2812的片内外设事件管理器的功能生成三相SPWM波的方法,给出了整个程序流程图,主要功能程序源码和实验结果。该方法采用不对称规则采样算法,程序实现主要采用查表法。实验结果表明,该方法简既能满足一定控制精度要求,又能满足实时性要求,可以很好地控制115 V/400 Hz逆变电源的输出。

关键词:DSP;TMS320F2812;SPWM;采样法;逆变电源

中图分类号:TN914 文献标识码:B

文章编号:1004373X(2008)0313103

Realization of Three―phase Voltage Source SPWM on TMS320F2812

YUAN Li1,LI Bin1,JIANG Zaifang2

(1.Faculty ofElectricalEngineeringandInformationTechnology,Hebei University of Science and Technology,Shijiazhuang,050054,China)

2.Faculty of Information Engineering and Automation,Kunming University of Science and Technology,Kunming,650224,China)

Abstract:The paper aims at the application of SPWM in the inverter power supply and introduces the method for generating SPWM waveform by using TMS320F2812 event manager.The flow chart,sound code and experimental results are provided.The dissymmetrical sampling algorithm and looking―up table are used.Experiment shows that the method can meet the control precision and the real―time.It can control the output voltage of the 115V/400 Hz inverter power supply.

Keywords:DSP;TMS320F2812;SPWM;sampling algorithm;inverter power supply

1 引 言

SPWM技术目前已经在实际中得到非常普遍的应用,尤其在逆变电路中的应用最为广泛,经过长期的发展,大致可分成电压SPWM、电流SPWM和电压空间矢量SPWM。其中电压和电流SPWM是从电源角度出发的SPWM,而电压空间矢量SPWM是从电动机角度出发的SPWM。

本文以400 Hz三相逆变电源的研发为依托,介绍利用TMS320F2812生成电压SPWM的技术。产生电压SPWM波的方法可分为硬件法和软件法两类,硬件法最实用的是采用专用集成电路,如SA4828,HEF4752,SLE4520等,软件法是使电路成本最低的方法,他通过实时计算来生成SPWM波,实时计算对控制器的运算速度要求非常高,高性能的DSP(数字信号处理器)无疑是能满足这一要求的性价比最理想的选择。

2 SPWM基本原理

PWM(Pulse Width Modulation)控制就是对脉冲的宽度进行调制的技术,即通过对一系列脉冲的宽度进行调制,来等效地获得所需要波形。SPWM波形(Sinusoidal PWM)就是脉冲的宽度按正弦规律变化而和正弦波等效的PWM波形。

产生SPWM波的原理是:用一组等腰三角波与一个正弦波进行比较,其相交的时刻(即交点)作为开关管“开”或“关”的时刻,这组等腰三角形波称为载波,而正弦波称为调制波,如图1所示。正弦波的频率和幅值是可控制的,改变正弦波的频率,就可以改变电源输出电压的频率,改变正弦波的幅值,也就改变了正弦波与载波的交点,使输出脉冲系列的宽度发生变化,从而改变电源输出电压的大小。

图1 SPWM波生成方法

3 软件设计

3.1 TMS320F2812的事件管理器模块

TMS320F2812是TI公司推出的高速数字信号处理芯片,器件上集成了多种先进的外设,为电机及其他运动控制领域应用的实现提供了良好的平台,控制生成SPWM主要利用的是片上的事件管理器模块(EVA和EVB),该模块具有以下主要功能:

(1) 5个独立的PWM输出,其中3个由比较单元产生,2个由通用定时器产生。另外还有3个由比较单元产生的PWM互补输出;

(2) 由比较单元产生的PWM死区可编程;

(3) 能够产生可编程的非对称、对称和空间矢量PWM波形;

(4) 比较寄存器和周期寄存器可自动装载,减少CPU的开销。

3.2 SPWM波的生成

3.2.1 总体思路

本文利用的是EVA模块,当定时器T1处于连续递增/递减计数模式时,计数寄存器(T1CNT)中的数值的变化轨迹就是等腰三角形,也就相当于产生了一系列的等腰三角形波,当比较寄存器(CMPRx,x=1,2,3)中的值与计数寄存器中的值相等时,对应的引脚(PWMx,x=1,2,3,4,5,6)上的电平就会发生跳变,从而输出一系列的等高的方波信号,如图2所示。至于输出的方波的宽度,就和比较寄存器中的值一一对应,因此,只要使比较寄存器中的值按正弦规律变化,就可以得到SPWM波形。

图2 在连续递增/递减模式下的PWM输出

3.2.2 算法分析

通过实时计算生成电压SPWM需要数学模型,建立数学模型的方法有多种,比如谐波消去法、等面积法、采样型SPWM法以及他们派生出来的各种方法。本文介绍的生成SPWM波采用的是不对称规则采样法,不对称规则采样法是用阶梯波去逼近正弦波,每个载波周期内采样两次,既在三角波的顶点对称轴位置采样,又在三角波的底点对称轴位置采样,由于这样采样所形成的阶梯波与三角波的交点不对称,故称其为不对称规则采样法,如图3所示。此法所形成的阶梯波与正弦波的逼近程度大大提高,所以谐波分量的幅值更小,在实际中得到了较多的应用。

图3中所示,Us是三角载波峰值,Tc是三角载波周期,t1和t2分别是两次采样时刻,他们决定了SPWM波上的“开”、“关”时间分别是ton1,toff1和ton2,toff2。根据三角形相似关系式推导可得:

式中M=UM/US,即正弦波峰值与三角波峰值之比,M称为调制度。N=fc/f=1/(Tcf),即三角波频率fc与正弦波频率f之比,N称为载波比。k为偶数时代表顶点采样,k为奇数时代表底点采样。以上是生成单相SPWM波的数学模型,要生成三相SPWM波,必须使用三条正弦波和同一条三角波求交点,三相正弦波依次相差120°,所以在顶点采样时三相的脉宽分别是:

图3 不对称规则采样法生成SPWM波

3.2.3 程序流程图

程序有主程序和定时器下溢中断子程序组成,主程序是一个无限循环结构,他的主要工作是系统的初始化,根据中断子程序中给出的比较寄存器的值生成SPWM波。流程图如图4所示。中断子程序的主要功能是计算比较寄存器的值,流程图如图5所示。

3.2.4 程序编写

本例程的载波频率为12 kHz,调制波频率为400 Hz,DSP时钟频率为150 MHz,载波周期Tc=1/(12×150×109)=12 388个计数周期。

主程序:

void main(void)

{ //step1:初始化系统控制寄存器,PLL,看门狗,时钟等

InitSysCtrl();

EALLOW;

GpioMuxRegs.GPAMUX.all=0x003F;//使能PWM输出的引脚

EDIS;

DINT;

IER=0x0000;

IFR=0x0000;//禁止和清除所有CPU中断

InitPieCtrl() ;//初始化Pie控制寄存器位默认状态

InitPieVectTable();//初始化PIE中断向量表vector table;

InitPeripherals();

//step2:设置EVA的各寄存器

EvaRegs.T1PR=(int)(TC/2);//6194个计数周期,即0X1832

EvaRegs.T1CNT=0X0000;

EvaRegs.CMPR1=(int)(TC/2);

EvaRegs.CMPR2=(int)(TC/2);

EvaRegs.CMPR3=(int)(TC/2);

EvaRegs.ACTRA.all=0x0666;//1,3,5高有效。2,4,6低有效

EvaRegs.DBTCONA.all=0X0FF8;//死区时间1.6微秒

CONA.all=0XAA00;//使能比较,下溢重载

EvaRegs.T1CON.all=0X0842;//连续增减计数模式

//设置中断:

EvaRegs.EVAIFRA.all=0XFFFF;

EvaRegs.EVAIFRB.all=0XFFFF;

EvaRegs.EVAIFRC.all=0XFFFF;//清EVA所有中断标志位

EvaRegs.EVAIMRA.all=0X0200;

EvaRegs.EVAIMRB.all=0X0000;

EvaRegs.EVAIMRC.all=0X0000;

EALLOW;//更新中断向量

PieVectTable.T1UFINT=&T1UFINT_IS;

EDIS;

IER |= M_INT2;

PieCtrl.PIEIER2.bit.INTx6=1;//开2.6级定时器1下溢中断

EINT;

ERTM;

for(;;);

}

中断子程序主要是计算功能,按图5所示的流程图一步步编写即可,程序不再列出。至于在计算中用到的正弦sin值,为了保证控制的实时性,最好把用到的sin值事先计算出来做成一个数组放在DSP的数据存储器中,存放位置及长度需在.cmd文件中进行设置。

图4 主程序流程图

图5 定时器下溢中断子程序流程图

4 实验结果

按照以上思路编写出的软件经过调试编译,运行良好,SPWM波形正常,如图6(a)、图6(b)所示。脱离仿真环境后和逆变电路连接在一起,驱动IGBT工作,逆变出的三相正弦波波形良好。

图6 实验结果

5 结 语

利用此方法由TMS320F2812生成的SPWM波已经在400 Hz/115 V的逆变电源中应用,电源运行正常,输出的电压频率幅值都在允许范围内。结果证明该方法的准确性高,完全可行,尤其在变频变压电源的控制中有很好的应用。

参考文献

[1]王晓明,王玲.电动机的DSP控制―TI公司DSP应用[M].北京:北京航空航天大学出版社,2004.

[2]苏奎峰,吕强,耿庆锋,等.TMS320F2812原理与开发[M].北京:电子工业出版社,2005.

注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。

上一篇:空间作战仿真虚拟环境关键技术研究 下一篇:小波多分辨率分析在油田配电网谐波检测中的应...