Je n'arrive pas à régler le PID de mes servos au secours

  • Auteur de la discussion mataf01
  • Date de début
M

mataf01

Ouvrier
Bonjour,
J'ai des servos 60 V 11A Continu 30A pointe + encodeurs 1250 p/tours
Cartes mesa 5i20 + 7i33 Amplis servos Amc 80A30 réglés en mode vitesse.
j'ai essayé comme décrit : je met le moteur sous tension (F1 et F2 ) sur EMC2 le I et le D à 0 et monter le P jusqu'à ce que le moteur oscille.
La ça ne vas déjà pas. Le moteur n'oscille pas seul
Il lui faut une Pichenette et c'est parti vers P=200
mais là en montant le I je n'arrive pas à arrêter les oscillations (+- 1/5 de tour)
Par curiosité, j'ai essayé P=1 I=10 D=0 Là, le moteur avance mais pas régulièrement et au dessus de 130mm/min il se remet à osciller de manière incontrôlable.
Halscope je ne comprend pas très bien comment l'interpréter.
Je suis sous EMC 2.4.6. J'ai voulu essayer avec AT_Pid mais je ne le trouve pas
A l'aide SVP.
Patrick
 
H

horsot

Compagnon
Bonsoir,

Je ne comprends pas bien ton setup.

La boucle d'asservissement tu la fais dans EMC2 ou dans ton driver de servo ou les 2 (vitesse dans le driver et position dans EMC2)? Les encodeurs sont reliées à la 5i20? Peux-tu faire un schéma de ton setup?

La méthode que tu as décrite est standard et devrait te donner un début de configuration. En principe pour calibrer un axe tu fais un déplacement avec l'axe (en MDI un "G0 X50" par exemple) et tu regardes le signal "error" du PID de l'axe. Le but étant d'ajuster les termes P,I,D pour qu'elle soit la plus faible possible.

Voici la doc de AT_PID (je ne sais pas ce que ça vaut) : http://linuxcnc.org/docs/html/man/man9/at_pid.9.html

Bonne soirée

Xavier
 
M

mataf01

Ouvrier
bonjour horsot et meci pour ta réponse ,
Mon setup est en partant des servos:
moteurs reliés aux amplis, reliés à la 5i20 en +- 10V via la 7i33.
La boucle étant donc fermée dans emc.
merci
 
H

horsot

Compagnon
Bonsoir du Canada,

Peux-tu détailler la façon dont tu as procédé ?

Bonne continuation

Xavier
 
M

mataf01

Ouvrier
Bonsoir.
Désolé pour la réponse tardive . jai répondu il y a pas mal de temps déjà mais je viens de voir que ce n'étais pas passé. Dus faire une connerie.
Alors , primo, sans Halscope ,point de salut.
1 J'ai monté P jusqu'à ce que le moteur vibre quand je commandais un mouvement ensuite je l'ai diminué petit à petit jusqu'à avoir un mouvement fluide sans vibrations --- Ca bouge mais au scope c'est mou et en retard.
2 monté I et là, ca deviens plus nerveux et presque bon mais retard au démarrage un peu plus de P et ça vas encore mieux ensuite j'ai rajouté un peu de D très peu: 0,001 si plus chez moi ca deviens instable pourtant sur le scope on vois une différence même avec si peu.
ensuite les FF par tâtonnements et toujours halscope pour voir l'effet.
Chez moi ce sont de très petites valeurs. Ca marchais mais pas encore comme je voulais. J'ai des tachymètres sur mes moteurs, alors je les ai raccordés, j'ai switché mes emplis en mode tachymètre et j'ai tout recommencé . Mes mouvements sont devenus imédiatements plus fluides mais etaient systématiquement en retad quoi que je fasse j'ai allors changé ma vaeur d'"output scale" qui était par défaut à -1 et j'ai fini après essais à -0.30 , quelques ajustements encore sur P,I,D ( légérs) et Voilà!
Pour te donner une idée :mes valeurs en X:
P 2.5
I 3
D 0.001,
FF0 0.00015,
FF1 0.0082
FF2 0.000018
Ca semble petit comme valeurs par rapport à certains autres exemples , mais je suppose que ça dépend des moteurs et des amplis...
Voilà,
Bonne continuation et
A+
Patrick
 
Haut