Comment interfacer les servomoteurs avec Arduino

Essayez Notre Instrument Pour Éliminer Les Problèmes





Dans cet article, nous allons apprendre ce qu'est le servomoteur, comment il fonctionne, comment s'interfacer avec le microcontrôleur et ce qui rend ce moteur spécial par rapport aux autres moteurs.

En tant que passionné d'électronique, nous aurions rencontré de nombreux types de moteurs, nous allons ici nous intéresser à un type spécial de moteur appelé servomoteur.



Qu'est-ce qu'un servomoteur?

Le servomoteur ou simplement servo est un type spécial de moteur conçu pour un contrôle précis de la position, de l'accélération et de la vitesse. Contrairement à tous les autres types de moteurs, le servo ne peut tourner que dans les deux sens de 180 degrés. Il a des engrenages mécaniques et une butée qui limitent la rotation angulaire du servo.

Servomoteur typique:

Les servomoteurs sont utilisés dans la robotique, les caméras de vidéosurveillance, les voitures RC, les bateaux, les avions jouets, etc.



Les servos ne sont pas simplement un moteur comme les autres types, mais c'est un module qui combine un moteur CC / CA normal, un groupe d'engrenages, une électronique de commande et un système de rétroaction. Examinons en détail chacune des étapes mentionnées.

Le moteur DC / AC qui est utilisé sur un module servo peut être un moteur sans balais ou à balais, sur la plupart des servos amateurs, le moteur DC est utilisé et les moteurs AC sont utilisés dans les applications industrielles. Le moteur donne une entrée rotative au servo. Le moteur tourne à plusieurs centaines de tr / min à l'intérieur du servo et la rotation de sortie est environ 50 fois ou plus inférieure à son régime.

L'étape suivante est l'assemblage d'engrenages, qui contrôle la rotation angulaire et la vitesse du servo. L'engrenage peut être en plastique ou en métal selon l'encombrement de la charge. En général, les moteurs à courant continu fonctionnent à un régime élevé et un couple faible, l'ensemble d'engrenages convertit l'excès de régime en couple. Ainsi, un petit moteur peut supporter une charge énorme.

L'étape suivante est l'électronique de contrôle qui constitue des MOSFET et des CI pour contrôler la rotation du moteur. Un système de rétroaction est toujours présent dans les servomoteurs pour suivre la position actuelle de l'actionneur.

Dans les servos, en général, un composant de rétroaction est un potentiomètre, qui est directement connecté à l'actionneur rotatif. Le potentiomètre agit comme un diviseur de tension qui alimente l'électronique de commande. Cette rétroaction aide l'électronique de commande à déterminer la quantité de puissance fournie au moteur.

Un servomoteur dans une position fixe se déplacera réticent de sa position actuelle si une force externe tente de déranger. Le système de retour surveille la position actuelle et alimente le moteur contre les perturbations externes.

Le scénario ci-dessus est le même lorsque le servo déplace son actionneur. Le système de contrôle compensera la force externe et se déplacera à une vitesse déterminée.

Vous en savez maintenant un peu plus sur le servomoteur et son mécanisme de fonctionnement. Voyons comment contrôler les servomoteurs à l’aide d’un microcontrôleur.

Les servomoteurs ont 3 bornes contrairement aux autres moteurs qui ont 2 bornes, deux pour l'alimentation (5V nominal) et une pour le signal de commande. Les fils sont colorés pour une identification facile des bornes.

Les signaux de commande des servos sont PWM à une fréquence de 50 Hz. La largeur d'impulsion du signal détermine la position du bras d'actionnement. Un servomoteur classique fonctionne avec une largeur d'impulsion de 1 à 2 millisecondes.

L'application d'un signal de commande de largeur d'impulsion de 1 ms maintiendra l'actionneur en position 0 degré. L'application d'un signal de commande de largeur d'impulsion de 2 ms maintiendra l'actionneur à une position de 180 degrés. L'application de signaux entre 1 et 2 ms maintiendra l'actionneur dans un angle de 0 à 180 degrés. Cela peut être mieux compris par l'image ci-dessous.

A présent, vous auriez compris comment un servo est contrôlé par modulation de largeur d'impulsion (PWM).

Voyons maintenant comment interfacer un servomoteur avec Arduino.

Schéma:

comment interfacer un servomoteur avec Arduino.

Le câblage est simple et explicite. Vous avez besoin d'une alimentation externe si vous utilisez un servomoteur volumineux. Si vous essayez d’alimenter à partir de l’alimentation Arduino, vous finirez par surcharger le port USB de l’ordinateur.

Si vous avez un servo similaire, illustré au début de l'article, vous pouvez l'alimenter à partir d'une alimentation arduino 5V, également illustrée dans le prototype de l'auteur.

Prototype de l'auteur:

Arduino a besoin d'une bibliothèque de servos pour le gérer, cela nous a simplifié la tâche et il est déjà dans l'IDE Arduino.

Programme:

//--------Program developed by R.Girish--------//
#include
Servo motor
int pos = 0
int t=10
void setup()
{
motor.attach(7)
}
void loop()
{
A:
pos=pos+1
motor.write(pos)
delay(t)
if(pos==180) { goto B}
goto A
B:
pos=pos-1
motor.write(pos)
delay(t)
if(pos==0) { goto A}
goto B
}
//--------Program developed by R.Girish--------//

Le programme ci-dessus balaie l'actionneur de 0 à 180 degrés à droite et de 180 à 0 degrés à gauche et le cycle se répète. Il s'agit d'un programme simple pour tester le servo dont vous pourriez avoir besoin pour écrire votre propre code pour vos applications personnalisées.




Une paire de: Circuit de contrôleur de vanne de pompe à eau à deux tuyaux Un article: Comprendre le câblage du régulateur de tension de moto