A4988 Vref is way too low

Hi,

I am trying to use an A4988 to power a Nema-17 Stepper (17HS3401) which has a rated current of 1.3A.
I realise that the current to the motor is proportional to the reference voltage V_ref, but when I use a 5V logic source, the reference voltage caps out at 0.15V when I turn the potentiometer all the way up.

Using the formula for current limiting, I get:
V_ref = I_motor * 8 * sensor_resistance.
= 1.3 * 8 * 0.068
= 0.7V

Clearly, V_ref needs to be much higher than the 0.15V my driver has capped out at.

How can I fix this issue? Is something wrong with my driver?

Please post schematics showing the lot.

2 Likes

What Vbb supply have you connected? What level is on /sleep?

1 Like

The setup to change the Vref is as below:


(I didn't have the multimeter on me to demonstrate, but I was measuring voltage difference between the potentiometer and the Arduino ground)

The Vdd pins of the A4988 are simply connected to 5V and GND of arduino.

The video I followed for this method is here:

I am very confused as to why this reference voltage is maxed out at 0.15V when the potentiometer is all the way up. Should be able to reach at least 0.7V.
If anybody could give suggestions that would be great thank you.

I have attached further information on my situation.
If u have any ideas please please let me know

Hi,

I am trying to use an A4988 to power a Nema-17 Stepper (17HS3401) which has a rated current of 1.3A.
I realise that the current to the motor is proportional to the reference voltage V_ref, but the reference voltage caps out at 0.15V when I turn the potentiometer all the way up.

Using the formula for current limiting, I get:
V_ref = I_motor * 8 * sensor_resistance.
= 1.3 * 8 * 0.068
= 0.7V

Clearly, V_ref needs to be much higher than the 0.15V my driver has capped out at.

(I didn't have the multimeter on me to demonstrate, but I was measuring voltage difference between the potentiometer and the Arduino ground)

The Vdd pins of the A4988 are simply connected to 5V and GND of arduino.

The video I followed for this method is here:

How can I fix this issue? Is something wrong with my driver?
If anyone has suggestions that would really be appreciated.

I don't know what the problem is with your particular driver board, but a genuine A4988 chip cannot handle more than 1.0 A/winding, steady state. Above that it overheats and shuts down.

If you buy motor drivers from reputable suppliers like Pololu, the prices are higher, but you get genuine chips, excellent product and customer support.

1 Like

The SLP and RST pins on the A4988 must be bridged.

See this page >> How to set your stepper driver current: A4988, DRV8825, TMC2208, TMC2209 | Circuitist.com

An I concur with @jremington, the A4988 won't do more than 1A, safely. It will go to 1.5 a with a heat sink and active cooling (fan).

The above applies to quality units, Chinese clones cannot be guaranteed to meet those specs.

I have merged your cross-posts @hoodster777.

Cross-posting is against the Arduino forum rules. The reason is that duplicate posts can waste the time of the people trying to help. Someone might spend a lot of time investigating and writing a detailed answer on one topic, without knowing that someone else already did the same in the other topic.

Repeated cross-posting can result in a suspension from the forum.

In the future, please only create one topic for each distinct subject matter. This is basic forum etiquette, as explained in the "How to get the best out of this forum" guide. It contains a lot of other useful information. Please read it.

Thanks in advance for your cooperation.

Thanks for the reply. Yeah I did buy the driver for very cheap, and might have to opt to buying a genuine Pololu one.
Is there a way I could directly measure the current to my stepper motor from the driver? There are 4 connections to the stepper from the driver, can I pass the current through my multimeter using any 1 of those 4 connections?

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