Pololu Robotics & Electronics
My account Comments or questions? About Pololu Contact Ordering information Distributors

Pololu Forum

Calculate the correct current limit for driver A4988

Im using the driver A4988 together with stepper 28byj-48. Ive read somewhere that the correct current limit on 28byj-48 is somewhere between 0.1-0.15 v. However if I feed it with 12 v there is a high frequence noise that wont go away untill I turn my powersupply down to around 9 v. However if I adjust the current limit to around 0.2 v the noise goes away. I wounder it this is to high value for my stepper. How do I know?

How can I calculate the correct value on the current limit?

Here is the specs for 28byj-48:

Voltage 5V
Current 0.26A

Do I need different current limits depending on how much voltage I feed to the driver? On 9 v the stepper sometimes fails to hold its position on high speed.


You can find the equation for setting the current liming on the [A4988 carrier product page]. As described there, the correct formula depends on which current sense resistors your A4988 carrier has and is as follows:

V_{REF} = 8 * I_{MAX}*R_{CS}

If you have the green resistors (50 mΩ), the VREF calculation for setting the current to 0.26A is:

V_{REF} = 8 * 0.26*0.05=0.10\text{ V}

Otherwise, if your carrier has the white resistors (68mΩ), the calculation is:

V_{REF} = 8 * 0.26*0.068=0.14\text{ V}

In either case, setting it to 0.2V is too high for your stepper motor, which will likely cause it to overheat.

The operating voltage does not change your current limit calculations, but it does affect how the driver operates to maintain that current. At higher operating voltages, the current is able to ramp up faster, which lets you achieve higher step rates.

It is normal to hear some noise from the stepper motor when it is energized, so it is possible that what you are hearing is not an indication of a problem. Unfortunately, there are a lot of factors that could impact how much noise is being generated, so it is hard to make any specific suggestions, but you might read through some of the discussion in this thread to get an idea of some adjustments you could try. For example, you could try various input voltages, lowering the current limit (if your application allows for it), different microstepping modes, or using dampening fasteners to reduce vibrations.