Close



Results 1 to 10 of 55

Threaded View

  1. #11
    Staff Engineer printbus's Avatar
    Join Date
    May 2014
    Location
    Highlands Ranch, Colorado USA
    Posts
    1,437
    Add printbus on Thingiverse
    ARRIVING AT VALUES FOR DEFAULT_STEPS_PER_UNIT

    The DEFAULT_STEPS_PER_UNIT in configuration.h defines the number of motor steps required to achieve 1mm of linear movement for each axis. So, the stock MakerFarm DEFAULT_AXIS_STEPS_PER_UNIT {80, 80, 4000, 841} statement says X and Y both take 80 steps per millimeter of movement in those axes. Z requires 4000 steps per millimeter of vertical movement of the x-carriage. The extruder motor requires 841 steps per millimeter of raw filament drawn into the hot end.

    All four numbers in DEFAULT_STEPS_PER_UNIT are basically the means to factor the mechanical gearing involved with the respective motor. On the stock MakerFarm i3v printers, the X and Y axes are identical with a 20-tooth pulley on the motor driving 2mm pitch GT2 belts. The Z-motors drive M5 threaded rods with a pitch of 0.8mm (linear travel or lead will be 0.8mm per rod revolution). The steps-per-unit value for the extruder motor reflects a number of things, including the number of teeth on the small gear on the motor, the large gear on the hobbed bolt, and the diameter of the channel cut into the hobbed bolt, and maybe to some extent, how deeply the hobbed bolt cuts into the filament.

    THE X and Y AXIS
    For X and Y, the math is steps per mm = (motor full steps per rev * driver microstepping) / (belt pitch * pulley teeth). The motors are 200 full steps per revolution, we're using 16x microstepping, belt pitch is 2mm, and there's 20 teeth on the pulleys. So, steps per mm = (200 * 16) / (2 * 20), or 80 steps per mm. There you go. Note that the 80 steps per mm provides an XY position resolution of ( 1 mm / 80 steps per mm ) or 0.0125mm. This is the best Marlin will be able to do in positioning the nozzle in the X and Y axes.

    Were you expecting to see the pulley circumference equation 2*pi*r factored into things here? What's really important is how much belt moves for a turn of the pulley. The number of cogs on the pulley multiplied by the distance between teeth on the belt is essentially already the circumference of the pulley after adding the thickness of the belt to it.

    THE Z AXIS
    Here the MakerFarm printers have M5 threaded rods instead of the pulleys and belts. The steps per mm of vertical travel = (motor full steps per rev * driver microstepping) / (thread pitch). Thread pitch for M5 rods is 0.8mm, so the steps per mm = (200 * 16) / 0.8, or 4000. The 4000 steps per mm provides a Z axis height resolution of ( 1 mm / 4000 steps per mm ) or 0.00025 mm. Seriously. Adjusting for layer height in 0.1mm increments certainly won't be a challenge. Some of that precision, however, comes into play for things like bed leveling, printing with a spiral perimeter, and z-hop.

    THE EXTRUDER
    A similar equation could be provided for the extruder, but I'm not going to bother. This is the one term that is best optimized by a calibration process, so understanding the math behind it is of marginal benefit.

    REFERENCES AND FOOTNOTES
    Joseph Prusa offers http://prusaprinters.org/calculator/ as a place where you can pick or enter the parameters and the result is calculated for you. Use the 'Steps per millimeter - belt driven systems' section for the X and Y axes, 'Steps per millimeter - leadscrew driven systems' for the Z axis.

    Triffid Hunter walks through the gear ratio math in http://reprap.org/wiki/Triffid_Hunte...Guide#XY_steps

    Next up - combining the information so far on a conceptual value for maximum feed rates.
    Last edited by printbus; 12-15-2014 at 04:02 PM.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •