void loop() // 200 steps = 1 revolution for(int i = 0; i < 200; i++) digitalWrite(STEP_PIN, HIGH); delayMicroseconds(1000); // 500 µs low + 500 µs high = 1 ms period = 1000 steps/sec = 300 rpm digitalWrite(STEP_PIN, LOW); delayMicroseconds(1000);
delay(1000); // pause 1 sec
[ I_max = V_ref \times 2 ] (if sense resistors = 0.1 Ω). For 1.5 A, set ( V_ref \approx 0.75 , V ). Example with A4988 : bachin stepper motor 4240-15a
| Driver | Microsteps | Voltage | Notes | |--------|-----------|---------|-------| | A4988 | 1,2,4,8,16 | 8–35 V | Cheap, widely used | | TMC2209 | up to 256 | 4.5–29 V | Quiet, stealthChop2 | | TB6600 | 1,2,4,8,16 | 9–42 V | Overkill but robust | | DRV8825 | up to 32 | 8.2–45 V | Higher microstep resolution | void loop() // 200 steps = 1 revolution
: