黑船 · 5 天前

DSP28335 之三相逆变程序 SVPWM

导读:本期文章主要介绍在 DSP28335 芯片中实现 SVPWM(标幺化),并进行验证测试。

一、引言

选用的控制芯片是 DSP28335,后续会系统的梳理该芯片的外设及相关的性能配置。依托 CCS 和 MATLAB 开发环境,验证关于永磁、异步电机相关的控制算法。

本期主要实现和验证五段式和七段式的 SVPWM,关于 SVPWM 的理论部分可以参考公众号往期的相关文章。

二、在 CCS 中实现 SVPWM

image.png

图 2.1 ePWM 模块的底层配置示意图

在 CCS 中要实现 SVPWM,首先用到的外设控制模块就是 ePWM。ePWM 模块的底层配置参考图 2.1 的逻辑进行配置。

2.1 SVPWM 在 CCS 中的实现

Image

Image

Image

按照上述方法可以大致排列好基本矢量的作用顺序,整理如下:

Image

按照图(a),三个切换时刻及对应占空比的分析计算如下:

Image

Image

Image

Image

Image

切换时刻的占空比:

Image

按照七段式电压矢量开关切换最少原则,矢量先后作用决定了电机三相导通时刻的排列顺序如下:

Image

到了这里,Ta、Tb、Tc 已经对 PWM 周期 T 归一化处理,那么 Ta、Tb、Tc 就是占空比了。这里的 Ta、Tb、Tc 只是一个小于 1 的比例数值,这个比例是相对于 T 而言的。T 是 PWM 的开关周期。若乘以 0.5T 就可以得出赋值于比较寄存器的实际值 CMP1、CMP2、CMP3,也就是三相导通的时刻。

Image

Image

2.2 SVPWM 的验证

矢量控制中,一般需要六路并分为三组的 PWM 输出,配置为两两互补导通的形式,按照寄存器定义配置好模块后,需要验证配置的正确性。

断开电机连接,理论上依次将 U、V、W 三相的占空比设置为 0、100%、50%,使用万用表测量对应端口的电压,0 占空比时输出电压应接近 0V,100%占空比时接近母线电压,50%占空比时为母线电压的一半。

直接给 IGBT 开关管的占空比进行赋值:

MotDriv.Ta_cmpa = 0.6;

MotDriv.Tb_cmpb = 0.4;

MotDriv.Tc_cmpc = 0.2;

即给 ePWM 模块的比较寄存器 CMPB 中设定值为:

EPwm1Regs.CMPA.half.CMPA =0.6*TBPRD=5625(60%);

Epwm2Regs.CMPA.half.CMPA =0.4*TBPRD=3750(40%);

Epwm3Regs.CMPA.half.CMPA =0.2*TBPRD=1875(20%);

image.png

程序中通过死区模块,采用 ALC:EPWMA 反转极性,即低电平有效,互补输出的方式(该方式用于低电平有效的驱动芯片),产生了带死区的互补 PWM。

死区占空比为:150/9375=1.6%

因此最终的 6 路 PWM 占空比应该为:

image.png

Image

可见,硬件上对应的 PWM 引脚输出与理论相符,说明 ePWM 配置和 SVPWM 实现正确。

Image

END

作者:浅谈电机控制
来源:浅谈电机控制

推荐阅读

更多电机控制技术干货请关注电机控制专栏。
迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。

推荐阅读
关注数
2490
内容数
47
专注电机控制,偶尔不务正业
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息