Wrong current after setting up A4988 Vref value

HI everyone!
I’m working on a self-balancing robot based on a STM32F3 board.
For the movement I’m using two NEMA 17 stepper (model 1704HS168A with step angle 1.8 °, and current per phase 1.68A, you can see the datasheet below in the attachments), and two drivers Pololu A4988 placed on a breadboard.
For now I use the stepper in full step mode.

I’m pretty sure of the following:

  • A4988 driver, if cooled, can deliver 2A for winding;
  • The maximum current for winding is restricted to 70% in the full step mode
  • The maximum current for winding is calculated using: I_max = V_ref * 2.5
    Correct me if I’m wrong.

So in my case, if I want to work the engines with the full current for winding:
V_ref = (1.68 / 0.7) / 2.5 = 0.96 V

My problem is that it seems that my driver do not comply with the formula for the calculation of I_max …
These are two pairs of data obtained by measuring V_ref and I_max respectively on the pot and in series to a winding of the motor:

  1. V_ref = 1.17 V and I_max = 0.84 A
  2. V_ref = 0.60 V and I_max = 0.39 A

But on the basis of the formula and of the two V_ref, the currents should have been respectively 2.04 A and 5.01 A.

Someone can give me some suggestion or solution?
Thanks a lot!

How are you attempting to measure the winding current?

Hi Jim, thank you for your reply!
To measure the current I connect the engine to the driver and then I connect the multimeter in series between pin 1A of the driver and the appropriate pin of the engine.
Obviously the step pin of the driver is at low level (blocked motor).

It is very difficult to interpret such a measurement, because if the driver is properly adjusted, the current is changing at an audio to ultrasonic frequency.

In short, an ordinary multimeter is not useful in this particular situation.

Unless you have the proper tools to make high speed, noninvasive current measurements, you should rely on the procedure recommended by Pololu to set the current limit.

Actually I measured the current of the winding when the step pin of the driver was set to low logic level, so the motor windingS are continuously supplied with the measured current.

The current is nevertheless not constant. You need to read up on how chopping motor drivers work, for example homepage.cs.uiowa.edu/~jones/step/current.html

Thank you for your answer. I read this POST and now I’m wondering if the A4988 is actually suitable to drive my step motor…I mean: does the A4988 provide more than 1A current?

In practice, no unless the chip is effectively cooled. But 1 amp/phase may lead to enough torque for your application. Try setting the current limit to 1 amp or less, and decide for yourself.