首页/文章/ 详情

电机控制入门基础-SVPWM(二更(基于TI的F28335的CCS工程代码实现))

9小时前浏览4

前言:一更详细介绍了SVPWM的基础理论和MATLAB模型验证的内容。本章基于TI的DSP28335进行CCS工程代码实现,在硬件上进行进一步SVPWM的验证。  

一、DSP28335硬件实验平台简单介绍  

表1.1 板上资源统计  

图1.1 硬件实验平台  

图(1.1)和表(1.1)是硬件实验平台的简图和控制板上的资源统计,进行电机控制相关的实验还需要配置驱动板和实物电机。后面会针对市面上成套的硬件验证平台进行拆解分析,推荐给有需要的学友。  

二、ePWM控制外设模块介绍和使用  

接下来以大家熟悉的MATLAB仿真模型入手,来简单介绍ePWM模块。如图(2.1)所示的Simulink中的模块化仿真,是SVPWM中得到矢量切换点时间后与三角载波进行对比得到PWM调制的高、低电平。  

控制板上的ePWM的作用同图(2.1)是一样的。在CCS工程中,SVPWM实现对应的函数也是计算得到矢量切换点的时间作为ePWM模块的比较值,然后与设定好的事件配合来生成PWM调制波形。接下来介绍ePWM外设模块是如何使用的。  

图2.1 Simulink中SVPWM调制波生成模块化仿真模型  

2.1 ePWM外设模块  

图2.2 ePWM模块的子模块组成和作用  

每一组ePWM模块都包含以下7个模块:时基模块TB、计数比较模块CC、动作模块AQ、死区产生模块DB、PWM斩波模块PC、错误联防模块TZ、时间触发模块ET,如图(2.2)所示。  

时钟信号经时基模块TB产生时基信号,可以设定PWM波形的周期。通过计数比较模块CC,可以对PWM波形的脉宽进行配置。再由动作模块AQ限定PWM输出状态即脉冲波形的起落。经过死区模块DB,可以将同组内的互补输出PWM波形进行边沿延迟。若PWM波形输出后、功率器件有错误响应,可以将错误信号引入错误联防模块,从而强制复位PWM的输出。也可以通过事件触发模块配置触发一些事件,如ADC转换开始。  

从图中就可以发现,PWM波的周期为100微秒,开关频率为10KHzEPWMAEPWMB的波形互补。接下来是在PWM中加入死区(上升沿滞后下降沿),防止同一桥臂上下开关管被同时导通。

从波形上看,ePWM模块的底层配置正确,可以根据设置输出对应的PWM波形。  

三、SVPWMCCS中的代码实现  

3.1 扇区判断    

扇区判断部分一致,没有什么变化:

图3.1 扇区判断对应的CCS工程代码实现  

3.2 矢量切换点时间计算  

图3.2 矢量切换点时间的计算  

3.3 比较值的处理  

四、验证分析和问题总结  

4.1 验证分析  

图4.1 马鞍波  

从图(4.1)可知,ePWM的底层配置和SVPWM函数的实现基本没有问题。为进一步验证,需要连接驱动板进行测试。  

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

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

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


 


来源:浅谈电机控制
MATLABSimulink理论电机控制
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2025-05-09
最近编辑:9小时前
清风烈酒
硕士 签名征集中
获赞 44粉丝 2文章 36课程 0
点赞
收藏
作者推荐

DSP28335之三相逆变程序SVPWM

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

未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