声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2218|回复: 3

[综合讨论] 求教:用S-function控制的SPWM信号

[复制链接]
发表于 2008-4-7 11:35 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
我在做一个用SPWM控制的逆变器仿真,拓扑图很简单

但是老师要求我用S-function模块写函数来控制IGBT的关断和导通,被难住了. 想请教,请懂S函数算法的朋友给我个方案

我用S-function-Example里的timestwo那个模版为基础,程序如下:


function [sys,x0,str,ts] = timestwo(t,x,u,flag)  

switch flag,

  case 0
    [sys,x0,str,ts]=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 [sys,x0,str,ts] = 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的导通时间,拓扑图如下,请大家看看,
[local]1[/local]

想请教用懂S函数算法的朋友给我写一个算法程序,谢谢
我的QQ47894281,E-mail yaojing88@163.com

BoostSPWMinverter.mdl

63.59 KB, 下载次数: 43

回复
分享到:

使用道具 举报

发表于 2008-4-13 19:28 | 显示全部楼层
怎么会是控制四个IGBTt啊?
 楼主| 发表于 2008-5-2 18:13 | 显示全部楼层
老师给我的拓扑结构图就是4个IGBT
发表于 2011-5-10 14:39 | 显示全部楼层
学习下。
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-5-3 15:52 , Processed in 0.067396 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表