三相SPWM波在TMS320F28335中的实现
2013-01-18王鑫,刘岩
王 鑫, 刘 岩
(1.哈尔滨瑞格大电机技术有限公司 黑龙江 哈尔滨 150030;2.哈尔滨市卫生局 黑龙江 哈尔滨 150000)
PWM[1]的全称是 Pulse Width Modulation,它是通过改变输出方波的占空比来改变等效的输出电压。
所谓SPWM[2],就是在PWM的基础上改变了调制脉冲方式,脉冲宽度时间占空比按正弦规律排列,这样输出波形经过适当的滤波可以做到正弦波输出。它广泛地用于直流交流逆变器等产品,比如高级一些的UPS就是一个典型应用。三相SPWM是使用SPWM模拟市电的三相输出,在变频器领域被广泛的采用。经过长期的发展,SPWM大致可分成电压SPWM、电流 SPWM和电压空间矢量SPWM。其中电压和电流SPWM是从电源角度出发的SPWM,而电压空间矢量SPWM是从电动机角度出发的SPWM。
文中主要介绍使用TMS320F28335高性能DSP处理器的EVA模块[3]生成电压SPWM波形,并且该方案已成功应用到三相逆变电源中。产生电压SPWM波的方法可分为硬件法和软件法两类,硬件法主要是采用专用集成电路 (如SA8281),但这种方法成本高、灵活性差,在实际产品中很少采用;软件法是软件通过实时计算来生成SPWM波,这种方法灵活性强,实现成本低。SPWM波的实时计算对控制器的运算速度要求较高,TI公司出品的TMS320F28335高性能的DSP(数字信号处理器)无疑是满足这一要求的理想选择。
1 SPWM算法
SPWM的实现算法主要有等效面积法、自然采样法、规则采样法、不对称规则采样法等。这几种方法各有优缺点,等效面积法和自然采样法的优点是所得SPWM波形最接近正弦波,但脉宽表达式是一个超越方程,计算繁琐,难以实时控制;规则采样法计算简单,但波形失真率高,线性控制范围小;不规则对称采样法介于二者之间,结合TMS320F28335的性能,采用不规则对称采样法,以下主要介绍如何使用不规则对称采样法生成SPWM波形。
产生SPWM波的原理是:用一组等腰三角波与一个正弦波进行比较,其相交的时刻(即交点)作为开关管“开”或“关”的时刻。这组等腰三角形波称为载波,而正弦波称为调制波,如图1所示。正弦波的频率和幅值是可控制的,改变正弦波的频率,就可以改变电源输出电压的频率;改变正弦波的幅值,也就改变了正弦波与载波的交点,使输出脉冲系列的宽度发生变化,从而改变电源输出电压的大小。
图1 SPWM波形生成方法Fig.1 SPWM wave generation method
通过实时计算生成电压SPWM需要建立数学方程式,建立数学方程式的方法有谐波消除法、等效面积法、采样法以及他们演变来的各种方法。文中介绍算法是不对称规则采样法,不对称规则采样法是用阶梯波去逼近正弦波。每个载波周期内采样两次,既在三角波的顶点对称轴位置采样,又在三角波的底点对称轴位置采样,由于这样采样所形成的阶梯波与三角波的交点不对称,故称其为不对称规则采样法,如图2所示。此法所形成的阶梯波与正弦波的逼近程度大大提高,谐波分量小,计算量较小,在实际应用中得到了良好的验证。
图2 SPWM不规则对称法Fig.2 SPWM irregular symmetry method
图2 中所示,UP是三角波载波峰值,TC是三角波载波周期,t1和t2分别是两次采样时刻,他们决定了SPWM波上的“开”、“关”时间,分别是 t1on,t1off和 t2on,t2off。 根据图 2 可得:t1on=TC+a;由三角形相似定理可得为三角波载波峰值,可规划为1,所以a=TCsin t1;因此可推导出三角波顶点的导通时间数学方程式如下:
同理,三角波底点的导通时间数学方程式如下:
其中M为正弦波峰值与三角波峰值之比(UM/UP),称为调制度;N为三角波频率与正弦波频率之比(fC/f),称为载波比;k为偶数时代表顶点采样,k为奇数时代表底点采样;SPWM波的脉宽为ton=t1on+t2on,即:
以上是生成单项SPWM波的数学方程式,要生成三相SPWM波,必须使用三条正弦波和同一条三角波求交点,三相正弦波依次相差120°,因此另两项SPWM波的数学方程式为:
2 软件实现
TMS320F28335中的EVA模块非常适于产生SPWM波形。当定时器处于连续递增/递减计数模式时,计数寄存器中的数值变化轨迹就是等腰三角形,相当于产生了一个连续的等腰三角形载波,当比较寄存器中的值与计数寄存器中的值相等时,对应的PWM引脚上的电平就会发生跳变,从而输出一系列的等高方波信号,如图3所示。方波的宽度与比较寄存器中的值一一对应,因此只要比较寄存器中的值呈正弦变化,方波的等效面积也就会呈正弦变化,从而得到SPWM波形。而每个EVA模块有三个比较寄存器,三对PWM管脚,因此可以方便的得到三相SPWM波形。
图3 TMS320F28335 EV模块的PWM输出Fig.3 TMS320F28335 EV PWM module output
程序[4]分为主程序和EVA定时中断程序两部分。主程序主要完成各部分模块的初始化工作,然后打开EVA模块的中断使能,最后进入死循环响应EVA模块的中断;EVA定时中断程序完成计算比较寄存器中的数据,然后赋值给各个比较寄存器即可。在计算中要用到正弦向量表,在程序中定义一个一维N点数组,数组中的数据分别对应第N点的正弦值,然后在程序中直接读取这个数组的数值即可。
主程序和EVA定时中断程序流程图分别如图4、图5所示。
本程序的载波频率为12.8 kHz(因为正弦表为256点,50×256=12 800,这样在取正弦值时没有小数偏差),调制波频率为50 Hz,DSP时钟频率为120 MHz,载波周期TC=1/12 800×120×109=9 375个时钟周期;比较寄存器的计算首先定义一个全局变量g_Aphase_State,代表正弦表数组的索引值,然后在定时中断程序中按照如下程序计算即可:
g_Aphase_State=g_Aphase_State+2;
if(256==g_Aphase_State){g_Aphase_State=0;}
图4 主程序流程图Fig.4 Main program flow chart
图5 定时器中断程序流程图Fig.5 Timer interrupt program flow chart
f4SubData=((FLOAT)g_ai2SinCoef[0+g_Aphase_State]
+(FLOAT)g_ai2SinCoef[1+g_Aphase_State]) /AMPLITUDE;
f4SubData=f4SubData*MDLDEPTH;
f4SubData=WAVEPERIOD/4*f4SubData;
CMPR1=(WAVEPERIOD-(WAVEPERIOD/2+(INT16)f4SubData))/2;
其中g_ai2SinCoef为正弦向量数组,AMPLITUDE为三角波载波峰值,MDLDEPTH为调制度;B、C两相的计算也是如此,只需将正弦表数组索引值的初始值分别后移120°、240°即可。
3 实验结果
按照以上方法实现的软件经过编译调试,运行效果良好,SPWM波形输出正常;驱动IGBT[5]工作,逆变得出的正弦波波形良好,如图6所示。
图6 逆变正弦波形Fig.6 Inverter sine wave
4 结 论
利用此方法由 TMS320F28335生成的SPWM波已经应用在50 Hz/220 V的逆变电源[6]中。电源运行效果良好,输出的电压频率幅值误差都在允许范围内,证明该方法稳定可靠、准确性高,可在逆变电源等产品中推广。
[1]孙立志.PWM与数字化电动机控制技术应用[M].北京:中国电力出版社,2008.
[2]张燕宾.SPWM变频调速应用技术[M].3版.北京:机械工业出版社,2005.
[3]刘陵顺.TMS320F28335DSP原理及开发编程[M].北京:北京航空航天大学出版社,2011.
[4]秦玉平.数据结构学习与实验指导(C语言版)[M].北京:清华大学出版社,2012.
[5]周志敏.IGBT驱动与保护电路设计及应用电路实例[M].北京:机械工业出版社,2011.
[6]刘凤君.环保节能型H桥及SPWM直流电源式逆变器[M].北京:电子工业出版社,2010.