top of page

Juillet 2017 , par Techno_fabrik

Difficulté :

Durée :

Commander un moteur pas-à-pas Nema 17 et son driver A4988

LE PROJET  

L'objectif est de commander un moteur pas-à-pas grâce à son driver A4988 associé pour pouvoir ensuite l'utiliser pour réaliser plusieurs applications tel qu'un cnc , une imprimante 3D ou encore un                                     .

Matériel

  carte Arduino (Uno / Mega)

  condensateur 47 uF

  moteur pas-à-pas Nema 17 (12 V 0.5A)

  Driver A4988

  Alimentation 12 V

PRÉREQUIS :

Connaissance des risques électriques. Montage réalisable par tous. Notion d'électronique et bases en programmation.

Remarque : Nous n'avons rien connecté aux pins MS1, MS2 et MS3 du driver A4988, c'est à dire que notre moteur tournera avec des pas normaux.

En appliquant des états haut à ces broches, il est possible d'augmenter la précision du moteur en se déplaçant jusqu'à 1/16ème de pas du moteur.

RÉALISATION

ETAPE 1 : Liaison Arduino - A4988

On connecte l'alimentation de la partie commmande au module A4988.

La broche 3 est connectée au step du driver: on pourra alors moduler la vitesse de rotation du moteur.

La broche 4 est connectée au dir du driver: cela nous permet de choisir le sens de rotation en mettant ce pin à HIGH ou LOW.

    

ETAPE 2 : Alimentation des moteurs

 Les moteurs sont alimentés en 12 V (nous avons utilisé  une alimentation d'ordinateur).

On ajoute un condensateur de découplage de 47uF pour sécuriser le driver de possible pique de courant causé par le moteur.

ETAPE 3 : Liaison Moteur - A4988

Relier comme sur le schéma le moteur bipolaire.

     

           Vérifier que vous apportez le bon courant au driver : <0.2 A le moteur risque de vibrer sur lui même sans tourner 

>1A , le driver se met à chauffer énormément

 

Programme (codé en C)

// 12/07/2017 - Programme C - Utilisation d'un Moteur pas-à-pas NEMA 17, avec le driver A4988 - Carte Arduino ( ici MEGA) 
// Ce programme a pour objectif de : 
//                                     -  Permettre au moteur de faire un tour dans un sens 
//                                     -  Attendre 1 seconde
//                                     -  Faire deux tours dans l'autre sens puis recommencer
// Programme réalisé par Techno_Fabrik


//********************BIBLIOTHEQUES****************************


//********************DECLARATIONS****************************
int A4988_pas = 2; 
int A4988_direction = 3; 

 //********************SETUP***********************************
void setup()
// On initialise les pins 2 et 3 en sortie
{
 
  pinMode(A4988_pas,OUTPUT); 
  pinMode(A4988_direction,OUTPUT);
}

//********************BOUCLE**********************************
void loop() {
  digitalWrite(A4988_direction,HIGH);
// Permet au moteur de tourner dans une direction 
  for(int x = 0; x < 200; x++) {// Permet de faire un PAS à une certaine allure. Pour tourner plus vite, changer le delay jusqu'à 1 , pour ralentir, le changer jusqu'à 30
    digitalWrite(A4988_pas,HIGH); // On fait un tour avec 200 pas pour le Nema 17
    delay(5); 
    digitalWrite(A4988_pas,LOW); 
    delay(5); 
  } 
  delay(1000);
// On attend 1 seconde
  digitalWrite(A4988_direction,LOW); // Permet au moteur de tourner dans l'autre sens
  for(int x = 0; x < 200; x++) {// Permet de faire un PAS à une certaine allure. Pour tourner plus vite, changer le delay jusqu'à 1 , pour ralentir, le changer jusqu'à 30
    digitalWrite(A4988_pas,HIGH); // On fait un tour avec 200 pas pour le Nema 17
    delay(5); 
    digitalWrite(A4988_pas,LOW); 
    delay(5); 
  } 
}

VIDEO REALISATION
Nema 17
Lire la vidéo
bottom of page