Step rates

From RepRap
Revision as of 09:16, 1 August 2014 by Traumflug (talk | contribs) (Translate from german.)
Jump to: navigation, search


One thing up front: at 300 mm/s, precision in the micrometer range is pretty unrealistic. Accordingly, 0.9° stepper motors and 1/32 microstepping don't make much sense. Forces neccessary to achieve such speeds are simply too high for current designs of printer frames and actuators. For high precision you'd have to live with much lower feedrates.

Achievable step rates

Step rate means the highest speed at which a particular electronics-firmware combination can send step pulses to the stepper motor driver. It mostly depends on the CPU used on a controller, its clock frequency and the algorithm used by the firmware to calculate motor movements. As this are typically several thousand pulses per second, it's typically given in Kilohertz (kHz).

ATmega-based electronics are, with exception of the clock frequency, all equally fast. Achievable feedrates are always the same, no matter wether you use a big ATmega2560, a small ATmega168, or something in between.

Current (July 2014) discussion about achievable step rates goes as following:

  • Marlin/Repetier on ATmega 16 MHz (e.g. RAMPS) in Standard-Mode: 16.000 steps/second (16 kHz).
  • Teacup Firmware on ATmega 20 MHz (e.g. Gen7): 48 kHz.
  • Marlin/Repetier on ATmega 16 MHz in Quadstep-Mode (uneven step distribution): 67 kHz.
  • Repetier on RADDS: 96 kHz.

Measuring step rate

Schrittrate messen

  1. Connect a stepper (without printer) to the controller.
  2. Jumper the controller for its highest microstepping to keep actual motor RPM low.
  3. Set a very high max feedrate in the firmware (65000 mm/min or 1000 mm/s).
  4. Choose a moderate acceleration, e.g. 100 mm/s2 in firmware (acceleration phase is the critical phase, so don't make it too short).

Then send movement commands at raising feedrates:

G1 X1000 F20000
G1 X0 F22000
G1 X1000 F24000
...

Raise feedrate until the controller shows hiccups. Either short pauses in stepper sound or sound going away entirely. The achieved feedrate allows to calculate the achieved step rate.

With our fast controllers, stepper max RPM is also a limitation. Stops a motor, but its sound continues to be smooth, the controller can keep up and the measurement is valid.

Measuring with devices, e.g. an oscilloscope, is less reliable, because there it's hard to notice short dropouts. For example, a poorly coded firmware would show such dropouts while characters come in over the serial line. Dropouts lead to motor stop or at least step losses, so such behaviour isn't usable while printing.