DRV8834 VREF Minimum Voltage Too High (0.55 - 0.64 V) on Pololu Carrier

Hello,

I am using the Pololu DRV8834 Low-Voltage Stepper Motor Driver to drive a JDSU VCF050 tunable optical filter stepper motor.

Motor specifications:

  • Supply voltage: 3.0–3.3 V
  • Coil resistance: 17–21 Ω per phase
  • Rated current: 170 mA per phase
  • Full-step operation

According to the DRV8834 datasheet and the Pololu documentation, with the onboard 0.10 Ω sense resistors, the current limit is: Current limit = 2 × VREF

To achieve approximately 170 mA per phase, I expect to set VREF around 0.085–0.12 V (depending on the stepping mode).

My issue:
When I measure the VREF test point with a multimeter:

Minimum VREF: ~0.64 V
Maximum VREF: ~1.6 V

The potentiometer rotates correctly, but the voltage never goes below approximately 0-55 - 0.64 V

My setup

  • VMOT = 3.3 V
  • Logic voltage = 3.3 V
  • SLEEP = HIGH
  • ENABLE = HIGH (during VREF measurement, no motor connected)
  • Measuring between the VREF test point and GND
  • The VREF solder jumper is already soldered.

My questions:

  1. Is a minimum VREF of 0.55 - 0.64 V normal on the Pololu DRV8834 carrier?
  2. Should the VREF adjustment normally be able to go close to 0 V?
  3. Is my measurement procedure correct?

Any guidance would be greatly appreciated.

Thank you.

Hello.

I expect you should be able to adjust the potentiometer until VREF reads 0V on the DRV8834, but it difficult to set specific current limits that low. Testing out a unit here I could generally adjust the potentiometer to adjust the current limit in steps of approximately 20 mA (10 mV), but that was with good tools (I used a 0.4×2.0mm flat head screwdriver), a pretty steady hand, and probing in a way that let me monitor VREF as I was adjusting the pot (as opposed to going back-and-forth between adjusting the pot, then checking VREF). You can see an example of such a setup in the setting the current limit video shared in this blog post. If you have a setup resembling that and continue having trouble, can you post some pictures of the system showing all your connections (including ones that show how you are probing) as well as close ups of the board?

By the way, since you are powering your driver with a 3.3V supply, you might not need to worry about setting the current limit that accurately anyway. Supposing you set the driver’s current limit well above the motor’s rated current, if the motor coil resistance is around 19 Ω and your supply is 3.3V, then according to Ohm’s law the current draw will be around 174 mA, and while I am not familiar with your particular motor, a few mA one way or the other is probably not going to make a problematic difference. However, setting the current limit is still going to be important if you want to use microstepping.

- Patrick

Hi Patrick,

Thank you for your explanation.

I will be using microstepping in the final application, so I would like to get the current limit working correctly.

For my current test setup, I have connected the driver as follows:

  • M0 = GND
  • M1 = GND (Full-step mode)
  • STEP connected to PA0 of my STM32 Nucleo board (timer pulse output)
    *DIR connected to PA1 of my STM32 Nucleo board
  • 5 V input to a 3.3 V regulator
    The 3.3 V regulator output is connected to VMOT of the DRV8834
    Common GND is shared between the STM32, regulator, and DRV8834

At the moment, I am only testing the driver and measuring VREF. The motor is not connected while I adjust the potentiometer.

I have attached pictures of my complete setup, close-up images of the DRV8834 board, and a short video showing the VREF adjustment. In the video, you can see that the lowest VREF I can obtain is approximately 0.53 V. I would appreciate it if you could let me know whether the board appears to be functioning normally or if there is anything in my setup that I should change.

Thank you again for your time and support.

Best regards,
Shivam

Thank you for the pictures and video. It is hard to tell for sure, but it seems like the connection bridging the VREF jumper might not be great; like the solder joints on the two pads are touching each other but not actually melted together. Can you try fixing that and see if that changes the result?

- Patrick

Hi Patrick,

I wanted to give you an update that the issue has been resolved.

The problem was caused by a poor solder joint on one of the pins of the DRV8834 module. After re-soldering the connection, the board started working correctly. I can now adjust the VREF properly and set the required current limit for my motor (170 mA).

Thank you very much for your time, guidance, and helpful suggestions. I really appreciate your support.

Best regards,
Shivam

1 Like

I am glad to hear that you identified and resolved the issue! Thanks for letting us know and good luck with your project.

- Patrick