Servomoteur¶
Description¶
Un servomoteur est un boitier plastique contenant un moteur associé à une mécanique et une électronique internes permettant d'assurer le maintien de position à l'angle voulu. Typiquement, les servomoteurs sont utilisés en radio-modélisme.
Type de mouvement¶
Un servomoteur standard assure un maintien de position dans un angle voulu de l'axe du servomoteur (un peu à la manière d'un gouvernail d'un bateau... )
Schéma interne¶
Un comparateur compare l'impulsion reçue à la position courante de l'axe et adapte la mise sous tension du moteur en conséquence :
Brochage¶
Un servomoteur dispose d'un connecteur de 3 broches :
- 2 broches d'alimentation +5V et 0V,
- 1 broche de commande de type numérique.
Principe de contrôle du servomoteur¶
Un servomoteur standard est contrôlé par 1 broche numérique par impulsion de type PWM : la largeur de l'impulsion va fixer la position de l'axe du servomoteur entre 0° ou 180° voire 360° selon les modèles.
La rotation de l'axe se fait typiquement entre 0° et 180°. On appelle aussi position neutre la position médiane (90°).
Pour orienter l'axe du servomoteur à l'angle voulu, il faut appliquer sur la broche de contrôle, de type numérique, une impulsion PWM un peu particulière ayant une largeur de durée précise (et pas un % précis..), typiquement :
- 0.5ms (500µs) pour la position 0°
- 1,5 ms (1500µs) pour la position médiane 90°
- 2.5 ms (2500 µs) pour la position 180°
- toutes les positions intermédiaires sont possibles.
Les valeurs données ici sont indicatives et peuvent varier selon le modèle de servomoteur utilisé : il faudra donc réaliser un test de position au préalable pour connaître la largeur de l'impulsion des positions extrêmes.
La période de cette impulsion PWM est de l'ordre de 20 ms, soit une fréquence de 50Hz
En pratique avec le Pi Pico¶
Générer une telle impulsion est facile avec le Pi Pico, grâce à la classe PWM.
- Il sera ainsi possible de contrôler un servomoteur sur n'importe quelle broche numérique
- et il sera possible de contrôler jusqu'à 16 servomoteurs si besoin !
Comment c'est dedans ?¶
Caractéristiques mécaniques¶
Un servomoteur est caractérisé par :
- son couple (ex: 3.2 kg/cm)
- et sa vitesse de positionnement (ex : 0.23 sec / 60°)
Caractéristiques électriques¶
L'alimentation du servomoteur nécessite
- une tension entre 4,8 et 6V typiquement
- et une intensité de 100mA pour un modèle de base, voire beaucoup plus.
La broche de commande du servomoteur est de type numérique (0V / +5V) et consomme quelques mA.
Principe de connexion¶
Le principe de connexion sur une carte Pi Pico consiste à connecter :
- V+ du servomoteur sur +5V (Vbus) voire Vsys si >5V
- 0V du servo sur GND
- la broche du servo sur une broche E/S en sortie
Montage d'exemple avec la carte Pi Pico :¶
Maintien de position « hors tension »¶
Un servomoteur est capable de maintenir raisonnablement une position bloquée « hors alimentation » (résistance mécanique modérée)
Codage¶
Facile à mettre en oeuvre à l'aide de la librairie Servo du langage Arduino. Mise en position voulue en 1 ligne seulement !
Interface de « puissance »¶
AUCUNE INTERFACE « de puissance » n'est nécessaire pour une utilisation avec une carte Arduino, jusqu'à 3-4 servomoteurs (500mA maximum)
Au-delà, utiliser simplement une alimentation externe adaptée. Un shield avec connecteurs droits 3 broches sera pratique à l'usage, surtout si on utilise plusieurs servomoteurs !
Principe d'alimentation¶
Jusqu'à 3 voire 4 servomoteurs, utiliser le +5V/500mA d'un port USB par exemple pour alimenter les servomoteurs standards
Au-delà de 4 servomoteurs, utiliser une alimentation 5V (régulée) externe capable de fournir une intensité suffisante en fonction du nombre de servomoteurs (alimentation de PC par exemple)
Prix unitaire¶
Des modèles à moins de 10€ existent (le S3003 de Futaba) et les mini-servomoteurs se vendent à quelques euros à peine.
Coût global unitaire de mise en oeuvre¶
Jusqu'à 3 ou 4 servomoteurs standards, uniquement le prix du servomoteur, soit moins de 10€ pour 1 servomoteur seul. Au-delà, prix de l'alimentation externe en plus.
Utilisation type¶
Les servomoteurs standards sont très utiles pour toutes les mécaniques nécessitant des maintiens de position précis : tourelles pan/tilt (pour capteur, webcam, etc..), pinces, bras robotisé, robot bipède, robot hexapode, etc...
Avantages¶
- Faible de coût de mise en oeuvre comparativement à des moteurs CC
- Existe en toute petite taille
Inconvénients¶
Pas toujours facile à fixer. Très simple cependant avec une cage adaptée, imprimée en 3D par exemple.
Les accessoires du servomoteur¶
Palonniers¶
Les servomoteurs standards sont fournis avec différents types de palonniers à fixer sur l'axe mobile du servomoteur :
La fixation se fait très simplement à l'aide d'une vis à visser dans l'axe :
Truc pratique
le palonnier tient correctement en place sans vis et il est souvent plus pratique de simplement l'enfiler sur l'axe sans le visser pour pouvoir l'enlever tout aussi facilement, notamment pour caler le palonnier en fonction de la position angulaire de l'axe du servomoteur. img_003.png
Accessoires pour pignon¶
Il existe de nombreux accessoires de modélisme prévu pour être utilisés avec les servomoteurs standards, notamment chape, tringle filetée, articulation, etc... A adapter au cas par cas. Juste retenir que çà existe.
Accessoires de fixation¶
Il existe également divers accessoires de fixations pour les servomoteurs, notamment les équerres, des supports équerres, ..
Intéressantes aussi les cages de fixation.
Connectique¶
Un servomoteur standard dispose d'un connecteur dits « mâle » 3 broches PWM / +5V / 0V (mais qui est en fait un triple connecteur « femelle »... ne pas se tromper quand on commande !)
Il existe plusieurs types de connecteurs en fonction des fabricants : les connecteurs JR ou UNI et les connecteurs Futaba sont les 2 principaux (« mâle » à gauche et « femelle » à droite sur chaque photo) :
Connecteur JR
Connecteur Futaba
Bon à savoir
l a façon la plus simple de connecter un servomoteur avec une carte à microcontrôleur passera par l'utilisation d'un connecteur droit pour CI - 3 broches et qui sera utilisable indifféremment avec les connecteurs JR ou Futaba.
Note
Les servomoteurs Futaba sont utilisables avec les rallonges JR si on coupe le détrompeur latéral du connecteur « mâle » Futaba, détrompeur qui ne sert à rien pour une utilisation avec Arduino.
Liens utiles¶
- Sur la pyboard : https://docs.micropython.org/en/latest/pyboard/tutorial/servo.html