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

Simulink Discussion :

comment concevoir le synchronisme dans un modèle simulink de MSAP


Sujet :

Simulink

  1. #1
    Membre du Club
    Homme Profil pro
    etudiant
    Inscrit en
    Mars 2012
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : etudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 81
    Points : 48
    Points
    48
    Par défaut comment concevoir le synchronisme dans un modèle simulink de MSAP
    Salutations ;

    J’ai un travail de modéliser sur simulink/matlab un Moteur Synchrone à Aimants Permanents je suis bloqué au niveau de la récupération de l’angle téta (θ) et aussi comment concevoir le synchronisme sur ce modèle ?
    Aussi est ce quand est ce qu’on peut dire que ce MSAP tourne ?

    Dernière question, j’ai utilisé dans :

    Configuration parameters:

    Solver options: type: fixed styp solver: ode4 (Runge kutta)
    Fixed-step size (fundamental sample time): 1e-6
    Periodic sample time constraint: Unconstrained
    Tasking mode for periodic sample times: Auto

    La simulation démarre quelque temps et puis s’arrête avec cette erreur:

    Trouble solving algebraic loop containing 'essai_msap_3/modele_dq_MSAP/phi_q' at time 0.0016755. Stopping simulation. There may be a singularity in the solution. If the model is correct, try reducing the step size (either by reducing the fixed step size or by tightening the error tolerances).

    Ma question est ce que je dois réduire le pas de simulation (inferieur à 1 e-6) combien ? Sachant que la simulation devient très longue !!!

    cordialement.

  2. #2
    Modérateur
    Avatar de le fab
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    1 882
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 882
    Points : 3 432
    Points
    3 432
    Par défaut
    salut

    il semblerait que tu ai une boucle algébrique dans ton schéma, au niveau des blocs essai_msap_3 modele_dq_MSAP phi_q
    il y a plusieurs manières de s'en sortir, un façon simple et courante et de mettre un bloc retard (1/z ou memory) quelque part

    Fabien

  3. #3
    Membre du Club
    Homme Profil pro
    etudiant
    Inscrit en
    Mars 2012
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : etudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 81
    Points : 48
    Points
    48
    Par défaut
    salut Fabien , et merci de votre reponse.

    il semblerait que tu ai une boucle algébrique dans ton schéma,
    pas compris

    il y a plusieurs manières de s'en sortir,
    justement je cherche lesquelles?

    un façon simple et courante et de mettre un bloc retard (1/z ou memory) quelque part
    comment et pourquoi? memory c'est quoi?

    merci.
    cordialement
    said.

  4. #4
    Modérateur
    Avatar de le fab
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    1 882
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 882
    Points : 3 432
    Points
    3 432
    Par défaut
    salut

    une boucle algébrique, en gros c'est quand sur un bloc une des sorties est rebouclée sur une entrée du même bloc
    du coup simulink a du mal à faire le calcul de la sortie puisqu'il en a besoin en entrée et qu'il ne l'a pas encore calculée

    utiliser un bloc retard (1/z ou memory) permet de dire à simulink qu'en entrée du bloc il prend la valeur précédente de la sortie et non la valeur du pas en cours
    parfois les boucles algébriques peuvent concerner plusieurs blocs et être plus compliquée à voir (la commande ashow peut alors aider)

    je vais te donner un exemple simple pour comprendre :
    imaginons que tu modélises un moteur et sa commande
    la commande prend en entrée la position du moteur (qui est une sortie du bloc moteur)
    tu as alors une boucle algébrique car pour calculer la commande il faut connaitre la position ... qui dépend de la commande

    maintenant dans la vraie vie, le bloc commande se base sur une position qui lui est donné par un capteur ... qui ne donne pas la position courante mais la dernière acquisition de la position : il y a un retard
    dans simulink, ce retard peut être modélisé par un bloc 1/z ou un bloc memory, et ces blocs vont casser la boucle algébrique et aider simulink a faire les calculs

    en espérant que cette explication rapide t'aidera, sinon n'hésite pas à revenir
    Fabien

  5. #5
    Membre du Club
    Homme Profil pro
    etudiant
    Inscrit en
    Mars 2012
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : etudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 81
    Points : 48
    Points
    48
    Par défaut
    salut, et merci de votre reponse fabien!!!


    une boucle algébrique, en gros c'est quand sur un bloc une des sorties est rebouclée sur une entrée du même bloc
    du coup simulink a du mal à faire le calcul de la sortie puisqu'il en a besoin en entrée et qu'il ne l'a pas encore calculée
    oui je comprends!

    utiliser un bloc retard (1/z ou memory) permet de dire à simulink qu'en entrée du bloc il prend la valeur précédente de la sortie et non la valeur du pas en cours
    parfois les boucles algébriques peuvent concerner plusieurs blocs et être plus compliquée à voir (la commande ashow peut alors aider)
    justement quand on asservice l'angle teta du moteur dans les equations des signaux de l'alimentation!!!

    je vais te donner un exemple simple pour comprendre :
    imaginons que tu modélises un moteur et sa commande
    la commande prend en entrée la position du moteur (qui est une sortie du bloc moteur)
    tu as alors une boucle algébrique car pour calculer la commande il faut connaitre la position ... qui dépend de la commande
    justement j'ai simulé le msap seul c bon et l'onduleur seul c bon mais leur association non , ça donne des signaux approximatifs? car je n'arrive pas à avoir des signaux de commande des interrupteurs pour l'onduleur via le msap?

    maintenant dans la vraie vie, le bloc commande se base sur une position qui lui est donné par un capteur ... qui ne donne pas la position courante mais la dernière acquisition de la position : il y a un retard
    oui tu as raison!!!

    dans simulink, ce retard peut être modélisé par un bloc 1/z ou un bloc memory, et ces blocs vont casser la boucle algébrique et aider simulink a faire les calculs
    ok je vais l'essayer!!!

    en espérant que cette explication rapide t'aidera,
    grandement!!! merci beaucoup!!!

    sinon n'hésite pas à revenir
    merci pour l'invitation!!!

    Said.

Discussions similaires

  1. Angle téta (θ) pour le modèle simulink de MSAP
    Par sala75 dans le forum Simulink
    Réponses: 0
    Dernier message: 01/03/2015, 19h57
  2. comment transmettre une variable dans un modèle ?
    Par keokaz dans le forum Zend Framework
    Réponses: 12
    Dernier message: 27/07/2011, 07h23
  3. Réponses: 1
    Dernier message: 15/11/2009, 16h46
  4. Réponses: 2
    Dernier message: 09/11/2007, 10h39
  5. Réponses: 4
    Dernier message: 26/07/2007, 13h07

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