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 == |