Best alternative to DRV8825?

Hello,

I have built a robot which uses 2 stepper motors and it uses 2 stepper drivers A4988, which i substituted for 2 DRV8825 as it was a drop-in replacement and the specs show that it is a better option. However, i would like to know if there are better options or recommendations than my current motor drivers?

The specs for the hybrid NEMA 17 stepper motor:
http://motechmotor.com/productDetail-0104-33.html
Rated current (Amps/Phase): 1.68
Recommended voltage: 12 - 24 V
Holding torque (kg.cm): 4.4
Resistance (Ohms/Phase): 1.65
Inductance (mH/Phase): 3.6

I found this list of stepper motor drivers which apparently can be used as a drop-in replacements - this is important to me as i have already soldered the wiring and components on a PCB and i don't want to have to change the wiring to swap the stepper motor drivers.

The different stepper motor drivers and their respective datasheets:
A4988 https://www.pololu.com/file/0J450/a4988_DMOS_microstepping_driver_with_translator.pdf
DRV 8825: https://www.pololu.com/file/0J590/drv8825.pdf
LV 8729: https://www.mouser.com/ds/2/308/LV8729V-D-278452.pdf
TMC 2100 https://www.trinamic.com/fileadmin/assets/Products/ICs_Documents/TMC2100_datasheet.pdf
TMC 2130 https://www.trinamic.com/fileadmin/assets/Products/ICs_Documents/TMC2130_datasheet.pdf
TMC 2208 https://www.trinamic.com/fileadmin/assets/Products/ICs_Documents/TMC220x_TMC222x_datasheet_Rev1.07.pdf

I did some research and apparently, the TMC ones have a much quieter operation. But i am running my robot with the stepper motor driver set to 1/4 microstep resolution which fits the needs for the robot, as using very low microstepping will mean that the robot wheels attached directly to the stepper motor shaft would rotate slower.

You may get better help if you were to provide clickable links for the datasheets to those parts. Members may not be inclined to hunt them down. I am not.

groundFungus:
You may get better help if you were to provide clickable links for the datasheets to those parts. Members may not be inclined to hunt them down. I am not.

My bad, i overlooked this critical info. I edited my first post to add the necessary. :slight_smile:

IMO go for the TMCs or stick with the DRV8825. TMCs provide interesting capbilities like stall detetion when you communicate ober spi.

DryRun:
i would like to know if there are better options or recommendations than my current motor drivers?

You have not told us what would constitute "better" or what is wrong with your DRV8825 drivers?

The important thing is to choose a driver that can comfortably provide the current required by the motor and you have not provided a link to the datasheet for your motor.

...R

I have built a robot which uses 2 stepper motors

Are they NEMAs?

JCA79B:
Are they NEMAs?

If that is answered with "yes" it does not really provide much extra info. There are thousands of "NEMA" stepper motors.

A link to the stepper motor datasheet is essential.

...R

I have updated my first post with datasheet link and specs for the NEMA 17 stepper motors used in my robot. I have configured the current DRV8825 drivers for quarterstep operation of the motors.

The TMC 2130 (Datasheet: TMC2130 | Analog Devices) can offer up to 256 microsteps. However, i'm wondering if increasing the microsteps through the driver configuration would have a negative impact on the motor performance, since the motors will then need to move faster to cover the same distance? This would mean that since stepper motors have a drop in voltage when providing dynamic torque, the faster the motor needs to spin, the more voltage it would require. I am currently using 9 V to power the motors. So, is it possible to calculate the maximum microstepping limit? Can i actually even use the 256 microstepping of the TMC 2130 for my robot without compromising its operation at 9V? The DRV8825 can offer a maximum of 32 microstep resolution.

zwieblum:
IMO go for the TMCs or stick with the DRV8825. TMCs provide interesting capbilities like stall detetion when you communicate ober spi.

Stall detection would be a nice addition which the DRV8825 don't support, since the stepper motors have no encoders so there is no way for the robot to detect if the motors have stalled.

Robin2:
You have not told us what would constitute "better" or what is wrong with your DRV8825 drivers?

The important thing is to choose a driver that can comfortably provide the current required by the motor and you have not provided a link to the datasheet for your motor.

...R

Better as in... quieter (the A4988 and DRV8825 are noisy) and also stall detection would be an advantage and useful extra feature. I'm not sure what else can a better driver than the DRV8825 offer?? I have only ever used the A4988 which i then substituted for DRV8825 after doing research online.

DryRun:
However, i'm wondering if increasing the microsteps through the driver configuration would have a negative impact on the motor performance, since the motors will then need to move faster to cover the same distance?

The motors won't move any faster - they just need more steps/second to attain the same speed.

Better as in... quieter (the A4988 and DRV8825 are noisy)

What sort of noise are you talking about? Can you post a YouTube video so we can experience it? Generally speaking the noises come from the motor rather than from the driver.

and also stall detection would be an advantage and useful extra feature.

For stall detection you need a rotary encoder on the motor shaft that can independently count steps. However a rotary encoder that produces 200 (or more) pulses per revolution creates a huge amount of work for the Arduino to detect all the pulses from the encoder. Much better to choose a motor with ample torque so that it does not miss steps.

...R

In Step/Dir-Mode: yup, you need an encoder. In SPI-Mode: no. Look at the datasheet, the Trinamic are quite impressive. And a lot more silent, as mentioned above. https://www.youtube.com/results?search_query=trinamic+silent+stepper

Robin2:
The motors won't move any faster - they just need more steps/second to attain the same speed.
What sort of noise are you talking about? Can you post a YouTube video so we can experience it? Generally speaking the noises come from the motor rather than from the driver.

It's actually from the motors. The stepper drivers don't make noise - just get warm and i put the default heatsinks on them so they should hold easily at 1 A. The noise is quite similar to using the same drivers in a 3D printer: https://www.youtube.com/watch?v=zbE73bRzxvI

zwieblum:
In Step/Dir-Mode: yup, you need an encoder. In SPI-Mode: no. Look at the datasheet, the Trinamic are quite impressive. And a lot more silent, as mentioned above. https://www.youtube.com/results?search_query=trinamic+silent+stepper

Would this one work? ADI Trinamic Support | Analog Devices
It has SPI but will an Arduino UNO be able to handle 2 drivers?
I'm very interested in its stall detection as i can't install encoders on NEMA 17 since the encoders are bulky.

zwieblum:
IMO go for the TMCs or stick with the DRV8825. TMCs provide interesting capbilities like stall detetion when you communicate ober spi.

Stall detection cannot be relied on to detect missed steps, whatever the datasheet says, use an encoder.
I've used stall detection before and its iffy at best.

Higher amounts of microstepping will be quieter, although that means generating pulses at a higher rate.