首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 单元电路介绍 > 其它电路
S-Function在TMS320F2812的SVPWM算法仿真
来源:本站整理  作者:佚名  2011-08-21 07:41:02




    无论电压矢量落在哪个扇区,都可以用相邻的两个有效电压矢量和零矢量对其合成。这里以扇区3为例,Vref=Vα+jVβ,Vx、Vy代表相邻电压矢量(即V1、V2)。TPWM是开关周期,To、Tx、Ty分别是零矢量、Vx、Vy的作用时间。当开关周期远小于信号周期时,在一个开关周期中可以认为电压矢量是不变的,即:
c.jpg
    为了保证波形对称,把每个状态的作用时间一分为二,正如图2中的开关序列图所示,这样既能控制电压输出的大小,又能消除偶次谐波。
    将每个扇区中各电压矢量作用时间都计算出来,按照图2所示的对称序列分别分配给3个开关序列Sa、Sb、Sc,并转换为TMS320F2812三个比较寄存器的比较值,便可输出脉宽不同的脉冲波且基频是互为120°的正弦波。
    2.2 移植SVPWM工程为S-Function函数
    根据上述原理在CCS中建立了一个基于TMS320F2812的SVPWM算法工程,包含对DSP进行系统初始化,并初始化所需外设,如EVA、GPIO、PIE等。基本算法存于DSP28_svpwm.c文件中。具体功能配置可以参考相关书籍,篇幅所限,这里不再累述。DSP在每个上溢中断或下溢中断时调用SVPWM算法进行扇区判断、作用时间计算及比较值的确定,然后将比较值赋给EVA的3个比较值寄存器。通过与EVA的双向计数器进行比较,产生3路占空比不同的脉冲波,通过GPIO_A口的PWM1、PWM3、PWM5输出,并且DSP会自动将这3路信号进行反向,通过另外3个GFIO_A口(PWM2、PWM4、PWM6)输出。
    在MATLAB中打开之前,由模板另外存为svpwm.c文件。该文件主要用于实现对CCS程序的接口移植。函数都是在其他C文件中编写的,所以在本文件的开头包含所用到的头文件和C文件,并且将所用的头文件和C文件都与建立的模型放在同一目录下。这也是该种链接方法的关键和精髓,仿真完成后可以不需要改动CCS程序便可直接在CCS中编译使用。

    3 仿真模型与仿真结果
    在MATLAB/Simulink中搭建一个理想的三相全桥逆变器系统,用以验证SVPWM算法的正确性。模型如图3所示,其中SVPWM模块被封装成了一个子系统,以便系统进行管理和扩展。对三相电压进行采样,将得到的值送入SVPWM子系统中进行处理。

d.jpg


    这里需要将三相电压Va、Vb、Vc进行坐标系变换,变为两相静止坐标系中的电压Vα、Vβ,作为S-Function的输入参数。坐标变换也用一个子系统完成,如图4所示。在该子系统中调用C-MEX编写的S-Function进行比较值的计算,并通过produce PWM输出波形。

e.jpg

上一页  [1] [2] [3]  下一页

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)
Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:26,226.56000 毫秒