求教:用S-function控制的SPWM信号
我在做一个用SPWM控制的逆变器仿真,拓扑图很简单但是老师要求我用S-function模块写函数来控制IGBT的关断和导通,被难住了. 想请教,请懂S函数算法的朋友给我个方案
我用S-function-Example里的timestwo那个模版为基础,程序如下:
function = timestwo(t,x,u,flag)
switch flag,
case 0
=mdlInitializeSizes; %mdlInitializeSizes是定义初始条件
case 3
sys=mdlOutputs(t,x,u); %mdlOutputs是S函数的计算输出
case { 1, 2, 4, 9 } %case1.2.4.9在此函数里不起作用
sys=[];
.
otherwise
error(['Unhandled flag = ',num2str(flag)]);
end
function = mdlInitializeSizes()
sizes = simsizes;
sizes.NumContStates= 0;
sizes.NumDiscStates= 0;
sizes.NumOutputs = -1;% 动态的输出个数
sizes.NumInputs = -1;% 动态的输入个数
sizes.DirFeedthrough = 1;
sizes.NumSampleTimes = 1;
sys = simsizes(sizes);
str = [];
x0= [];
ts= [-1 0];
function sys = mdlOutputs(t,x,u) %这里就是写输出算法了,例子中sys = u * 2是指输出为uX2
sys = u * 2;
要得到SPWM波形,理论上是用正弦波和三角波或锯齿波相比较,通过某种算法,得到宽度不一的脉冲控制信号.我就想用一个正弦波和三角波做为输入信号,通过S函数算法,得到四个SPWM信号,控制四个IGBT的导通时间,拓扑图如下,请大家看看,
1
想请教用懂S函数算法的朋友给我写一个算法程序,谢谢
我的QQ47894281,E-mail yaojing88@163.com 怎么会是控制四个IGBTt啊? 老师给我的拓扑结构图就是4个IGBT 学习下。{:{13}:}
页:
[1]