基于DSP的三相逆变器控制程序设计_第1页
基于DSP的三相逆变器控制程序设计_第2页
基于DSP的三相逆变器控制程序设计_第3页
基于DSP的三相逆变器控制程序设计_第4页
基于DSP的三相逆变器控制程序设计_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于DSP的三相逆变器控制程序设计摘要:三相逆变是光伏并网逆变器的主要组成部分。本文介绍了基于DSP的三相逆变器的控制程序的设计原理和参数计算,并给出了部分实验调试的结果。关键字:光伏并网逆变器,嵌入式微处理器1引言TMS320F2812 DSP是在光伏并网逆变器中广泛应用的嵌入式微处理器控制芯片。限于篇幅,本文只对基于DSP的三相逆变控制程序的设计进行了讨论。第2节介绍了三相逆变控制程序的总体设计原理。第3节讨论了参数计算方法和程序设计原理。最后第4节给出了部分实验调试结果。2基本原理控制程序的总体设计示意图见图1。使用异步调制的方法产生SPWM波形。将正弦调制波对应的正弦表的数值,按一定时

2、间间隔t1依次读出并放入缓冲寄存器中。比较寄存器则由三角载波的周期t2同步装载,并不断地与等腰三角载波比较,以产生SPWM波形。时间间隔t1决定了正弦波的周期,时间间隔t2决定了三角载波的采样周期,t1和t2不相关,亦即正弦调制波的产生和PWM波形发生器两部分相互独立。使用TMS320F2812的EV模块产生PWM波形。EVA的通用定时器1按连续增/减模式计数,产生等腰三角载波。三个全比较单元中的值分别与通用定时器1计数器T1CNT比较,当两者相等时即产生比较匹配事件,对应的引脚(PWMx,x=1,2,3,4,5,6)电平就会跳变,从而输出一系列PWM波形。因为PWM波形的脉冲宽度与比较寄存器

3、中的值一一对应,所以,只要使比较寄存器中的值按正弦规律变化,就可以得到SPWM波形。考虑到DSP的资源有限,使用查表法产生正弦调制波。将一个正弦波的周期按照一定的精度依次存于表中;使用时按照一定的定时间隔依次读取,便得到正弦波。显然,精度要求越高,所需的表格越大,存储量也越大。一个周期的正弦表的相位是,对应表的长度的1/3。为了产生三相对称正弦波,将正弦表长度取为3n,n为整数。当A相从第0个数开始取值时,则B相从第n个数处开始取值,C相从第2n个数处开始取值。事实上,因为使用了异步调制,所以只要正弦表的长度足够大,不是3的整数倍也不会对输出波形产生太大影响。程序由主程序和中断程序两部分构成,

4、主程序见图2。中断程序用来根据逆变输出正弦波的频率计算依次读取正弦表的时间间隔t1。3 参数计算与程序设计3.1正弦调制波的参数计算通用定时器T1的计数器T1CNT按连续增/减计数模式产生三角载波,从0增计数到T1PR=M,再减计数到0,循环不止;其时钟取事件管理器的最大时钟频率为75MHz,载波频率取fc=15kHz,可算得,M=2500。考虑到由双极性调制法产生SPWM波形,且调制比小于1。三角载波的幅值M和正弦调制信号的峰值Um需满足UmM= M/2正弦调制波的频率由读取正弦表的速度决定,可以选择CPU定时器T0给正弦波的周期定时。设正弦波的周期用T表示,则T0的定时时间应该是T0=T/

5、N=T/600,即按照节拍T0依次读取正弦表,读取600个点正好一个正弦波周期T。CPU定时器T0是32位的定时器,其计数时钟为150MHz,则CPU定时器T0的最大定时长度为232/150MHz=28.6s,对应正弦波的最大周期Tmax为28.6N=17560s,以及最低频率为fmin=1/Tmax=1/1756010-4Hz。可见其频率分辨率已足够高。对应于工频50Hz时,T0= 20ms/600=33.33us。CPU定时器T0在主程序中使用时只需调用一句ConfigCpuTimer(&CpuTimer0, 150, T0)。3.2死区时间:逆变器主电路采用MOSFET,据此,可选择死区

6、时间为500ns。为了避免SPWM波形的窄脉冲被死区吃掉,可以先计算与死区时间对应的计数次数,3.3 PWM波形发生器的参数计算与程序设计使用DSP的事件管理器EVA模块的全比较单元产生SPWM波形,需要对事件管理器的寄存器进行配置,步骤如下:1) 设置和装载比较行为控制寄存器ACTRA;2) 使能死区功能,设置和装载死区定时器控制寄存器DBTCONA;3) 初始化比较寄存器CMPR1、CMPR2、CMPR3;4) 设置和装载比较控制寄存器COMCONA;5) 设置和装载定时器控制寄存器T1CON,并启动操作;6) 用计算的新值更新比较寄存器CMPR1、CMPR2、CMPR3。在EVA中产生P

7、WM波形,其全比较单元的时钟是由通用定时器T1提供的。采用外部晶振30MHz,经内部倍频后的系统时钟SYSCLKOUT为150MHz,再经过高速预定标寄存器分频和T1控制寄存器预定标分频,最后的T1定时器时钟T1CLK为75MHz。比较方式控制寄存器ACTRA控制6个比较输出引脚PWMx(x=16)的输出方式。设置EvaRegs.ACTRA.all = 0x0666,比较器输出引脚1、3、5高电平有效,2、4、6低电平有效。死区控制寄存器DBTCONA用于设置PWM电路的死区。死区定时器的周期值用m表示,死区定时器的预定标参数用p表示,死区的值为(pm)个高速外设时钟HSPCLK的周期。本文H

8、SPCLK=75MHz,取p=23=8,m=5,则死区时间为已知正弦波的峰值Um为1225时,经计算可容许667ns以内的死区时间。又按照硬件电路要求死区时间为500ns,因此p=8,m=5是合理的。设置EvaRegs.DBTCONA.all = 0x05ec,死区时间是533ns。比较控制寄存器COMCONA决定比较单元的操作模式。第15位CENABLE是比较使能位;第1413位CLD1CLD0设置比较寄存器的重新装载条件,其中的值为00时表示下溢重装载,为01时表示下溢或周期重装载,为10时表示立即重载;第1110位ACTRLD1ACTRLD0设置方式控制寄存器ACTRA的重新装载条件,装

9、载条件同第1413位。第9位FCMPOE是全比较器使能输出位。因此写EvaRegs.COMCONA.all = 0xA600,表示下溢出时重装载。定时器控制寄存器T1CON控制通用定时器的操作模式。第1211位TMODE1TMODE0是计数模式选择位,选择01表示连续递增/递减模式,以产生等腰三角波和对称PWM波形;第108位TPS2TPS0用来设定输入时钟的预定标系数,选为000,使得TCLK=HSPCLK=75MHz;第6位是定时器使能位;第54位TCLKS1TCLKS0选择时钟源,00表示选择内部时钟;TECMPR是定时器比较使能位。在程序中写EvaRegs.T1CON.all = 0x0842,表示使用内部75MHz时钟产生对称等腰三角载波。4 实验调试结果图3(下)是由DSP输出的一路SPWM波形,经RC滤波后的50Hz正

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论