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?
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
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
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:
-
AZDelivery Servo MG90S Micro: supporte jusqu'à 13.4 kg.
- Innover-UE: jusqu'à 25 kg / cm.
- Innover-UE: un autre modèle étanche, et jusqu'à 35kg / cm.
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
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:
- Ouvrez l'IDE Arduino.
- Accédez au programme.
- Ensuite, incluez la bibliothèque.
- 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); } }