======== Les moteurs pas à pas Nema ...=======
[[https://michel.re/nema/|les moteurs Nema ...]]
[[https://www.makerslide-machines.xyz/fr/2018/03/27/les-moteurs-pas-a-pas-2/|Les Moteurs Nema ...]]
[[https://gtshina.ru/fr/avtozvuk/chem-otlichayutsya-tipy-shagovyh-dvigatelei-nema-chem-otlichayutsya-tipy/| différence entre les types de moteurs pas à pas Nema. ]]
[[https://michel.re/moteurs-electriques/| les moteurs électriques ]]
===== Cablage moteur Pas à Pas =====
{{ :start:arduino:pasapas:capture_d_ecran_du_2024-01-31_14-36-00.png?direct&400 |}}
Il faut d'abord reperer les enroulements du moteur ,
Exemple dans mon cas, coté moteur connecteur face à vous l'axe sur le haut
{{ :start:arduino:pasapas:capture_d_ecran_du_2024-01-31_14-51-46.png?direct&400 |}}
Rouge , Noir, Bleu, Vert.
L'enroulement 1 est sur les fils Rouge , Bleu
L'euroulement 2 est sur les fils Noir , Vert
donc sur le driver moteur , on branche Rouge sur 2B et Bleu sur 2A , et Noir sur 1B et Vert sur 1A
{{ :start:arduino:pasapas:a4988-moteur-driver.png?direct&400 |}}
On peut avoir à inverser un ou deux enroulements suivant le fonctionnement ou non du moteur.
==== Schema ====
{{ :start:arduino:pasapas:moteurpaspas_driver001.png?direct&600 |}}
==== Programme de Test du moteur Nema 17 ====
// A4988_Test.ino
//
// Commande d'un moteur pas-à-pas à l'aide d'un pilote A4988 avec
// Arduino.
//
// Un projet www.mchobby.be (vente de kit et composant)
// Meurisse D. - Licence CC-SA-BY
//
// Un tutoriel http://mchobby.be/wiki/index.php?title=A4988
// Ou Acheter un StepStick A4988
// http://shop.mchobby.be/product.php?id_product=349
//
#define pinEnable 13 // Activation du driver/pilote
#define pinStep 9 // Signal de PAS (avancement)
#define pinDir 8 // Direction
void setup(){
Serial.begin(9600);
Serial.println("Test A4988");
pinMode( pinEnable, OUTPUT );
pinMode( pinDir , OUTPUT );
pinMode( pinStep , OUTPUT );
}
void loop(){
int i = 0;
digitalWrite( pinDir , HIGH); // Direction avant
digitalWrite( pinStep , LOW); // Initialisation de la broche step
// Avance de 200 pas
for( i=0; i<200; i++){
Serial.println( i );
digitalWrite( pinStep, HIGH );
delay( 10 );
digitalWrite( pinStep, LOW );
delay( 10 );
}
// Changer de direction
digitalWrite( pinDir , LOW); // Direction avant
// Refaire 200 pas dans l'autre sens
for( i=0; i<200; i++){
Serial.println( i );
digitalWrite( pinStep, HIGH );
delay( 1 );
digitalWrite( pinStep, LOW );
delay( 1 );
}
// Pas de step et pas d'ordre...
// l'axe du moteur est donc bloqué
Serial.println("Axe bloqué + attendre 5 sec");
delay( 5000 );
// déblocage de l'axe moteur
Serial.println("Deblocage axe");
//digitalWrite( pinEnable, HIGH ); // logique inversée
// Fin et blocage du programme
// Presser reset pour recommander
Serial.println("Fin de programme");
//while( true );
}