碧波液压网 欢迎你,游客。 登录 注册

基于DSP的SPWM实现

版权信息:站内文章仅供学习与参考,如触及到您的版权信息,请与本站联系。

  一.原理

  SPWM是一种关于PWM技术的控制技术。在现代逆变电路中应用的中得到了广泛应用。

  假设正弦波为UO= U2sinφ(φ=0~2π=2πf)把一个周期4N等分,则每一分为2π/4N=π/2N弧度,则每一个小面积的值为:

  这样,可以通过DSP来控制IGBT的导通时间(在低电平关断IGBT,在高电平导通IGBT)就可以得到我们所需要得SPWM波形。

  二. 具体实现

  图1.电路原理框图

  本设计系统由DSP控制器完成对SPWM逆变电路控制,键盘输入,A/D转换,输出显示等工作,具体运行框图如图1所示。每个240x系列DSP可产生多达16路的PWM输出,为了利用DSP来产生PWM输出,采用通用定时器的比较操作,因为每个通用定时器都有一个相关的比较寄存器TxCMPR和一个PWM输出引脚TxPWM。通用定时器的值总是与相关的比较寄存器的值进行比较,当定时计数器的值与比较寄存器的值相等时,就产生比较匹配,可通过置TxCON.1位为1来使能比较操作,发生匹配后的一个CPU时钟周期后,根据GPTCONA/B寄存器相应位的配置情况,相关的PWM输出将发生跳变。由于采用一系列等幅不等宽的矩形波代替正弦波,所以,使通用定时器处于连续增/减计数模式下,来产生对称波形,通过比较产生所需脉宽脉冲的波形。

  根据所需的PWM周期设置TxPR:假设正弦半波低电平的时间间隔设为L1、L2……Ln,高电平时间间隔设为H1、H2……Hn,在周期寄存器中存入如下的一系列值:

  为了节省存储器空间,只在周期寄存器中存入前1/4正弦半波的高低电平值。当周期寄存器中的值由上而下被读取后,可通过编程来完成再由下而上读取,正好对应PWM等效矩形脉冲中的前半周期,后半周期值的读取也可由编程实现。

  设置比较寄存器:由于采用的是连续增减的计数模式,所以要在比较寄存器中存入以下一系列值:

  当定时器的计数值增计数达到L1对应的计数脉冲值发生比较匹配,PWM发生跳变,输出高电平驱动IGBT导通,然后当定时器计数值减计数达到L2/2时,再次发生比较匹配,PWM又发生跳变,关断PWM输出,直到减计数到零,定时器复位,进行下一周期的PWM 输出。

  这里为了节省存储器空间,同样可以采用设置周期寄存器的方法。不过,二者一定要匹配,即要存储相同周期的值。

  以上是产生0~1800之间的PWM矩形脉冲,为了的到正弦波的负半周波形,我们就令DSP在0~1800间控制VT1、VT4导通,VT2、VT3关断,得到的是正半周的波形。在1800~3600间,控制VT2、VT3导通,VT1、VT4关断,得到负半周波形。

你没有登陆,无法阅读全文内容

您需要 登录 才可以查看,没有帐号? 立即注册

标签: PWM DSP
点赞   收藏

相关文章

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。

用户名: 验证码:

最新评论