%DCM
clc,clear,close all
%变量
syms Vin Vout Vd Iout fsw Don Ton Np2Ns Dcrm r Lp Ipmax Icrm Dr Iout2Icrm Isdelta Ipdelta;
%方程
equ1 = Dcrm*(Vin/Np2Ns+Vout+Vd) == Vout+Vd; %伏秒平衡
equ2 = Ton == Don/fsw; %占空比
equ3 = Iout2Icrm ==Iout/Icrm; %输出电流/临界电流
equ4 = Don/Dcrm == (Iout/Icrm)^(1/2); %占空比/临界占空比
equ5 = Lp == (Np2Ns*Vin^2*(Np2Ns*Vd + Np2Ns*Vout))/(2*Icrm*fsw*(Vin + Np2Ns*Vd + Np2Ns*Vout)^2); %原边电感
equ6 = Ipmax == (2*Iout*Vd + 2*Iout*Vout)/(Don*Vin); %原边最大电流
%参数
handles.Vin_status =1; handles.Vin =100 ;
handles.Vout_status =1; handles.Vout =12 ;
handles.Vd_status =1; handles.Vd =0.7 ;
handles.Iout_status =1; handles.Iout =0.2 ;
handles.Icrm_status =0; handles.Icrm =0.5 ;
handles.Don_status =0; handles.Don =0.32 ;
handles.Ton_status =0; handles.Ton =0.32e-5 ;
handles.fsw_status =0; handles.fsw =100e3 ;
handles.Np2Ns_status =1; handles.Np2Ns =5 ;
handles.Ipmax_status =0; handles.Ipmax =0.2 ;
handles.Lp_status =1; handles.Lp =1.5e-3 ;
handles.Dcrm_status =0; handles.Dcrm =0.45 ;
handles.Iout2Icrm_status=1; handles.Iout2Icrm =0.99 ;
input=[];
if(~handles.Vin_status ) , input=[input,Vin ]; end
if(~handles.Vout_status ) , input=[input,Vout ]; end
if(~handles.Vd_status ) , input=[input,Vd ]; end
if(~handles.Iout_status ) , input=[input,Iout ]; end
if(~handles.Icrm_status ) , input=[input,Icrm ]; end
if(~handles.Don_status ) , input=[input,Don ]; end
if(~handles.Ton_status ) , input=[input,Ton ]; end
if(~handles.fsw_status ) , input=[input,fsw ]; end
if(~handles.Np2Ns_status ) , input=[input,Np2Ns ]; end
if(~handles.Ipmax_status ) , input=[input,Ipmax ]; end
if(~handles.Lp_status ) , input=[input,Lp ]; end
if(~handles.Dcrm_status ) , input=[input,Dcrm ]; end
if(~handles.Iout2Icrm_status) , input=[input,Iout2Icrm ]; end
output=solve([equ1,equ2,equ3,equ4,equ5,equ6],input);
if(~handles.Vin_status ) , Vin =output.Vin ; end
if(~handles.Vout_status ) , Vout =output.Vout ; end
if(~handles.Vd_status ) , Vd =output.Vd ; end
if(~handles.Iout_status ) , Iout =output.Iout ; end
if(~handles.Icrm_status ) , Icrm =output.Icrm ; end
if(~handles.Don_status ) , Don =output.Don ; end
if(~handles.Ton_status ) , Ton =output.Ton ; end
if(~handles.fsw_status ) , fsw =output.fsw ; end
if(~handles.Np2Ns_status ) , Np2Ns =output.Np2Ns ; end
if(~handles.Ipmax_status ) , Ipmax =output.Ipmax ; end
if(~handles.Lp_status ) , Lp =output.Lp ; end
if(~handles.Dcrm_status ) , Dcrm =output.Dcrm ; end
if(~handles.Iout2Icrm_status) , Iout2Icrm =output.Iout2Icrm ; end
textnum=13;i_textnum=1;fontsize=12;position=[0.1,0.5];
subplot(textnum,2,i_textnum*2-1); axis off;text('Interpreter','latex','String',['$','Vin = ',latex(Vin ),'$'],'Position',position,'FontSize',fontsize);i_textnum=i_textnum+1;
subplot(textnum,2,i_textnum*2-1); axis off;text('Interpreter','latex','String',['$','Vout = ',latex(Vout ),'$'],'Position',position,'FontSize',fontsize);i_textnum=i_textnum+1;
subplot(textnum,2,i_textnum*2-1); axis off;text('Interpreter','latex','String',['$','Vd = ',latex(Vd ),'$'],'Position',position,'FontSize',fontsize);i_textnum=i_textnum+1;
subplot(textnum,2,i_textnum*2-1); axis off;text('Interpreter','latex','String',['$','Iout = ',latex(Iout ),'$'],'Position',position,'FontSize',fontsize);i_textnum=i_textnum+1;
subplot(textnum,2,i_textnum*2-1); axis off;text('Interpreter','latex','String',['$','Icrm = ',latex(Icrm ),'$'],'Position',position,'FontSize',fontsize);i_textnum=i_textnum+1;
subplot(textnum,2,i_textnum*2-1); axis off;text('Interpreter','latex','String',['$','Don = ',latex(Don ),'$'],'Position',position,'FontSize',fontsize);i_textnum=i_textnum+1;
subplot(textnum,2,i_textnum*2-1); axis off;text('Interpreter','latex','String',['$','Ton = ',latex(Ton ),'$'],'Position',position,'FontSize',fontsize);i_textnum=i_textnum+1;
subplot(textnum,2,i_textnum*2-1); axis off;text('Interpreter','latex','String',['$','fsw = ',latex(fsw ),'$'],'Position',position,'FontSize',fontsize);i_textnum=i_textnum+1;
subplot(textnum,2,i_textnum*2-1); axis off;text('Interpreter','latex','String',['$','Np2Ns = ',latex(Np2Ns ),'$'],'Position',position,'FontSize',fontsize);i_textnum=i_textnum+1;
subplot(textnum,2,i_textnum*2-1); axis off;text('Interpreter','latex','String',['$','Ipmax = ',latex(Ipmax ),'$'],'Position',position,'FontSize',fontsize);i_textnum=i_textnum+1;
subplot(textnum,2,i_textnum*2-1); axis off;text('Interpreter','latex','String',['$','Lp = ',latex(Lp ),'$'],'Position',position,'FontSize',fontsize);i_textnum=i_textnum+1;
subplot(textnum,2,i_textnum*2-1); axis off;text('Interpreter','latex','String',['$','Dcrm = ',latex(Dcrm ),'$'],'Position',position,'FontSize',fontsize);i_textnum=i_textnum+1;
subplot(textnum,2,i_textnum*2-1); axis off;text('Interpreter','latex','String',['$','Iout2Icrm = ',latex(Iout2Icrm ),'$'],'Position',position,'FontSize',fontsize);i_textnum=i_textnum+1;
if(handles.Vin_status ) , Vin = handles.Vin ; end
if(handles.Vout_status ) , Vout = handles.Vout ; end
if(handles.Vd_status ) , Vd = handles.Vd ; end
if(handles.Iout_status ) , Iout = handles.Iout ; end
if(handles.Icrm_status ) , Icrm = handles.Icrm ; end
if(handles.Don_status ) , Don = handles.Don ; end
if(handles.Ton_status ) , Ton = handles.Ton ; end
if(handles.fsw_status ) , fsw = handles.fsw ; end
if(handles.Np2Ns_status ) , Np2Ns = handles.Np2Ns ; end
if(handles.Ipmax_status ) , Ipmax = handles.Ipmax ; end
if(handles.Lp_status ) , Lp = handles.Lp ; end
if(handles.Dcrm_status ) , Dcrm = handles.Dcrm ; end
if(handles.Iout2Icrm_status ) , Iout2Icrm = handles.Iout2Icrm ; end
Vin =vpa(subs(Vin ),4)
Vout =vpa(subs(Vout ),4)
Vd =vpa(subs(Vd ),4)
Iout =vpa(subs(Iout ),4)
Icrm =vpa(subs(Icrm ),4)
Don =vpa(subs(Don ),4)
Ton =vpa(subs(Ton ),4)
fsw =vpa(subs(fsw ),4)
Np2Ns =vpa(subs(Np2Ns ),4)
Ipmax =vpa(subs(Ipmax ),4)
Lp =vpa(subs(Lp ),4)
Dcrm =vpa(subs(Dcrm ),4)
Iout2Icrm =vpa(subs(Iout2Icrm ),4)
textnum=13;i_textnum=1;fontsize=12;position=[0.1,0.5];
subplot(textnum,2,i_textnum*2); axis off;text('Interpreter','latex','String',['$','Vin = ',latex( Vin ),'$'],'Position',position,'FontSize',fontsize);i_textnum=i_textnum+1;
subplot(textnum,2,i_textnum*2); axis off;text('Interpreter','latex','String',['$','Vout = ',latex( Vout ),'$'],'Position',position,'FontSize',fontsize);i_textnum=i_textnum+1;
subplot(textnum,2,i_textnum*2); axis off;text('Interpreter','latex','String',['$','Vd = ',latex( Vd
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
基于Matlab辅助设计开关电源仿真完整源码+数据(课程设计).zip 已获导师指导并通过的97分的高分课程设计项目,可作为课程设计和期末大作业,下载即用无需修改,项目完整确保可以运行。 基于Matlab辅助设计开关电源仿真完整源码+数据(课程设计).zip 已获导师指导并通过的97分的高分课程设计项目,可作为课程设计和期末大作业,下载即用无需修改,项目完整确保可以运行。基于Matlab辅助设计开关电源仿真完整源码+数据(课程设计).zip 已获导师指导并通过的97分的高分课程设计项目,可作为课程设计和期末大作业,下载即用无需修改,项目完整确保可以运行。基于Matlab辅助设计开关电源仿真完整源码+数据(课程设计).zip 已获导师指导并通过的97分的高分课程设计项目,可作为课程设计和期末大作业,下载即用无需修改,项目完整确保可以运行。基于Matlab辅助设计开关电源仿真完整源码+数据(课程设计).zip 已获导师指导并通过的97分的高分课程设计项目,可作为课程设计和期末大作业,下载即用无需修改,项目完整确保可以运行。基于Matlab辅助设计开关电源仿真完整源码+数据(课
资源推荐
资源详情
资源评论
收起资源包目录
基于Matlab辅助设计开关电源仿真.zip (6个子文件)
基于Matlab辅助设计开关电源仿真
x_2_Vout.m 2KB
Untitled3.m 3KB
DCM_use_all.m 10KB
Vout_2_x.m 2KB
my_solve.m 2KB
DCM_use.m 3KB
共 6 条
- 1
资源评论
不安分的小女孩
- 粉丝: 9576
- 资源: 2225
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功