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 :

Asservissement en position, vitesse et courant pour un moteur DC


Sujet :

Simulink

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Août 2012
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Août 2012
    Messages : 24
    Points : 6
    Points
    6
    Par défaut Asservissement en position, vitesse et courant pour un moteur DC
    Bonsoir,
    J'ai un mini projet qui consiste a controler la position, la vitesse et courant pour un moteur DC, j'ai réussi a developper cette structure :
    est ce que quelqu'un peut m'aider pour la partie hacheur et pour le calcul des paramètres des différents régulateurs ?! merci d'avance
    Images attachées Images attachées  

  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

    quelle version de matlab as tu et surtout quelles toolbox ?
    Simulink Control Design ? ( elle comporte des outils de dimensionnement de PID)

    sinon pour dimensionner trois PID en série, il me parait plus simple de commencer par en dimensionner un (le 3ème, control_I) dans un environnement simplifié, puis de remonter en ajoutant les autres un à un

  3. #3
    FLB
    FLB est déconnecté
    Modérateur
    Avatar de FLB
    Homme Profil pro
    Ing. Aérospatiale
    Inscrit en
    Juin 2003
    Messages
    770
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Ing. Aérospatiale
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2003
    Messages : 770
    Points : 1 185
    Points
    1 185
    Par défaut
    Salut,
    il existe des méthodes empiriques de calcul des paramètres d'un PID (je te conseille d'ouvrir les boucles pour mieux gérer les effets de couplages):
    La méthode de Ziegler & Nichols, expliquée par exemple ici, te donnera une bonne approche.

    quelqu'un peut m'aider pour la partie hacheur
    Tu nous décris le problème, ce que tu as déjà fait, ce qui ne marche pas?

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Août 2012
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Août 2012
    Messages : 24
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par FLB Voir le message
    Tu nous décris le problème, ce que tu as déjà fait, ce qui ne marche pas?
    Mon problème c'est que j'arrive pas a modéliser le hacheur ?? Du coup la tension d'entrée du moteur ne dépasse pas les 5V et par conséquent la vitesse est faible !!!

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Août 2012
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Août 2012
    Messages : 24
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par le fab Voir le message
    quelle version de matlab as tu et surtout quelles toolbox ?
    Simulink Control Design ? ( elle comporte des outils de dimensionnement de PID)

    sinon pour dimensionner trois PID en série, il me parait plus simple de commencer par en dimensionner un (le 3ème, control_I) dans un environnement simplifié, puis de remonter en ajoutant les autres un à un
    J'utilise Matlab R2012a
    Avant tout il faut modéliser le hacheur car sinon voici ce que j'ai eu comme réponse :
    Images attachées Images attachées  

  6. #6
    FLB
    FLB est déconnecté
    Modérateur
    Avatar de FLB
    Homme Profil pro
    Ing. Aérospatiale
    Inscrit en
    Juin 2003
    Messages
    770
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Ing. Aérospatiale
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2003
    Messages : 770
    Points : 1 185
    Points
    1 185
    Par défaut
    Une première remarque :
    Tu as mis un gain sur l'erreur en angle, puis un PID sur l'erreur en vitesse, dont le terme intégral va être ainsi redondant avec le gain.
    Ensuite :
    si j'ai bien compris ton problème, tu trouves que ton moteur réagit trop lentement à ta commande, et donc tu veux décupler la puissance d'entrée avec un hacheur? N'est ce pas plutôt un problème de réglage de tes 7 paramètres de contrôle?

  7. #7
    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
    Citation Envoyé par billbolbol Voir le message
    J'utilise Matlab R2012a
    Avant tout il faut modéliser le hacheur car sinon voici ce que j'ai eu comme réponse :
    déjà la tête de ta réponse est pas pire ...
    si ce n'est qu'il semble falloir 12h pour attendre 80% de la consigne

    sinon j'y connais rien en hacheur (je viens d'aller demander à google ce que c'était) mais en gros je modéliserais ça comme suit :

    (avec T la période de hachage et V le voltage de hachage)
    Images attachées Images attachées  

  8. #8
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Août 2012
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Août 2012
    Messages : 24
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par le fab Voir le message
    déjà la tête de ta réponse est pas pire ...
    si ce n'est qu'il semble falloir 12h pour attendre 80% de la consigne

    sinon j'y connais rien en hacheur (je viens d'aller demander à google ce que c'était) mais en gros je modéliserais ça comme suit :

    (avec T la période de hachage et V le voltage de hachage)
    l'asservissement en position est reglé, il me reste juste a ajuster la vitesse et controler le couple
    merci pour le bloc hacheur

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Août 2012
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Août 2012
    Messages : 24
    Points : 6
    Points
    6
    Par défaut
    Apparament j'ai pas bien compris le sujet !!!
    Je suis demandé d'imposer la vitesse c'est a dire que la vitesse est une entrée tout comme la position, autrement dit le modèle est a deux entrées !!! est ce que c'est possible de le faire les amis ?!

  10. #10
    FLB
    FLB est déconnecté
    Modérateur
    Avatar de FLB
    Homme Profil pro
    Ing. Aérospatiale
    Inscrit en
    Juin 2003
    Messages
    770
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Ing. Aérospatiale
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2003
    Messages : 770
    Points : 1 185
    Points
    1 185
    Par défaut
    Salut,
    Il est tout a fait possible de faire un contrôle en position et vitesse : tu as juste besoin de déconnecter ton fil Omega_c, et y mettre ton guidage en vitesse. Etant donné que ton moteur n'a qu'une entrée, il te faut "mélanger" les contrôles en position et vitesse, en appliquant un gain (ou un contrôleur plus complexe - un gain te suffira sûrement amplement) sur les erreurs de position et de vitesse puis en les sommants.

  11. #11
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Août 2012
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Août 2012
    Messages : 24
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par FLB Voir le message
    Salut,
    Il est tout a fait possible de faire un contrôle en position et vitesse : tu as juste besoin de déconnecter ton fil Omega_c, et y mettre ton guidage en vitesse. Etant donné que ton moteur n'a qu'une entrée, il te faut "mélanger" les contrôles en position et vitesse, en appliquant un gain (ou un contrôleur plus complexe - un gain te suffira sûrement amplement) sur les erreurs de position et de vitesse puis en les sommants.
    Est ce que vous pouvez me donner plus de détailles...

  12. #12
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 679
    Points
    18 679
    Par défaut
    Montres nous ou tu en es... histoire qu'on puisse te conseiller "plus précisément"
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  13. #13
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Août 2012
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Août 2012
    Messages : 24
    Points : 6
    Points
    6
    Par défaut

    Voila ce que j'ai faits, le role du switcheur est la commutation entre la commande de position est celle du vitesse (le signal de controle est l'erreur en position), si la réponse position est encore loins de la consigne alors je peux imposer la vitesse consigne et dès que l'écart en position devient faible je commande le systeme en position et par conséquent la vitesse décroit jusqu'a ce qu'elle s'annule au moment ou j'atteint la position désirée.
    Images attachées Images attachées  

  14. #14
    FLB
    FLB est déconnecté
    Modérateur
    Avatar de FLB
    Homme Profil pro
    Ing. Aérospatiale
    Inscrit en
    Juin 2003
    Messages
    770
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Ing. Aérospatiale
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2003
    Messages : 770
    Points : 1 185
    Points
    1 185
    Par défaut
    Ta méthode est originale, attention au comportement que ça peut avoir :
    Si ton guidage est vitesse est nul, mais que ton erreur de position est >=2, ton moteur va rester dans sa position.
    Est ce qu'il ne serait pas plus simple de remplacer ton switch par une simple sommation?

  15. #15
    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
    hop, je pense que c'est pas du tout le but de ton exercice, et que ton switch est dangereux (à mon avis t'asservira pas grand chose)
    si j'ai bien compris, le but est d'asservir un moteur jusqu'à une certaine position (régulation de position) ET à une certaine vitesse (régulation de vitesse) pendant le déplacement
    et le hacheur dans tout ça ??
    il ne servirait pas à faire faire des petits pas à vitesse constante à ton moteur jusqu'à trouver la bonne position ?

    bon après là on est pas trop dans mon domaine

  16. #16
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Août 2012
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Août 2012
    Messages : 24
    Points : 6
    Points
    6
    Par défaut
    Vous avez raison mais ça pose un autre problème vu que la commande de vitesse est généralement très grande par rapport a la commande de position donc la somme va etre importante et par conséquent on aura un dépassement important au niveau de la position !!!

  17. #17
    FLB
    FLB est déconnecté
    Modérateur
    Avatar de FLB
    Homme Profil pro
    Ing. Aérospatiale
    Inscrit en
    Juin 2003
    Messages
    770
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Ing. Aérospatiale
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2003
    Messages : 770
    Points : 1 185
    Points
    1 185
    Par défaut
    Autrement dit tu ne souhaites pas faire un contrôle en vitesse, mais tu souhaites limiter la vitesse maximum.
    Ensuite ce sera le gain sur ton contrôle de position qui fera le travail de t'amener à la vitesse maximum.
    Si la commande d'entrée de ton moteur est proportionnelle à la vitesse, c'est bien ce que tu faisais avec ton bloc limite_courant (par contre le bloc PID après n'a, à mon avis, rien à faire là.).

  18. #18
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 679
    Points
    18 679
    Par défaut
    perso, j'aime bien l'idée du switch... mais pas de sa condition

    Citation Envoyé par le fab
    et le hacheur dans tout ça ??
    il ne servirait pas à faire faire des petits pas à vitesse constante à ton moteur jusqu'à trouver la bonne position ?
    +1
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  19. #19
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Août 2012
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Août 2012
    Messages : 24
    Points : 6
    Points
    6
    Par défaut
    Bonjour,

    Citation Envoyé par gorgonite Voir le message
    perso, j'aime bien l'idée du switch... mais pas de sa condition

    +1
    Alors vous me proposez quoi comme codition ?

  20. #20
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Août 2012
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Août 2012
    Messages : 24
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par FLB Voir le message
    attention au comportement que ça peut avoir :
    Si ton guidage est vitesse est nul, mais que ton erreur de position est >=2, ton moteur va rester dans sa position.
    C'est pas possible vu qu'on peut pas demander a un moteur de tourner (atteindre un angle) avec une vitesse nulle

Discussions similaires

  1. Position d'un mot pour insertion tableau
    Par ragnarokr dans le forum VBA Word
    Réponses: 10
    Dernier message: 20/11/2007, 19h44
  2. Position relative ET absolue pour <ul> et <li>
    Par bigltnt dans le forum Mise en page CSS
    Réponses: 11
    Dernier message: 04/04/2007, 16h00
  3. Répertoire courant pour une DLL
    Par jaduta dans le forum Delphi
    Réponses: 2
    Dernier message: 02/04/2007, 09h10
  4. [XSLT 2.0] position du noeud courant
    Par fanette dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 26/03/2007, 10h48
  5. Vitesse de transfert pour usb2
    Par elekis dans le forum Matériel
    Réponses: 2
    Dernier message: 20/08/2006, 16h26

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