Resolution of Stepper Motor

I am using Creality 42-40 STEPPER MOTOR for CR Series/Ender Series, which has a Step angle of 1.8 degrees. From this, I could calculate that it would make 1 revolution in 360/1.8 = 200 steps. However, when I tried to drive motor 200 steps, it could only do 1/4 revolution. I am not using any mircostepping with the driver. No load is attached to the motor. Other Details are:
Driver: TMC2208
Driver Power Supply = 12 V
Logic Power Supply = 5V
Here is my Circuit Diagram:


Here is the code:

/* Arduino sketch to drive a stepper motor using the AccelStepper library.
   Runs stepper back and forth between limits. */

#include <AccelStepper.h>
const int dirPin = 3;
const int stepPin = 4;

AccelStepper myStepper(AccelStepper::DRIVER, stepPin, dirPin); 
  myStepper.setMaxSpeed(500.0);
  myStepper.setAcceleration(100.0);
  myStepper.moveTo(200);
}

void loop() {
  if (!myStepper.run()) {  
    myStepper.moveTo(0);
  }
}

Motor:https://www.azurefilm.com/en/creality-42-40-stepper-motor-for-cr-series/ender-series?pdf=1

How do you know this? Are there jumpers on the circuit board that force microstepping?

Where is the rest of the sketch ?
In the ideal world, without microstepping, you would be right.
This is your sketch in a simulation, the start button is in the upper-middle of the screen.

Look at the documentation for your driver. By the look of it, the default is micro stepping.

I was forcing microstepping without knowing it. It was my bad that I though that leaving MS1 and MS2 pins would force "No Microstepping". But the default value when both are GND is 1/8 Microteps. Thanks all for pointing out my mistake. I really appreciate your quick response.

1 Like

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