Outils pour utilisateurs

Outils du site


robotics:asservissement_d_un_moteur

Ceci est une ancienne révision du document !


Nous allons compléter l'article précédent sur l'asservissement par un exemple : l'asservissement d'un moteur à courant continu 12V-2A. Ce moteur est équipé d'un encodeur.

Asservissement de position

Nous allons asservir ce moteur en position (effectuer x tours). L'encodeur nous retourne le nombre de pulse correspondant à la position angulaire du moteur.

Pour cela, nous avons réaliser un correcteur PID (Proportionnel Intégral Dérivé)

Action Proportionnelle

Dans un premier temps, nous allons nous intéresser à l'action proportionnelle. Nous appliquons donc juste un correcteur P (les coefficients Ki et Kd sont nuls). Nous faisons varier Kp.

Pour notre exemple, nous avons pris Kp=1 (courbe rouge), Kp=4 (courbe violette) et Kp=5 (courbe bleue)

On voit bien que plus Kp est grand, plus le système converge vite vers sa valeur finale mais plus il oscille jusqu'à devenir instable (courbe bleue).

Il faut donc choisir un Kp grand mais pas trop pour garder la stabilité su système (ici Kp=4 courbe violette).

Profil de vitesse

L'action proportionnelle influence également le profil de vitesse.

Pour notre exemple, nous avons pris Kp=1 (courbe rouge) et Kp=4 (courbe verte) courbe de vitesse

Plus Kp est grand, plus la décélération est forte. L'accélération est identique.

Action Intégrale

L'action intégrale permet de supprimer l'erreur statique. L'erreur est intégrée (cumulée) depuis le début et ajoutée à la commande pour faire diminuer l'erreur statique au cours du temps jusqu'à l'annuler.

Dans notre cas, l'erreur statique est négligeable (0.001%) donc pas besoin d'action intégrale. En effet, nous avons appliqué une consigne de position constante (un échelon) donc une fois que le moteur a atteint sa position, il s’arrête (vitesse nulle) donc erreur statique nulle.

Dans la commande de position, il y a déjà un intégrateur “naturel” puisque le moteur est commandé en vitesse (la distance est l'intégrale de la vitesse).

Action Dérivée

L'action dérivée permet de stabiliser le système. Plus Kd est fort, plus les oscillations et dépassements sont faibles.

Dans notre cas, on cherche a ne pas dépasser la position (donc pas d'oscillation autour de la position).

On voit que la courbe rouge (kd=0) oscille un certain temps autour de la position finale. Les courbes verte (kd=5) et bleue (kd = 10) oscille moins et moins longtemps. La courbe violette (kd=15) n'oscille plus.

L'action dérivée peut légèrement ralentir le système. Elle est également sensible aux perturbations.

robotics/asservissement_d_un_moteur.1411141259.txt.gz · Dernière modification: 2014/09/19 17:40 par ldo