DRV8825 with NEMA23

Hi,

I’m trying to rotate a NEMA23 size 1A/phase stepper motor using DRV8825.
I used Arduino UNO for make control signal.
Driver supply voltage is 24VDC and maximum of 3A current.
Connection as below,

DIR/STP/EN - Arduino digital out pins
SLP/RST - Arduino 5V
M0/M1/M2 - NC (used internal pulldown)
GND - first GND pin 24VDC ground and other one to Arduino ground
FLT - NC
1A/1B - motor phase 1
2A/2B - motor phase 2

Arduino code as below,

#define STP 8
#define DIR 9
#define ENA 10

void setup() {
pinMode(STP,OUTPUT);
pinMode(DIR,OUTPUT);
pinMode(ENA,OUTPUT);

digitalWrite(DIR,LOW);
digitalWrite(ENA,LOW);

}

void loop() {
  digitalWrite(STP,HIGH);
  delayMicroseconds(1000);
  digitalWrite(STP,LOW);
  delayMicroseconds(1000);
  
}

When I connect the supply and Arduino signal motor starts to vibrate and there is no rotation.
I changed step delay for several values and result is same.
Help me to solve this.

Thank in advance

Hello.

What did you set the VREF voltage to on the DRV8825 carrier? I do not see any obvious problems with your code, but you might try slowing down the STEP signal (i.e. increasing the delay) just in case. Do you have any load connected to the motor? Also, could you post some pictures of your setup that show all of your connections?

By the way, the nEnable pin is pulled low on the board, so you do not need to drive it low from your controller (unless you are planning on toggling it).

Brandon

1 Like

Dear Brandon,

Thanks for the reply.
I have found a wiring problem in my setup. Motor output wires are incorrectly connected.
1A+1B - first phase and 2A+2B - second phase
When I reading DRV8825 datasheet I was able to find that problem.

But, After I connect wire correctly, motor spins and after sometime it stops.
Now, Driver board get 2A and my power supply cutoff the power.
I relapsed the driver and it works properly.
What is the reason for malfunction of old driver board?

And also, I wand to know about vibration of this driver. I don’t know much more about how to express regarding vibration of a driver. If you can provide some links related with that greatly appreciated.

Hello.

What did you set the VREF voltage to? If you are setting the current limit to 2A, your driver is probably shuting down due to the over-temperature protections. As we mention on the DRV8825 carrier’s product page, our carrier can deliver up to approximately 1.5 A per phase without a heat sink or forced air flow.

I am not sure what vibration you are referring to, but if reducing the current limit to 1.5A per phase (or less) does not change this behavior, can you post a video showing that behavior?

Brandon

Hi,

VREF voltage is 0.5V. I have a 1A/phase motor.
I found the driver stopped when I connected the SLP input to HIGH.
When SLP connected to HIGH (+5V), maximum current is drown by driver and if I set my power supply for over current protection mode, it cut off the power.

That sounds like there is a short. Was it always drawing enough current to cut out your supply or is this a new behavior?

Could you post some picutres of your setup that show all of your connections as well as some close-up pictures of both sides of your DRV8825 board?

Brandon

There is no any short in circuit. I have setup all connections on a protect board also. But, same thing happened.
When I power up circuit without over current protection, Motor span about 5min and stopped. I have set the VREF correctly according to the motor. Also, IC didn’t dissipate more heat while running. After 5min motor stopped and maximum current of power supply is drown.

Below is my circuit connection and it has two drivers with same wiring.

From your pictures, it looks like the DRV8825 carrier you are using is a knockoff and not one manufactured by us, so it is difficult to say for sure what might be causing the problem, and we cannot help you troubleshoot it since it is likely different than ours.

You might double check that your board’s VREF is set correctly since that board likely uses different sense resistors than ours, which means the equation for setting the current limit would not match ours.

Brandon