利用DSP28335实现NPC三电平SPWM调制(单载波方式)

前言
DSP28335小菜鸡一枚,最近编写完成三电平SPWM和DPWM调制方式,后续会作进一步的研究,欢迎类似方向的小伙伴们一起交流鸭~
编程思路
直接上正题,需要实现三电平SPWM,你需要配置的寄存器有:GPIO、epwm、外部中断。设置周期寄存器的值为10k,利用EPWM1的事件触发模块进入中断实时更新占空比,得到最终的SPWM波形。
细节
题主很懒,想用单载波实现节约资源,用一张手绘图来描述一下,大家凑合着看看,能够说明问题,也很关键:
在这里插入图片描述
这一块的核心要点就在于比较点的位置不能改变。这样的话当调制波大于0时可以不用管,当调制波小于零时加1比较即可。
这一块的程序如下:

     ///产生c相的PWM波形/
     if(uc[k]>=0)
     {
        EPwm5Regs.CMPA.half.CMPA = EPwm5Regs.TBPRD*uc[k]; //epwm5A送给sc1 //规则采样法,互补对称的送给sc3
        EPwm6Regs.CMPA.half.CMPA = EPwm6Regs.TBPRD;        //epwm6A送给sc2 ,互补对称的送给sc4
     }
        else
        {
        EPwm5Regs.CMPA.half.CMPA = 0;
        EPwm6Regs.CMPA.half.CMPA = EPwm6Regs.TBPRD*(1+uc[k]);
        }
        k++;

至于三电平SPWM的编程,可以参见我的另一篇关于两电平spwm的博客,里面有详细的叙述,思路一致。或者去我的主页下载都可。
实验结果:
在小功率实验平台上进行试验,sa1-sa4的脉冲直流侧电容电压、输出线电压、负载相电压如下:
在这里插入图片描述
在这里插入图片描述

三电平逆变器的Sa1和Sa3互补,Sa2和Sa4互补,如果做实际的平台实验,建议加上2us的死区,防止直通。

  • 8
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

摸鱼王子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值