Un servomoteur est un moteur capable de rester en une position précise définit par l’utilisateur. Un servomoteur ne peut pas se déplacer à plus de 180 degrés. Enfin il exercer un couple plus au moins important à la position indiqué.
Toutes ses caractéristiques font de lui un très bon moteur pour des projets comme l’ouverture de porte, de vanne, ou bien la direction sur une voiture.
Néanmoins pour faire tourner les hélices d’un hélicoptère, tracter une voiture ou une dynamo il faut utiliser un moteur à courant continu.
Si vous cherchez un moteur qui garde sa position et qui tourne à 360 degrés, vous pouvez opter pour un moteur pas à pas.
Dans ce cours on verra comment contrôler le servomoteur de deux manières : un programme qui fait tourner le servomoteur de 0° à 180° puis revient à sa postion initiale et un programme qui permet de contrôler votre servomoteur par vous-même depuis le moniteur série.
Un servo moteur est composé de plusieurs éléments :
Le servomoteur se commande avec le Pulse width modulation (pwm) ayant une fréquence fixe de 50Hz (T=20ms) et la durée de l’état haut de ce signal détermine la position de l’axe du servomoteur.
Cela signifie que c’est la durée des impulsions qui détermine l’angle absolu de l’axe de sortie et donc la position du bras de commande du servomoteur.
Le signal est répété périodiquement, en général toutes les 20 millisecondes, ce qui permet à l’électronique de contrôler et de corriger continuellement la position angulaire de l’axe de sortie, cette dernière étant mesurée par le potentiomètre.
Un servomoteur fonctionne avec trois fils :
Néanmoins si vous avez besoin d’un servomoteur avec un couple plus important, vous pouvez opter pour des servomoteurs de 35 kg.
Le servomoteur fonctionne avec une librairie qui va vous permettre de simplier son utilisation.
Vous pouvez la télécharger et regarder notre cours sur les librairies pour l’installer.
Voici le circuit pour faire les projets que l’on va voir juste en dessous :
Voici le programme pour faire tourner votre servomoteur :
Voici le programme pour contrôler un servomoteur depuis votre moniteur série :
Voici ce que l’on obtient sur le moniteur série :
On va maintenant voir comment contrôler un servomoteur avec un potentionmètre. Ce projet a beaucoup d’application possible, notamment pour contrôler un robot ou un bras mécanique ou bien même ouvrir une porte.
Le servomoteur fonctionne avec une librairie qui va vous permettre de simplier son utilisation.
Cette librairie inclue plusieurs fonctions qui vont vous être utile. Pour chaque fonction on vous donne le code correspondant dans la librairie si vous voulez le modifier ou l’intégrer directement à votre programme.
Voici le code correspondant à la fonction attach(pin) dans la librairie :
Voici le code correspondant à la fonction write(angle) dans la librairie :
Voici le code correspondant à la fonction read(pin) dans la librairie :
Voici le code correspondant à la fonction attached(pin) dans la librairie :
Voici le code correspondant à la fonction writeMicroseconds dans la librairie :
Vous pouvez aussi contrôler votre servomoteur avec python. On a fait un cours pour cela.