% SPWM电压型逆变器的数学模型
clear all
clc
% ----------------------------------------------------
% 参数输入
Ud=390;%直流输入电压
F1=50;%调制波频率
h=0.00001;%采样时间间隔
Tend=1.2/F1;%仿真时间
Kf=21;%载波比K
Ka=4/3;%调制比(Ka>1)
F2=Kf*F1;%载波频率
T1=1/F1;
T2=1/F2;
P(1)=0;%相位
P(2)=2*pi/3;
P(3)=4*pi/3;
% ----------------------------------------------------
% 主程序
t=0;%采样时间
i=1;%采样次数
while t<=Tend
tt2=mod(t,T2);
if tt2<=T2/2%确定三角波信号表达式
A2=Ka*(4*tt2/T2-1);
else
A2=Ka*(-4*tt2/T2+3);
end
%确定逆变器三个开关变量S(k)
for k=1:3
A1=sin(2.*pi*t/T1-P(k));%确定正弦波信号表达式
if A1>A2
S(k)=1;
else
S(k)=-1;
end
end
% 逆变器输出线电压(负载电机线电压)
Uab=(S(1)-S(2))*Ud/2;
Ubc=(S(2)-S(3))*Ud/2;
Uca=(S(3)-S(1))*Ud/2;
% 逆变器输出端至直流电源中性点的电压
Uag=S(1)*Ud/2;
Ubg=S(2)*Ud/2;
Ucg=S(3)*Ud/2;
% 负载电机相电压
Ua0=(2*Uag-Ubg-Ucg)/3;
Ub0=(-Uag+2*Ubg-Ucg)/3;
Uc0=(-Uag-Ubg+2*Ucg)/3;
% ----------------------------------------------------
%建立时间、线电压、相电压、载波信号与调制信号的数组
tx(i)=t;
Uaby(i)=Uab;
Ubcy(i)=Ubc;
Ucay(i)=Uca;
Uagy(i)=Uag;
Ubgy(i)=Ubg;
Ucgy(i)=Ucg;
Ua0y(i)=Ua0;
Ub0y(i)=Ub0;
Uc0y(i)=Uc0;
A1y(i)=A1;
A2y(i)=A2;
t=t+h;
i=i+1;
end
% ---------------------------------------------------------------------------------
figure(1); plot(tx,Uaby), title('AB线电压'); xlabel('t(s)'); ylabel('Uab'); grid;
figure(2); plot(tx,Ubcy), title('BC线电压'); xlabel('t(s)'); ylabel('Ubc'); grid;
figure(3); plot(tx,Ucay), title('CA线电压'); xlabel('t(s)'); ylabel('Uca'); grid;
figure(4); plot(tx,Uagy), title('AG电压'); xlabel('t(s)'); ylabel('Uag'); grid;
figure(5); plot(tx,Ubgy), title('BG电压'); xlabel('t(s)'); ylabel('Ubg'); grid;
figure(6); plot(tx,Ucgy), title('CG电压'); xlabel('t(s)'); ylabel('Ucg'); grid;
figure(7); plot(tx,Ua0y), title('A相电压'); xlabel('t(s)'); ylabel('Ua0'); grid;
figure(8); plot(tx,Ub0y), title('B相电压'); xlabel('t(s)'); ylabel('Ub0'); grid;
figure(9); plot(tx,Uc0y), title('C相电压'); xlabel('t(s)'); ylabel('Uc0'); grid;
figure(10); plot(tx,A1y,'c+:',tx,A2y,'c+:'); title('正弦波'); xlabel('t(s)'); ylabel('A'); grid;
% ***********************************************************************************
评论0