Go Down

Topic: Stepper motor low torque (Read 438 times) previous topic - next topic



I'm using a Nema 17 stepper motor (https://www.ebay.com.au/itm/142923721059) with an A4988 but have a hard time getting proper torque from the motor. I did some testing and it only lifts 0.7kg with a 1cm lever, but I see videos on youtube where they lift much more. I have tried with a 12v 3A and a 20v 4A power supply. I have set the potentiometer on the A4988. Does this only prove that you shouldn't buy ebay stepper motors or is there something I'm missing? I'm using an ESP8266.

Here is the code I used(I have tried different delays but 0.7kg is the best i got)
Code: [Select]

// Define pin connections & motor's steps per revolution
const int dirPin = 0;
const int stepPin = 2;
const int highPin = 4;
const int high2Pin = 12;
const int high3Pin = 13;
const int stepsPerRevolution = 200;
void setup()
  // Declare pins as Outputs
  pinMode(stepPin, OUTPUT);
  pinMode(dirPin, OUTPUT);
  pinMode(highPin, OUTPUT);
  pinMode(high2Pin, OUTPUT);
  pinMode(high3Pin, OUTPUT);
void loop()
  // Set motor direction
  digitalWrite(dirPin, LOW);
  digitalWrite(highPin, HIGH);
  digitalWrite(high2Pin, HIGH);
  digitalWrite(high3Pin, HIGH);

  // Spin motor
  for(int x = 0; x < stepsPerRevolution; x++)
    digitalWrite(stepPin, LOW);
    digitalWrite(stepPin, HIGH);



The ebay listing has very little technical data. See if you can find a link to the datasheet for the stepper motor and post it here.

The ebay data does say it can take 1.8 amps and that is rather too much for an A4988 stepper driver and it may overheat and cut out to protect itself. That should be detectable as missing steps.

A DRV8825 driver would have a little more headroom, and one of the drivers that uses a TB66xx chip would be even better.

If the motor is not missing steps and is not delivering the specified torque (we won't know what that is until we see the datasheet) then the likelihood is that the current limit is set at something below 1.8 amps.

Of course, without the datasheet we cannot even be certain of the 1.8 amp figure.

Stepper Motor Basics
Simple Stepper Code
Two or three hours spent thinking and reading documentation solves most programming problems.


If the 78 Oz on the E-Bay page is 78 ounce inches, that's 5.6  kgf/cm. What current did you set on the A4988? Can it handle 1.8 Amps? What microstep setting?
Try this in full step mode:
Code: [Select]
    digitalWrite(stepPin, HIGH);
    digitalWrite(stepPin, LOW);


You won't get anything like reasonable performance from a stepper if you don't ramp the speed up and
down.  Try using AccelStepper library.

You must set the current correctly on the driver - too much and something will cook and fail, too little
and you'll get less performance.  1.8A is beyond an A4988's range which won't help.

Make sure you've correctly identified the two windings and connected correctly.  Never disconnect/reconnect
motor windings to a stepper driver when it is powered up, you'll probably instantly destroy the driver if
you do.

The torque rating for steppers normally given is the pull-out torque (when stationary).  Dynamic torque
can be much less, and depends on speed.  Resonance issues dominate stepper behaviour unless you
use a reasonable microstepping ratio or mechanical damping.
[ I DO NOT respond to personal messages, I WILL delete them unread, use the forum please ]

Go Up