Accueil » Tutoriel : Utilisation d’un Servomoteur avec Arduino

Tutoriel : Utilisation d’un Servomoteur avec Arduino

Introduction

Vous êtes passionné par l’électronique et les projets DIY ? Dans ce tutoriel, nous allons explorer l’utilisation des servomoteurs avec la carte Arduino. Les servomoteurs sont des actionneurs précis qui permettent de contrôler avec précision les mouvements mécaniques. Que vous souhaitiez créer un bras robotique, une porte automatisée ou un petit jouet interactif, les servomoteurs seront vos alliés 

Principe de fonctionnement d’un servomoteur

Un servomoteur est un dispositif électromécanique qui produit du couple (force de rotation) et de la vitesse en fonction du courant et de la tension qui lui sont fournis.

  1. Fonctionnement de Base :
    • Imaginez un servomoteur comme un petit bras mécanique qui peut tourner dans une plage limitée d’angles (généralement de 0° à 180°).
    • Il est utilisé pour contrôler des mouvements précis, tels que l’ouverture d’une porte, la direction d’un robot, ou le positionnement d’une caméra.
  2. Boucle Fermée :
    • Le servomoteur fonctionne dans un système en boucle fermée.
    • Voici comment cela se passe :
      • Le servomoteur reçoit des instructions (par exemple, “tourne à 90°”).
      • Il mesure sa position actuelle à l’aide d’un capteur intégré.
      • En fonction de la différence entre la position actuelle et la position souhaitée, il ajuste son mouvement pour atteindre la position cible.
  3. Contrôle Précis :
    • Le servomoteur est toujours connecté à un contrôleur de servomoteur.
    • Ce contrôleur convertit les signaux d’une unité de contrôle (généralement numérique) en commandes pour le servomoteur.
    • Cela permet un contrôle précis de la position, de la vitesse et du couple.
  4. Applications :

En résumé, un servomoteur est comme un petit bras robotique qui peut bouger avec précision selon vos instructions. Il est largement utilisé dans l’automatisation pour des tâches exigeant une grande précision ! 🤖

Un servomoteur est un actionneur précis qui permet de contrôler avec précision les mouvements mécaniques. Voici les caractéristiques d’un servomoteur typique :

  • Alimentation : 4,5 V à 6 V
  • Couple : 1,2 kg/cm sous 4,5 V – 1,4 kg/cm sous 6 V
  • Vitesse : 0,12 sec/60° sous 4,5 V – 0,10 sec/60° sous 6 V
  • Rotation : 180°

Le servomoteur possède un potentiomètre intégré qui est relié à l’arbre de sortie. En tournant l’arbre, le servomoteur modifie la valeur de la tension sur le potentiomètre. La carte Arduino analyse la tension du signal d’entrée et la compare à la tension du potentiomètre. En fonction de la différence, le moteur tournera doucement jusqu’à ce que les tensions de sortie et du potentiomètre soient égalisées.

Composants d’un Servomoteur

  1. Composants de Base d’un Servomoteur :
    • Si vous ouvrez un servomoteur hobby standard, vous trouverez généralement trois composants principaux :
      • Moteur à Courant Continu (DC) : Le moteur est attaché à une boîte de vitesses et à un arbre de sortie pour augmenter la vitesse et le couple du moteur.
      • Circuit de Contrôle : Ce circuit gère le fonctionnement du moteur. Il reçoit des signaux de commande et ajuste l’action du moteur en fonction des paramètres souhaités.
      • Potentiomètre ou Capteur de Rétroaction : Ce composant fournit des informations telles que le courant, la vitesse ou la position du servomoteur au circuit de contrôle. Cela permet de réguler précisément le mouvement du servomoteur.
  2. Types de Servomoteurs :
    • Il existe deux types de servomoteurs hobby courants :
      • Servomoteur Standard : Il se déplace sur un arc de rotation (généralement de 0° à 90° ou 0° à 180°) et fournit un retour de position au contrôleur. Idéal pour le contrôle de la direction dans les applications R/C, les pinces robotiques, etc.
      • Servomoteur à Rotation Continue : Il se comporte davantage comme un moteur à courant continu standard. Le contrôleur règle la vitesse et la direction du moteur. Idéal pour les applications où vous devez contrôler la vitesse et la direction avec seulement quelques fils.

En résumé, un servomoteur est comme un petit bras robotique que vous pouvez contrôler avec précision pour des mouvements spécifiques. C’est un excellent moyen d’ajouter du mouvement à vos projets ! 🤖

