声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1540|回复: 6

[基本模块类] 无刷双馈电机的S函数,帮忙看看对不

[复制链接]
发表于 2007-6-15 10:47 | 显示全部楼层 |阅读模式

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

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

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

switch flag,
    case 0,
        [sys,x0,str,ts]=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 [sys,x0,str,ts]=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  = [0 0];

        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=[La 0 0 0 Lma 0 0;0 La 0 0 0 Lma 0;0 0 Lb 0 -Lmb 0 0;0 0 0 Lb 0 Lmb 0;Lma 0 -Lmb 0 Lar+Lbr 0 0;0 Lma 0 Lmb 0 Lar+Lbr 0;0 0 0 0 0 0 1];
        B=[1 0 0 0 0 0;0 1 0 0 0 0;0 0 1 0 0 0;0 0 0 1 0 0;0 0 0 0 0 0;0 0 0 0 0 0;0 0 0 0 0 0];
        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=[x(1);x(2);x(3);x(4);x(5);x(6);x(7)];
        u=[u(1);u(2);u(3);u(4);0;0];
        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;
回复
分享到:

使用道具 举报

发表于 2007-6-15 11:21 | 显示全部楼层
sizes.NumInputs      = 7;  ????
ts也不应该设为0吧
有7个输入量吗?不是就控制绕组和功率绕组的6个电压吗?
 楼主| 发表于 2007-6-15 11:24 | 显示全部楼层
输出是6个,可还有个负载转矩不用输入吗?
ts表示的是采样周期,我看的异步机的是0.我就用0了,用什么是怎么看出来的?
发表于 2007-6-15 11:39 | 显示全部楼层
是不是数学模型有问题呢?
我看了一些文献,他们的数学模型都有不同
不知道哪一个是对的
 楼主| 发表于 2007-6-15 12:26 | 显示全部楼层
我现在运行出来了,但+入反馈后就又不能运行了,为什么?
发表于 2007-6-21 11:29 | 显示全部楼层
你用的数学模型是三相的吗?
可是你的转矩的计算怎么好像是用dq模型算的?
能看看你的数学模型吗?
我用你的来做出来的波形根本都不对
发表于 2007-6-21 15:06 | 显示全部楼层
看出来了,你的这个是级联式的无刷双馈电机的模型
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-12-26 09:30 , Processed in 0.073765 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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