Steps Per Revolution Issue?

  • Sorry, I really think this should be easy.

    5mm pitch ballscrew
    200 steps per revolution motor

    equals 40 steps per mm.

    But when I'm running the Duet, I'm off by a factor of ~15 (likely 16). When it's supposed to move 5mm, it actually takes 75ish for a full rotation.

    I don't have any microstepping enabled in the firmware.

    ; Axis and motor configuration
    M569 P0 S1 ; Drive 0 goes forwards
    M569 P1 S1 ; Drive 1 goes forwards
    M569 P2 S1 ; Drive 2 goes forwards
    M569 P3 S1 ; Drive 3 goes forwards
    M569 P4 S1 ; Drive 4 goes forwards

    ; Motor Calibrations
    M92 X40 Y40 Z40 ; Set axis steps/mm
    M906 X2000 Y2000 Z2000 E2000 I60 ; Set motor currents (mA) and increase idle current to 60%
    M201 X500 Y500 Z500 E500 ; Accelerations (mm/s^2)
    M203 X1000 Y1000 Z1000 E3600 ; Maximum speeds (mm/min)
    M566 X500 Y500 Z500 E1200 ; Maximum instant speed changes mm/minute

    Any thoughts? Seems like this should be a simple one.

  • Are you sure you don't have microstepping enabled? IIRC, the default is 16x. You might want to try something like [c]M350 X1 Y1 Z1[/c] to explicitly turn it off.

  • administrators

    The steps/mm in the M92 command is the number of microsteps per mm. I know this isn't logical, but it's how 3D printing has always been. The default microstepping is 16x with interpolation, unless you change it using the M350 command.

  • Ah, that would explain it, thanks.

Log in to reply