Branchement du servomoteur avec Arduino Uno

  1. Principe de Fonctionnement :
    • Le servomoteur reçoit un signal de commande sous forme de PWM.
    • Le PWM est un signal périodique qui alterne entre deux états : haut (ON) et bas (OFF).
    • La durée pendant laquelle le signal est en état haut détermine la position du servomoteur.
  2. Contrôle avec PWM :
    • Le servomoteur utilise le PWM pour contrôler son angle de rotation.
    • Voici comment cela fonctionne :
      • Le signal PWM est envoyé au servomoteur.
      • La durée pendant laquelle le signal est en état haut (rapport cyclique) détermine l’angle de rotation.
      • Par exemple, un rapport cyclique de 5% signifie que le servomoteur sera à 5% de sa plage de rotation (par exemple, 9° sur 180°).
  3. Branchement :
    • Connectez le fil noir du servomoteur à GND (masse).
    • Reliez le fil rouge à 5V (alimentation).
    • Connectez le fil orange/jaune à une broche PWM de votre carte Arduino.

Contrôle du servomoteur avec Arduino

Le contrôle des servomoteurs sur l’Arduino est assez simple. Voici comment commander un servomoteur :

  1. Bibliothèque servo.h : Assurez-vous d’inclure la bibliothèque Servo.h dans votre code Arduino.
  2. Initialisation : Créez un objet de type Servo et associez-le à une broche numérique.
  3. Configuration : Utilisez la méthode attach() pour configurer la broche du servomoteur.
  4. Positionnement : Utilisez la méthode write(angle) pour définir l’angle de positionnement du servomoteur (entre 0° et 180°).

Voici un exemple de code pour contrôler un servomoteur avec un potentiomètre :

#include <Servo.h>

Servo monServo; // Créez un objet Servo
int potentiometrePin = A0; // Broche analogique pour le potentiomètre

void setup() {
  monServo.attach(9); // Associez le servomoteur à la broche 9
}

void loop() {
  int angle = map(analogRead(potentiometrePin), 0, 1023, 0, 180);
  monServo.write(angle); // Définissez l'angle du servomoteur
  delay(15); // Attendez un court instant
}

Ce code lit la valeur du potentiomètre et ajuste l’angle du servomoteur en conséquence. Vous pouvez également contrôler le servomoteur avec un bouton-poussoir ou d’autres capteurs.

Bien sûr ! La bibliothèque #include <Servo.h> est utilisée pour contrôler les servomoteurs avec une carte Arduino. Voici les détails pour un débutant :

Inclusion de la Bibliothèque :

L’instruction #include permet d’ajouter des librairies externes à votre programme Arduino.

La bibliothèque Servo.h fournit des fonctions pour contrôler les servomoteurs.

Création d’un Objet Servo :

Avant d’utiliser un servomoteur, vous devez créer un objet Servo. Par exemple :#include <Servo.h> Servo myservo; // Créez un objet Servo pour contrôler un servomoteur

Configuration du Servomoteur :

Utilisez la méthode attach(pin) pour associer le servomoteur à une broche numérique de l’Arduino. Par exemple :myservo.attach(9); // Attachez le servomoteur à la broche 9

Positionnement du Servomoteur :

Utilisez la méthode write(angle) pour définir l’angle de position du servomoteur (entre 0° et 180°). Par exemple :myservo.write(90); // Positionne le servomoteur à 90 degrés

Exemple Complet : Voici un exemple complet qui fait tourner un servomoteur de 0° à 180° et vice versa :

#include <Servo.h> Servo myservo; // Créez un objet Servo 
void setup() { 
myservo.attach(9); // Attachez le servomoteur à la broche 9 
} 
void loop() 
{ for (int pos = 0; pos <= 180; pos += 1) { myservo.write(pos); // Positionne le servomoteur à l'angle 'pos' delay(15); // Attend 15 ms pour que le servomoteur atteigne la position } 
for (int pos = 180; pos >= 0; pos -= 1) 
 { myservo.write(pos); // Positionne le servomoteur à l'angle 'pos'
 delay(15); // Attend 15 ms pour que le servomoteur atteigne la position } 
}

En utilisant la bibliothèque Servo.h, vous pouvez facilement contrôler les servomoteurs pour vos projets Arduino ! 🤖

N’hésitez pas à explorer davantage et à créer vos propres projets passionnants avec des servomoteurs et l’Arduino ! 🤖