Si l'on croise un projet sur Hackaday ou sur le portail Instructables, il y a de fortes chances que l'un des composants utilisés soit un servomoteur. Le grand avantage des servomoteurs par rapport aux moteurs classiques est qu'ils peuvent adopter une position spécifique et la conserver, ce qui (généralement) se traduit par un haut niveau de précision. Maintenant, la question est : comment y parviennent-ils ?

Comment fonctionnent les servomoteurs ?
Servomoteurs

Le fonctionnement des servomoteurs

Il existe un grand nombre de servomoteurs sur le marché, et certains modèles sont si avancés qu'ils deviennent prohibitifs, mais les conceptions courantes sont plus que suffisantes pour étudier le mécanisme de base, composé de un circuit électronique, un moteur à courant continu, une boîte d'engrenages qui « relie » le moteur à un « axe de sortie », et un potentiomètre en bas de l'axe, qui en même temps est connecté au circuit.

Le rôle du potentiomètre est de rétroalimenter la position de l'axe, tandis que les engrenages se chargent de réduire le nombre de révolutions (60 RPM est une valeur typique) et d'augmenter le couple (je sais que la RAE n'apprécie pas beaucoup, mais je vous demande de m'accompagner).

Un servomoteur conventionnel peut tourner jusqu'à 180 degrés, mais ce n'est pas une limitation qui affecte ses applications les plus populaires, comme les systèmes de direction en modélisme aérien, et les petits robots. Le servomoteur est contrôlé via un signal modulé par largeur d'impulsion ou PWM.

La plupart des modèles utilisent des signaux avec une fréquence de 50 Hz, limitant le temps entre deux impulsions à 20 millisecondes. La durée même de l'impulsion détermine la position angulaire du servomoteur, avec des intervalles extrêmement courts.

Les chiffres finaux peuvent varier d'un modèle à l'autre, mais en général, on parle de 1 milliseconde (ou 0,5) pour un angle de 0 degré, 1,5 millisecondes pour 90 degrés, et 2 millisecondes (ou 2,5) pour 180 degrés.

Comment fonctionnent les servomoteurs ?
Un guide de la position angulaire en fonction de la durée de chaque impulsion. Les impulsions peuvent être plus courtes ou plus longues, selon le servomoteur.
Comment fonctionnent les servomoteurs ?
Schéma de base d'un servomoteur connecté à un Arduino (dans ce cas, il nécessite une source externe).

Le circuit de commande compare la tension du potentiomètre avec la tension du signal, et si nécessaire, active un pont en H intégré pour modifier le sens de rotation, jusqu'à ce que la différence entre les deux signaux soit nulle. La deuxième partie de la vidéo qui nous accompagne se concentre sur le contrôle des servomoteurs à l'aide d'un module Arduino, et quelles sont les principales restrictions, en commençant par une source d'alimentation externe (l'Arduino n'a pas la puissance de feu suffisante pour alimenter le servomoteur de l'exemple). Le reste se réduit à charger le code (disponible dans la source ci-dessous) en spécifiant la broche de commande qui sera connectée au servomoteur.

Source :