All tools

Free tool

Steps-per-mm calculator

Turn the motor, the driver's microstepping and the leadscrew, belt, rack or gearbox into steps per mm (or per degree), and the value a TNC-M34 or TNC-L32 wants typed in.

Motor and driver

Microstepping is set on the driver. For a servo drive set to a fixed number of pulses per turn, enter that number as custom full steps and choose 1.

Transmission
mm
starts

Lead = pitch × starts, the travel for one turn of the screw. Ballscrews and leadscrews alike.

Reduction (optional)
turns
turns

Motor : output. A 20-tooth motor pulley driving a 40-tooth screw pulley is 2 : 1; a 90 : 1 worm is 90 : 1. Direct coupling is 1 : 1.

Steps per mm 320steps/mm

In range on TNC-M34 and TNC-L32

Resolution per step
3.125 µm
Travel per output turn
5 mm
Steps per motor turn
1600
Steps per output turn
1600
Enter this in your controller
ControllerEnter this inValue
TNC-M34MENU ▸ MACHINE ▸ X-AXIS ▸ Steps per mm, and the same under Y-AXIS and Z-AXIS. Range 1 – 100 000.320
TNC-L32Settings → MACHINE → AXES → X STEPS/MM or Z STEPS/MM. Range 1 – 100 000, three decimals.320.000

How it is worked out

A step is one pulse to the driver. Count the pulses for one turn of the output, then divide by how far (or how many degrees) that turn moves the axis.

steps per output turn = full steps per rev × microsteps × (motor turns ÷ output turns)

steps/mm     = steps per output turn ÷ travel per output turn (mm)
steps/degree = steps per output turn ÷ 360

travel per output turn
  leadscrew / ballscrew   lead = pitch × starts
  belt and pulley         belt pitch × pulley teeth
  rack and pinion         π × module × teeth   (or circular pitch × teeth)

resolution   = 1000 ÷ steps/mm µm per step,   or 60 ÷ steps/degree arc-min per step

Worked examples

Assumptions

Measuring the lead, including multi-start screws

Pitch is the distance between neighbouring threads. Lead is how far the nut travels in one turn, and it is lead that steps/mm needs. On a single-start screw the two are equal. On a multi-start screw, lead = pitch × starts, and getting this wrong is the usual reason an axis moves two or four times too far.

Microstepping adds resolution, not accuracy

A microstepping driver divides each full step by setting the current in the two windings to intermediate ratios. The positions it asks for are finer, but the rotor only reaches them if nothing pushes back. The torque available to move one microstep is roughly the holding torque × sin(90° ÷ microsteps): about 20 % at 1/8, 10 % at 1/16 and under 1 % at 1/256. Under friction or cutting load the rotor lags until enough microsteps have accumulated, then catches up. The full-step positions are the accurate ones. Motor manufacturers typically quote step accuracy as a few percent of a full step.

Microstepping also costs speed, because every microstep is a pulse. The TNC-M34 operator manual gives its step-rate ceiling as 100 kHz per axis: 800 steps/mm tops out at 7 500 mm/min, 1 600 steps/mm at 3 750 mm/min. On a TNC-L32 the ceiling at the default pulse width and direction setup is 38.5 kHz, which is 5 769 mm/min at 400 steps/mm. Choose enough microstepping for smooth motion, not the highest the driver offers.

Fine-tuning by measuring actual travel

The calculated value is only as good as the nominal lead. To take out the screw's real error, command a long move, measure what the axis actually did, and scale:

new steps/mm = current steps/mm × commanded distance ÷ measured distance
  1. Set up a dial indicator, a height gauge or a known length along the axis, over as long a move as the travel allows.
  2. Approach the start point from the same direction as the test move, so backlash is already taken up.
  3. Command the move, for example G91 G1 X100 F300, and measure it.
  4. Work out the new value and enter it. Repeat once to confirm.

The TNC-L32 user manual gives this same procedure for commissioning, under MACHINE → AXES. On a TNC-M34, MENU ▸ SYSTEM ▸ TUNING has a steps/mm wizard that asks for the commanded and measured distances.

Correct from a measured move

steps/mm
mm
mm

New value: 322.5806 steps/mmTravel was 0.8 % short. On a TNC-L32 enter 322.581.

The same arithmetic works for a rotary axis in steps per degree: command an angle and measure it.

Where the value goes

Related Tiny Controls products