How to calculate linear motion(mm) with a stepper motor


so I’m trying to do this without an encoder any clues?


I have the same problem as you. i have ask the for customer service for help and promise to help me solve the problem.


There are two general methods for calculating the steps-per-mm for a stepper motor:

1.) Gather the following numbers:
a.) Steps per rotation for your motor: (200 for a 1.8-degree motor, 400 for a 0.9-degree motor, etc.)
b.) Micro-stepping jumper selection for your stepper driver. (typically 1/16th)
c.) Number of teeth on your stepper shaft gear
d.) Teeth-per-mm for your belts.

Note that the teeth-per-mm of the belt will cancel out in this calculation. The number of teeth per mm in the belt does not affect the linear resolution of the mechanism.

Then you can determine the number of steps per rotation of the motor: (steps-per-rotation / micro-stepping) and the linear belt travel per rotation (gear teeth per rotation / belt teeth-per-mm) Finally, divide the belt mm per rotation by the microsteps-per-rotation to get mm/rotation.

Or the “easy” way:

2.) Print a calibration object, such as a standard 2mm cube. Then measure each side with a pair of calipers. Calculate the (intended size / actual size) of the cube, and multiply the printer’s current STEPS_PER_MM value by this correction factor. Then repeat the calibration print and adjust again until the desired precision is achieved.

If this is confusing, I may not be explaining it clearly. Feel free to post your numbers if you get stuck.