Stepper Motor with driver

i Want to microstepping with nema 17.

but when i try full step act, it works full step. for 2-3 cycle.

That way, it works same direction 2,3 cycle. and just vibrate. ( other motor works same)

and if divide step(1/2,1/4). it has only vibration

some online User said that problem was cuased by pulse.

  1. so i want to know how to control pulse with A4988 driver.

  2. Or how can i solve this problem.

Thanks you

I have moved your Topic to Project Guidance....Please try not to post in Uncategorised again, If you are unsure about the categories refer to this guide or to the stickies for each category.

Thank You.

1 Like

Please post schematics and code according to the advice given in the topic " How to get the best out of this forum".

1 Like

Sounds a lot like a power issue. How are you powering you motor? It can't be done directly from your arduino. A schematic is needed to be sure.

1 Like


Mine is this.
And Power supply is 12V 350W smps.

I try to actuate by other Code.
it was not works in specific delaymicroseconds( for modifing 1 pulse time)
So i think it is physics motor's problem, is'n it?

// it wasn't work in next code(vibration)
for (int i = 0; i < stepsPerRevolution; i++) {
digitalWrite(stepPin, HIGH);
delayMicroseconds(2000);
digitalWrite(stepPin, LOW);
delayMicroseconds(2000);
}
delay(1000);

digitalWrite(dirPin, LOW);

for (int i = 0; i < stepsPerRevolution; i++) {
digitalWrite(stepPin, HIGH);
delayMicroseconds(1000);
digitalWrite(stepPin, LOW);
delayMicroseconds(1000);
}

delay(1000);

// it works on next code
digitalWrite(dirPin, HIGH);

for (int i = 0; i < 5 * stepsPerRevolution; i++) {

digitalWrite(stepPin, HIGH);
delayMicroseconds(500);
digitalWrite(stepPin, LOW);
delayMicroseconds(500);

}

delay(1000);

digitalWrite(dirPin, LOW);

for (int i = 0; i < 5 * stepsPerRevolution; i++) {
digitalWrite(stepPin, HIGH);
delayMicroseconds(500);
digitalWrite(stepPin, LOW);
delayMicroseconds(500);
}

delay(1000);
}

I think you might be driving the motor too fast initially. You seem to be sending pulses at 500Hz in bursts of 5*steps/rev to the motor and it has no time to accelerate. To check your code logic and hardware send much slower pulses initially, say at 10Hz, and check it moves OK. If you really need to run the motor very fast you will need to accelerate and decelerate it at the end of each move. There are libraries which can do that.

1 Like

Thank you a lot.

I have solved this problem.

I have original Outpin from motor.

So it connected by ABCD.hahahahahaha........ (From datasheet. it must connected ACBD)

I have bought new stepper motor.

But I am happy. Thank you. i can solve this problem with your attention.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.