Modifications

Sauter à la navigation Sauter à la recherche
2 452 octets ajoutés ,  30 juin 2014 à 09:46
Ligne 127 : Ligne 127 :  
Vous trouverez ci-dessous deux montages types de moteurs pas-à-pas bipolaires à 4 fils.
 
Vous trouverez ci-dessous deux montages types de moteurs pas-à-pas bipolaires à 4 fils.
 
Ces exemples sont issus de notre tutoriel sur le [[A4988#Exemple_Arduino|pilote de moteur pas-à-pas A4988]] (moins puissant) qui dispose d'un brochage compatible avec le DRV8825 :-)
 
Ces exemples sont issus de notre tutoriel sur le [[A4988#Exemple_Arduino|pilote de moteur pas-à-pas A4988]] (moins puissant) qui dispose d'un brochage compatible avec le DRV8825 :-)
 +
 +
Ces exemples du DRV8825 utilisent le ''second schéma de branchement'' proposé par Pololu. Ce qui permet d'utiliser soit un StepStick DRV8825, soit un Steptick A4988.
    
=== Codification rouge, bleu, vert, noir ===
 
=== Codification rouge, bleu, vert, noir ===
Ligne 135 : Ligne 137 :     
[[fichier:DRV8825-Montage Rouge-Jaune-Vert-Gris.jpg|640px]]<br />Cliquez pour agrandir
 
[[fichier:DRV8825-Montage Rouge-Jaune-Vert-Gris.jpg|640px]]<br />Cliquez pour agrandir
 +
 +
=== Le code ===
 +
Le seul point a relever dans ce code est le comportement de la broche ''ENABLE'' branché sur la sortie 13 d'Arduino.
 +
 +
''Enable'' fonctionne en logique inverse!
 +
 +
Cela signifie que:
 +
* Le module est activé lorsque la sortie 13 est LOW (niveau bas) - L'axe du moteur est donc maintenu bloqué en attente du prochain pas.
 +
* Le module est désactivé lorsque la sortie 13 est HIGH (niveau haut) - L'axe du moteur est donc totalement libre de tout mouvement puisque le moteur est désactivé.
 +
 +
<nowiki>// --- Commande d'un StepStick/Driver A4988 ----------------------
 +
// DRV8825_Test.ino
 +
//
 +
// Commande d'un moteur pas-à-pas à l'aide d'un pilote DRV8825 avec
 +
//    Arduino.
 +
//
 +
// Un projet www.mchobby.be (vente de kit et composant)
 +
// Meurisse D. - Licence CC-SA-BY
 +
//
 +
// Un tutoriel http://wiki.mchobby.be/index.php?title=DRV8825
 +
// Ou Acheter un StepStick DRV8825
 +
//    http://shop.mchobby.be/product.php?id_product=454
 +
//
 +
 +
#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 DRV8825");
 +
 
 +
  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 );
 +
}</nowiki>
    
== Diagramme ==
 
== Diagramme ==
29 836

modifications

Menu de navigation