mteixeira

M425 - Backlash compensation

calibration Enable and tune backlash compensation BACKLASH_COMPENSATION BACKLASH_GCODE

Description

Backlash compensation works by adding extra steps to one or more segments whenever a motor reverses direction.

By default, steps will be added to the first segment after a direction change, this gives the best dimensional accuracy but may cause marks to appear in the print. Smoothing spreads those extra steps multiple consecutive segments to prevent blemishes in the print, at the expense of dimensional accuracy.

Backlash compensation can be configured at both compile-time and run-time. Enable ‘BACKLASH_GCODE’ for run-time configuration, which enables M425 as well as a “Backlash” menu in the LCD.

Backlash can be automatically measured on all axes with G425 or on Z only with G29 when MEASURE_BACKLASH_WHEN_PROBING is enabled.

Notes

Requires BACKLASH_COMPENSATION, BACKLASH_GCODE and the following parameters:

  • BACKLASH_DISTANCE_MM specifies the default backlash on the X, Y and Z axis.
  • BACKLASH_CORRECTION specifies the default backlash correction (0.0 = 0%, 1.0 = 100%)
  • BACKLASH_SMOOTHING_MM enables backlash smoothing over a specified distance.
  • BACKLASH_GCODE enables M425 for run-time tuning of backlash.
  • MEASURE_BACKLASH_WHEN_PROBING turns on Z backlash measurement when probing (G29).
  • Use BACKLASH_MEASUREMENT_LIMIT, BACKLASH_MEASUREMENT_RESOLUTION and BACKLASH_MEASUREMENT_FEEDRATE configure G29 measurement.

Usage

M425 [F<value>] [S<linear>] [X<linear>] [Y<linear>] [Z<linear>] [Z]

Parameters

[F<value>]

Enable or disables backlash correction, or sets an intermediate fade-out (0.0 = none to 1.0 = 100%)

[S<linear>]

Distance over which backlash correction is spread

[X<linear>]

Set the backlash distance on X (mm; 0 to disable)

[Y<linear>]

Set the backlash distance on Y (mm; 0 to disable)

[Z<linear>]

Set the backlash distance on Z (mm; 0 to disable)

[Z]

When MEASURE_BACKLASH_WHEN_PROBING is enabled, copies the measured backlash into the backlash distance.

Examples

Manually configure backlash compensation

M425 X0.1 Y0.2 Z0.3 ; Set backlash to specific values for all axis 
M425 F1             ; Enable backlash compensation at 100% 

Use smoothing for best print surface quality

M425 F1 S3 

Use no smoothing for best dimensional accuracy

M425 F1 S0 

Automatically measure X, Y, and Z backlash using G425

G425                ; Perform a full calibration 
M425 F1             ; Use full measured value of backlash on X, Y and Z 

G425 automatically loads the measured backlash into the backlash distance, but will not enable backlash compensation.

To automatically measure Z backlash when probing with MEASURE_BACKLASH_WHEN_PROBING:

G29                 ; Perform probe and measure backlash on Z 
M425 F1 Z           ; Use full measured value of backlash on Z 

MEASURE_BACKLASH_WHEN_PROBING measures backlash, but does not update the configured backlash distance. The measured value should be activated by using the Z argument without a value. This differs from the behavior of G425.

Report the current backlash configuration

M425