| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
|
wiki:tutoriels:arduino:moteur-pas-a-pas [2022/03/04 14:43] damien.muti [Moteur pas à pas 28BYJ-48 avec module de contrôle basé sur un UNL2003ARG] |
wiki:tutoriels:arduino:moteur-pas-a-pas [2022/06/21 15:31] (Version actuelle) damien.muti [Câblage] |
||
|---|---|---|---|
| Ligne 236: | Ligne 236: | ||
| ===== Moteur pas à pas 28BYJ-48 avec module de contrôle basé sur un UNL2003ARG ===== | ===== Moteur pas à pas 28BYJ-48 avec module de contrôle basé sur un UNL2003ARG ===== | ||
| + | ==== Matériel et tutoriels ==== | ||
| + | |||
| + | * Gotronic : [[https:// | ||
| + | |||
| + | |||
| + | |||
| ==== Câblage ==== | ==== Câblage ==== | ||
| {{ : | {{ : | ||
| + | |||
| ====Programme Arduino==== | ====Programme Arduino==== | ||
| - | Le programme de test consiste à effectuer des Aller et Retour de 360° ad vitam æternam. | + | Le programme de test consiste à effectuer des Aller et Retour de 360° ad vitam æternam. |
| < | < | ||
| + | |||
| + | ///////////////// | ||
| #define IN1 11 | #define IN1 11 | ||
| #define IN2 10 | #define IN2 10 | ||
| Ligne 250: | Ligne 259: | ||
| int Steps = 0; | int Steps = 0; | ||
| int Direction = 0; | int Direction = 0; | ||
| - | int number_steps = 512; //= 2048/4 | + | int number_steps = 512; //= 2048/ |
| + | int unTour = 518; // valeur expérimentale | ||
| + | int nTours = 2; | ||
| void setup() | void setup() | ||
| { | { | ||
| Ligne 259: | Ligne 271: | ||
| pinMode(IN4, | pinMode(IN4, | ||
| // delay(1000); | // delay(1000); | ||
| + | |||
| + | // calcul du nombre de pas relatif à nTours | ||
| + | number_steps = nTours * unTour; | ||
| } | } | ||
| void loop() | void loop() | ||
| Ligne 264: | Ligne 279: | ||
| //1 rotation counter clockwise | //1 rotation counter clockwise | ||
| stepper(number_steps); | stepper(number_steps); | ||
| - | delay(1000); | + | delay(500); |
| //1 rotation clockwise | //1 rotation clockwise | ||
| stepper(-number_steps); | stepper(-number_steps); | ||
| - | delay(1000); | + | delay(500); |
| - | //Keep track of step number | + | // // |
| - | for (int thisStep = 0; thisStep < number_steps; | + | // for (int thisStep = 0; thisStep < number_steps; |
| - | stepper(1); | + | // |
| - | } | + | // } |
| - | delay(1000); | + | // |
| - | for (int thisStep = number_steps; | + | // for (int thisStep = number_steps; |
| - | stepper(-1); | + | // |
| - | } | + | // } |
| - | delay(1000); | + | // |
| } | } | ||
| + | |||
| + | |||
| void stepper(double nbStep) { | void stepper(double nbStep) { | ||
| if (nbStep >= 0) { | if (nbStep >= 0) { | ||