function [sys,x0,str,ts]=UIstate2(t,x,u,flag,rps,rcs,lps,lcs,lpm,lcm,j,rpr,rcr,lpr,lcr,pp,pc)
%SIMOM2 Example state-space M-file S-function with external A,B,C,D matrices
% This S-function implements a system described by state-space equations:
%
% dx/dt = A*x + B*u
% y = C*x + D*u
%
% where x is the state vector, u is vector of inputs, and y is the vector
% of outputs. The matrices, A,B,C,D are provided externally as parameters
% to this M-file.
%
% See sfuntmpl.m for a general S-function template.
%
% See also SFUNTMPL.
% Copyright 1990-2002 The MathWorks, Inc.
% $Revision: 1.20 $
switch flag,
%%%%%%%%%%%%%%%%%%
% Initialization %
%%%%%%%%%%%%%%%%%%
case 0
[sys,x0,str,ts] = mdlInitializeSizes();
%%%%%%%%%%%%%%%
% Derivatives %
%%%%%%%%%%%%%%%
case 1
sys = mdlDerivatives(t,x,u,flag,rps,rcs,lps,lcs,lpm,lcm,j,rpr,rcr,lpr,lcr,pp,pc);
%%%%%%%%%%%
% Outputs %
%%%%%%%%%%%
case 3
sys = mdlOutputs(t,x,u,flag,rps,rcs,lps,lcs,lpm,lcm,j,rpr,rcr,lpr,lcr,pp,pc);
%%%%%%%%%%%%%
% Terminate %
%%%%%%%%%%%%%
case 9
sys = []; % do nothing
end
%end simom2
%
%=============================================================================
% mdlInitializeSizes
% Return the sizes, initial conditions, and sample times for the S-function.
%=============================================================================
%
function [sys,x0,str,ts] = mdlInitializeSizes()
sizes = simsizes;
sizes.NumContStates = 7;
sizes.NumDiscStates = 0;
sizes.NumOutputs = 8;
sizes.NumInputs = 5;
sizes.DirFeedthrough = 0;
sizes.NumSampleTimes = 1;
sys = simsizes(sizes);
x0 = [0; 0; 0; 0; 0; 0; 200];
str = [];
ts = [-1 0];
% end mdlInitializeSizes
%
%=============================================================================
% mdlDerivatives
% Return the derivatives for the continuous states.
%=============================================================================
%
function sys = mdlDerivatives(t,x,u,flag,rps,rcs,lps,lcs,lpm,lcm,j,rpr,rcr,lpr,lcr,pp,pc)
L=[lps 0 0 0 lpm 0;
0 lps 0 0 0 lpm;
0 0 lcs 0 -lcm 0;
0 0 0 lcs 0 lcm;
lpm 0 -lcm 0 (lpr+lcr) 0;
0 lpm 0 lcm 0 (lpr+lcr)];
wr=x(7);
R=[ -rps pp*wr*lps 0 0 0 pp*wr*lpm;
-pp*wr*lps -rps 0 0 -pp*wr*lpm 0;
0 0 -rcs pc*wr*lcs 0 pc*wr*lcm;
0 0 -pc*wr*lcs -rcs pc*wr*lcm 0;
0 0 0 0 -(rpr+rcr) 0;
0 0 0 0 0 -(rpr+rcr)];
A=inv(L)*R;
E=[1 0 0 0;
0 1 0 0;
0 0 1 0;
0 0 0 1;
0 0 0 0;
0 0 0 0];
B=inv(L)*E;
X=[x(1); x(2); x(3); x(4); x(5); x(6)];
U=[u(1); u(2); u(3); u(4)];
dx=A*X + B*U;
dx7=((pp*lpm*(x(2)*x(5)-x(1)*x(6))-pc*lcm*(x(4)*x(5)+x(3)*x(6)))-u(5))/j;
%dQ=F*A*inv(F)*Q+F*B*U;
%sys = A*x + B*U;
sys =[dx(1);dx(2);dx(3);dx(4);dx(5);dx(6);dx7];
% end mdlDerivatives
%
%=============================================================================
% mdlOutputs
% Return the output vector for the S-function
%=============================================================================
%
function sys = mdlOutputs(t,x,u,flag,rps,rcs, lps, lcs, lpm, lcm,j,rpr,rcr,lpr,lcr,pp,pc)
C=eye(7);
y= C*x;
y8=pp*lpm*(x(2)*x(5)-x(1)*x(6))-pc*lcm*(x(4)*x(5)+x(3)*x(6));
%sys = C*x;
sys = [y(1);y(2);y(3);y(4);y(5);y(6);y(7);y8];
没有合适的资源?快使用搜索试试~ 我知道了~
无刷双馈电机仿真模型以及开环特性仿真程序
共3个文件
m:2个
mdl:1个
需积分: 0 9 下载量 42 浏览量
2023-11-20
15:29:29
上传
评论 1
收藏 11KB ZIP 举报
温馨提示
无刷双馈电机是一种新型的交流电机,同时具有异步电机和同步电机的特性。无刷双馈电机结构特殊,取消了滑环和电刷,维护成本大大降低,可靠性高,在交流调速和风力发电系统中具有广阔的应用前景。无刷双馈电机不仅可以运行在不同的工况下,同时具有异步电机和同步电机的特性。无刷双馈电机(brushless doubly-fed machine,BDFM)作电动机运行时,其稳态转速只由功率绕组和控制绕组的频率和极对数决定,而不随负载的改变而改变,它具有良好的机械特性和优良的调速性能,并且控制用变频器提供的功率只占电机总功率的一小部分,故无刷双馈电动机应用前景广阔。 开环电压控制下,电动机运行会产生不稳定甚至失步的现象,其稳定性与电机参数、运行范围以及控制电压有关。无刷双馈电机仿真模型以及开环特性仿真程序。通过MATLAB首先对无刷双馈电机进行了仿真建模,包括无刷双馈电机本体模型,以及在不同的控制绕组频率下,研究无刷双馈电机的稳定运行区间。
资源推荐
资源详情
资源评论
收起资源包目录
BDFM开环仿真.zip (3个子文件)
BDFM开环仿真
cbdfmmotor.mdl 59KB
UIstate2.m 4KB
CBDFMcanshudSPACE.m 252B
共 3 条
- 1
资源评论
xinlu421
- 粉丝: 2
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功