1、NPC 三电平SVPWM simulink仿真

文章详细解析了MATLAB中的SVPWM3L_TimingCalculation函数,涉及电压参考判断、角度计算和脉冲宽度分配,用于三相正弦脉宽调制(SVPWM)的定时计算。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、SVPWM时间计算函数,是从matlab的SVPWM3L_TimingCalculation.p文件中反汇编出来的函数:

function [TgABC_On ,TgABC_Off ,Sn ]=SVPWM3L_TimingCalculation_frompfile (Vref ,DeltaVdc ,Fsw )
%#codegen
%coder .allowpcode ('plain' );
TgABC_On =[0 ,0 ,0 ];
TgABC_Off =[0 ,0 ,0 ];
DV =DeltaVdc ;
Tsamp =1/Fsw/2 ;

if(Vref(1)*Vref(2)*Vref(3)>=0 )
    if Vref(1)>=0
        Sn =1;
        a =2;
        b =-1;
    elseif(Vref(2)>=0 )
        Sn =3;
        a =-1;
        b =2;
    else
        Sn =5;
        a =-1;
        b =-1;
    end
elseif(Vref(1)<0 )
    Sn =4;
    a =-2;
    b =1;
elseif(Vref(2)<0 )
    Sn =6;
    a =1;
    b =-2;
else
    Sn =2;
    a =1;
    b =1;
end

Vas =Vref (1)/sqrt(3)-a *1 /6;
Vbs =Vref (2)/sqrt(3)-b *1 /6;
Vcs =-Vas -Vbs;

Tas =2 *Vas *Tsamp;
Tbs =2 *Vbs *Tsamp;
Tcs =2 *Vcs *Tsamp;

if((Tas >Tbs )&&(Tas >Tcs ))
    Tmax =Tas;
elseif((Tbs >Tas )&&(Tbs >Tcs ))
    Tmax =Tbs;
else
    Tmax =Tcs;
end
if((Tas <Tbs )&&(Tas <Tcs ))
    Tmin =Tas;
elseif((Tbs <Tas )&&(Tbs <Tcs ))
    Tmin =Tbs;
else
    Tmin =Tcs;
end
Teff =Tmax -Tmin;
T0 =Tsamp -Teff;
Toffset =T0/2*(1 -DV )-Tmin;

Tga =Tas+Toffset;
Tgb =Tbs+Toffset;
Tgc =Tcs+Toffset;

TgABC_On(1)=Tsamp-Tga;
TgABC_On(2)=Tsamp-Tgb;
TgABC_On(3)=Tsamp-Tgc;

TgABC_Off(1)=Tsamp+Tga;
TgABC_Off(2)=Tsamp+Tgb;
TgABC_Off(3)=Tsamp+Tgc;

2、主要模型:

3、运行波形:

4、模型获取可联系229425962@qq.com;

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值