Servo: comment utiliser le servomoteur avec Arduino

servo, servomoteur

Si vous souhaitez utiliser un servomoteur, ou servoavec Arduino, dans cet article, vous apprendrez ce dont vous avez besoin pour commencer. Nous avons déjà vu dans d'autres articles ce qu'il faut utiliser moteurs électriques, moteurs pas à pas, ainsi que d'autres concepts nécessaires pour comprendre le fonctionnement de ce type d'appareil, comme l'article sur PWM.

Maintenant, vous pouvez ajouter un autre nouveau composant électronique à la liste des appareils analysé et que vous pouvez aller intégrer vos projets DIY pour ajouter de nouvelles fonctionnalités.

Qu'est-ce qu'un servo?

servo

Un servomoteur, ou simplement servo, est un moteur électronique présentant des similitudes avec les moteurs à courant continu conventionnels, mais avec certains éléments qui les rendent spéciaux. Dans ce cas, il a la capacité de maintenir une position indiquée, ce que les moteurs électriques ne permettent pas.

D'autre part, le servo peut également contrôler précisément la vitesse de rotation, grâce à une série d'engrenages internes et un système qui permet un bien meilleur contrôle que ce qui pourrait être fait dans d'autres types de moteurs.

Ces caractéristiques le rendent particulièrement intéressant pour applications la robotique, ou pour d'autres appareils où le mouvement et la position doivent être contrôlés, comme une imprimante ou une voiture télécommandée. Dans ce type de voiture radiocommandée, il existe un moteur conventionnel pour conduire la voiture et un servo pour la direction, avec lequel contrôler le virage avec précision.

Différence entre le moteur pas à pas et le servomoteur

Nema 17

Si vous demandez la différence entre un servomoteur et un moteur pas à pas, la vérité est qu'ils peuvent être confondus, car dans le moteur pas à pas, ou pas à pas, la rotation peut également être contrôlée assez précisément et les applications sont très similaires à celles du servo. Au lieu de cela, il y a quelques différences.

Et c'est que les servomoteurs utilisent généralement aimants de terres rares, tandis que les moteurs pas à pas utilisent des aimants moins chers et plus conventionnels. Par conséquent, un servo peut atteindre un développement de couple plus élevé, même s'il reste compact. Par conséquent, la force de rotation sera très élevée.

Caractéristiques techniques

Chaque fois que vous achetez un servo, vous devez consulter sa fiche technique ou sa fiche technique. De cette façon, vous assurerez le caractéristiques techniques il a, mais aussi les limites auxquelles vous pouvez le soumettre, telles que la tension, l'intensité, la charge maximale, le couple, etc. N'oubliez pas que chaque modèle peut être très différent.

Par exemple, si vous regardez l'un des plus populaires, le Micro Servo 9G SG90 de la célèbre société Tower Pro, alors vous aurez des caractéristiques très particulières, bien que la programmation et la connexion des modèles soient plus ou moins les mêmes et que tout ce qui est dit ici est utile à tout le monde.

Dans le cas de ce modèle, il s'agit d'un moteur de haute qualité, avec un angle de braquage qui permet un balayage entre -90 et 90 °, c'est-à-dire un virage total de 180 °. La résolution que vous pouvez atteindre est très élevée, vous pouvez donc avancer très petit à petit. Par exemple, avec les limites du signal PWM de Arduino UNO, vous pouvez même obtenir une avance d'une année à l'autre.

De même, le signal PWM imposera également une autre limite, et c'est le nombre de fois que chaque position peut changer par unité de temps. Par exemple, puisque les impulsions fonctionnent avec entre 1 et 2 ms et avec Périodes de 20 ms (50Hz), alors le servo peut se déplacer une fois toutes les 20 ms.

De plus, il pèsera 9 grammes et, malgré ce poids et cette taille compacte, il pourra développer un couple ou couple de 1.8 kg / cm avec 4.8v. C'est grâce à son engrenage POM.

Enfin, vous savez déjà que, en fonction de ce que vous souhaitez réaliser, vous devrez choisir l'un ou l'autre modèle, afin qu'il ait le fonctionnalités nécessaires à votre projet. Autrement dit, ce n'est pas la même chose que vous voulez qu'un moteur déplace une charge X, qu'un pour XX ...

Où acheter un servo

servomoteur

Si vous souhaitez commencer à utiliser ce type de servomoteur, vous pouvez le trouver bon marché dans de nombreux magasins spécialisés, et vous pouvez également l'obtenir en ligne sur Amazon. Par exemple, voici quelques exemples de produits recommandés qui peut vous intéresser:

Ils ont tous un très bon angle de braquage, mais il diffère fondamentalement par le couple que chacun peut tolérer. j'ai inclus trois modèles différents. Le premier, et moins cher, peut être suffisant pour la plupart des applications. Mais si vous en avez besoin d'une plus grande résistance pour d'autres applications, vous avez les 25 et 35, qui sont déjà assez remarquables ...

Intégration avec Arduino

servo arduino

Comme vous pouvez le voir dans l'image ci-dessus, le servo se connecte très facilement à Arduino. Il ne dispose que de trois câbles, que vous pouvez connecter de cette manière:

  • Rouge avec 5V
  • Noir avec GND
  • Jaune avec une broche Arduino PWM, dans ce cas avec -9.

Afin de programmer une esquisse pour commencer à utiliser ces types de moteurs, vous avez plusieurs options. Mais, tout d'abord, pour commencer, vous devez ajouter la bibliothèque IDE Arduino pour piloter ce type de servomoteurs:

  1. Ouvrez l'IDE Arduino.
  2. Accédez au programme.
  3. Ensuite, incluez la bibliothèque.
  4. Servo

Quant à code d'esquisse, cela pourrait être aussi simple que le servo passera par ses positions d'arrêt à 0º, 90º et 180º:

//Incluir la biblioteca del servo
#include <Servo.h>
 
//Declarar la variable para el servo
Servo servoMotor;
 
void setup() {
  // Iniciar el monitor serie
  Serial.begin(9600);
 
  // Iniciar el servo para que use el pin 9 al que conectamos
  servoMotor.attach(9);
}
 
void loop() {
  
  // Desplazar a la posición 0º
  servoMotor.write(0);
  // Esperar 1 segundo
  delay(1000);
  
  // Desplazar a la posición 90º
  servoMotor.write(90);
  // Esperar 1 segundo
  delay(1000);
  
  // Desplazamos a la posición 180º
  servoMotor.write(180);
  // Esperar 1 segundo
  delay(1000);
}

Maintenant si vous voulez déplacez-le de degré en degré, alors ce serait comme ça:

// Incluir la biblioteca servo
#include <Servo.h>
 
// Declarar la variable para el servo
Servo servoMotor;
 
void setup() {
  // Iniciar la velocidad de serie
  Serial.begin(9600);
 
  // Poner el servo en el pin 9
  servoMotor.attach(9);
 
  // Iniciar el servo en 0º
  servoMotor.write(0);
}
 
void loop() {
 
  // Los bucles serán positivos o negativos, en función el sentido del giro
  // Positivo
  for (int i = 0; i <= 180; i++)
  {
    // Desplazar ángulo correspondiente
    servoMotor.write(i);
    // Pausa de 25 ms
    delay(25);
  }
 
  // Negativo
  for (int i = 179; i > 0; i--)
  {
    // Desplazar el ángulo correspondiente
    servoMotor.write(i);
    // Pausa e 25 ms
    delay(25);
  }
}


Soyez le premier à commenter

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données: Miguel Ángel Gatón
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.