PRINCIPE D'UN SERVOMOTEUR
Un servo moteur est un moteur à courant continu avec réducteur (engrenages) et
une électronique de commande intégrée qui permet d'asservir en rotation l'arbre
moteur (en sortie) : en fonction normal, il suffit d'envoyer une impulsion d'une
largeur déterminée (entre 1 et 2ms) pour que l'axe tourne d'un angle déterminé:
Par programmation du microcontrôleur, il est possible de générer ce signal
directement sur une sortie.
L'algorithme (le plus simple) est le suivant :
Répéter |
Mais ce programme n'est guère performant car il mobilise tout le temps machine
pour 1 seul malheureux servo.
On peut faire beaucoup mieux en travaillant sous interruption du
microcontrôleur.
Programme principal |
En paramétrant correctement votre microcontrôleur, toutes les 20ms le programme principal sera interrompu par la routine d'interruption qui va envoyer votre impulsion sur la sortie A0 du portA . Pendant tout le reste du temps, votre programme principal pourra exécuter d'autre tâches (gestion des obstacles, cycle de déplacement ...)