Bonjour,
Je suis en train de faire une simulation sous Simulink d'un moteur synchrone avec les équations classiques (référentiel dq):http://www.utc.fr/lec/theses/manuscr...se_EC_Doct.pdf par exemple (page 17).
Donc voilà, je régule mon moteur à 800 tr/min par exemple et j'enregistre les signaux de commandes (ud et uq) puis je récupére les signaux de sortie(id,iq,vitesse). J'ai crée un fichier où j'implémente les moindres carrées. Mon but est d'identifier les inductances, la résistance et le flux.
Pour ce faire, j'ai ecrit les equations sous forme représentation d'état.
Je pense que j'ai bon sur tous ces points car j'ai vérifié n fois.
J'utilise y(t) = phi'(t)*theta. theta étant la matrice des paramétres.
Mon vecteur phi est phi=[Id(t-1);Iq(t-1);Ud(t-1);Uq(t-1); 1]
Ma matrice theta est de dimension 5x2 donc je l'écris sous matlab: theta=[theta(1) theta(6); theta(2) theta(7); theta(3) theta(8); theta(4) theta(9); theta(5) theta(10)]
Pour avoir les inductances, résistance ou flux, je fais juste des opérations sur les valeurs du vecteur theta.
Cependant mes résultats ne sont pas du tout bon et j'ai du mal à savoir si cela vient de mon modéle simulink ou de ma méthode des moindres carrées.
Ne vous inquiétez pas, mes questions ne sont que sur les moindres carrées appliqués aux moteurs synchrones.
Questions:
En réecrivant mes équations avec la représentation d'état, ma matrice theta compte 10 éléments.
Mais je remarque que certains éléments doivent être égales à zéros (matrice B=[b1 0;0 b2]) alors que quand je regarde le résultat dans theta, j'ai des valeurs différentes de zéro.
Ma question est donc de savoir si je dois mettre zero directement dans theta ou si je dois supprimer les éléments où il y'a des zéros ce qui correspondrait à 7 éléments à identifier ?
Merci pour votre aide.
Si il y'a des points à éclaircir, n'hésitez pas à me poser des questions.
-----