SVPWM
时间:08-06
来源:互联网
点击:
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;
电压 相关文章:
- 用于电压或电流调节的新调节器架构(07-19)
- 超低静态电流电源管理IC延长便携应用工作时间(04-14)
- 电源设计小贴士 2:驾驭噪声电源(01-01)
- 负载点降压稳压器及其稳定性检查方法(07-19)
- 电源设计小贴士 3:阻尼输入滤波器(第一部分)(01-16)
- 高效地驱动LED(04-23)