Buck ZCS Quasi-Resonant Converter

Load the Package

<< NodAl.m
<< Average.m
<< KBM.m
<< Graphic.m

Topology Description

Circuit Description

NetList = {{VoltageSource, {1, 0}, Vi},
           {Switch, {1, 2}, S},
           {Inductor, {2, 3}, Lr},
           {Switch, {3, 0}, D},
           {Capacitor, {3, 0}, Cr},
           {Inductor, {3, 4}, L},
           {Capacitor, {4, 0}, C},
           {Resistor, {4, 0}, R}};
InputVars = {Vi};

State-Space Model

Switching Sequence

SwitchStates = {{S -> 1, D -> 1}, {S -> 1, D -> 0},
                {S -> 0, D -> 0}, {S -> 0, D -> 1}};

State-Space Models

{A,  B,  StateVars}  =  
      StateSpaceModel[NetList,  InputVars,  SwitchStates]

Averaged Model

Additional Inputs

SlowFast = {{2, 4}, {1, 3}};

\(s\  = \ Length[SlowFast[\([1]\)]]; 

    nf\  = \ Length[SlowFast[\([2]\)]]; 

    SlowVars\  = \ 
      Table[StateVars[\([SlowFast[\([1, \ i]\)]]\)]\  /. \ {t\  -> \ t0}, 
        \ {i, \ 1, \ ns}]; 

    FastVars\  = \ 
      If[nf == 0, \ {}, 
        Table[StateVars[\([SlowFast[\([2, \ i]\)]]\)], \ \ {i, \ 1, \ nf}]]; 
    \)

BCs = {0, {FastVars[[1]], SlowVars[[1]]}, 
       {FastVars[[1]], 0}, {FastVars[[2]], 0}, Ts};
IV = {0, 0};

Averaged Modeling

FastSolus  =  
      Relaxation[A,  B,  InputVars,  SlowFast,  SlowVars,  FastVars,  
        BCs,  IV];

SlowEqus  =  
      Decoupling[FastSolus,  A,  B,  SlowFast,  SlowVars,  InputVars,  
        FastSolus[[3]]];

AveragedModel = Averaging[SlowEqus, BCs[[-1]]];
Simplify[AveragedModel /. {x[2][t0] -> iL, x[4][t0] -> vC}]