ATTENTION : le moteur peut être configuré pour avancer par pas ou par demi pas.
Si avance par pas et roue de diamètre 38 mm ⇒ circonférence = 119.4 mm Si largeur entre roue = 93 mm ⇒ distance pour 90° = 73 mm
Le DVV504 peut être piloté directement par le code de l'ARDUINO ou par la librairie STEPPER.h
Exemple de code pour dessiner un carré
3838 /* Dessin d'un carré * 10 cm de coté = 1700 pas * angles = 1246 pas */ // Include the AccelStepper Library #include <AccelStepper.h> // Define step constants #define FULLSTEP 4 #define HALFSTEP 8 int etape = 8; // Nombre d'étapes // Creates two instances of motor // Pins entered in sequence IN1-IN3-IN2-IN4 for proper step sequence AccelStepper stepper2(FULLSTEP, 8, 10, 9, 11); AccelStepper stepper1(FULLSTEP, 4, 6, 5, 7); // Défini les déplacements en valeur absolue void change(int e) { Serial.print("Etape = "); Serial.println(etape); switch (e){ case 8: stepper1.moveTo(1700); stepper2.moveTo(1700); break; case 7: stepper1.moveTo(2946); stepper2.moveTo(454); break; case 6: stepper1.moveTo(4646); stepper2.moveTo(2154); break; case 5: stepper1.moveTo(5892); stepper2.moveTo(908); break; case 4: stepper1.moveTo(7592); stepper2.moveTo(2608); break; case 3: stepper1.moveTo(8838); stepper2.moveTo(1362); break; case 2: stepper1.moveTo(10538); stepper2.moveTo(3062); break; case 1: stepper1.moveTo(11784); stepper2.moveTo(1816); break; default: ; } etape--; } void setup() { Serial.begin(115200); // set the maximum speed, acceleration factor, // initial speed and the target position for motor 1 stepper1.setMaxSpeed(1000.0); stepper1.setAcceleration(200.0); stepper1.setSpeed(200); // set the same for motor 2 stepper2.setMaxSpeed(1000.0); stepper2.setAcceleration(200.0); stepper2.setSpeed(200); } void loop() { // Change direction once the motor reaches target position if ((etape > 0) && (stepper1.distanceToGo() == 0)) change(etape); // Move the motor one step if (etape >=0) { stepper1.run(); stepper2.run(); } }
| Sommet | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Angle | 180 | 120 | 90 | 72 | 60 | 51.4 | 45 | 49 | 36 | 32.7 | 30 | 27.7 | |
| Angle | 144 | 154.3 | 135 | 163.6 | 165 | 150 | 166.1 |
Il est aussi possible d'utiliser l'extension “Stepper” dans mBot.
ATTENTION : si plusieurs moteurs, ils fonctionnent en série et pas en parallèle (blocs bloquants).