Stepper Motor is a lot weaker than calculated

Hey everyone,

So after a lot of testing and trying out different solutions, I come to the point of needing new inputs. As the title suggests, my stepper motor seems weaker than it should be.

Specs

Arduino Uno
L298n Module

Nema 17hs4401

  • Holding Torque 40 Ncm
  • Rated current 1.7 A

Wiring accordig to this video

Code

// libary
#include <Stepper.h>

// potentiometer
#define poti A0

// stepper
//#define pwmA 3
//#define pwmB 11
//#define brakeA 9
//#define brakeB 8
//#define dirA 12
//#define dirB 13

const int degMotor = 1.8;
const int stepsPerRevolution = 200;

Stepper stepperOne = Stepper(stepsPerRevolution, 8, 9, 10, 11);

int count = 0;

void setup() {
    
    // serial
    Serial.begin(9600);   
    Serial.print("Stepper ready");
    delay(2000);
}


void loop() {
    
    // poti
    int potiReading = analogRead(poti);
    int motorSpeed = map(potiReading, 0, 1023, 0, 100);
    Serial.print(motorSpeed);
    Serial.print(" ");
    ++count;
    if (count == 25) {
      Serial.print("\n");
      count = 0;
    }
  
    // stepper
    if (motorSpeed > 0) { 
      stepperOne.setSpeed(motorSpeed);
      stepperOne.step(2);
    }
} 

Now to my problem. Code and everything else works fine. But doing some testing to determine the usable torque of my stepper motor (usable meaning, the torque when the motor starts to stall), I only got 3.9 Ncm. I know what holding torque means, but 3.9 Ncm usable torque compared to 40 Ncm holding torque seems like a shitty deal. I'm relatively new to small electronics. So is there a possibilty that somehow I'm not using the full potential of my stepper motor, i.e. the motor not getting enough current? I hope I provided all the necessary informations and I'm looking forward to your inputs!

As follow up question, are there formulas to calculate the torque for certain currents?

The ancient L298 is extremely inefficient and is simply not capable of driving modern, low impedance steppers at anywhere near their rated torque.

You will get the full rated torque if you use a modern current-limiting stepper driver, capable of handling at least 1.7 Amps/phase. Be sure to follow instructions in the motor driver data sheet to set the current limit correctly.

Pololu has the best selection, and a clear video on how to set the current limit for their drivers.

1 Like

The best place for that is in the trash bin. You are losing about 3 volts to the motor, if that explains the loss in power you know the problem. Get a bridge with mosfet outputs.

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