[HTML payload içeriği buraya]
32.4 C
Jakarta
Wednesday, May 13, 2026

3D Printer Firmware Settings – Stepper Motor Configuration


The right way to calculate motor steps and replace your firmware settings.

Posted on December 18, 2015

by

Kevin Pope

We not too long ago posted a few of our customized stepper motors on the market.  They’re 0.9 diploma NEMA 17s and we have been fantastically happy when utilizing them for our personal tasks, however we have now had a number of individuals ask – “How do I make these work with my printer?”.  The reason being this – regardless of having larger step accuracy, 0.9 diploma steppers are considerably much less ubiquitous than 1.8 diploma steppers, so the default settings for many firmware assumes you’re utilizing 1.8 diploma steppers.

Having the ability to change the stepper motors, or your extruder for that matter, requires that you simply configure one thing known as the Steps per Unit of that particular axis.  Usually talking, Steps per Unit means the variety of steps it takes to journey, nicely, one ‘unit’, which is often one millimeter – within the case of the extruder that is the variety of steps it takes to push one millimeter of filament by the print nozzle.

What to Change within the Firmware

Within the present model of Marlin, the road you’re searching for is within the ‘Configuration.h’ file:

#outline DEFAULT_AXIS_STEPS_PER_UNIT {78.7402,78.7402,200*8/3,760*1.1}

What does this imply?  Properly there are 4 values.  The axis steps per unit of the x, y, and z axes, respectively and the steps per unit of the extruder.  Damaged out, it might look one thing extra like this:

#outline DEFAULT_AXIS_STEPS_PER_UNIT {AXIS_STEPS_PER_UNIT_X, AXIS_STEPS_PER_UNIT_Y, AXIS_STEPS_PER_UNIT_Z, AXIS_STEPS_PER_UNIT_E}

Every of those values is calculated individually.  For belt pushed axes (normally x and y), the steps per unit is decided by the variety of steps per revolution divided by the loafer tooth, divided by the belt pitch (ie the spacing between tooth):

Steps per Unit (X and Y Axes) = Motor Steps per Revolution / Loafer Tooth / Belt Pitch

For threaded rod pushed axes, steps per unit is calculated as steps per revolution divided by the pitch of the rod:

Steps per Unit (Z Axis) = Motor Steps per Revolution / Rod Pitch

For geared extruders, the calculation is steps per revolution occasions the gear ratio divided by the pinch wheel diameter occasions pi:

Steps per Unit (Extruder) = Motor Steps per Revolution * Extruder Gear Ratio / (Pinch Wheel Diameter * Pi)

Decoding Steps per Motor Revolution

The variable in these equations that’s decided by your motor is ‘Steps per Motor Revolution’ which is the variety of steps it takes for the motor to make one, full, three-hundred sixty diploma flip.  For a 0.9 diploma stepper this is able to be 360°/0.9°, or 400 full steps.  However wait!  We additionally must think about microstepping – that is normally achieved in 1/8 or 1/16 increments (Pololu drivers are 1/sixteenth).  

So 400 full steps divided by 1/16 microstepping can be 6400, which represents the variety of microsteps it takes for the motor to make a full revolution.  A 1.8 diploma motor at 1/sixteenth microstepping would take 3200 microsteps to make a full revolution.

Placing all of it Collectively

For a 0.9 diploma motor utilizing 1/sixteenth microstepping with a 5mm pitch belt and a 8 tooth gear, the steps per unit can be:  6400 steps per revolution, divided by 5, divided by 8, or 160 steps per unit (on this case millimeters).

As soon as you have set the steps per unit within the firmware and loaded the up to date firmware onto your board you will wish to do a calibration print to make sure that you have received the whole lot proper.  This 20mm x 20mm x 20mm Hole Calibration Dice does the trick properly.

Even within the context of placing collectively a ‘vanilla’ construct of a RepRap printer it may be a good suggestion to try the Steps per Unit settings to ensure it aligns with your personal {hardware}. For instance, the distinction within the required settings between metric 5mm belting and 0.2″ XL belting is adequately subtle that you simply in all probability would not discover it offhand, apart from as that nagging feeling we regularly encounter – “It seem to be this print may very well be higher…”.

Within the curiosity of readability, in our firmware department – MatterPrint3D, we have now changed the next line:

#outline DEFAULT_AXIS_STEPS_PER_UNIT {78.7402,78.7402,200*8/3,760*1.1}

With:

#outline STEPS_PER_REVOLUTION_X 3200
#outline STEPS_PER_REVOLUTION_Z 3200
#outline STEPS_PER_REVOLUTION_E 3200
#outline STEPS_PER_REVOLUTION_Y 6400

#outline IDLER_TEETH_X 8
#outline IDLER_TEETH_Y 8

#outline BELT_PITCH_X (.2 * MM_PER_INCH)
#outline BELT_PITCH_Y (.2 * MM_PER_INCH)

#outline PITCH_OF_Z_ROD 1.25

// makergear extruder field
#outline EXTRUDER_GEAR_RATIO 13.0

#outline PINCH_WHEEL_DIAMETER 11.59

#outline AXIS_STEPS_PER_UNIT_X (STEPS_PER_REVOLUTION_X / IDLER_TEETH_X / BELT_PITCH_X)

#outline AXIS_STEPS_PER_UNIT_Y (STEPS_PER_REVOLUTION_Y / IDLER_TEETH_Y / BELT_PITCH_Y)

#outline AXIS_STEPS_PER_UNIT_Z (STEPS_PER_REVOLUTION_Z / PITCH_OF_Z_ROD)

#outline AXIS_STEPS_PER_UNIT_E (STEPS_PER_REVOLUTION_E * EXTRUDER_GEAR_RATIO / (PINCH_WHEEL_DIAMETER * PI))

#outline DEFAULT_AXIS_STEPS_PER_UNIT {AXIS_STEPS_PER_UNIT_X, AXIS_STEPS_PER_UNIT_Y, AXIS_STEPS_PER_UNIT_Z, AXIS_STEPS_PER_UNIT_E}

 

UPDATE:

Do not feel like calculating all this your self?  Josef Prusa has created two wonderful web-calculators:

Steps per MM (Belt Pushed Axes)

Steps per MM (Rod Pushed Axes)

Related Articles

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Latest Articles