前言:一更详细介绍了SVPWM的基础理论和MATLAB模型验证的内容。本章基于TI的DSP28335进行CCS工程代码实现,在硬件上进行进一步SVPWM的验证。
表1.1 板上资源统计
图1.1 硬件实验平台
图(1.1)和表(1.1)是硬件实验平台的简图和控制板上的资源统计,进行电机控制相关的实验还需要配置驱动板和实物电机。后面会针对市面上成套的硬件验证平台进行拆解分析,推荐给有需要的学友。
接下来以大家熟悉的MATLAB仿真模型入手,来简单介绍ePWM模块。如图(2.1)所示的Simulink中的模块化仿真,是SVPWM中得到矢量切换点时间后与三角载波进行对比得到PWM调制的高、低电平。
控制板上的ePWM的作用同图(2.1)是一样的。在CCS工程中,SVPWM实现对应的函数也是计算得到矢量切换点的时间作为ePWM模块的比较值,然后与设定好的事件配合来生成PWM调制波形。接下来介绍ePWM外设模块是如何使用的。
图2.1 Simulink中SVPWM调制波生成模块化仿真模型
图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微秒,开关频率为10KHz,EPWMA与EPWMB的波形互补。接下来是在PWM中加入死区(上升沿滞后下降沿),防止同一桥臂上下开关管被同时导通。
从波形上看,ePWM模块的底层配置正确,可以根据设置输出对应的PWM波形。
图3.1 扇区判断对应的CCS工程代码实现
图3.2 矢量切换点时间的计算
图4.1 马鞍波
从图(4.1)可知,ePWM的底层配置和SVPWM函数的实现基本没有问题。为进一步验证,需要连接驱动板进行测试。
矢量控制中,一般需要六路并分为三组的PWM输出,配置为两两互补导通的形式,按照寄存器定义配置好模块后,需要验证配置的正确性。
断开电机连接,理论上依次将U、V、W三相的占空比设置为0、100%、50%,使用万用表测量对应端口的电压,0占空比时输出电压应接近0V,100%占空比时接近母线电压,50%占空比时为母线电压的一半。
直接给IGBT开关管的占空比进行赋值: