DRV 8834 Driver failed to Run Stepper Motor

I have a bipolar stepper motor that I want to run using the DRV8834 Dual-Bridge Stepper Motor Driver. The connection schematic is correct (I followed another post) and is attached in the picture.

The resistance of both motor coils is 11Ω (measured with a multimeter). I supplied 10V DC to the Vm pin of the DRV8834 using a Keithley Triple Channel DC Power Supply (30V, 1.5A).

When I upload the code below and run the motor, it only produces a low noise.
the code is

#include "AccelStepper.h"
#define dirPin 2
#define stepPin 3
#define motorInterfaceType 1

// Create a new instance of the AccelStepper class:
AccelStepper stepper = AccelStepper(motorInterfaceType, stepPin, dirPin);

void setup() {
  // Set the maximum speed in steps per second:
  stepper.setMaxSpeed(1000);
}

void loop() {
  // Set the speed in steps per second:
  stepper.setSpeed(400);
  // Step the motor with a constant speed as set by setSpeed():
  stepper.runSpeed();
}

The current drawn by the motor is 0.90A (10V / 11Ω), and I set the current limit of the driver to 0.45A using the formula:

Current Limit=Vref×2

I connected a 100μF capacitor between the Vm+ pin and the Ground pin.

The problem is that when I upload the code, the motor only generates noise and does not rotate. I am confused about why it’s not rotating and is only producing noise.

The working operation of the motor, as provided by the company:

  • The motor works by turning on these coils in a specific sequence.
  • First, Coil A is turned on, which moves the motor a little bit.
  • Then, Coil B is turned on, which moves the motor a bit more.
  • By continuing to switch between these coils in a pattern, the motor rotates smoothly.

Controlling the Speed (and Flow Rate):

  • Faster Pulses = Faster Motor = Higher Flow Rate: If we send pulses quickly, the motor turns faster, which pumps the fluid faster.
  • Slower Pulses = Slower Motor = Lower Flow Rate: If we send pulses more slowly, the motor turns slower, reducing the flow rate.

The flow rate-related file is attached in the picture.

Voltage Measurements:

After uploading the code and during the noise/buzz generated by the motor, the DC voltage across Coil A shows:

  • One wire: 1.9V
  • The second wire: 0.65V

For Coil B:

  • One wire: 1.9V
  • The second wire: 0.67V

Can someone help me sort out this issue, i failed to run the stepper motor?, the required pictures are attached below.
Your assistance would be greatly appreciated.


A voltage requires measuring between TWO points.
You have more than two points in your circuitry.
You should specify very very clearly what were the two points that you measured the voltage between?

You hav posted a schematic which is very good. Very important information.

Can you please add arrows and numbers or letters that show at which points you measured the voltages?

Usually voltages are measured against GND.
Please,
to eliminate ALL space for interpretation post a schematic with marked points and write down the exact points you measured.

Writing something like "I know how to measure. The voltages are ..."
or writing "sure I measured between ground and the wire"

is way too unprecise

which exact wire connected to exact what pin on what chip ?

Hi, @kamran786

But you have ;

step is 2, dir is 3.

Tom.. :smiley: :+1: :coffee: :australia:

It sounds like the wrong combination to me.
Driver voltage should be several times higher than motor voltage for a current controlled driver to do it's job. Do you know have a link to the motor.
Leo..

Does it have a part number?

Can you please post some images of the stepper?

Thanks.. Tom.. :smiley: :+1: :coffee: :australia:

1 Like

Thank you so much Sir.
The motor is working fine.
Thanks again, highly appreciate it

HI,
Good to hear, its usually the little things in life. :+1:

Tom.. :smiley: :+1: :coffee: :australia: (At work, having lunch.)

Yes I agree with you :smiling_face_with_three_hearts: :pakistan:

I followed the below attached link and watch the video and read the articles.
the link is attached below

thanks you so much for you consideration

Makes me think you don't yet understand how a current controlled driver works.
If you want torque at higher speeds, then driver voltage needs to be significantly higher than motor voltage. Your setup will work, but don't expect performance at higher speeds. For that a DRV8825 with a 24volt supply (or higher) would have been better.
Leo..

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