Un servomoteur est un type de moteur spécialement conçu pour se déplacer à des angles précis et pour maintenir une position stable. Il se distingue des moteurs classiques, car il permet un contrôle précis de la position, de la vitesse et de l’accélération, ce qui le rend utile pour les applications qui nécessitent une grande précision.
Un servomoteur est composé de plusieurs éléments :
Un moteur : généralement un moteur à courant continu qui génère le mouvement.
Un système d’engrenages : réduit la vitesse et augmente le couple, ce qui permet un contrôle plus précis.
Un potentiomètre : mesure la position actuelle de l’axe de rotation et envoie cette information au contrôleur.
Un circuit de contrôle : compare la position actuelle avec la position cible (celle demandée par l’utilisateur) et ajuste le moteur en conséquence pour atteindre et maintenir cette position.
Les servomoteurs reçoivent un signal de contrôle, généralement un signal PWM (modulation de largeur d'impulsion), qui indique la position souhaitée. En fonction de la largeur de l’impulsion :
Une impulsion courte place le moteur à un angle bas (souvent 0°).
Une impulsion moyenne place le moteur au milieu de sa plage (par exemple 90° pour un servo 180°).
Une impulsion longue place le moteur à l’angle maximum (comme 180°).
1- Servomoteurs standards (ou à rotation limitée) : limités à une plage de rotation, souvent entre 0° et 180° ou 0° et 270°.
2- Servomoteurs à rotation continue : peuvent tourner de manière continue dans les deux sens, comme un moteur classique, mais avec un contrôle de la vitesse en plus.
Les servomoteurs sont utilisés dans de nombreux domaines, notamment :
La robotique : pour les mouvements précis des bras, des pinces, etc.
Les modèles réduits : pour contrôler les gouvernails, les ailes et d'autres parties mobiles.
L’automatisation industrielle : pour des tâches de positionnement comme le tri ou l’assemblage.
Les appareils électroniques : caméras de sécurité, imprimantes, ou tout appareil nécessitant un mouvement précis.
En résumé, un servomoteur est un dispositif électromécanique permettant de contrôler la position avec une grande précision, ce qui le rend idéal pour des applications où un mouvement ou un positionnement contrôlé est nécessaire.
Pour contrôler un servomoteur avec une carte Arduino UNO, voici le matériel nécessaire :
1. Carte Arduino UNO
La carte microcontrôleur qui sert à programmer et à envoyer les commandes au servomoteur. Elle dispose de broches numériques et analogiques pour connecter divers composants électroniques.
2. Servomoteur
Un moteur contrôlable en position. Il dispose généralement de trois fils :
Signal (pour recevoir les commandes de position de l'Arduino).
VCC (alimentation du moteur, généralement 5V).
GND (mise à la terre).
3. Câbles de Connexion (Jumper Wires)
Pour relier les broches de l’Arduino aux broches du servomoteur (signal, VCC, et GND). Des câbles mâle-mâle ou mâle-femelle sont utilisés selon les connecteurs disponibles.
1- Connectez le fil de signal du servomoteur (souvent jaune ou orange) à une broche numérique de l’Arduino, par exemple D1.
2- Connectez le fil d'alimentation (VCC) du servomoteur (généralement rouge) au 5V de l’Arduino.
3- Connectez le fil de masse (GND) du servomoteur (souvent noir ou marron) à une broche GND de l’Arduino.
Le code ci-dessous utilise la bibliothèque Servo d’Arduino, qui simplifie le contrôle des servomoteurs.
1- Ouvrez l’IDE Arduino et créez un nouveau sketch.
2- Ajoutez le code suivant dans le sketch :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
#include <Servo.h> Servo monServo; // Crée un objet Servo void setup() { monServo.attach(9); // Associe le servo à la broche numérique 9 } void loop() { monServo.write(0); // Positionne le servo à 0 degrés delay(1000); // Attendre 1 seconde monServo.write(90); // Positionne le servo à 90 degrés delay(1000); // Attendre 1 seconde monServo.write(180); // Positionne le servo à 180 degrés delay(1000); // Attendre 1 seconde } |
#include
: inclut la bibliothèque Servo, qui contient les fonctions pour contrôler le servomoteur.
Servo monServo;
: crée un objet monServo
qui représente le servomoteur.
monServo.attach(1);
: associe le servomoteur à la broche 9 de l'Arduino.
monServo.write(angle);
: envoie au servomoteur l'angle de rotation souhaité (entre 0° et 180°).
delay(1000);
: attend 1 seconde entre chaque changement de position pour permettre au servo d’atteindre la position avant d’envoyer une nouvelle commande.
Connectez l’Arduino à votre ordinateur via un câble USB.
Dans l’IDE Arduino, sélectionnez Outils > Type de carte > Arduino UNO.
Sélectionnez le port COM correspondant à votre Arduino.
Cliquez sur Téléverser pour envoyer le code à l'Arduino.
Le servomoteur se déplace successivement aux angles 0°, 90°, et 180°, avec une pause d’une seconde entre chaque position. Vous pouvez modifier les valeurs dans monServo.write()
pour obtenir d’autres angles et ajuster les délais pour varier la vitesse de mouvement.
Cela vous permet de contrôler facilement la position du servomoteur avec une Arduino UNO.
La robotique éducative joue un rôle important dans l'éducation des enfants et des jeunes en les aidant à acquérir des compétences en science et technologie.
Dans ce cadre notre site web représente une excellente ressource pour les parents, les enseignants et les enfants qui souhaitent découvrir la robotique.
Zaouiet Kontech-Jemmel-Monastir-Tunisie
+216 92 886 231
medaliprof@gmail.com
Site robotique réalisé par Mohamed Ali-Prof Info