导读:本期文章主要介绍在 DSP28335 芯片中实现 SVPWM(标幺化),并进行验证测试。
一、引言
选用的控制芯片是 DSP28335,后续会系统的梳理该芯片的外设及相关的性能配置。依托 CCS 和 MATLAB 开发环境,验证关于永磁、异步电机相关的控制算法。
本期主要实现和验证五段式和七段式的 SVPWM,关于 SVPWM 的理论部分可以参考公众号往期的相关文章。
二、在 CCS 中实现 SVPWM
图 2.1 ePWM 模块的底层配置示意图
在 CCS 中要实现 SVPWM,首先用到的外设控制模块就是 ePWM。ePWM 模块的底层配置参考图 2.1 的逻辑进行配置。
2.1 SVPWM 在 CCS 中的实现
按照上述方法可以大致排列好基本矢量的作用顺序,整理如下:
按照图(a),三个切换时刻及对应占空比的分析计算如下:
切换时刻的占空比:
按照七段式电压矢量开关切换最少原则,矢量先后作用决定了电机三相导通时刻的排列顺序如下:
到了这里,Ta、Tb、Tc 已经对 PWM 周期 T 归一化处理,那么 Ta、Tb、Tc 就是占空比了。这里的 Ta、Tb、Tc 只是一个小于 1 的比例数值,这个比例是相对于 T 而言的。T 是 PWM 的开关周期。若乘以 0.5T 就可以得出赋值于比较寄存器的实际值 CMP1、CMP2、CMP3,也就是三相导通的时刻。
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%);
程序中通过死区模块,采用 ALC:EPWMA 反转极性,即低电平有效,互补输出的方式(该方式用于低电平有效的驱动芯片),产生了带死区的互补 PWM。
死区占空比为:150/9375=1.6%
因此最终的 6 路 PWM 占空比应该为:
可见,硬件上对应的 PWM 引脚输出与理论相符,说明 ePWM 配置和 SVPWM 实现正确。
END
作者:浅谈电机控制
来源:浅谈电机控制
推荐阅读
更多电机控制技术干货请关注电机控制专栏。
迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。