• 大小: 0.02M
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-03-28
  • 语言: Matlab
  • 标签: matlab  

资源简介


使用matlab仿真的一个buck降压斩波电路,将带有PI控制器的电路与无PI控制器的电路响应做对比。其中PI控制器采用的是使用S函数编写的控制器,进行简单的修改就可以在仿真中实现专家PI控制等等,控制器的输入参数有Kp,Ki以及控制器输出的上下限定值。因为控制器直接控制的是PWM的脉冲宽度,所以控制器的输出值限定在0到100之间。MySource用来将要求的电压与电源的电压100v进行对比,从而输出相应脉冲宽度的PWM波形给IGBT。

资源截图

代码片段和文件信息

function [sysx0strtssimStateCompliance] = MySource(txuflagTT)

switch flag

  case 0
    [sysx0strtssimStateCompliance]=mdlInitializeSizes(txuflagTT);

  case 1
    sys=mdlDerivatives(txu);

  case 2
    sys=mdlUpdate(txu);

  case 3
    sys=mdlOutputs(txu TT);

  case 4
    sys=mdlGetTimeOfNextVarHit(txu);

  case 9
    sys=mdlTerminate(txu);

  otherwise
    DAStudio.error(‘Simulink:blocks:unhandledFlag‘ num2str(flag));

end

function [sysx0strtssimStateCompliance]=mdlInitializeSizes(txuflagTT)

sizes = simsizes;

sizes.NumContStates  = 0;
sizes.NumDiscStates  = 0;
sizes.NumOutputs     = 1;
sizes.NumInputs      = 2;
sizes.DirFeedthrough = 1;
sizes.NumSampleTimes = 1;   % at least one sample time is needed

sys = simsizes(sizes);

x0  = [];
str = [];
ts  = [TT/10 0];
simStateCompliance = ‘UnknownSimState‘;

function sys=mdlDerivatives(txu)

sys = [];

function sys=mdlUpdate(txu)

sys = []

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      19788  2015-06-27 19:44  Buck\Buck.slx

     文件       1334  2015-06-26 17:54  Buck\MySource.m

     文件       1472  2015-04-17 20:28  Buck\PI_Controller.m

     目录          0  2015-06-29 17:28  Buck

----------- ---------  ---------- -----  ----

                22594                    4


评论

共有 条评论