SVPWM算法详解(已标注重点)

发布时间 : 星期四 文章SVPWM算法详解(已标注重点)更新完毕开始阅读

这里零矢量的动作时间为T0?T7?(T?T1?T2)/2。由于DSP的事件管理器(EV)的有三个比较寄存器,每个比较单元控制两组PWM脉冲,正好可以实现七段式的SVPWM,为了给出比较寄存器的值,这里引入一些时间变量Ta,Tb,Tc,并定义

?Ta?(T?T1?T2)/4? (3.17) ?Tb?Ta?T1/2?T?T?T/2b2?c这也是在计数器增计数或减计数时的比较值,在六个扇区中由于作用的矢量不同所以输出PWM的翻转时刻也不同,但都要满足每个周期每个开关最多动做两次的原则。在每个扇区内的比较值如表3.4所示,这就是要送入DSP比较单元的值。

表3.4 每个扇区的比较值表

扇区 CMP1 CMP2 CMP3 Ⅰ TbTaⅡ TaⅢ TaTbⅣ Tc TbTaⅤ Tc TaTbⅥ Tb Tc Tb Tc TaTc Tc 这样利用三个比较寄存器CMP1,CMP2,CMP3和定时器T1就可以实现七段式的SVPWM,具体流程如下,将表3.4中的比较值送入比较寄存器,让计数器从0开始计数,从0增加到T/2,再从T/2减小到0,同时将计数器的值Tx和比较寄存器的值相比较,遵循以下规则

若Tcm1?Tx,则PWM1?1,否则PWM1?0;

若Tcm2?Tx,则PWM3?1,否则PWM3?0; 若Tcm3?Tx,则PWM5?1,否则PWM5?0;

而PWM2,PWM4,PWM6为PWM1,PWM3,PWM5的互补输出,这样就可以实现七段式的SVPWM。现以第Ⅲ扇区为例,给出比较示意图3.6。

CMP3CMP2CMP10PWM1PWM3PWM5000100110111110100000

图3.6 七段式SVPWM的输出时序图

本章小结:

SVPWM的基本思想是如何获得圆形的磁链,本章首先结合了SVPWM的基本原理以及本设计所采用的DSP芯片的特点,分析了五段式和七段式的SVPWM的算法思想和具体实现的方法,并分别给出了五段式和七段式的SVPWM的开环控制程序。

4 SVPWM的仿真和DSP编程实现

目前,SVPWM应用范围逐渐扩大,已经突破了传统的电机磁链控制,并且

应用于有源滤波等其它领域,取得了很好的效果。基于DSP的数字控制也得到了进一步的发展。本章利用第三章中提出的SVPWM控制方法,对其进行仿真和编程实现。

4.1 基于MATLAB的SVPWM 仿真

MATLAB是集命令编译、科学计算于一体的一套交互式仿真软件系统。其中包括仿真软件包Simulink,它包括许多子模块和已经建立好的仿真模型,可以利用图形化的方式进行系统的构建,大大提高了编程效率。使用Simulink 创建的模型可以具有递阶结构,有利于理解模型结构和各模块之间的关系。由于将

MATLAB和Simulink集成在一起进行系统仿真,对于仿真过程中需要观测的量,只需要输入到Sinks中的示波器或显示器上,即可以随时观测系统各参数。下面根据第三章中给出的七段式SVPWM的实现方法,来搭建基于Simulink的仿真模型。

1 电压空间矢量位置的判定模块

根据第三章中给出的判定电压空间矢量位置的数学依据,可以得到计算电压空间矢量所在扇区的Simulink 功能模块,如图4.1所示。

图4.1 电压空间矢量扇区的确定 2 基本空间矢量作用时间的确定

根据表3.3可以确定在每个扇区内各个基本矢量的作用时间,利用Simulink中Multiswitch 的选择功能,在不同的扇区可以得到相对应的电压矢量的作用时间,建立如图4.2的仿真模型。

图4.2 基本电压空间矢量作用时间模型 3 比较值的计算

根据表3.4可以计算出在各个扇区内的PWM脉冲跳变对应的比较值,将

这些比较值和三角波进行比较即可产生PWM脉冲。按照开关动作次数最少的原则,建立起以下Simulink 仿真模型如图4.3所示。

图4.3 逆变器三个桥臂动作时间计算及选择

根据得到的比较时间和Simulink 中自带的三角波发生器进行比较,产生PWM脉冲,然后从Powersys 库中调出IGBT模块,选择合适的电动机负载。由于SVPWM只是一个脉冲产生工具,没有电机的具体控制算法。这里将两个互差900的正弦波进行合成作为所期望的空间电压矢量的给定,来模拟给定的圆形电

压空间矢量,如图4.4所示。

u?(V)u?(V)

图4.4 给定的电压空间矢量的轨迹

系统的直流电压为600V,为了满足给定的空间矢量在线性区内,有

u?Ud[2]3。给定电压空间矢量幅值大小对应输出交流相电压的最大值(这可以从

联系合同范文客服:xxxxx#qq.com(#替换为@)