Close



Results 1 to 10 of 55

Threaded View

  1. #10
    Staff Engineer printbus's Avatar
    Join Date
    May 2014
    Location
    Highlands Ranch, Colorado USA
    Posts
    1,437
    Add printbus on Thingiverse
    A STAB AT CALCULATING A MAXIMUM PRINT SPEED

    So far, we've put a lot of faith in the achievable step rate of 16 kHz stated in http://reprap.org/wiki/Step_rates. But configuration_adv.h has a MAX_STEP_FREQUENCY parameter defined to 40000. By label alone, it sounds like we should use 40 kHz instead of 16 kHz in our calculations, right?

    MAX_STEP_FREQUENCY is used in setting up a timer value in stepper.cpp. Reading the code doesn't do well at suggesting what's going on here. I found M2 vs. Marlin: Speed Calculations and a comment in Makergear M2: Z Axis Numbers helpful. Up to a step rate of 10 kHz, Marlin will create stepper interrupts at the rate required. Over a 10 kHz step rate, Marlin keeps the timer interval at 10 kHz but starts combining two steps into each interrupt. Over a 20 kHz step rate, Marlin starts combining four steps into each interrupt interval. The references suggest combining steps in each interrupt can lead to jitter since the interval between steps won't be consistent.

    So, one thought is to keep the step rate below 10 kHz to stay away from this jitter. Since we only care about this when we're printing, we don't need to worry about the reduced limit for Z-axis moves (well, maybe if you're printing spiral or with ABL but then the Z axis moves are slow). If the DEFAULT_MAX_FEEDRATE value for the extruder really only comes into play for retractions, we don't need to worry about the reduced limit there either. Nor with non-printing X-Y moves. So, we can tentatively leave DEFAULT_MAX_FEEDRATE alone and deal with the 10 kHz step rate as a limit on maximum print speed we use in the slicer instead.

    Revisiting our feed rate equation for X and Y, the max print speed would = ( steps per second / steps per mm). Steps per mm was previously baselined to 80 for X and Y. Plugging in the numbers we get max print speed = ( 10,000 / 80 ) or 125 mm/second. So, ignoring an obvious question on whether the hot end can keep up and whether we need to adjust for stepping that has to also occur on the extruder motor while printing, we should be able to print perhaps up to 125 mm/sec before we risk picking up the jitter effects of handling motor steps in groups of two or four instead of individually. Why not add some margin and shoot for a max print speed of 100 mm/sec?

    It's at least a place to start.
    Last edited by printbus; 12-21-2014 at 12:21 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
  •