Arduino, Tutoriels

Comment utiliser NEMA 17 moteur pas à pas avec Arduino et le module pilote de moteur pas à pas A4988

Controle Dun Moteur Pas A Pas Nema 17 Avec Arduino Et Le Module Pilote De Moteur Pas A Pas A4988

Introduction

Les moteurs pas à pas NEMA 17 sont un type de moteur à courant continu qui fonctionne par incréments discrets et est utilisé partout, des caméras de surveillance aux robots sophistiqués et aux machines. Les moteurs pas à pas permettent un contrôle précis et peuvent être différenciés en fonction du couple, du nombre de pas par tour et de la tension d’entrée. Dans notre projet précédent, nous avons contrôlé le moteur pas à pas 28-BYJ48 à l’aide d’Arduino. Le 28-BYJ48 a un couple relativement plus faible que les autres moteurs pas à pas tels que les NEMA 14 et NEMA17.

Dans ce tutoriel, nous allons contrôler un moteur pas à pas NEMA17 à l’aide d’Arduino Uno et du module pilote de moteur pas à pas A4988. Le moteur pas à pas NEMA17 a un couple plus élevé et une tension de fonctionnement plus élevée que le 28-BYJ48. Ici, un potentiomètre sera également utilisé pour contrôler la direction du moteur pas à pas.

Composants requis :

Moteur pas à pas NEMA 17 :

Le fonctionnement du NEMA17 est similaire à celui des moteurs pas à pas classiques. Le moteur pas à pas NEMA17 a une plaque frontale de 1,7 x 1,7 pouces et il a généralement plus de couple que les variantes plus petites, telles que le NEMA14. Ce moteur a six fils de connexion et une tension nominale de 12 volts. Il peut fonctionner à une tension inférieure, mais le couple diminuera. Les moteurs pas à pas ne tournent pas, ils avancent par pas, et le moteur NEMA17 a un angle de pas de 1,8 degré, ce qui signifie qu’il parcourt 1,8 degré à chaque pas. Le schéma de câblage du NEMA17 est présenté ci-dessous.

Untitled Design 2 1
NEMA17

Comme vous pouvez le voir, ce moteur a un agencement unipolaire à six fils. Ces fils sont connectés en deux enroulements séparés. Les fils noirs, jaunes et verts font partie du premier enroulement, où le fil noir est le point central et les fils jaune et vert sont les extrémités de la bobine, tandis que les fils rouge, blanc et bleu font partie du deuxième enroulement, où le fil blanc est le point central et les fils rouge et bleu sont les extrémités de la bobine. Normalement, les fils du point central sont laissés déconnectés.

Nombre de pas par tour pour le NEMA17 :

Le nombre de pas par tour pour un moteur pas à pas particulier est calculé en utilisant l’angle de pas de ce moteur pas à pas. Ainsi, dans le cas du NEMA17, l’angle de pas est de 1,8 degré.

Pas par tour = 360 / angle de pas 360 / 1,8 = 200 pas par tour

Le NEMA17 effectue 200 pas pour faire une rotation complète de 360 degrés. Cela signifie que pour chaque pas, le moteur avance de 1,8 degré.

Module pilote de moteur pas à pas A4988 :

A4988 Moteur Driver

Le module pilote de moteur pas à pas A4988 est utilisé pour contrôler le moteur pas à pas NEMA17. Il fournit une interface simple pour contrôler la vitesse et la direction du moteur pas à pas. Le module A4988 fonctionne en convertissant des signaux d’entrée numériques en signaux de sortie analogiques pour contrôler le moteur pas à pas. Il est également capable de diviser le signal de pas pour obtenir une résolution plus fine du mouvement du moteur. Ce module est livré avec des broches d’entrée pour la direction, le pas, le mode de pas et la désactivation.

Schéma de câblage :

Voici le schéma de câblage pour connecter le moteur pas à pas NEMA17 à Arduino Uno à l’aide du module pilote de moteur pas à pas A4988 :

Contrôle D'Un Moteur Pas À Pas Nema 17 Avec Arduino Et Le Module Pilote De Moteur Pas À Pas A4988
Comment Utiliser Nema 17 Moteur Pas À Pas Avec Arduino Et Le Module Pilote De Moteur Pas À Pas A4988 8

