Back | << | Index | >> |
L’ automatique est une technique proposant des méthodes pour asservir un système.
Dans tout système asservi, il y a :
Afin d’optimiser les performances du système ( stabilité, rapidité, précision ), le commande peut être corrigée.
Un Timer est un compteur qui s’incrémente à chaque front montant d’une horloge.
Cette horloge peut éventuellement être ralentie avec un diviseur de fréquence (Prescaler).
Le Compteur est remis périodiquement à zéro lorsque sa valeur courante de comptage atteint celle d’un registre de comparaison.
T=[(Presc_buff+1) * (Comp_Reg+1)]*T_CLK
Pour générer un signal MLI (Modulation de Largeur d’Impulsion), il suffit de comparer la valeur courant de comptage à celle d’un registre (Duty), et de forcer à 0 ou à 1 une broche de sortie du microcontrôleur en fonction du résultat de cette comparaison.
Afin d’asservir les moteurs en vitesse ou en position, il faut déjà connaître les mesures correspondantes.
Le Codeur incrémental
Mesure le la Position
Le comptage des fronts montants des signaux A et B issus du codeur incrémental permet de connaître la position du rotor du moteur.
La précision des codeurs étant de 1250 impulsions/tours, le OU EXCLUSIF entre A et B permet d’obtenir une précision de 2500 impulsions par tours.
le signal index ( mis à 1 à chaque tour ) déclenche une interruption de type EXTI permettant d’incrémenter une variable ( nombre de tours ) et de remettre à zéro le compteur dans le cas d’une mesure de position.
Mesure de la Vitesse
SENS DIRECT
SENS INVERSE
Speed=30000-2232=27768 –> Speed>0 –> Speed>16384 –> Speed=27768-32768=-5000 –> Speed=-5000
Pour une période d’échantillonage de 5ms, la vitesse mesurée est en tr/min ( rpm ).
La mise en oeuvre d’un correcteur pour le robot est présenté dans : Réglage (rapide) d’un correcteur PI
Back | << | Index | >> |