I am trying to control a 4-wire NEMA 17 stepper motor using the Easy Stepper Driver board. With nothing connected to MS1 and MS1, my understanding is that I should be in 1/8 microstepping mode. As the documentation explains, that should give me 1600 steps per revolution. The motor normally is 200/rev, and at 1/8, that should be 1600/rev.
However, each time I transition PIN 9 (STEP) high, the motor seems to move 4 steps.
I have a counter to stop and pause 2 seconds at 1600 steps, and after1600 steps I do observe ONE SINGLE COMPLETE REVOLUTION.
However, each time it steps, it seems to jump 4 at a time.
I am concerned, because I want to add a button, and when I press the button I want to get exactly 1/1600 of a revolution, no more. Can I achieve that? Why does the motor step seemingly move four steps at a time.
//-------------------------
int count = 0;
void setup() {
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
digitalWrite(8, LOW);
digitalWrite(9, LOW);
pinMode(2, INPUT);
pinMode(3, INPUT);
}
void loop() {
if (count > 1600)
{
count = 0;
delay(2000);
}
digitalWrite(9, HIGH); // Motor jumps 4 right here (It seems).
delay(100);
digitalWrite(9, LOW);
delay(1000); // I am seeing 4 jumps, pause, 4 jumps, pause, etc.
count = count + 1;
}