Asservissement-Positionnement Le LM629 - Approche
intuitive Approche intuitive de l'asservissement Approche intuitive de l'asservissement Une des plus simples utilisations (en robotique) d'un moteur à courant continu est la suivante : Commande classique d'un moteur Si le moteur entraine un robot et que celui-ci doit se
déplacer d'une certaine distance, alors l'organe de commande
va envoyer une consigne pendant une certaine durée, sans savoir
si le moteur aura réellement effectué ce qu'on lui a demandé.
Un codeur incrémental est composé d'un disque solidaire d'un axe. Ce disque est percé d'un certain nombre de trous sur sa circonférence. Grâce à un dispositif optique, on peut savoir combien de trous ont été vus. Roue Codeuse simplifiée Il est alors possible de connaître l'angle parcouru et le sens de rotation. On peut ainsi mesurer un angle, ou un nombre de tours parcourus. Il est aussi possible en équipant ce codeur incrémental d'une roue en contact avec le sol, de connaître la distance parcourue.
En fixant ce codeur sur l'axe du moteur, on peut connaître l'angle de rotation du moteur (et en déduire une distance parcourue, si l'on suppose qu'il n'y a pas de dérapage ...). Si le moteur entraîne un robot, on peut, en utilisant une roue séparée, connaître la distance qu'à réellement parcouru le robot. Distance qui sera proportionelle à la rotation effectuée par le moteur. Codeur recevant une information directement du moteur Codeur recevant indirectement une information du moteur Le codeur va donc être monté pour que l'on
puisse surveiller l'élément qui nous intéresse.
On peut ainsi mesurer ce qu'a fait le moteur (ex : il a fait avancer la plateforme de 5 cm). Si on compare cette information à ce qu'on voulait faire (ex : avancer la plateforme de 7 cm), on peut en déduire que le moteur n'a pas avancé assez vite ou assez longtemps et on augmente la commande du moteur (ici la tension à ses bornes). Le petit paragraphe précédent résume les 2 fonctions principales du LM629 :
Principe de l'asservissement Ainsi, plus la différence entre la position de consigne et la position réelle augmente, plus l'erreur augmente. Donc plus la commande vers le moteur augmente et plus celui-ci va avoir tendance à diminuer cette erreur.
La génération de la trajectoire Générer une trajectoire consiste à créer une consigne. Dans le cas du LM629, il peut y avoir 2 modes :
Dans tous les cas, le LM629 va générer une consigne de position, que ce soit en mode position ou en mode vitesse. (le LM629 ne réalise pas un "vrai" asservissement de vitesse en mode vitesse). Une consigne de position va indiquer à chaque instant quelle est la position idéale que l'on devrait avoir (position désirée). Les trajectoires que peut générer le LM629 sont des trajectoires à profil de vitesse trapézoïdal. Ces trajectoires sont définies par 3 phases successives :
Au final, le mode vitesse change très peu de choses, c'est à dire que dans le cas du mode vitesse, la phase de décélération n'existe pas. C'est là la seule différence théorique dans le LM entre le mode position et le mode vitesse. On peut donc représenter la vitesse ainsi : Profil de vitesse trapézoïdal A partir de cette vitesse, le LM va à chaque instant calculer la consigne de position, cette consigne va avoir cette allure :
Position désirée associée Pour définir cette consigne, on utilise 3 paramètres :
Le LM va donc générer une trajectoire qui va accélérer jusqu'à la vitesse maximale. Il va garder la vitesse maximale jusqu'à temps qu'il soit nécessaire de commencer à décélérer. Evidemment si au mileu de la trajectoire, le LM n'a toujours pas atteint la vitesse maximale, il va commencer directement à décélérer (sinon la trajectoire ne pourrait pas s'arrêter à temps). Dans le cas où il n'est pas possible d'atteindre la vitesse maximale, la trajectoire aura cette allure là. Il n'a pas été possible d'atteindre la vitesse maximale On a ainsi un élément dans le LM qui nous permet de générer cette trajectoire (une consigne de position, conséquence du profil de vitesse) qui va servir de référence. Il faut maintenant s'assurer que le moteur va la suivre le mieux possible.
L'asservissement consiste à comparer la consigne de position
(générée au dessus) et la position réelle
(obtenue grâce au codeur). Le LM629 fait ceci de façon numérique c'est à
dire échantillonée (temps discrets et grandeurs quantifiées).
Il va donc périodiquement faire la différence entre
la consigne de position et la position réelle puis ajuster
la tension aux bornes du moteur (appelée ici Vm) en fonction
de cette erreur (appelée ici e).
L'asservissement commande donc le moteur en prenant en compte 3 aspects de l'erreur entre la consigne de position et la position réelle. Chacune des influences peut être réglée par la constante appropriée : P (proportionnel), I (intégral), D (dérivée). Il s'agit de l'utilisation d'un filtre PID. |