Driver DRV8825 - Low stepper motor current

Hello,

This is my first try and assemby of the MPCNC Primo and i was following all the instructions on the site (Thank you for all the hard work put into this! :pray: ).
They are very straigtforward, but when i got to the part where i connect it to the cotrol board (i got Ramps 1.4 with DRV8825 drivers and series wired stepper motor 1.7A) my motors didn’t have enough power. Movement of axis was lagging and with a tiny bit of extra resistence didnt even move.

I configured drivers with VREF = 0.76V and i tought the problem lied somewhere else. I checked pullys, squaring, bolt, berrings, wiring… double/tripple time and realised the problem in on Ramps 1.4 or the drivers.

Stepper motor specs:
Nema17 Bipolar stepper motor
Model: 42BYGH (17HS4401S)
Number of Phase: 2
Step Angle: 1.8°
Phase Voltage: 2.6Vdc
Phase Current: 1.7A
Resistance: 1.5Ω ±10%
Inductance: 2.8mH ±20% (1KHz)
Number of Wire: 4 (100cm Length)
Holding Torque: 43N.cm
Shaft Diameter: Ø5mm
Motor Length: 40mm

I checked the current on the coil in full step mode and i only got 0.46A on VREF 0.76V which is way too low (only 1 stepper motor was connected). For test i put the VREF to 1.65V and i got much more power to it, but still got only 0.8A on the coil in full step (it should probably be around 1.2A).

I am not sure where the problem is now anymore. Does anyone know what could be the cause of this? Faulty ramps, Firmware, drivers? Is it safe to run the motors with drivers configured like that?

Thank you for your help!

Are you sure you are using series wiring and not parallel? If you just disconnect one motor, a series wiring won’t work.

How are you measuring current? As the microsteps pass through the different stages, the current to the coil changes from all in one coil to all in the other. Only on the full step do you get the max current going to one coil. It also pulses on and off at high frequency to average out to that max current.

If your wiring is right and your measurements are right, then the most likely causes are the power supply or the drv drivers themselves. The drv might have the wrong reference resistor or the PSU could have a problem sourcing enough current.

The mega and the ramps can’t control the current to the motors. The motors or wires might have so much resistance that they wouldn’t allow enough current (but they are so dead simple and the current probably wouldn’t change at all with the setting on the drv).

I haven’t seen anyone with this problem, but almost no one tries to measure the current. Confusing series/parallel wiring is the most common issue.

1 Like

Thank you for your fast reply.

I was using series wiring. But for measuring the current i disambled some of the stepper motors and made the measurements on only one.

For PSU i have 12V 30A charger and got on Ramps 1.4 around 0.2A current, while it was running idle with LCD screen. Which i think is OK.

When i was testing the current on the stepper motors i put it in full step mode, so the current is 100% and 0% for easier testing and moved them with the LCD controler for 1mm.

So if VREF = 0,76V (0,9* 1,7A / 2) the current on coil in full step mode should be around 1.1A (71%)
I basically got it 0,46A which is a bit lower than 70% of VREF.

I get a filling that VREF should be the same as stepper motor current, but not sure why.

I checked the thread - Current limit Stepper drivers drv8825 - #25 by coreire and got much more insight for how it works exactly.
I will see later today what resistors i have on the drivers and hopefully get a logical explanation for why it works like that.

The wires should be OK as i tested with the ones that comes with the motor and measured on 3 different DRV8825 drivers. I don’t think all the drivers are faulty.

Is there a problem if i run drivers on lets say VREF 2V if the current on the coil is at that setting 1.2V in full step or can the driver overheat?

Hey,

I finally figured it out!
The difference in the driver is that my DRV8825 have sense resistor of 0.25 Ohm.

So if i do the I(chop) calculation then it all works out.

I(chop) = VREF / (5 * R(sense))

If i want I(chop) on 90% i should get it to 1.53A

VREF = 1,53 A * 5 * 0,25 Ohm
VREF = 1,92A

I tought i was going crazy for a while! I just hope the drivers will not overhear.

Thank you for your help and all the work you put in all of this!
Can’t wait to test it out!

1 Like

We use something like 900mA as a conservative starting place. You don’t want to meet the max of your motors or they will get super hot.

If the drv8825 drivers overheat, they will turn off until they cool down, like 30s. The ramps and the other drivers will not know and you will ruin your job.

If the motors get too hot, the plastic will get soft and the belt tension will make the motor mounts deform. Keep the motors under 50C or so.

Now that you know how to adjust the current with the right Rsense, I would try with 900mA and see how it goes. If your motors are cool and you have a fan on the drivers, then turn it up a little (in 50 or 100mA steps).

Using the wrong Rsense resistors is just the kind of thing that drives me nuts. How much could they have really saved by using the wrong ones? Grrr. I’m glad you got it figured out though.

1 Like