无刷双馈电机的S函数,帮忙看看对不
function =skdj(t,x,u,flag)switch flag,
case 0,
=mdlInitializeSizes;
case 1,
sys=mdlDerivatives(t,x,u);
case 3,
sys=mdlOutputs(t,x,u);
case {2,4,9},
sys=[];
otherwise
error(['Unhandled flag=',num2str(flag)]);
end
function =mdlInitializeSizes
sizes=simsizes;
sizes.NumContStates= 7;
sizes.NumDiscStates= 0;
sizes.NumOutputs = 1;
sizes.NumInputs = 7;
sizes.DirFeedthrough = 1;
sizes.NumSampleTimes = 1;
sys = simsizes(sizes);
x0= zeros(7,1);
str = [];
ts= ;
function sys=mdlDerivatives(t,x,u)
Pa=2;
La=0.1561;
Ra=2.650;
Lar=0.15557;
Rar=2.521;
Lma=01451;
Pb=3;
Lb=0.1383;
Rb=3.400;
Lbr=0.1380;
Rbr=2.9200;
Lmb=0.1274;
J=0.2;
Tm=0;
Rc=0.05;
A=;
B=;
C=[-Ra Pa*La*x(7) 0 0 0 Pa*Lma*x(7) 0;-Pa*La*x(7) -Ra 0 0 -Pa*Lma*x(7) 0 0;0 0 -Rb Pb*Lb*x(7) 0 Pb*Lmb*x(7) 0;0 0 -Pb*x(7)*Lb -Rb Pb*x(7)*Lmb 0 0;0 0 0 0 -Rar-Rbr 0 0;0 0 0 0 0 -Rar-Rbr 0;0 0 0 0 0 0 -Rc/J];
x=;
u=;
sys=inv(A)*C*x+inv(A)*B*u;
function sys=mdlOutputs(t,x,u)
Pa=2;
La=0.1561;
Ra=2.650;
Lar=0.15557;
Rar=2.521;
Lma=01451;
Pb=3;
Lb=0.1383;
Rb=3.400;
Lbr=0.1380;
Rbr=2.9200;
Lmb=0.1274;
J=0.2;
Tm=0;
Rc=0.05;
Te=Pa*Lma*(x(2)*x(5)-x(6)*x(1))+Pb*Lmb*(-x(4)*x(5)-x(6)*x(3));
sys=(Te-Tm-Rc*x(7))/J; sizes.NumInputs = 7;????
ts也不应该设为0吧
有7个输入量吗?不是就控制绕组和功率绕组的6个电压吗? 输出是6个,可还有个负载转矩不用输入吗?
ts表示的是采样周期,我看的异步机的是0.我就用0了,用什么是怎么看出来的? 是不是数学模型有问题呢?
我看了一些文献,他们的数学模型都有不同
不知道哪一个是对的 我现在运行出来了,但+入反馈后就又不能运行了,为什么? 你用的数学模型是三相的吗?
可是你的转矩的计算怎么好像是用dq模型算的?
能看看你的数学模型吗?
我用你的来做出来的波形根本都不对 看出来了,你的这个是级联式的无刷双馈电机的模型
页:
[1]