Stepper Driver Selection

Hi All,

I am trying to decide between using the Adafruit Stepper Shield v2.3 or two of the Pololu A4988 Stepper Driver to drive two stepper motors (spec. sheet attached).

From what I am reading most people prefer the A4988 because of its current limiting capabilities, but I am wondering if there are any other benefits to using this? Also, what are the disadvantages of using the Adafruit Stepper Shield?

I am leaning towards using the Stepper Shield for the following reasons:

-Same footprint as the Arduino
-Does not require additional breadboard/PCB (A4988 would need this)
-It seems easier to write a program using the Adafruit_MotorShield.h library (my initial thought, not sure if this is actually true)

A little background on the application:

-The stepper motors will be used to move a platform along an X and Y axis at a relatively slow speed
-Precision and accuracy of motion is important
-The user will select a program to be run using the Adafruit RGB LCD Shield

Thanks for the help!

StepperDataSheet.pdf (377 KB)

The current limiting capabilities are a big deal. It allows you to drive the stepper with a higher voltage and you get much better speed with higher torque at those speeds. It's also easier to use the step/dir interface of the stepper driver.

Example of what you'd prefer: http://www.amazon.com/dp/B018X8EQGO/

Chagrin,

Thanks for your response. Could you please elaborate on the following:

Chagrin:
It's also easier to use the step/dir interface of the stepper driver.

Also, does the shield you linked to require to the use of GRBL or can it be controlled in the same manner as the A4988 without the shield?

Thanks

If you have the choice DO NOT use a h-bridge motor shield to drive a stepper motor. Use a specialized stepper motor driver.

Have a look at Stepper Motor Basics

...R

clf139:
Hi All,

I am trying to decide between using the Adafruit Stepper Shield v2.3 or two of the Pololu A4988 Stepper Driver to drive two stepper motors (spec. sheet attached).

While those 10V motors can be voltage driven from H-bridges, it means no microstepping, which will
mean vibration and noise.

They are not going to work well from 12V with an A4988, not enough voltage overhead, you'd need
18 or 24V really (or run at a lower current).
Normally you'd pick low impedance motors and use chopper drives like DRV8825 or A4988, since
you get microstepping, high speed, easier driving (step+direction from AccelStepper library is
simple)

If you want simple drive and low speeds without microstepping, unipolar and ULN2803 driver would
be one way to go.

These days low impedance motors and DRV8825 drivers are not only the best performance for NEMA17
sized motors, but the cheapest as well. The DRV8825 runs cooler than the A4988, the single chip
chopper drive of choice these days.

With a step/dir interface, two pins, one digital pin controls the direction of spin of the motor when it is set high or low and the other pin, each time it is pulsed, causes the motor to move one step in that direction. With a motor driver interface (like the Adafruit board) you need four pins that need to be pulsed in a particular order. It’s a bit more complex to program when you take into account that you need to be able to run the pattern forward and backward to control the stepper in both directions.

clf139:
Also, does the shield you linked to require to the use of GRBL or can it be controlled in the same manner as the A4988 without the shield?

GRBL is never required. And yes, the shield I linked above is mostly a convenient mounting method for the A4988 drivers, but then a breadboard should never be used for the high currents that steppers require and creating your own PCB takes a bit of work so that convenience does count for a bit.

Great, thanks for the help Chagrin!