IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MATLAB Discussion :

[solve] no load test machine asynchrone


Sujet :

MATLAB

  1. #1
    Futur Membre du Club
    Inscrit en
    Décembre 2010
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 10
    Points : 5
    Points
    5
    Par défaut [solve] no load test machine asynchrone
    Bonjour,
    j ai un petit souci avec mon code matlab qui devrait me permettre de trouver les paramètres Xm et Rc d'une machine asynchrone en faisant un no load test. Cependant la fonction solve ne permet pas de trouver les valeurs de ces deux paramètres en plus de Vm. En exécutant, mon code j'ai l erreur suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Vm =
     
    solvelib::Union({matrix([[(z1*(z2^2*(R1 + Rc)^2 + R1^2*Rc^2)^(1/2))/(Rc*z2)], [z1], [z2]])}, [z1, z2], {matrix([[(P1*Rc - I1^2*R1*Rc)^(1/2)], [(P1*Rc - I1^2*R1*Rc)/Q1]]), matrix([[-(P1*Rc - I1^2*R1*Rc)^(1/2)], [(P1*Rc - I1^2*R1*Rc)/Q1]])} minus {matrix([[z], [0]]) | z in C_})
     
     
    Rc =
     
         []
     
     
    Xm =
     
         []
    Je ne sais pas d ou ca vient et pourtant, il me semble qu'il y a bien 3 équations pour 3 inconnues et donc le système devrait pouvoir être résolu.La fonction solve semble aussi être la plus adéquate. Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    clc;
    clear;
    close all;
     
    % We will do a per phase analysis
    %% Input Data
    R1=0.125;                          % Stator resistance per phase (delta)
    f=50;                              % Frequency
    Poles=4;                           % No. of poles
    % No load Test Data
     
    %No load Currents
    I1=18.3;                           % Line current at no load
     
    %No load Applied Voltage
    V_nl=401.6;                         %line to line voltage
     
    Pin_nl=835;                        % No Load total input Power = 3*I1*V_nl*PF_nl
     
    %% Calculation using no-load test data
    V1=V_nl/sqrt(3);                    % Calculate phase voltage for per phase circuit
    P1=Pin_nl/3;                        % active power per phase
    P_scl=3*I1*I1*R1;                   % Stator copper losses
    P_rot=Pin_nl-P_scl;                 % Rotational Losses
     
    PF_nl=Pin_nl/(3*V1*I1);             % No load power factor = cos(theta)
    angle_nl=acos(PF_nl)*180/pi;        % No load power factor angle in degrees
    angle_nl_r=acos(PF_nl);             % No load power factor angle in radians
    Q1=V1*I1*sin(angle_nl_r);           % reactive power per phase
     
    %solve('P1=R1*I1^2+Vm*Vm/Rc','Q1=Vm^2/Xm','Vm=V1*Rc*Xm/sqrt((R1*Rc)^2+(Xm*(Rc+R1))^2)')
    [Vm,Rc,Xm]=solve('P1=R1*I1^2+Vm*Vm/Rc','Q1=Vm^2/Xm','Vm=V1*Rc*Xm/sqrt((R1*Rc)^2+(Xm*(Rc+R1))^2)')
     
    %Note that we can confirm that sqrt(3)*I1*V_nl=sqrt(P1^2+(3*Q1)^2) as
    %waited
    % i. e.  sqrt(835^2+(3*4234)^2) = 12729
    Avez-vous une idée du problème? Si ça se trouve, c'est quelque chose de vraiment simple à modifier, mais là malgré quelques recherches, je sèche et je me souviens d'essais antécédents avec matlab que les fonctions solve, fsolve et cie sont parfois capricieuses...
    Meilleures salutations.

  2. #2
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    Par défaut
    Bonjour,

    tu cherches l'écriture symbolique des solutions dans le cas général? Ou bien tu cherches les solutions avec les données que tu as définies?

    Dans le deuxième cas, il faut indiquer les valeurs de tes données pour chaque équation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [Vm,Rc,Xm]=solve(subs('P1=R1*I1^2+Vm*Vm/Rc',{'R1','I1','P1'},{R1,I1,P1}),subs('Q1=Vm^2/Xm','Q1',Q1),subs('Vm=V1*Rc*Xm/sqrt((R1*Rc)^2+(Xm*(Rc+R1))^2)',{'V1','R1'},{V1,R1}))

  3. #3
    Futur Membre du Club
    Inscrit en
    Décembre 2010
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    Bonjour,
    tout d'abord merci pour la réponse. Ce que je cherche en fait, c'est simplement les solutions de ces équations donc des valeurs de retour, genre au hasard:
    Rc = [200] donc 200 ohms
    Vm =[390] donc 390 V
    et Xm = [100] donc 100 ohms

    Ces différentes valeurs seraient une partie des paramètres de ma machine asynchrone trouvés grace au no load test.

    Si j'essaie ta ligne de code, malheureusement, je trouve une fort sympathique suite de chiffres assez peu amène .... :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Vm =
     
     (15*1164632578360666702366904850592063793794509884527489005172956063650003893939671663412556987873180191783980677882145990846604997494261181624321546939102626880527916702095313134806032927317192372902257974777684265436830169209442574808773384514226752209127758553134622463519977782608979854047241^(1/2))/4509121344696291699758274042047725970995975412223342811653363562408441082209192083457507935855676269221154417501022657143664352719669876502822912 + 4985964624183701475105085870300211/43910739019734357722145291763712
     4985964624183701475105085870300211/43910739019734357722145291763712 - (15*1164632578360666702366904850592063793794509884527489005172956063650003893939671663412556987873180191783980677882145990846604997494261181624321546939102626880527916702095313134806032927317192372902257974777684265436830169209442574808773384514226752209127758553134622463519977782608979854047241^(1/2))/4509121344696291699758274042047725970995975412223342811653363562408441082209192083457507935855676269221154417501022657143664352719669876502822912
     
     
    Rc =
     
     (3410597287976746821832743433281625979879119838064918927574616442184396330830303732931139139989284216879274254169393483597*((6117211623*1164632578360666702366904850592063793794509884527489005172956063650003893939671663412556987873180191783980677882145990846604997494261181624321546939102626880527916702095313134806032927317192372902257974777684265436830169209442574808773384514226752209127758553134622463519977782608979854047241^(1/2))/50283921552240491054708727140980764921599926916026827873398664871059967133661711747694191429316806483829616799671173015567948961426350334610862243840 + 83301186828006163513341257746269515606630549401637883480945865661418490276027115426193240187341673022950679270475094568793048194449/20064685502923757330842444203860674068996970809419403793163787862358845772532986946084185721479373658224010697371069867622400)^(1/2))/4132930111081329225816612777169312292724513459001708244236720090857292222234669365585819033417342126384947829504093696 - (1977294367687829847310238195946554914812332891467215346683730261876287422967771121394993279733108069348283313317095946591699084389676534988800*((6117211623*1164632578360666702366904850592063793794509884527489005172956063650003893939671663412556987873180191783980677882145990846604997494261181624321546939102626880527916702095313134806032927317192372902257974777684265436830169209442574808773384514226752209127758553134622463519977782608979854047241^(1/2))/50283921552240491054708727140980764921599926916026827873398664871059967133661711747694191429316806483829616799671173015567948961426350334610862243840 + 83301186828006163513341257746269515606630549401637883480945865661418490276027115426193240187341673022950679270475094568793048194449/20064685502923757330842444203860674068996970809419403793163787862358845772532986946084185721479373658224010697371069867622400)^(3/2))/19897114515829412627134820260903028866278873405622617851225606139317211243956075828005932128423502068444506233868535246422630475220134921892704461
     (3410597287976746821832743433281625979879119838064918927574616442184396330830303732931139139989284216879274254169393483597*(83301186828006163513341257746269515606630549401637883480945865661418490276027115426193240187341673022950679270475094568793048194449/20064685502923757330842444203860674068996970809419403793163787862358845772532986946084185721479373658224010697371069867622400 - (6117211623*1164632578360666702366904850592063793794509884527489005172956063650003893939671663412556987873180191783980677882145990846604997494261181624321546939102626880527916702095313134806032927317192372902257974777684265436830169209442574808773384514226752209127758553134622463519977782608979854047241^(1/2))/50283921552240491054708727140980764921599926916026827873398664871059967133661711747694191429316806483829616799671173015567948961426350334610862243840)^(1/2))/4132930111081329225816612777169312292724513459001708244236720090857292222234669365585819033417342126384947829504093696 - (1977294367687829847310238195946554914812332891467215346683730261876287422967771121394993279733108069348283313317095946591699084389676534988800*(83301186828006163513341257746269515606630549401637883480945865661418490276027115426193240187341673022950679270475094568793048194449/20064685502923757330842444203860674068996970809419403793163787862358845772532986946084185721479373658224010697371069867622400 - (6117211623*1164632578360666702366904850592063793794509884527489005172956063650003893939671663412556987873180191783980677882145990846604997494261181624321546939102626880527916702095313134806032927317192372902257974777684265436830169209442574808773384514226752209127758553134622463519977782608979854047241^(1/2))/50283921552240491054708727140980764921599926916026827873398664871059967133661711747694191429316806483829616799671173015567948961426350334610862243840)^(3/2))/19897114515829412627134820260903028866278873405622617851225606139317211243956075828005932128423502068444506233868535246422630475220134921892704461
     
     
    Xm =
     
     1164632578360666702366904850592063793794509884527489005172956063650003893939671663412556987873180191783980677882145990846604997494261181624321546939102626880527916702095313134806032927317192372902257974777684265436830169209442574808773384514226752209127758553134622463519977782608979854047241^(1/2)/5382308315736691996542192604095105900073336194186733337288019501018242494333130488314328330627297488689099615884012351728269488516731874962309120 + 453269511289427406827735079118201/71473651368116267222416805068800
     453269511289427406827735079118201/71473651368116267222416805068800 - 1164632578360666702366904850592063793794509884527489005172956063650003893939671663412556987873180191783980677882145990846604997494261181624321546939102626880527916702095313134806032927317192372902257974777684265436830169209442574808773384514226752209127758553134622463519977782608979854047241^(1/2)/5382308315736691996542192604095105900073336194186733337288019501018242494333130488314328330627297488689099615884012351728269488516731874962309120

  4. #4
    Invité
    Invité(e)
    Par défaut
    magelan t'a déjà "fourni" la fonction adéquate pour cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    subs(Vm)
    subs(Xm)
    subs(Rc)

  5. #5
    Futur Membre du Club
    Inscrit en
    Décembre 2010
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    Bonjour,
    merci à vous, magelan et à Winjerome pour votre réponse. En effet en appliquant le code avec les subs(...) j'obtiens bien des valeurs proches de la réalité. Je dis proche de la réalité, puisqu en effectuant " à la main" les calculs, je ne trouve pas les bons résultats. Je m'explique :
    J'obtiens les résultats suivants après simulation
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    No load calculations to find the parameters Rc and Xm without approximation with the line current
    ------------------------------------------------------
    Sator Resistance         = R1   = 0.125 ohm
    Line to line voltage     = V_nl = 401.6 V
    No load Current          = I1   = 18.3 A
    No load Input Power Pin  = Pin  = 835 W
    Phase Voltage at no load = V1   = 231.8639 V
    No Load power factor     = PFnl = 0.065597
    Power factor angle       = phi  = 86.2389 degree
    Stator Copper Losses     = Pscl = 125.5838 W
    Rotational Losses        = Prot = 709.4162 W
     
    Vm =
     
      227.0733
        0.0221
     
     
    Xm =
     
       12.6823
        0.0012
     
     
    Rc =
     
      231.7251
        2.2875
     
    >> Q1
     
    Q1 =
     
      4.2340e+003
     
    >>
    avec un code qui est désormais le même qu 'avant, plus les 3 subs(Vm),subs(Xm),subs(Rc)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    clc;
    clear;
    close all;
     
    % We will do a per phase analysis
    %% Input Data
    R1=0.125;                          % Stator resistance per phase (delta)
    f=50;                              % Frequency
    Poles=4;                           % No. of poles
    % No load Test Data
     
    %No load Currents
    I1=18.3;                           % Line current at no load
     
    %No load Applied Voltage
    V_nl=401.6;                         %line to line voltage
     
    Pin_nl=835;                        % No Load total input Power = 3*I1*V_nl*PF_nl
     
    %% Calculation using no-load test data
    V1=V_nl/sqrt(3);                    % Calculate phase voltage for per phase circuit
    P1=Pin_nl/3;                        % active power per phase
    P_scl=3*I1*I1*R1;                   % Stator copper losses
    P_rot=Pin_nl-P_scl;                 % Rotational Losses
     
    PF_nl=Pin_nl/(3*V1*I1);             % No load power factor = cos(theta)
    angle_nl=acos(PF_nl)*180/pi;        % No load power factor angle in degrees
    angle_nl_r=acos(PF_nl);             % No load power factor angle in radians
    Q1=V1*I1*sin(angle_nl_r);           % reactive power per phase
     
    [Vm,Rc,Xm]=solve(subs('P1=R1*I1^2+Vm*Vm/Rc',{'R1','I1','P1'},{R1,I1,P1}),subs('Q1=Vm^2/Xm','Q1',Q1),subs('Vm=V1*Rc*Xm/sqrt((R1*Rc)^2+(Xm*(Rc+R1))^2)',{'V1','R1'},{V1,R1}));
    %solve('P1=R1*I1^2+Vm^2/Rc','Q1=Vm^2/Xm','Vm=V1*Rc*Xm/sqrt((R1*Rc)^2+(Xm*(Rc+R1))^2)')
    %[Vm,Rc,Xm]=solve('P1=R1*I1^2+Vm*Vm/Rc','Q1=Vm^2/Xm','Vm=V1*Rc*Xm/sqrt((R1*Rc)^2+(Xm*(Rc+R1))^2)')
     
    %Note that we can confirm that sqrt(3)*I1*V_nl=sqrt(P1^2+(3*Q1)^2) as
    %waited
    % i. e.  sqrt(835^2+(3*4234)^2) = 12729
    disp(['No load calculations to find the parameters Rc and Xm without approximation with the line current'])
    disp(['------------------------------------------------------'])
    disp(['Sator Resistance         = R1   = ' num2str(R1) ' ohm'])
    disp(['Line to line voltage     = V_nl = ' num2str(V_nl) ' V']);
    disp(['No load Current          = I1   = ' num2str(I1) ' A']);
    disp(['No load Input Power Pin  = Pin  = ' num2str(Pin_nl) ' W'])
    disp(['Phase Voltage at no load = V1   = ' num2str(V1) ' V']);
    disp(['No Load power factor     = PFnl = ' num2str(PF_nl)]);
    disp(['Power factor angle       = phi  = ' num2str(angle_nl) ' degree']);
    disp(['Stator Copper Losses     = Pscl = ' num2str(P_scl) ' W']);
    disp(['Rotational Losses        = Prot = ' num2str(P_rot) ' W']);
    Vm=subs(Vm)
    Xm=subs(Xm)
    Rc=subs(Rc)

    Le problème est cependant le suivant:
    J'ai Q1 = 4234
    et si j'utilise les résultats trouvés soit Vm=227.0733 et Xm=12.6823
    et essaie de calculer mon Q1 : Q1 = 227.0733^2/12.6823 = 4065.688

    Et donc une erreur d'environ 170 VA (puissance réactive) qui me semble difficile à imputer à des erreurs d arrondi ....
    Notez que je ne sais pas trop quoi faire de la seconde réponse donnée pour Xm,Vm et Rc vue qu'elle est d'un point de vue physique irréaliste.
    Avez-vous une idée ?
    Merci d'avance

  6. #6
    Futur Membre du Club
    Inscrit en
    Décembre 2010
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    Pas même quelqu'un qui aurait une petite idée d'où vient cette différence ?
    Merci.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Simulation machine asynchrone
    Par flahaymen dans le forum MATLAB
    Réponses: 2
    Dernier message: 20/12/2008, 21h10
  2. Simuler le fonctionnement d'une machine asynchrone
    Par danielc34 dans le forum LabVIEW
    Réponses: 2
    Dernier message: 08/04/2008, 13h09
  3. Modèle machine asynchrone
    Par bassemb dans le forum Simulink
    Réponses: 1
    Dernier message: 04/04/2008, 23h27
  4. load test et webtest exception
    Par ddoc dans le forum C#
    Réponses: 0
    Dernier message: 30/08/2007, 12h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo