Répondre à la discussion
Affichage des résultats 1 à 25 sur 25

commande de MCC



  1. #1
    ABN84

    commande de MCC

    bonjour,
    je dispose d'un moteur à courant continue avec codeur incremental que je veux commander en position.
    par contre il ne s'ajit pas de donner simplement une consigne de position.
    j'ai une serie de coordonnées par lesquelles que moteur doit passer à des instants bien specifiques donc si j'envoyais simplement ces positions les unes apres les autres aux instants correspondants le temps que le moteur attegne la consigne il devrait etre dans une autre position. j'aurais donc toujours un retard. intuitivement je me dis que je dois calculer en permanance la commande à envoyer en fonction de laposition actuelle données par le codeur et de la position que je dois avoir dans x secondes. mais comment formaliser tout ça? quecun aurait il une idée sur comment mettre en place une telle commande?
    merci
    'espere que j'ai été clair

    -----

    "Engineering is the art of making what you want from what you get"

  2. Publicité
  3. #2
    gienas

    Re : commande de MCC

    Bonsoir einstein et tout le groupe

    Citation Envoyé par einstein Voir le message
    ... espere que j'ai été clair
    Pas vraiment

    Citation Envoyé par einstein Voir le message
    ... j'ai une serie de coordonnées par lesquelles que moteur doit passer à des instants bien specifiques ...
    S'il doit passer, pas d'autre solution que d'obliger le moteur à y passer. Ce doivent être des consignes de coordonnées intermédiaires.

    Citation Envoyé par einstein Voir le message
    ... le temps que le moteur attegne la consigne il devrait etre dans une autre position ...
    Je n'ai pas compris.

    Citation Envoyé par einstein Voir le message
    ... intuitivement je me dis que je dois calculer en permanance la commande à envoyer en fonction de laposition actuelle données par le codeur et de la position que je dois avoir dans x secondes ...
    Pas trop clair, cela. D'autant que pour des coordonnées, j'imagine qu'il faut deux moteurs, en X Y. Pour aller d'un point à un autre, avec un MCC, il y a une infinité de "chemins": il faut du U, du I, et du t.

  4. #3
    ABN84

    Re : commande de MCC

    Pas vraiment
    je m'y attendais.
    D'autant que pour des coordonnées, j'imagine qu'il faut deux moteurs, en X Y. Pour aller d'un point à un autre, avec un MCC, il y a une infinité de "chemins": il faut du U, du I, et du t.
    quand je parles de coordonnées je parle de la position angulaire du moteur.
    pour l'exemple:
    à l'instant 0 le moteur doit etre à 0°
    à 1 seconde à 10°
    à 2s à 80°
    à 3s à 50°
    à 4s à 120°
    ....
    le codeur donne la position angulaire à chaque instant. le moteur est commandé en tension (donc en vitesse). il n'y a pas besoin de s'arreter aux coordonnées sus-cité il faut juste y passer aux instants correspondants.
    ... intuitivement je me dis que je dois calculer en permanance la commande à envoyer en fonction de laposition actuelle données par le codeur et de la position que je dois avoir dans x secondes ...
    Pas trop clair, cela.
    par un asservissement PI classique, il y aura toujours un temps de reponse, donc si à 1s je mets la consigne 10° le moteur ne serait à cette position qu'à 1,2s (par exemple) alors qu'à ce moment là il derait etre ailleur pour qu'à deux seconde il soit à 80° et cette erreur va s'accumuler d'une coordonnée à une autre donc au final la trajectoire suivie par le moteur ne correspondera pas du tout à celle que j'ai imposé.
    ce qui me semble logique de faire c'est: connaissant ma position reelle à l'instant 1s (l'instant actuel) et la position que je dois avoir à 2s et à 3s (ou plus?) le calcule le plrofil de vitesse à envoyer au moteur pour les deux'ou plus) prochaines secondes. à 2s je refais le meme calcul pour les instants 3s et 4s etc. est ce une bonne approche? si oui comment realiser ceci?
    "Engineering is the art of making what you want from what you get"

  5. #4
    gienas

    Re : commande de MCC

    Je ne suis guère plus avancé.

    Citation Envoyé par einstein Voir le message
    ... quand je parles de coordonnées je parle de la position angulaire du moteur.
    pour l'exemple ...
    On avance et on recule.

    Citation Envoyé par einstein Voir le message
    ... donc si à 1s je mets la consigne 10° le moteur ne serait à cette position qu'à 1,2s ...
    Pourquoi ce retard? Il pourrait aussi être en avance.

    Citation Envoyé par einstein Voir le message
    ... alors qu'à ce moment là il devrait etre ailleurs ...
    Et pourquoi devrait-il être ailleurs? Sans savoir à quoi il sert, je manque d'imagination. Et pourquoi passer sans s'y arrêter?

    Si tu connais le "programme" de tes positions, il faut asservir en temps réel toutes les positions intermédiaires, pas seulement les positions de tes quelques points.

  6. #5
    ABN84

    Re : commande de MCC

    Pourquoi ce retard? Il pourrait aussi être en avance.
    il y a bien un temps de reponse. si je mets x comme consigne, je n'aurais x en sortie qu'apres un certain temps.
    Et pourquoi devrait-il être ailleurs?
    si à une seconde il etait sencé etre à x à 1s plus epsilon1 il devrait etre à x+epsilon2.
    Sans savoir à quoi il sert, je manque d'imagination.
    j'ai deux moteurs qui actionnent un objet pour faire un suivi de trajectoire. ma trajectoire est exprimée en coordonnées cartesiennes. j'en calcule les positions angulaires correspondantes des deux moteurs. pour avoir la bonne trajectoir, il faut que les positions des deux moteurs soient coordonnées.
    Et pourquoi passer sans s'y arrêter?
    je n'ai pas besoin de m'y arreter, je veux juste que mon objet decrive la bonne trajectoire et donc que chacun des deux moteurs passe par les connes positions angulaires aux bons instants.
    Si tu connais le "programme" de tes positions, il faut asservir en temps réel toutes les positions intermédiaires, pas seulement les positions de tes quelques points.
    je suis d'accord, je citais ces coordonnées juste pour l'exemple mais apres il faut biensur que ce soit continu.
    pour avoir une idées de ce que je veux faire voici un topic que j'ai ouvert precedemment pour ce qui est de la partie mecanique mecanique:
    http://forums.futura-sciences.com/te...ml#post2291246
    "Engineering is the art of making what you want from what you get"

  7. A voir en vidéo sur Futura
  8. #6
    verdifre

    Re : commande de MCC

    bonsoir,
    je crois surtout qu'il te faut un asservissement d'un ordre superieur, pour ce que tu veux faire, il faut que tu aie une erreur de trainage nulle.
    je ne suis plus trés au point la dessus, mais je crois qu'il faudrait envisager ton probleme de la facon suivante
    tu commandes ton moteur en couple
    tu fait une premierre boucle pour le commander en vitesse
    puis une boucle externe pour le commander en position
    fred
    On ne vient pas de nulle part et il serait souhaitable qu'on n'aille pas n'importe où !

  9. Publicité
  10. #7
    ABN84

    Re : commande de MCC

    tu commandes ton moteur en couple
    tu fait une premierre boucle pour le commander en vitesse
    puis une boucle externe pour le commander en position
    la loi de commande du moteur est un peu speciale. je ne peux le commander qu'en vitesse
    "Engineering is the art of making what you want from what you get"

  11. #8
    verdifre

    Re : commande de MCC

    bonjour,
    c'est l'erreur de position qui genere la consigne de vitesse et l'erreur de vitesse qui genere la consigne de couple (ou de courant)
    donc tu pilotes en position mais à l'interieur de la boucle d'asservissement de position tu as une boucle de vitesse et eventuellement une boucle de couple
    fred
    On ne vient pas de nulle part et il serait souhaitable qu'on n'aille pas n'importe où !

  12. #9
    verdifre

    Re : commande de MCC

    bonjour,
    le plus simple est d'écrire tes equa-diff et de mettre cela noir sur blanc
    fred
    On ne vient pas de nulle part et il serait souhaitable qu'on n'aille pas n'importe où !

  13. #10
    ABN84

    Re : commande de MCC

    bonsoir,
    je ne peux pas appliquer les solutions que tu cites car je ne peux pas caracteriser le moteur. il s'ajit d'une boite noire dont je ne peux commander que la vitesse. et comme informations de sortie je n'ai que la position
    "Engineering is the art of making what you want from what you get"

  14. #11
    verdifre

    Re : commande de MCC

    bonjour,
    si tu ne peux pas carectiriser , il te restes encore la methode de Ziegler Nichols
    fred
    On ne vient pas de nulle part et il serait souhaitable qu'on n'aille pas n'importe où !

  15. #12
    ABN84

    Re : commande de MCC

    bonjour,
    si tu ne peux pas carectiriser , il te restes encore la methode de Ziegler Nichols
    c'est ce que je compte faire mais ça ne resout pas le probleme de retard. n'y a t-il pas des methodes pour annuler ce retard ou plutot le contrer. en gros prédire ce retard et adapter la consigne en fonction
    "Engineering is the art of making what you want from what you get"

  16. Publicité
  17. #13
    verdifre

    Re : commande de MCC

    bonjour,
    tu auras beaucoup de réponses a tes interrogations ici
    http://www.sciences-indus-cpge.apinc...cision-des-S-A

    il faut augmenter l'ordre de ton systeme (ce qui revient à dire que tu vas devoir piloter ton moteur CC en courant plutot qu'en tension)
    fred
    On ne vient pas de nulle part et il serait souhaitable qu'on n'aille pas n'importe où !

  18. #14
    ABN84

    Re : commande de MCC

    il faut augmenter l'ordre de ton systeme (ce qui revient à dire que tu vas devoir piloter ton moteur CC en courant plutot qu'en tension)
    fred
    impossible cf post n°7
    "Engineering is the art of making what you want from what you get"

  19. #15
    ABN84

    Re : commande de MCC

    de toute façon ça neresout pas le probleme initial. ce n'est pas tant le choix du correcteur que la façon de faire la commande qui me pose probleme.
    mon principal probleme est que le moteur doit passer par les positions determinées aux bons moments. s'il atteint le point A en avance je n'aurais pas la bonne trajectoire, en retard non plus.
    "Engineering is the art of making what you want from what you get"

  20. #16
    verdifre

    Re : commande de MCC

    bonjour,
    je ne connais pas de moteur a courant continu que l'on ne puisse commander en courant
    cela te permet de gagner facilement un ordre sur ton systeme.
    mon principal probleme est que le moteur doit passer par les positions determinées aux bons moments. s'il atteint le point A en avance je n'aurais pas la bonne trajectoire, en retard non plus.
    ce que je t'indique, c'est le principe de ce qui est utilisé sur les machines d'usinage en commande numerique, on peut faire mieux, mais cela commence à etre trés compliqué.

    tu dit commander des positions apparement à des instants precis car tu parles d'avance et de retard, et il semble impossible de determiner les dérivées temporelles de ta loi de commande, il y a quelque chose que je ne comprend pas !
    fred
    On ne vient pas de nulle part et il serait souhaitable qu'on n'aille pas n'importe où !

  21. #17
    ABN84

    Re : commande de MCC

    je ne connais pas de moteur a courant continu que l'on ne puisse commander en courant
    en fait je ne peux pas acceder au moteur en lui meme.
    le moteur est fourni avec son electronique de comande.
    la seule consigne que je peux faire c'est une consigne de puissance mecanique à fournir et l'electronique se debrouille pour garder un couple contant. et comme P=C.w et que C est cte la consigne P est l'image de w. c'est pourquoi je dis que je ne peux le commander qu'en vitesse.
    tu dit commander des positions apparement à des instants precis car tu parles d'avance et de retard, et il semble impossible de determiner les dérivées temporelles de ta loi de commande, il y a quelque chose que je ne comprend pas !
    j'ai une trajectoire que doit suivre mon objet. j'echantillonne cette trajectoir avec un pas dx. je calcule les positions des deux moteurs correspondants à chaque point de la trajectoire. j'ai donc à present un vecteur comprenant les positions successives par lesquelles doivent passer chacun des deux moteurs. si je definit un pas de temps, il faut que pour instant donné, le moteur1 soit à la position x1i ET le moteur 2 à la position x2i . donc pour avoir la bonne trajectoire il faut une parfaite concordance entre la position du moteur et l'instant t correspondant. il faut donc dans ma commande annuler le retard du au temps de reponse du systeme
    "Engineering is the art of making what you want from what you get"

  22. #18
    verdifre

    Re : commande de MCC

    bonsoir,
    pour dire les choses clairement, tu utiliserai pas des servomoteur type modelisme pour essayer de leur faire faire des trucs pour les quels ils n'ont pas du tout été conçus ?
    si tu veux en tirer quelque chose pour une application de type suivi de trajectoire, tu risques d'être contraint de travailler à trés faible vitesse, avec une resolution qui ne sera que trés moyenne.
    Dans ton application, tu veux finalement travailler en boucle ouverte, ton systeme ne mesurant à aucun moment la position.
    tu peux alors eventuellement mesurer la courbe de reponse de tes servomoteurs et essayer d'en tenir compte dans les consignes que tu generes, mais c'est du bricolage.
    fred
    On ne vient pas de nulle part et il serait souhaitable qu'on n'aille pas n'importe où !

  23. Publicité
  24. #19
    ABN84

    Re : commande de MCC

    pour dire les choses clairement, tu utiliserai pas des servomoteur type modelisme pour essayer de leur faire faire des trucs pour les quels ils n'ont pas du tout été conçus ?
    non.
    voici le moeur en question: http://www.philohome.com/nxtmotor/nxtmotor.htm
    avec une resolution qui ne sera que trés moyenne.
    le codeur a une resolution de 1°
    Dans ton application, tu veux finalement travailler en boucle ouverte, ton systeme ne mesurant à aucun moment la position.
    non, j'ai bien l'information de position donc en boucle fermée
    "Engineering is the art of making what you want from what you get"

  25. #20
    verdifre

    Re : commande de MCC

    bonjour,
    http://web.mac.com/ryo_watanabe/iWeb...T%20Motor.html
    ainsi que tous les parametres necessaires au calcul de ta boucle d'asservissement ( avec pilotage en courant)
    le codeur et le calculateur risquent d'imposer l'usage de transformée en z....
    fred
    On ne vient pas de nulle part et il serait souhaitable qu'on n'aille pas n'importe où !

  26. #21
    ABN84

    Re : commande de MCC

    ( avec pilotage en courant)
    impossible: le moteur est commandé avec Labview ou je n'ai acces qu'à la tension
    "Engineering is the art of making what you want from what you get"

  27. #22
    verdifre

    Re : commande de MCC

    bonjour,
    il suffit de faire un generateur de courant piloté en tension
    de plus toutes les boucles ( en particulier les plus "internes" )n'ont pas besoin d'être faites par logiciel.
    fred
    On ne vient pas de nulle part et il serait souhaitable qu'on n'aille pas n'importe où !

  28. #23
    ABN84

    Re : commande de MCC

    je viens de faire un essai avec les reglages de Ziegler Nichols (P=25, Ki=0.09, Kd=0.006). la trajectoire suit bien la consigne mais le moteur vibre trop. ya t-il moyen de regler ceci?
    Images attachées Images attachées
    "Engineering is the art of making what you want from what you get"

  29. #24
    ABN84

    Re : commande de MCC

    bonsoir,
    le probleme venait du fait que l'alim est devenue trop faible (4 à la place de 9V)
    j'ai remplacé l'alim et tout est rentré en ordre (K=3 ,Ti=0.011, Td=0.0001)
    mon seul probleme actuel se trouve au debut (cf: PJ) ou il reste quelques petites oscillations due probablement à la variation brusque de la consigne (consigne en bleu, reponse en blanc).
    comment pourrais je annuler (ou reduire au max) ceci?
    merci
    Images attachées Images attachées
    "Engineering is the art of making what you want from what you get"

  30. Publicité
  31. #25
    ABN84

    Re : commande de MCC

    bonjour,
    fred, tu me boude?
    "Engineering is the art of making what you want from what you get"

Sur le même thème :

Discussions similaires

  1. Alimentation MCC
    Par killus dans le forum Électronique
    Réponses: 3
    Dernier message: 24/05/2013, 17h59
  2. MCC en servomoteur
    Par darkyo91 dans le forum Électronique
    Réponses: 2
    Dernier message: 04/04/2009, 11h11
  3. MCC en génératrice
    Par pecki dans le forum Physique
    Réponses: 3
    Dernier message: 04/11/2007, 01h29
  4. Commande MCC dans les 2 sens
    Par BruceBoc dans le forum Électronique
    Réponses: 2
    Dernier message: 01/08/2006, 00h10
  5. Vitesse MCC 24 V !
    Par eGb dans le forum Électronique
    Réponses: 10
    Dernier message: 29/03/2006, 18h30