- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
SVPWM
录入:edatop.com 点击:
time1=u(2); % 矢量1作用时间
time2=u(4); % 矢量2作用时间
time0=u(6); % 矢量3作用时间
sector_U=u(7); % 输出电压区间
Ts=0.0001; % 系统采样周期200us,频率5k Hz
%-----------------------脉冲分配开始--------------------------------
if mod(t,Ts)==0 % 周期发生器,每隔200us将t赋给time_pass
time_pass=t;
else
end
if t-time_pass>=0 && t-time_pass< time0/4
step=1;
pwm_output=0;
elseif t-time_pass>=time0/4 && t-time_pass<(time0/2+time1)/2
step=2;
pwm_output=vector1;
elseif t-time_pass>=(time0/2+time1)/2 && t-time_pass<(time0/2+time1+time2)/2
step=3;
pwm_output=vector2;
elseif t-time_pass>=(time0/2+time1+time2)/2 && t-time_pass<(time1+time2)/2+time0*3/4
step=4;
pwm_output=111;
elseif t-time_pass>=(time1+time2)/2+time0*3/4 && t-time_pass<time1/2+time2+time0*3/4
step=5;
pwm_output=vector2;
elseif t-time_pass>=time1/2+time2+time0*3/4 && t-time_pass<time1+time2+time0*3/4 time1/2+time2+time0
step=6;
pwm_output=vector1;
elseif t-time_pass>time1+time2+time0*3/4 && t-time_pass<0.0001
step=7;
pwm_output=0;
end
%----------------提出输出各相状态-----------------------------------
A=floor(pwm_output/100); %提取百位
B=floor((pwm_output-A*100)/10); %提取十位
C=pwm_output-A*100-B*10; %提取个位
sys(1)=A;
sys(2)=1-A;
sys(3)=B;
sys(4)=1-B;
sys(5)=C;
sys(6)=1-C;
sys(7)=step;
time2=u(4); % 矢量2作用时间
time0=u(6); % 矢量3作用时间
sector_U=u(7); % 输出电压区间
Ts=0.0001; % 系统采样周期200us,频率5k Hz
%-----------------------脉冲分配开始--------------------------------
if mod(t,Ts)==0 % 周期发生器,每隔200us将t赋给time_pass
time_pass=t;
else
end
if t-time_pass>=0 && t-time_pass< time0/4
step=1;
pwm_output=0;
elseif t-time_pass>=time0/4 && t-time_pass<(time0/2+time1)/2
step=2;
pwm_output=vector1;
elseif t-time_pass>=(time0/2+time1)/2 && t-time_pass<(time0/2+time1+time2)/2
step=3;
pwm_output=vector2;
elseif t-time_pass>=(time0/2+time1+time2)/2 && t-time_pass<(time1+time2)/2+time0*3/4
step=4;
pwm_output=111;
elseif t-time_pass>=(time1+time2)/2+time0*3/4 && t-time_pass<time1/2+time2+time0*3/4
step=5;
pwm_output=vector2;
elseif t-time_pass>=time1/2+time2+time0*3/4 && t-time_pass<time1+time2+time0*3/4 time1/2+time2+time0
step=6;
pwm_output=vector1;
elseif t-time_pass>time1+time2+time0*3/4 && t-time_pass<0.0001
step=7;
pwm_output=0;
end
%----------------提出输出各相状态-----------------------------------
A=floor(pwm_output/100); %提取百位
B=floor((pwm_output-A*100)/10); %提取十位
C=pwm_output-A*100-B*10; %提取个位
sys(1)=A;
sys(2)=1-A;
sys(3)=B;
sys(4)=1-B;
sys(5)=C;
sys(6)=1-C;
sys(7)=step;
射频工程师养成培训教程套装,助您快速成为一名优秀射频工程师...
天线设计工程师培训课程套装,资深专家授课,让天线设计不再难...
上一篇:开关电源设计详解
下一篇:如何选择超级电容器?
射频和天线工程师培训课程详情>>