Connexions :

  • Connectez la broche VCC du module A4988 au 5V de l’Arduino Uno.
  • Connectez la broche GND du module A4988 au GND de l’Arduino Uno.
  • Connectez la broche MS1 du module A4988 à la broche 8 de l’Arduino Uno.
  • Connectez la broche MS2 du module A4988 à la broche 9 de l’Arduino Uno.
  • Connectez la broche MS3 du module A4988 à la broche 10 de l’Arduino Uno.
  • Connectez la broche STEP du module A4988 à la broche 2 de l’Arduino Uno.
  • Connectez la broche DIR du module A4988 à la broche 3 de l’Arduino Uno.

La connexion du moteur pas à pas NEMA 17 au module A4988 est un peu plus complexe car le NEMA17 a six fils. Utilisez le tableau ci-dessous pour effectuer les connexions correctes :

+--------------+---------------------+
| Moteur NEMA17 | Module pilote A4988 |
+--------------+---------------------+
| Fil Noir     | Bobine A             |
| Fil Vert     | Bobine A             |
| Fil Rouge    | Bobine B             |
| Fil Bleu     | Bobine B             |
|(Point central du moteur non connecté)|
+--------------+---------------------+

Connexion du potentiomètre :

Connectez le potentiomètre au pin analogique A0 de l’Arduino Uno. Le potentiomètre agira comme un contrôleur pour déterminer la direction du moteur pas à pas.

Code Arduino :

Voici le code Arduino pour contrôler le moteur pas à pas NEMA 17 avec le module A4988 :

#include <Stepper.h>

// Déclaration des broches de contrôle du moteur
const int stepPin = 2;
const int dirPin = 3;

// Déclaration de la résolution du moteur
const int stepsPerRevolution = 200;

// Création de l'objet Stepper
Stepper myStepper(stepsPerRevolution, stepPin, dirPin);

void setup() {
  // Déclaration de la vitesse du moteur
  myStepper.setSpeed(100); // Vitesse en tours par minute (TPM)

  // Déclaration de la direction du moteur
  pinMode(dirPin, OUTPUT);
}

void loop() {
  // Lecture de la valeur du potentiomètre
  int potValue = analogRead(A0);

  // Conversion de la valeur du potentiomètre en une valeur de direction (-1 ou 1)
  int dir = map(potValue, 0, 1023, -1, 1);

  // Définition de la direction du moteur
  digitalWrite(dirPin, dir);

  // Faire avancer le moteur d'un pas
  myStepper.step(1);
}

Explication du code :

  • La bibliothèque Stepper est utilisée pour faciliter le contrôle du moteur pas à pas.
  • La constante stepsPerRevolution est définie avec la valeur 200 pour correspondre au nombre de pas par tour du moteur NEMA17.
  • Dans la fonction setup(), la vitesse du moteur est déclarée en utilisant la méthode setSpeed(), et la broche de direction est définie en tant que sortie.
  • Dans la fonction loop(), la valeur du potentiomètre est lue à l’aide de analogRead().
  • La valeur du potentiomètre est ensuite convertie en une valeur de direction (-1 ou 1) à l’aide de map().
  • La direction du moteur est définie en utilisant digitalWrite().
  • Enfin, le moteur est avancé d’un pas à l’aide de la méthode step().

Conclusion

Dans ce tutoriel, vous avez appris à contrôler un moteur pas à pas NEMA 17 à l’aide d’Arduino Uno et du module pilote de moteur pas à pas A4988. Vous avez appris le schéma de câblage, les connexions du moteur pas à pas, la résolution du moteur et comment utiliser un potentiomètre pour contrôler la direction du moteur. Avec les connaissances acquises, vous pouvez maintenant intégrer le moteur pas à pas NEMA17 dans vos propres projets et réaliser des mouvements précis et contrôlés. Amusez-vous bien à explorer les possibilités offertes par les moteurs pas à pas dans vos créations !

Pour plus d’article : https://www.moussasoft.com/tutoriels-electroniques

Twitter: Moussa Lhoussaine (@Moussasoft_com) / Twitter