107 lines
4.0 KiB
Markdown
107 lines
4.0 KiB
Markdown
---
|
|
tag: m0425
|
|
title: Backlash compensation
|
|
brief: Enable and tune backlash compensation
|
|
author: marcio-ao
|
|
|
|
experimental: true
|
|
requires: BACKLASH_COMPENSATION,BACKLASH_GCODE
|
|
group: calibration
|
|
|
|
codes: [ M425 ]
|
|
|
|
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 = none; 1.0 = 100%).
|
|
- `BACKLASH_SMOOTHING_MM` enables backlash smoothing over a specified distance.
|
|
- `BACKLASH_GCODE` enables [`M425`](/docs/gcode/M425.html) for run-time tuning of backlash.
|
|
- `MEASURE_BACKLASH_WHEN_PROBING` turns on Z backlash measurement when probing with [`G29`](/docs/gcode/G029.html).
|
|
- Use `BACKLASH_MEASUREMENT_LIMIT`, `BACKLASH_MEASUREMENT_RESOLUTION` and `BACKLASH_MEASUREMENT_FEEDRATE` to configure [`G29`](/docs/gcode/G029.html) backlash measurement.
|
|
|
|
parameters:
|
|
-
|
|
tag: F
|
|
optional: true
|
|
description: Enable or disables backlash correction, or sets an intermediate fade-out (0.0 = none; 1.0 = 100%)
|
|
values:
|
|
-
|
|
tag: value
|
|
type: float
|
|
-
|
|
tag: S
|
|
optional: true
|
|
description: Distance over which backlash correction is spread
|
|
values:
|
|
-
|
|
tag: linear
|
|
type: float
|
|
-
|
|
tag: X
|
|
optional: true
|
|
description: Set the backlash distance on X (mm; 0 to disable)
|
|
values:
|
|
-
|
|
tag: linear
|
|
type: float
|
|
-
|
|
tag: Y
|
|
optional: true
|
|
description: Set the backlash distance on Y (mm; 0 to disable)
|
|
values:
|
|
-
|
|
tag: linear
|
|
type: float
|
|
-
|
|
tag: Z
|
|
optional: true
|
|
description: Set the backlash distance on Z (mm; 0 to disable)
|
|
values:
|
|
-
|
|
tag: linear
|
|
type: float
|
|
-
|
|
tag: Z
|
|
optional: true
|
|
description: When `MEASURE_BACKLASH_WHEN_PROBING` is enabled, loads the measured backlash into the backlash distance parameter
|
|
|
|
examples:
|
|
-
|
|
pre: 'Manually configure backlash compensation:'
|
|
code:
|
|
- M425 X0.1 Y0.2 Z0.3 ; Set backlash to specific values for all axis
|
|
- M425 F1 ; Enable backlash compensation at 100%
|
|
-
|
|
pre: 'Use smoothing for best print surface quality:'
|
|
code:
|
|
- M425 F1 S3
|
|
-
|
|
pre: 'Use no smoothing for best dimensional accuracy:'
|
|
code:
|
|
- M425 F1 S0
|
|
-
|
|
pre: 'Automatically measure X, Y, and Z backlash using [`G425`](/docs/gcode/G425.html):'
|
|
code:
|
|
- G425 ; Perform a full calibration
|
|
- M425 F1 ; Use full measured value of backlash on X, Y and Z
|
|
post: G425 automatically loads the measured backlash into the backlash distance, but will not enable backlash compensation.
|
|
-
|
|
pre: 'To automatically measure Z backlash when probing with `MEASURE_BACKLASH_WHEN_PROBING`:'
|
|
code:
|
|
- G29 ; Perform probe and measure backlash on Z
|
|
- M425 F1 Z ; Use full measured value of backlash on Z
|
|
post: '`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`](/docs/gcode/G425.html).'
|
|
-
|
|
pre: 'Report the current backlash configuration:'
|
|
code:
|
|
- M425
|
|
---
|
|
|
|
Backlash compensation will add extra steps to one or more segments whenever a motor reverses direction.
|
|
|
|
By default, steps are 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 the added steps over multiple consecutive segments to prevent blemishes in the print, at the expense of dimensional accuracy.
|
|
|
|
Backlash compensation can be configured at either compile-time or run-time. Enable `BACKLASH_GCODE` to turn on [`M425`](/docs/gcode/M425.html) and a "Backlash" menu item.
|
|
|
|
Backlash can be measured automatically on all axes with [`G425`](/docs/gcode/G425.html) or on Z only with [`G29`](/docs/gcode/G029.html) when `MEASURE_BACKLASH_WHEN_PROBING` is enabled.
|