Habituellement, les servomoteurs ont des bras qui peuvent être contrôlés à l'aide d'Arduino. Les servomoteurs se composent d'un système de contrôle qui fournit retour À propos de la position actuelle de l'arbre du moteur, cette rétroaction permet de se déplacer à une grande précision.
Pin de piqûre à moteur
En règle générale, la plupart des servomoteurs ont trois épingles:
Fonctionnement du servomoteur
Nous pouvons contrôler le servomoteur en connectant la broche VCC à la broche 5V et GND à 0V. Sur le terminal de couleur jaune, nous fournissons un PWM signal qui contrôle l'angle rotatif du servomoteur. La largeur du signal PWM nous donne l'angle auquel le moteur tourne son bras.
Si nous examinons la fiche technique des servomoteurs, nous obtenons les paramètres suivants:
Tous ces paramètres sont prédéfinis dans la bibliothèque Arduino Servo.
Servomoteurs avec arduino
Les servomoteurs sont super faciles à contrôler avec Arduino, grâce au Servo-bibliothèque ce qui nous aide à personnaliser notre code en fonction des besoins et nous permet de faire pivoter le bras servo à notre angle souhaité.
Les trois paramètres mentionnés ci-dessus sont fixés dans la bibliothèque servo. En utilisant ces paramètres, nous pouvons contrôler l'angle de servomoteur de manière suivante:
Nous pouvons générer un signal PWM souhaité sur certaines des broches Arduino. Le signal PWM sera donné à la broche du signal d'entrée du servomoteur. Connexion restante de deux broches de servo à 5V et GND d'Arduino.
Comment contrôler le servomoteur à l'aide d'Arduino
Ici, je vais expliquer comment nous pouvons connecter et programmer notre servomoteur à l'aide d'Arduino. Tout ce dont tu as besoin c'est:
Comment programmer le servo avec Arduino
Voici quelques étapes simples:
Étape 1: Inclure la bibliothèque servo prédéfinie:
#inclure
Étape 2: Créer un objet servo:
Servo MyServo;
Astuce: Dans le cas où vous contrôlez plus d'un servomoteur, vous devez créer plus d'objets de servo:
Servo MyServo1;
Servo MyServo2;
Étape 3: Définir la broche de commande (9) sur Arduino Uno qui envoie le signal PWM au port de signal d'entrée de servo:
myservo.attacher (9);
Étape 4: Faites pivoter l'angle de moteur du servomoteur à la valeur souhaitée par exemple 90o:
myservo.écrire (pos);
Code arduino
Exemple de servomoteur ouvert à partir de Fichier> Exemple> Servo> balayage, Une nouvelle fenêtre s'ouvrira en nous montrant notre croquis de servo:
#inclure
Servo MyServo; // L'objet servo est créé pour contrôler le servomoteur
int pos = 0; // Pour stocker le servo position, une nouvelle variable est créée
void setup()
myservo.attacher (9); // Cela définira Arduino Pin 9 pour la sortie PWM
VOID LOOP ()
pour (pos = 0; pos = 0; pos - = 1) // passe de 180 à 0 degrés
myservo.écrire (pos); // dire à servo d'aller à la position «pos»
retard (5); // attend 5 ms pour que le servo puisse atteindre pour positionner
Une fois le programme compilé et téléchargé, le servomoteur commencera à tourner lentement de la position de départ de 0 degrés à 180 degrés, un degré à la fois tout comme les étapes. Lorsque le moteur aura terminé la rotation de 180 degrés, il commencera sa rotation dans la direction opposée vers son point de départ I.e., 0 degré.
Schémas
Comment contrôler le servomoteur à l'aide du potentiomètre
Nous pouvons également contrôler la position du servomoteur à la main. Pour ce faire, nous avons besoin d'un Potentiomètre. Le potentiomètre a trois broches. Connectez les deux broches extérieures à 5V VCC et GND d'Arduino et un milieu à la broche A0 sur la carte Arduino.
Comment programmer le servo avec le potentiomètre
La plupart des croquis du potentiomètre sont les mêmes que l'exemple précédent. La seule différence est une nouvelle variable val et potpin est défini avant la section de configuration et de boucle du code.
int potpin = a0;
int Val;
Dans la section de boucle, la broche analogique A0 est utilisée pour lire les valeurs du potentiomètre avec fonction analogread (). Les cartes Arduino contiennent un ADC 10 bits (convertisseur analogique à numérique), ce qui nous donne des valeurs entre 0 et 1023 selon la position du potentiomètre:
val = analograread (Potpin);
Enfin, nous avons utilisé carte() fonction pour refaire des nombres de 0 à 1023 selon l'angle de servo car nous savons que les moteurs de servo ne peuvent tourner que entre 00 et 1800.
val = map (val, 0, 1023, 0, 180);
Code arduino
Sketch de bouton ouvert disponible dans Arduino IDE, allez à Fichiers> Exemples> Servo> Bouton. Une nouvelle fenêtre s'ouvrira qui nous montre notre croquis de bouton pour servo:
#inclure
Servo MyServo; // Création d'un nom d'objet servo MyServo
int potpin = a0; // Définition de la broche analogique pour le potentiomètre
int Val; // Variable qui lira les valeurs de broches analogiques pour le potentiomètre
void setup()
myservo.attacher (9); // PIN 9 définie pour le signal d'entrée PWM de Servo sur Arduino
VOID LOOP ()
val = analograread (Potpin); // lit la valeur du potentiomètre (valeur entre 0 et 1023)
val = map (val, 0, 1023, 0, 180); // Échelle la valeur à utiliser avec le servo (valeur entre 0 et 180)
myservo.écrire (val); // Définit le service de service avec une valeur à l'échelle
retard (15); // attend que le servo puisse se mettre en position
Le code ci-dessus nous aidera à contrôler l'arbre du servomoteur à l'aide du potentiomètre, l'arbre tournera entre 0 et 180 degrés. Nous pouvons également maintenir la vitesse avec la direction du servo en l'utilisant.
Schéma
Combien de servomoteurs puis-je me connecter avec Arduino?
Le nombre maximum de servo-moteurs Arduino Uno peut gérer est jusqu'à 12 avec une bibliothèque Arduino pour servo, et maximum de 48 servos peut être connecté avec des planches comme Mega.
Conseil: Nous pouvons directement exécuter le servo en utilisant le courant Arduino, mais rappelez-vous si les servos moteurs dessinent plus que 500mA Ensuite, votre carte Arduino peut réinitialiser et perdre automatiquement l'énergie. Il est recommandé d'utiliser toujours une alimentation électrique dédiée pour les servomoteurs.
Conclusion
Dans ce tutoriel, nous avons couvert le mécanisme de contrôle des servomoteurs avec Arduino. Nous avons couvert les bases du contrôle du servomoteur et de la vitesse à l'aide du potentiomètre. Maintenant, vous avez une idée du servo et des possibilités pour votre robotique, vos projets RC et votre automatisation à l'aide de servo sont sans fin.