Comment faire tourner un servomoteur Arduino?

Comment faire tourner un servomoteur Arduino?

Contrôle de vitesse d’un servomoteur Arduino

Un servomoteur est un petit appareil qui possède un arbre de sortie. Cet arbre peut être positionné à des positions angulaires spécifiques en envoyant au servomoteur un signal codé. Tant que le signal codé existe sur la ligne d’entrée, le servomoteur maintient la position angulaire de l’arbre. Si le signal codé change, la position angulaire de l’arbre change. En pratique, les servos sont utilisés dans les avions radiocommandés pour positionner les surfaces de contrôle telles que les gouvernes de profondeur et de direction. Ils sont également utilisés dans les voitures radiocommandées, les marionnettes et, bien sûr, les robots.

Les servos sont extrêmement utiles en robotique. Les moteurs sont petits, ont des circuits de commande intégrés et sont extrêmement puissants pour leur taille. Un servo standard tel que le Futaba S-148 a un couple de 42 oz/inches, ce qui est fort pour sa taille. Il consomme également une puissance proportionnelle à la charge mécanique. Un servo légèrement chargé ne consomme donc pas beaucoup d’énergie.

Les entrailles d’un servomoteur sont présentées dans l’image suivante. Vous pouvez voir le circuit de commande, le moteur, un ensemble d’engrenages et le boîtier. Vous pouvez également voir les 3 fils qui sont reliés au monde extérieur. L’un est destiné à l’alimentation (+5 volts), la terre et le fil blanc est le fil de commande.

Servo arduino nano

Un servomoteur est un actionneur rotatif qui permet un contrôle précis de la position angulaire. Il est composé d’un moteur et d’un capteur pour le retour de position. Un variateur est utilisé pour collecter le retour d’information du capteur afin de contrôler précisément la position du moteur. Il existe deux types de servomoteurs, standard et continu. Le premier est un moteur à engrenage descendant qui a une plage de rotation limitée. Il utilise une électronique interne pour identifier l’angle actuel du moteur et Arduino et la bibliothèque servo.h peuvent être utilisés pour faire tourner le moteur à un angle donné dans la gamme de rotation. Le servomoteur continu n’a pas de limite à sa plage de mouvement, donc au lieu que le signal d’entrée détermine la position à laquelle le servomoteur doit tourner, il relie l’entrée à la vitesse et à la direction de rotation.

  Comment faire tourner un moteur brushless?

Nous avons utilisé une rotation continue dans notre projet Cheers car nous avons besoin d’un moteur à couple élevé qui peut fonctionner à une vitesse proche de zéro sans dégager beaucoup de chaleur. Le moteur que nous avons choisi peut être trouvé ici. La plupart des servomoteurs sont livrés avec un ensemble d’accessoires.

Exemple de servo 360 Arduino

Un servomoteur est un moteur dont l’arbre tourne pour positionner quelque chose en fonction d’un signal de commande. Ils sont généralement utilisés pour diriger des avions télécommandés en ajustant les volets d’aile, la position de vol pour les drones, le contrôle des vannes utilisées dans le contrôle du débit ou l’entraînement continu des roues pour les robots. Ils peuvent être utilisés pour positionner ou ajuster presque tout ce à quoi vous pouvez penser. Ils sont constitués d’un boîtier en plastique qui contient un moteur à courant continu, un circuit de commande et quelques engrenages pour le couple (voir figure 1).

Le contrôle de la position de l’arbre par le servomoteur provient de l’utilisation d’un signal de modulation de largeur d’impulsion (PWM) pour faire tourner l’arbre dans le sens des aiguilles d’une montre ou dans le sens inverse, selon la largeur d’impulsion du signal. Typiquement, une largeur d’impulsion de 1 ms fera tourner l’arbre dans le sens des aiguilles d’une montre et une impulsion de 2 ms fera tourner l’arbre dans le sens inverse des aiguilles d’une montre. Pour positionner l’arbre ½ chemin, ou au milieu, une impulsion de 1,5 ms fonctionne généralement. Vous aurez besoin de 20 ms entre chaque impulsion. La figure 2 ci-dessous montre le timing pour chaque position.

  Comment fabriquer du filament 3D?

Déterminez si vous avez besoin d’une rotation limitée (180 degrés maximum) ou continue. Vous devez également noter la quantité de couple que l’arbre doit avoir pour votre application ainsi que la vitesse de rotation, qui est évaluée en RPM (tours par minute).

Fonctions de la bibliothèque de servo Arduino

Construire des robots avec Arduino commence par savoir comment déplacer des objets grâce à des moteurs. Il y a beaucoup de types de moteurs utilisés dans les systèmes basés sur des microcontrôleurs : les moteurs à courant continu, les moteurs pas à pas et les servomoteurs.    Dans cet article sur les servomoteurs Arduino, je vais vous expliquer ce qu’est un servomoteur et comment l’utiliser avec un Arduino.

Comme vous pouvez le voir, il y a trois fils : rouge pour le +5V, noir pour la masse et jaune pour l’impulsion. D’autres marques de servomoteurs ont des couleurs différentes pour leurs fils mais presque toutes utilisent le rouge pour le +5V et le noir pour la masse.

La bibliothèque Arduino Servo a deux exemples faciles à utiliser. Cette bibliothèque est fournie avec l’IDE, donc aucun téléchargement supplémentaire n’est nécessaire. Nous allons d’abord utiliser l’exemple Sweep. Sur l’IDE Arduino, allez dans Fichier > Exemples > Servo > Sweep. Ce sketch va s’ouvrir :

La fonction servo.write() reçoit l’angle en degrés comme argument. Dans cet extrait de code, pos est incrémenté de 0 à 180 dans une boucle for, puis décrémenté de 180 à 0 dans une autre boucle for.

L’autre exemple, le sketch Knob, montre comment contrôler un servomoteur avec un potentiomètre. La tension du circuit du potentiomètre est lue par analogWrite et convertie en rotation. J’ai utilisé ce schéma de câblage pour l’exemple suivant :

  Comment faire clignoter 3 LED Arduino?