About the ROSC pin and vibrations at low rpm

Good morning,
I have four hybrid NEMA17 0.9º with the following specification:

  • Rated Voltage: 4 v
  • Current/Phase: 0.95 A
  • Resistance/Phase: 4.2 ohms
  • Inductance/Phase: 4 mh
  • Holding Torque: 0.158 nm
  • Rotor Inertia: 35 g-cm2
  • Weight: 0.22 kg
  • Number of leads: 6

Each motor is controlled by one A4988 with:

  • A 100uf 25v capacitor between VMOT and GND.
  • reset and sleep are connected together.
  • dir and step controlled by an Arduino nano.
  • vdd and gnd connected to 5v/gnd pin from Arduino.
  • All ground lines are connected together.
  • VREF set to 0.95/2.5 = 0.38v
  • I’m using a 12v PC power supply.

It follows that a low rpm, configured as Full Step, the motor vibrates
and does not rotate. If I increment the speed, everything goes ok.

If I configure it as Half Step, the motor rotates (without losing torque)
at low and high speed, but, at low the speed,
the motor still vibrate (a little bit, much less than before).

My questions are:
According to A4988 schematics, the ROSC pin is connected to
gnd through a 10K (R4) resistance and according to
A4988 datasheet(section Fixed Off-time):
tOFF = Rosc / 825 so
tOFF = 10.000 / 825
tOFF = 12 microseconds.

If I tie the ROSC pin to GND (without resistance), according to the datasheet,
the current decay is set to Mixed decay to both increasing and decreasing current.

Will this configuration (ROSC -> gnd) help me with the vibrations?

Best regards, Mariano.

Hi, Mariano.

At this point I am not sure what is causing the issue you are seeing, so I can’t say whether changing the decay mode with the ROSC setting might help. Could you give more detail about what speeds the motor works at and what speeds it vibrates at for both full step and half step modes? Also, could you post the code you are using on your Arduino and some pictures of your setup that show all connections. A video of the problem would probably also be really helpful.