M425 Backlash Correction (#11061)
This commit is contained in:
parent
fa47ce369a
commit
b22716e938
71 changed files with 2373 additions and 58 deletions
|
@ -490,6 +490,39 @@
|
||||||
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// Backlash Compensation
|
||||||
|
// Adds extra movement to axes on direction-changes to account for backlash.
|
||||||
|
//
|
||||||
|
//#define BACKLASH_COMPENSATION
|
||||||
|
#if ENABLED(BACKLASH_COMPENSATION)
|
||||||
|
// Define values for backlash distance and correction.
|
||||||
|
// If BACKLASH_GCODE is enabled these values are the defaults.
|
||||||
|
#define BACKLASH_DISTANCE_MM { 0, 0, 0 } // (mm)
|
||||||
|
#define BACKLASH_CORRECTION 0.0 // 0.0 = no correction; 1.0 = full correction
|
||||||
|
|
||||||
|
// Set BACKLASH_SMOOTHING_MM to spread backlash correction over multiple segments
|
||||||
|
// to reduce print artifacts. (Enabling this is costly in memory and computation!)
|
||||||
|
//#define BACKLASH_SMOOTHING_MM 3 // (mm)
|
||||||
|
|
||||||
|
// Add runtime configuration and tuning of backlash values (M425)
|
||||||
|
//#define BACKLASH_GCODE
|
||||||
|
|
||||||
|
#if ENABLED(BACKLASH_GCODE)
|
||||||
|
// Measure the Z backlash when probing (G29) and set with "M425 Z"
|
||||||
|
#define MEASURE_BACKLASH_WHEN_PROBING
|
||||||
|
|
||||||
|
#if ENABLED(MEASURE_BACKLASH_WHEN_PROBING)
|
||||||
|
// When measuring, the probe will move up to BACKLASH_MEASUREMENT_LIMIT
|
||||||
|
// mm away from point of contact in BACKLASH_MEASUREMENT_RESOLUTION
|
||||||
|
// increments while checking for the contact to be broken.
|
||||||
|
#define BACKLASH_MEASUREMENT_LIMIT 0.5 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_RESOLUTION 0.005 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_FEEDRATE Z_PROBE_SPEED_SLOW // (mm/m)
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
||||||
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
||||||
|
|
|
@ -490,6 +490,39 @@
|
||||||
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// Backlash Compensation
|
||||||
|
// Adds extra movement to axes on direction-changes to account for backlash.
|
||||||
|
//
|
||||||
|
//#define BACKLASH_COMPENSATION
|
||||||
|
#if ENABLED(BACKLASH_COMPENSATION)
|
||||||
|
// Define values for backlash distance and correction.
|
||||||
|
// If BACKLASH_GCODE is enabled these values are the defaults.
|
||||||
|
#define BACKLASH_DISTANCE_MM { 0, 0, 0 } // (mm)
|
||||||
|
#define BACKLASH_CORRECTION 0.0 // 0.0 = no correction; 1.0 = full correction
|
||||||
|
|
||||||
|
// Set BACKLASH_SMOOTHING_MM to spread backlash correction over multiple segments
|
||||||
|
// to reduce print artifacts. (Enabling this is costly in memory and computation!)
|
||||||
|
//#define BACKLASH_SMOOTHING_MM 3 // (mm)
|
||||||
|
|
||||||
|
// Add runtime configuration and tuning of backlash values (M425)
|
||||||
|
//#define BACKLASH_GCODE
|
||||||
|
|
||||||
|
#if ENABLED(BACKLASH_GCODE)
|
||||||
|
// Measure the Z backlash when probing (G29) and set with "M425 Z"
|
||||||
|
#define MEASURE_BACKLASH_WHEN_PROBING
|
||||||
|
|
||||||
|
#if ENABLED(MEASURE_BACKLASH_WHEN_PROBING)
|
||||||
|
// When measuring, the probe will move up to BACKLASH_MEASUREMENT_LIMIT
|
||||||
|
// mm away from point of contact in BACKLASH_MEASUREMENT_RESOLUTION
|
||||||
|
// increments while checking for the contact to be broken.
|
||||||
|
#define BACKLASH_MEASUREMENT_LIMIT 0.5 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_RESOLUTION 0.005 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_FEEDRATE Z_PROBE_SPEED_SLOW // (mm/m)
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
||||||
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
||||||
|
|
|
@ -490,6 +490,39 @@
|
||||||
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// Backlash Compensation
|
||||||
|
// Adds extra movement to axes on direction-changes to account for backlash.
|
||||||
|
//
|
||||||
|
//#define BACKLASH_COMPENSATION
|
||||||
|
#if ENABLED(BACKLASH_COMPENSATION)
|
||||||
|
// Define values for backlash distance and correction.
|
||||||
|
// If BACKLASH_GCODE is enabled these values are the defaults.
|
||||||
|
#define BACKLASH_DISTANCE_MM { 0, 0, 0 } // (mm)
|
||||||
|
#define BACKLASH_CORRECTION 0.0 // 0.0 = no correction; 1.0 = full correction
|
||||||
|
|
||||||
|
// Set BACKLASH_SMOOTHING_MM to spread backlash correction over multiple segments
|
||||||
|
// to reduce print artifacts. (Enabling this is costly in memory and computation!)
|
||||||
|
//#define BACKLASH_SMOOTHING_MM 3 // (mm)
|
||||||
|
|
||||||
|
// Add runtime configuration and tuning of backlash values (M425)
|
||||||
|
//#define BACKLASH_GCODE
|
||||||
|
|
||||||
|
#if ENABLED(BACKLASH_GCODE)
|
||||||
|
// Measure the Z backlash when probing (G29) and set with "M425 Z"
|
||||||
|
#define MEASURE_BACKLASH_WHEN_PROBING
|
||||||
|
|
||||||
|
#if ENABLED(MEASURE_BACKLASH_WHEN_PROBING)
|
||||||
|
// When measuring, the probe will move up to BACKLASH_MEASUREMENT_LIMIT
|
||||||
|
// mm away from point of contact in BACKLASH_MEASUREMENT_RESOLUTION
|
||||||
|
// increments while checking for the contact to be broken.
|
||||||
|
#define BACKLASH_MEASUREMENT_LIMIT 0.5 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_RESOLUTION 0.005 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_FEEDRATE Z_PROBE_SPEED_SLOW // (mm/m)
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
||||||
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
||||||
|
|
|
@ -490,6 +490,39 @@
|
||||||
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// Backlash Compensation
|
||||||
|
// Adds extra movement to axes on direction-changes to account for backlash.
|
||||||
|
//
|
||||||
|
//#define BACKLASH_COMPENSATION
|
||||||
|
#if ENABLED(BACKLASH_COMPENSATION)
|
||||||
|
// Define values for backlash distance and correction.
|
||||||
|
// If BACKLASH_GCODE is enabled these values are the defaults.
|
||||||
|
#define BACKLASH_DISTANCE_MM { 0, 0, 0 } // (mm)
|
||||||
|
#define BACKLASH_CORRECTION 0.0 // 0.0 = no correction; 1.0 = full correction
|
||||||
|
|
||||||
|
// Set BACKLASH_SMOOTHING_MM to spread backlash correction over multiple segments
|
||||||
|
// to reduce print artifacts. (Enabling this is costly in memory and computation!)
|
||||||
|
//#define BACKLASH_SMOOTHING_MM 3 // (mm)
|
||||||
|
|
||||||
|
// Add runtime configuration and tuning of backlash values (M425)
|
||||||
|
//#define BACKLASH_GCODE
|
||||||
|
|
||||||
|
#if ENABLED(BACKLASH_GCODE)
|
||||||
|
// Measure the Z backlash when probing (G29) and set with "M425 Z"
|
||||||
|
#define MEASURE_BACKLASH_WHEN_PROBING
|
||||||
|
|
||||||
|
#if ENABLED(MEASURE_BACKLASH_WHEN_PROBING)
|
||||||
|
// When measuring, the probe will move up to BACKLASH_MEASUREMENT_LIMIT
|
||||||
|
// mm away from point of contact in BACKLASH_MEASUREMENT_RESOLUTION
|
||||||
|
// increments while checking for the contact to be broken.
|
||||||
|
#define BACKLASH_MEASUREMENT_LIMIT 0.5 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_RESOLUTION 0.005 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_FEEDRATE Z_PROBE_SPEED_SLOW // (mm/m)
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
||||||
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
||||||
|
|
|
@ -490,6 +490,39 @@
|
||||||
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// Backlash Compensation
|
||||||
|
// Adds extra movement to axes on direction-changes to account for backlash.
|
||||||
|
//
|
||||||
|
//#define BACKLASH_COMPENSATION
|
||||||
|
#if ENABLED(BACKLASH_COMPENSATION)
|
||||||
|
// Define values for backlash distance and correction.
|
||||||
|
// If BACKLASH_GCODE is enabled these values are the defaults.
|
||||||
|
#define BACKLASH_DISTANCE_MM { 0, 0, 0 } // (mm)
|
||||||
|
#define BACKLASH_CORRECTION 0.0 // 0.0 = no correction; 1.0 = full correction
|
||||||
|
|
||||||
|
// Set BACKLASH_SMOOTHING_MM to spread backlash correction over multiple segments
|
||||||
|
// to reduce print artifacts. (Enabling this is costly in memory and computation!)
|
||||||
|
//#define BACKLASH_SMOOTHING_MM 3 // (mm)
|
||||||
|
|
||||||
|
// Add runtime configuration and tuning of backlash values (M425)
|
||||||
|
//#define BACKLASH_GCODE
|
||||||
|
|
||||||
|
#if ENABLED(BACKLASH_GCODE)
|
||||||
|
// Measure the Z backlash when probing (G29) and set with "M425 Z"
|
||||||
|
#define MEASURE_BACKLASH_WHEN_PROBING
|
||||||
|
|
||||||
|
#if ENABLED(MEASURE_BACKLASH_WHEN_PROBING)
|
||||||
|
// When measuring, the probe will move up to BACKLASH_MEASUREMENT_LIMIT
|
||||||
|
// mm away from point of contact in BACKLASH_MEASUREMENT_RESOLUTION
|
||||||
|
// increments while checking for the contact to be broken.
|
||||||
|
#define BACKLASH_MEASUREMENT_LIMIT 0.5 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_RESOLUTION 0.005 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_FEEDRATE Z_PROBE_SPEED_SLOW // (mm/m)
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
||||||
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
||||||
|
|
|
@ -489,6 +489,39 @@
|
||||||
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// Backlash Compensation
|
||||||
|
// Adds extra movement to axes on direction-changes to account for backlash.
|
||||||
|
//
|
||||||
|
//#define BACKLASH_COMPENSATION
|
||||||
|
#if ENABLED(BACKLASH_COMPENSATION)
|
||||||
|
// Define values for backlash distance and correction.
|
||||||
|
// If BACKLASH_GCODE is enabled these values are the defaults.
|
||||||
|
#define BACKLASH_DISTANCE_MM { 0, 0, 0 } // (mm)
|
||||||
|
#define BACKLASH_CORRECTION 0.0 // 0.0 = no correction; 1.0 = full correction
|
||||||
|
|
||||||
|
// Set BACKLASH_SMOOTHING_MM to spread backlash correction over multiple segments
|
||||||
|
// to reduce print artifacts. (Enabling this is costly in memory and computation!)
|
||||||
|
//#define BACKLASH_SMOOTHING_MM 3 // (mm)
|
||||||
|
|
||||||
|
// Add runtime configuration and tuning of backlash values (M425)
|
||||||
|
//#define BACKLASH_GCODE
|
||||||
|
|
||||||
|
#if ENABLED(BACKLASH_GCODE)
|
||||||
|
// Measure the Z backlash when probing (G29) and set with "M425 Z"
|
||||||
|
#define MEASURE_BACKLASH_WHEN_PROBING
|
||||||
|
|
||||||
|
#if ENABLED(MEASURE_BACKLASH_WHEN_PROBING)
|
||||||
|
// When measuring, the probe will move up to BACKLASH_MEASUREMENT_LIMIT
|
||||||
|
// mm away from point of contact in BACKLASH_MEASUREMENT_RESOLUTION
|
||||||
|
// increments while checking for the contact to be broken.
|
||||||
|
#define BACKLASH_MEASUREMENT_LIMIT 0.5 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_RESOLUTION 0.005 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_FEEDRATE Z_PROBE_SPEED_SLOW // (mm/m)
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
||||||
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
||||||
|
|
|
@ -490,6 +490,39 @@
|
||||||
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// Backlash Compensation
|
||||||
|
// Adds extra movement to axes on direction-changes to account for backlash.
|
||||||
|
//
|
||||||
|
//#define BACKLASH_COMPENSATION
|
||||||
|
#if ENABLED(BACKLASH_COMPENSATION)
|
||||||
|
// Define values for backlash distance and correction.
|
||||||
|
// If BACKLASH_GCODE is enabled these values are the defaults.
|
||||||
|
#define BACKLASH_DISTANCE_MM { 0, 0, 0 } // (mm)
|
||||||
|
#define BACKLASH_CORRECTION 0.0 // 0.0 = no correction; 1.0 = full correction
|
||||||
|
|
||||||
|
// Set BACKLASH_SMOOTHING_MM to spread backlash correction over multiple segments
|
||||||
|
// to reduce print artifacts. (Enabling this is costly in memory and computation!)
|
||||||
|
//#define BACKLASH_SMOOTHING_MM 3 // (mm)
|
||||||
|
|
||||||
|
// Add runtime configuration and tuning of backlash values (M425)
|
||||||
|
//#define BACKLASH_GCODE
|
||||||
|
|
||||||
|
#if ENABLED(BACKLASH_GCODE)
|
||||||
|
// Measure the Z backlash when probing (G29) and set with "M425 Z"
|
||||||
|
#define MEASURE_BACKLASH_WHEN_PROBING
|
||||||
|
|
||||||
|
#if ENABLED(MEASURE_BACKLASH_WHEN_PROBING)
|
||||||
|
// When measuring, the probe will move up to BACKLASH_MEASUREMENT_LIMIT
|
||||||
|
// mm away from point of contact in BACKLASH_MEASUREMENT_RESOLUTION
|
||||||
|
// increments while checking for the contact to be broken.
|
||||||
|
#define BACKLASH_MEASUREMENT_LIMIT 0.5 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_RESOLUTION 0.005 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_FEEDRATE Z_PROBE_SPEED_SLOW // (mm/m)
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
||||||
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
||||||
|
|
|
@ -473,6 +473,39 @@
|
||||||
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// Backlash Compensation
|
||||||
|
// Adds extra movement to axes on direction-changes to account for backlash.
|
||||||
|
//
|
||||||
|
//#define BACKLASH_COMPENSATION
|
||||||
|
#if ENABLED(BACKLASH_COMPENSATION)
|
||||||
|
// Define values for backlash distance and correction.
|
||||||
|
// If BACKLASH_GCODE is enabled these values are the defaults.
|
||||||
|
#define BACKLASH_DISTANCE_MM { 0, 0, 0 } // (mm)
|
||||||
|
#define BACKLASH_CORRECTION 0.0 // 0.0 = no correction; 1.0 = full correction
|
||||||
|
|
||||||
|
// Set BACKLASH_SMOOTHING_MM to spread backlash correction over multiple segments
|
||||||
|
// to reduce print artifacts. (Enabling this is costly in memory and computation!)
|
||||||
|
//#define BACKLASH_SMOOTHING_MM 3 // (mm)
|
||||||
|
|
||||||
|
// Add runtime configuration and tuning of backlash values (M425)
|
||||||
|
//#define BACKLASH_GCODE
|
||||||
|
|
||||||
|
#if ENABLED(BACKLASH_GCODE)
|
||||||
|
// Measure the Z backlash when probing (G29) and set with "M425 Z"
|
||||||
|
#define MEASURE_BACKLASH_WHEN_PROBING
|
||||||
|
|
||||||
|
#if ENABLED(MEASURE_BACKLASH_WHEN_PROBING)
|
||||||
|
// When measuring, the probe will move up to BACKLASH_MEASUREMENT_LIMIT
|
||||||
|
// mm away from point of contact in BACKLASH_MEASUREMENT_RESOLUTION
|
||||||
|
// increments while checking for the contact to be broken.
|
||||||
|
#define BACKLASH_MEASUREMENT_LIMIT 0.5 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_RESOLUTION 0.005 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_FEEDRATE Z_PROBE_SPEED_SLOW // (mm/m)
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
||||||
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
||||||
|
|
|
@ -489,6 +489,39 @@
|
||||||
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// Backlash Compensation
|
||||||
|
// Adds extra movement to axes on direction-changes to account for backlash.
|
||||||
|
//
|
||||||
|
//#define BACKLASH_COMPENSATION
|
||||||
|
#if ENABLED(BACKLASH_COMPENSATION)
|
||||||
|
// Define values for backlash distance and correction.
|
||||||
|
// If BACKLASH_GCODE is enabled these values are the defaults.
|
||||||
|
#define BACKLASH_DISTANCE_MM { 0, 0, 0 } // (mm)
|
||||||
|
#define BACKLASH_CORRECTION 0.0 // 0.0 = no correction; 1.0 = full correction
|
||||||
|
|
||||||
|
// Set BACKLASH_SMOOTHING_MM to spread backlash correction over multiple segments
|
||||||
|
// to reduce print artifacts. (Enabling this is costly in memory and computation!)
|
||||||
|
//#define BACKLASH_SMOOTHING_MM 3 // (mm)
|
||||||
|
|
||||||
|
// Add runtime configuration and tuning of backlash values (M425)
|
||||||
|
//#define BACKLASH_GCODE
|
||||||
|
|
||||||
|
#if ENABLED(BACKLASH_GCODE)
|
||||||
|
// Measure the Z backlash when probing (G29) and set with "M425 Z"
|
||||||
|
#define MEASURE_BACKLASH_WHEN_PROBING
|
||||||
|
|
||||||
|
#if ENABLED(MEASURE_BACKLASH_WHEN_PROBING)
|
||||||
|
// When measuring, the probe will move up to BACKLASH_MEASUREMENT_LIMIT
|
||||||
|
// mm away from point of contact in BACKLASH_MEASUREMENT_RESOLUTION
|
||||||
|
// increments while checking for the contact to be broken.
|
||||||
|
#define BACKLASH_MEASUREMENT_LIMIT 0.5 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_RESOLUTION 0.005 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_FEEDRATE Z_PROBE_SPEED_SLOW // (mm/m)
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
||||||
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
||||||
|
|
|
@ -490,6 +490,39 @@
|
||||||
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// Backlash Compensation
|
||||||
|
// Adds extra movement to axes on direction-changes to account for backlash.
|
||||||
|
//
|
||||||
|
//#define BACKLASH_COMPENSATION
|
||||||
|
#if ENABLED(BACKLASH_COMPENSATION)
|
||||||
|
// Define values for backlash distance and correction.
|
||||||
|
// If BACKLASH_GCODE is enabled these values are the defaults.
|
||||||
|
#define BACKLASH_DISTANCE_MM { 0, 0, 0 } // (mm)
|
||||||
|
#define BACKLASH_CORRECTION 0.0 // 0.0 = no correction; 1.0 = full correction
|
||||||
|
|
||||||
|
// Set BACKLASH_SMOOTHING_MM to spread backlash correction over multiple segments
|
||||||
|
// to reduce print artifacts. (Enabling this is costly in memory and computation!)
|
||||||
|
//#define BACKLASH_SMOOTHING_MM 3 // (mm)
|
||||||
|
|
||||||
|
// Add runtime configuration and tuning of backlash values (M425)
|
||||||
|
//#define BACKLASH_GCODE
|
||||||
|
|
||||||
|
#if ENABLED(BACKLASH_GCODE)
|
||||||
|
// Measure the Z backlash when probing (G29) and set with "M425 Z"
|
||||||
|
#define MEASURE_BACKLASH_WHEN_PROBING
|
||||||
|
|
||||||
|
#if ENABLED(MEASURE_BACKLASH_WHEN_PROBING)
|
||||||
|
// When measuring, the probe will move up to BACKLASH_MEASUREMENT_LIMIT
|
||||||
|
// mm away from point of contact in BACKLASH_MEASUREMENT_RESOLUTION
|
||||||
|
// increments while checking for the contact to be broken.
|
||||||
|
#define BACKLASH_MEASUREMENT_LIMIT 0.5 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_RESOLUTION 0.005 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_FEEDRATE Z_PROBE_SPEED_SLOW // (mm/m)
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
||||||
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
||||||
|
|
|
@ -490,6 +490,39 @@
|
||||||
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// Backlash Compensation
|
||||||
|
// Adds extra movement to axes on direction-changes to account for backlash.
|
||||||
|
//
|
||||||
|
//#define BACKLASH_COMPENSATION
|
||||||
|
#if ENABLED(BACKLASH_COMPENSATION)
|
||||||
|
// Define values for backlash distance and correction.
|
||||||
|
// If BACKLASH_GCODE is enabled these values are the defaults.
|
||||||
|
#define BACKLASH_DISTANCE_MM { 0, 0, 0 } // (mm)
|
||||||
|
#define BACKLASH_CORRECTION 0.0 // 0.0 = no correction; 1.0 = full correction
|
||||||
|
|
||||||
|
// Set BACKLASH_SMOOTHING_MM to spread backlash correction over multiple segments
|
||||||
|
// to reduce print artifacts. (Enabling this is costly in memory and computation!)
|
||||||
|
//#define BACKLASH_SMOOTHING_MM 3 // (mm)
|
||||||
|
|
||||||
|
// Add runtime configuration and tuning of backlash values (M425)
|
||||||
|
//#define BACKLASH_GCODE
|
||||||
|
|
||||||
|
#if ENABLED(BACKLASH_GCODE)
|
||||||
|
// Measure the Z backlash when probing (G29) and set with "M425 Z"
|
||||||
|
#define MEASURE_BACKLASH_WHEN_PROBING
|
||||||
|
|
||||||
|
#if ENABLED(MEASURE_BACKLASH_WHEN_PROBING)
|
||||||
|
// When measuring, the probe will move up to BACKLASH_MEASUREMENT_LIMIT
|
||||||
|
// mm away from point of contact in BACKLASH_MEASUREMENT_RESOLUTION
|
||||||
|
// increments while checking for the contact to be broken.
|
||||||
|
#define BACKLASH_MEASUREMENT_LIMIT 0.5 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_RESOLUTION 0.005 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_FEEDRATE Z_PROBE_SPEED_SLOW // (mm/m)
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
||||||
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
||||||
|
|
|
@ -490,6 +490,39 @@
|
||||||
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// Backlash Compensation
|
||||||
|
// Adds extra movement to axes on direction-changes to account for backlash.
|
||||||
|
//
|
||||||
|
//#define BACKLASH_COMPENSATION
|
||||||
|
#if ENABLED(BACKLASH_COMPENSATION)
|
||||||
|
// Define values for backlash distance and correction.
|
||||||
|
// If BACKLASH_GCODE is enabled these values are the defaults.
|
||||||
|
#define BACKLASH_DISTANCE_MM { 0, 0, 0 } // (mm)
|
||||||
|
#define BACKLASH_CORRECTION 0.0 // 0.0 = no correction; 1.0 = full correction
|
||||||
|
|
||||||
|
// Set BACKLASH_SMOOTHING_MM to spread backlash correction over multiple segments
|
||||||
|
// to reduce print artifacts. (Enabling this is costly in memory and computation!)
|
||||||
|
//#define BACKLASH_SMOOTHING_MM 3 // (mm)
|
||||||
|
|
||||||
|
// Add runtime configuration and tuning of backlash values (M425)
|
||||||
|
//#define BACKLASH_GCODE
|
||||||
|
|
||||||
|
#if ENABLED(BACKLASH_GCODE)
|
||||||
|
// Measure the Z backlash when probing (G29) and set with "M425 Z"
|
||||||
|
#define MEASURE_BACKLASH_WHEN_PROBING
|
||||||
|
|
||||||
|
#if ENABLED(MEASURE_BACKLASH_WHEN_PROBING)
|
||||||
|
// When measuring, the probe will move up to BACKLASH_MEASUREMENT_LIMIT
|
||||||
|
// mm away from point of contact in BACKLASH_MEASUREMENT_RESOLUTION
|
||||||
|
// increments while checking for the contact to be broken.
|
||||||
|
#define BACKLASH_MEASUREMENT_LIMIT 0.5 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_RESOLUTION 0.005 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_FEEDRATE Z_PROBE_SPEED_SLOW // (mm/m)
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
||||||
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
||||||
|
|
|
@ -490,6 +490,39 @@
|
||||||
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// Backlash Compensation
|
||||||
|
// Adds extra movement to axes on direction-changes to account for backlash.
|
||||||
|
//
|
||||||
|
//#define BACKLASH_COMPENSATION
|
||||||
|
#if ENABLED(BACKLASH_COMPENSATION)
|
||||||
|
// Define values for backlash distance and correction.
|
||||||
|
// If BACKLASH_GCODE is enabled these values are the defaults.
|
||||||
|
#define BACKLASH_DISTANCE_MM { 0, 0, 0 } // (mm)
|
||||||
|
#define BACKLASH_CORRECTION 0.0 // 0.0 = no correction; 1.0 = full correction
|
||||||
|
|
||||||
|
// Set BACKLASH_SMOOTHING_MM to spread backlash correction over multiple segments
|
||||||
|
// to reduce print artifacts. (Enabling this is costly in memory and computation!)
|
||||||
|
//#define BACKLASH_SMOOTHING_MM 3 // (mm)
|
||||||
|
|
||||||
|
// Add runtime configuration and tuning of backlash values (M425)
|
||||||
|
//#define BACKLASH_GCODE
|
||||||
|
|
||||||
|
#if ENABLED(BACKLASH_GCODE)
|
||||||
|
// Measure the Z backlash when probing (G29) and set with "M425 Z"
|
||||||
|
#define MEASURE_BACKLASH_WHEN_PROBING
|
||||||
|
|
||||||
|
#if ENABLED(MEASURE_BACKLASH_WHEN_PROBING)
|
||||||
|
// When measuring, the probe will move up to BACKLASH_MEASUREMENT_LIMIT
|
||||||
|
// mm away from point of contact in BACKLASH_MEASUREMENT_RESOLUTION
|
||||||
|
// increments while checking for the contact to be broken.
|
||||||
|
#define BACKLASH_MEASUREMENT_LIMIT 0.5 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_RESOLUTION 0.005 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_FEEDRATE Z_PROBE_SPEED_SLOW // (mm/m)
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
||||||
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
||||||
|
|
|
@ -490,6 +490,39 @@
|
||||||
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// Backlash Compensation
|
||||||
|
// Adds extra movement to axes on direction-changes to account for backlash.
|
||||||
|
//
|
||||||
|
//#define BACKLASH_COMPENSATION
|
||||||
|
#if ENABLED(BACKLASH_COMPENSATION)
|
||||||
|
// Define values for backlash distance and correction.
|
||||||
|
// If BACKLASH_GCODE is enabled these values are the defaults.
|
||||||
|
#define BACKLASH_DISTANCE_MM { 0, 0, 0 } // (mm)
|
||||||
|
#define BACKLASH_CORRECTION 0.0 // 0.0 = no correction; 1.0 = full correction
|
||||||
|
|
||||||
|
// Set BACKLASH_SMOOTHING_MM to spread backlash correction over multiple segments
|
||||||
|
// to reduce print artifacts. (Enabling this is costly in memory and computation!)
|
||||||
|
//#define BACKLASH_SMOOTHING_MM 3 // (mm)
|
||||||
|
|
||||||
|
// Add runtime configuration and tuning of backlash values (M425)
|
||||||
|
//#define BACKLASH_GCODE
|
||||||
|
|
||||||
|
#if ENABLED(BACKLASH_GCODE)
|
||||||
|
// Measure the Z backlash when probing (G29) and set with "M425 Z"
|
||||||
|
#define MEASURE_BACKLASH_WHEN_PROBING
|
||||||
|
|
||||||
|
#if ENABLED(MEASURE_BACKLASH_WHEN_PROBING)
|
||||||
|
// When measuring, the probe will move up to BACKLASH_MEASUREMENT_LIMIT
|
||||||
|
// mm away from point of contact in BACKLASH_MEASUREMENT_RESOLUTION
|
||||||
|
// increments while checking for the contact to be broken.
|
||||||
|
#define BACKLASH_MEASUREMENT_LIMIT 0.5 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_RESOLUTION 0.005 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_FEEDRATE Z_PROBE_SPEED_SLOW // (mm/m)
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
||||||
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
||||||
|
|
|
@ -490,6 +490,39 @@
|
||||||
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// Backlash Compensation
|
||||||
|
// Adds extra movement to axes on direction-changes to account for backlash.
|
||||||
|
//
|
||||||
|
//#define BACKLASH_COMPENSATION
|
||||||
|
#if ENABLED(BACKLASH_COMPENSATION)
|
||||||
|
// Define values for backlash distance and correction.
|
||||||
|
// If BACKLASH_GCODE is enabled these values are the defaults.
|
||||||
|
#define BACKLASH_DISTANCE_MM { 0, 0, 0 } // (mm)
|
||||||
|
#define BACKLASH_CORRECTION 0.0 // 0.0 = no correction; 1.0 = full correction
|
||||||
|
|
||||||
|
// Set BACKLASH_SMOOTHING_MM to spread backlash correction over multiple segments
|
||||||
|
// to reduce print artifacts. (Enabling this is costly in memory and computation!)
|
||||||
|
//#define BACKLASH_SMOOTHING_MM 3 // (mm)
|
||||||
|
|
||||||
|
// Add runtime configuration and tuning of backlash values (M425)
|
||||||
|
//#define BACKLASH_GCODE
|
||||||
|
|
||||||
|
#if ENABLED(BACKLASH_GCODE)
|
||||||
|
// Measure the Z backlash when probing (G29) and set with "M425 Z"
|
||||||
|
#define MEASURE_BACKLASH_WHEN_PROBING
|
||||||
|
|
||||||
|
#if ENABLED(MEASURE_BACKLASH_WHEN_PROBING)
|
||||||
|
// When measuring, the probe will move up to BACKLASH_MEASUREMENT_LIMIT
|
||||||
|
// mm away from point of contact in BACKLASH_MEASUREMENT_RESOLUTION
|
||||||
|
// increments while checking for the contact to be broken.
|
||||||
|
#define BACKLASH_MEASUREMENT_LIMIT 0.5 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_RESOLUTION 0.005 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_FEEDRATE Z_PROBE_SPEED_SLOW // (mm/m)
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
||||||
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
||||||
|
|
|
@ -490,6 +490,39 @@
|
||||||
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// Backlash Compensation
|
||||||
|
// Adds extra movement to axes on direction-changes to account for backlash.
|
||||||
|
//
|
||||||
|
//#define BACKLASH_COMPENSATION
|
||||||
|
#if ENABLED(BACKLASH_COMPENSATION)
|
||||||
|
// Define values for backlash distance and correction.
|
||||||
|
// If BACKLASH_GCODE is enabled these values are the defaults.
|
||||||
|
#define BACKLASH_DISTANCE_MM { 0, 0, 0 } // (mm)
|
||||||
|
#define BACKLASH_CORRECTION 0.0 // 0.0 = no correction; 1.0 = full correction
|
||||||
|
|
||||||
|
// Set BACKLASH_SMOOTHING_MM to spread backlash correction over multiple segments
|
||||||
|
// to reduce print artifacts. (Enabling this is costly in memory and computation!)
|
||||||
|
//#define BACKLASH_SMOOTHING_MM 3 // (mm)
|
||||||
|
|
||||||
|
// Add runtime configuration and tuning of backlash values (M425)
|
||||||
|
//#define BACKLASH_GCODE
|
||||||
|
|
||||||
|
#if ENABLED(BACKLASH_GCODE)
|
||||||
|
// Measure the Z backlash when probing (G29) and set with "M425 Z"
|
||||||
|
#define MEASURE_BACKLASH_WHEN_PROBING
|
||||||
|
|
||||||
|
#if ENABLED(MEASURE_BACKLASH_WHEN_PROBING)
|
||||||
|
// When measuring, the probe will move up to BACKLASH_MEASUREMENT_LIMIT
|
||||||
|
// mm away from point of contact in BACKLASH_MEASUREMENT_RESOLUTION
|
||||||
|
// increments while checking for the contact to be broken.
|
||||||
|
#define BACKLASH_MEASUREMENT_LIMIT 0.5 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_RESOLUTION 0.005 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_FEEDRATE Z_PROBE_SPEED_SLOW // (mm/m)
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
||||||
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
||||||
|
|
|
@ -490,6 +490,39 @@
|
||||||
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// Backlash Compensation
|
||||||
|
// Adds extra movement to axes on direction-changes to account for backlash.
|
||||||
|
//
|
||||||
|
//#define BACKLASH_COMPENSATION
|
||||||
|
#if ENABLED(BACKLASH_COMPENSATION)
|
||||||
|
// Define values for backlash distance and correction.
|
||||||
|
// If BACKLASH_GCODE is enabled these values are the defaults.
|
||||||
|
#define BACKLASH_DISTANCE_MM { 0, 0, 0 } // (mm)
|
||||||
|
#define BACKLASH_CORRECTION 0.0 // 0.0 = no correction; 1.0 = full correction
|
||||||
|
|
||||||
|
// Set BACKLASH_SMOOTHING_MM to spread backlash correction over multiple segments
|
||||||
|
// to reduce print artifacts. (Enabling this is costly in memory and computation!)
|
||||||
|
//#define BACKLASH_SMOOTHING_MM 3 // (mm)
|
||||||
|
|
||||||
|
// Add runtime configuration and tuning of backlash values (M425)
|
||||||
|
//#define BACKLASH_GCODE
|
||||||
|
|
||||||
|
#if ENABLED(BACKLASH_GCODE)
|
||||||
|
// Measure the Z backlash when probing (G29) and set with "M425 Z"
|
||||||
|
#define MEASURE_BACKLASH_WHEN_PROBING
|
||||||
|
|
||||||
|
#if ENABLED(MEASURE_BACKLASH_WHEN_PROBING)
|
||||||
|
// When measuring, the probe will move up to BACKLASH_MEASUREMENT_LIMIT
|
||||||
|
// mm away from point of contact in BACKLASH_MEASUREMENT_RESOLUTION
|
||||||
|
// increments while checking for the contact to be broken.
|
||||||
|
#define BACKLASH_MEASUREMENT_LIMIT 0.5 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_RESOLUTION 0.005 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_FEEDRATE Z_PROBE_SPEED_SLOW // (mm/m)
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
||||||
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
||||||
|
|
|
@ -490,6 +490,39 @@
|
||||||
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// Backlash Compensation
|
||||||
|
// Adds extra movement to axes on direction-changes to account for backlash.
|
||||||
|
//
|
||||||
|
//#define BACKLASH_COMPENSATION
|
||||||
|
#if ENABLED(BACKLASH_COMPENSATION)
|
||||||
|
// Define values for backlash distance and correction.
|
||||||
|
// If BACKLASH_GCODE is enabled these values are the defaults.
|
||||||
|
#define BACKLASH_DISTANCE_MM { 0, 0, 0 } // (mm)
|
||||||
|
#define BACKLASH_CORRECTION 0.0 // 0.0 = no correction; 1.0 = full correction
|
||||||
|
|
||||||
|
// Set BACKLASH_SMOOTHING_MM to spread backlash correction over multiple segments
|
||||||
|
// to reduce print artifacts. (Enabling this is costly in memory and computation!)
|
||||||
|
//#define BACKLASH_SMOOTHING_MM 3 // (mm)
|
||||||
|
|
||||||
|
// Add runtime configuration and tuning of backlash values (M425)
|
||||||
|
//#define BACKLASH_GCODE
|
||||||
|
|
||||||
|
#if ENABLED(BACKLASH_GCODE)
|
||||||
|
// Measure the Z backlash when probing (G29) and set with "M425 Z"
|
||||||
|
#define MEASURE_BACKLASH_WHEN_PROBING
|
||||||
|
|
||||||
|
#if ENABLED(MEASURE_BACKLASH_WHEN_PROBING)
|
||||||
|
// When measuring, the probe will move up to BACKLASH_MEASUREMENT_LIMIT
|
||||||
|
// mm away from point of contact in BACKLASH_MEASUREMENT_RESOLUTION
|
||||||
|
// increments while checking for the contact to be broken.
|
||||||
|
#define BACKLASH_MEASUREMENT_LIMIT 0.5 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_RESOLUTION 0.005 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_FEEDRATE Z_PROBE_SPEED_SLOW // (mm/m)
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
||||||
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
||||||
|
|
|
@ -490,6 +490,39 @@
|
||||||
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// Backlash Compensation
|
||||||
|
// Adds extra movement to axes on direction-changes to account for backlash.
|
||||||
|
//
|
||||||
|
//#define BACKLASH_COMPENSATION
|
||||||
|
#if ENABLED(BACKLASH_COMPENSATION)
|
||||||
|
// Define values for backlash distance and correction.
|
||||||
|
// If BACKLASH_GCODE is enabled these values are the defaults.
|
||||||
|
#define BACKLASH_DISTANCE_MM { 0, 0, 0 } // (mm)
|
||||||
|
#define BACKLASH_CORRECTION 0.0 // 0.0 = no correction; 1.0 = full correction
|
||||||
|
|
||||||
|
// Set BACKLASH_SMOOTHING_MM to spread backlash correction over multiple segments
|
||||||
|
// to reduce print artifacts. (Enabling this is costly in memory and computation!)
|
||||||
|
//#define BACKLASH_SMOOTHING_MM 3 // (mm)
|
||||||
|
|
||||||
|
// Add runtime configuration and tuning of backlash values (M425)
|
||||||
|
//#define BACKLASH_GCODE
|
||||||
|
|
||||||
|
#if ENABLED(BACKLASH_GCODE)
|
||||||
|
// Measure the Z backlash when probing (G29) and set with "M425 Z"
|
||||||
|
#define MEASURE_BACKLASH_WHEN_PROBING
|
||||||
|
|
||||||
|
#if ENABLED(MEASURE_BACKLASH_WHEN_PROBING)
|
||||||
|
// When measuring, the probe will move up to BACKLASH_MEASUREMENT_LIMIT
|
||||||
|
// mm away from point of contact in BACKLASH_MEASUREMENT_RESOLUTION
|
||||||
|
// increments while checking for the contact to be broken.
|
||||||
|
#define BACKLASH_MEASUREMENT_LIMIT 0.5 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_RESOLUTION 0.005 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_FEEDRATE Z_PROBE_SPEED_SLOW // (mm/m)
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
||||||
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
||||||
|
|
|
@ -490,6 +490,39 @@
|
||||||
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// Backlash Compensation
|
||||||
|
// Adds extra movement to axes on direction-changes to account for backlash.
|
||||||
|
//
|
||||||
|
//#define BACKLASH_COMPENSATION
|
||||||
|
#if ENABLED(BACKLASH_COMPENSATION)
|
||||||
|
// Define values for backlash distance and correction.
|
||||||
|
// If BACKLASH_GCODE is enabled these values are the defaults.
|
||||||
|
#define BACKLASH_DISTANCE_MM { 0, 0, 0 } // (mm)
|
||||||
|
#define BACKLASH_CORRECTION 0.0 // 0.0 = no correction; 1.0 = full correction
|
||||||
|
|
||||||
|
// Set BACKLASH_SMOOTHING_MM to spread backlash correction over multiple segments
|
||||||
|
// to reduce print artifacts. (Enabling this is costly in memory and computation!)
|
||||||
|
//#define BACKLASH_SMOOTHING_MM 3 // (mm)
|
||||||
|
|
||||||
|
// Add runtime configuration and tuning of backlash values (M425)
|
||||||
|
//#define BACKLASH_GCODE
|
||||||
|
|
||||||
|
#if ENABLED(BACKLASH_GCODE)
|
||||||
|
// Measure the Z backlash when probing (G29) and set with "M425 Z"
|
||||||
|
#define MEASURE_BACKLASH_WHEN_PROBING
|
||||||
|
|
||||||
|
#if ENABLED(MEASURE_BACKLASH_WHEN_PROBING)
|
||||||
|
// When measuring, the probe will move up to BACKLASH_MEASUREMENT_LIMIT
|
||||||
|
// mm away from point of contact in BACKLASH_MEASUREMENT_RESOLUTION
|
||||||
|
// increments while checking for the contact to be broken.
|
||||||
|
#define BACKLASH_MEASUREMENT_LIMIT 0.5 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_RESOLUTION 0.005 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_FEEDRATE Z_PROBE_SPEED_SLOW // (mm/m)
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
||||||
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
||||||
|
|
|
@ -490,6 +490,39 @@
|
||||||
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// Backlash Compensation
|
||||||
|
// Adds extra movement to axes on direction-changes to account for backlash.
|
||||||
|
//
|
||||||
|
//#define BACKLASH_COMPENSATION
|
||||||
|
#if ENABLED(BACKLASH_COMPENSATION)
|
||||||
|
// Define values for backlash distance and correction.
|
||||||
|
// If BACKLASH_GCODE is enabled these values are the defaults.
|
||||||
|
#define BACKLASH_DISTANCE_MM { 0, 0, 0 } // (mm)
|
||||||
|
#define BACKLASH_CORRECTION 0.0 // 0.0 = no correction; 1.0 = full correction
|
||||||
|
|
||||||
|
// Set BACKLASH_SMOOTHING_MM to spread backlash correction over multiple segments
|
||||||
|
// to reduce print artifacts. (Enabling this is costly in memory and computation!)
|
||||||
|
//#define BACKLASH_SMOOTHING_MM 3 // (mm)
|
||||||
|
|
||||||
|
// Add runtime configuration and tuning of backlash values (M425)
|
||||||
|
//#define BACKLASH_GCODE
|
||||||
|
|
||||||
|
#if ENABLED(BACKLASH_GCODE)
|
||||||
|
// Measure the Z backlash when probing (G29) and set with "M425 Z"
|
||||||
|
#define MEASURE_BACKLASH_WHEN_PROBING
|
||||||
|
|
||||||
|
#if ENABLED(MEASURE_BACKLASH_WHEN_PROBING)
|
||||||
|
// When measuring, the probe will move up to BACKLASH_MEASUREMENT_LIMIT
|
||||||
|
// mm away from point of contact in BACKLASH_MEASUREMENT_RESOLUTION
|
||||||
|
// increments while checking for the contact to be broken.
|
||||||
|
#define BACKLASH_MEASUREMENT_LIMIT 0.5 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_RESOLUTION 0.005 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_FEEDRATE Z_PROBE_SPEED_SLOW // (mm/m)
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
||||||
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
||||||
|
|
|
@ -490,6 +490,39 @@
|
||||||
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// Backlash Compensation
|
||||||
|
// Adds extra movement to axes on direction-changes to account for backlash.
|
||||||
|
//
|
||||||
|
//#define BACKLASH_COMPENSATION
|
||||||
|
#if ENABLED(BACKLASH_COMPENSATION)
|
||||||
|
// Define values for backlash distance and correction.
|
||||||
|
// If BACKLASH_GCODE is enabled these values are the defaults.
|
||||||
|
#define BACKLASH_DISTANCE_MM { 0, 0, 0 } // (mm)
|
||||||
|
#define BACKLASH_CORRECTION 0.0 // 0.0 = no correction; 1.0 = full correction
|
||||||
|
|
||||||
|
// Set BACKLASH_SMOOTHING_MM to spread backlash correction over multiple segments
|
||||||
|
// to reduce print artifacts. (Enabling this is costly in memory and computation!)
|
||||||
|
//#define BACKLASH_SMOOTHING_MM 3 // (mm)
|
||||||
|
|
||||||
|
// Add runtime configuration and tuning of backlash values (M425)
|
||||||
|
//#define BACKLASH_GCODE
|
||||||
|
|
||||||
|
#if ENABLED(BACKLASH_GCODE)
|
||||||
|
// Measure the Z backlash when probing (G29) and set with "M425 Z"
|
||||||
|
#define MEASURE_BACKLASH_WHEN_PROBING
|
||||||
|
|
||||||
|
#if ENABLED(MEASURE_BACKLASH_WHEN_PROBING)
|
||||||
|
// When measuring, the probe will move up to BACKLASH_MEASUREMENT_LIMIT
|
||||||
|
// mm away from point of contact in BACKLASH_MEASUREMENT_RESOLUTION
|
||||||
|
// increments while checking for the contact to be broken.
|
||||||
|
#define BACKLASH_MEASUREMENT_LIMIT 0.5 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_RESOLUTION 0.005 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_FEEDRATE Z_PROBE_SPEED_SLOW // (mm/m)
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
||||||
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
||||||
|
|
|
@ -490,6 +490,39 @@
|
||||||
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// Backlash Compensation
|
||||||
|
// Adds extra movement to axes on direction-changes to account for backlash.
|
||||||
|
//
|
||||||
|
//#define BACKLASH_COMPENSATION
|
||||||
|
#if ENABLED(BACKLASH_COMPENSATION)
|
||||||
|
// Define values for backlash distance and correction.
|
||||||
|
// If BACKLASH_GCODE is enabled these values are the defaults.
|
||||||
|
#define BACKLASH_DISTANCE_MM { 0, 0, 0 } // (mm)
|
||||||
|
#define BACKLASH_CORRECTION 0.0 // 0.0 = no correction; 1.0 = full correction
|
||||||
|
|
||||||
|
// Set BACKLASH_SMOOTHING_MM to spread backlash correction over multiple segments
|
||||||
|
// to reduce print artifacts. (Enabling this is costly in memory and computation!)
|
||||||
|
//#define BACKLASH_SMOOTHING_MM 3 // (mm)
|
||||||
|
|
||||||
|
// Add runtime configuration and tuning of backlash values (M425)
|
||||||
|
//#define BACKLASH_GCODE
|
||||||
|
|
||||||
|
#if ENABLED(BACKLASH_GCODE)
|
||||||
|
// Measure the Z backlash when probing (G29) and set with "M425 Z"
|
||||||
|
#define MEASURE_BACKLASH_WHEN_PROBING
|
||||||
|
|
||||||
|
#if ENABLED(MEASURE_BACKLASH_WHEN_PROBING)
|
||||||
|
// When measuring, the probe will move up to BACKLASH_MEASUREMENT_LIMIT
|
||||||
|
// mm away from point of contact in BACKLASH_MEASUREMENT_RESOLUTION
|
||||||
|
// increments while checking for the contact to be broken.
|
||||||
|
#define BACKLASH_MEASUREMENT_LIMIT 0.5 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_RESOLUTION 0.005 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_FEEDRATE Z_PROBE_SPEED_SLOW // (mm/m)
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
||||||
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
||||||
|
|
|
@ -490,6 +490,39 @@
|
||||||
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// Backlash Compensation
|
||||||
|
// Adds extra movement to axes on direction-changes to account for backlash.
|
||||||
|
//
|
||||||
|
//#define BACKLASH_COMPENSATION
|
||||||
|
#if ENABLED(BACKLASH_COMPENSATION)
|
||||||
|
// Define values for backlash distance and correction.
|
||||||
|
// If BACKLASH_GCODE is enabled these values are the defaults.
|
||||||
|
#define BACKLASH_DISTANCE_MM { 0, 0, 0 } // (mm)
|
||||||
|
#define BACKLASH_CORRECTION 0.0 // 0.0 = no correction; 1.0 = full correction
|
||||||
|
|
||||||
|
// Set BACKLASH_SMOOTHING_MM to spread backlash correction over multiple segments
|
||||||
|
// to reduce print artifacts. (Enabling this is costly in memory and computation!)
|
||||||
|
//#define BACKLASH_SMOOTHING_MM 3 // (mm)
|
||||||
|
|
||||||
|
// Add runtime configuration and tuning of backlash values (M425)
|
||||||
|
//#define BACKLASH_GCODE
|
||||||
|
|
||||||
|
#if ENABLED(BACKLASH_GCODE)
|
||||||
|
// Measure the Z backlash when probing (G29) and set with "M425 Z"
|
||||||
|
#define MEASURE_BACKLASH_WHEN_PROBING
|
||||||
|
|
||||||
|
#if ENABLED(MEASURE_BACKLASH_WHEN_PROBING)
|
||||||
|
// When measuring, the probe will move up to BACKLASH_MEASUREMENT_LIMIT
|
||||||
|
// mm away from point of contact in BACKLASH_MEASUREMENT_RESOLUTION
|
||||||
|
// increments while checking for the contact to be broken.
|
||||||
|
#define BACKLASH_MEASUREMENT_LIMIT 0.5 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_RESOLUTION 0.005 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_FEEDRATE Z_PROBE_SPEED_SLOW // (mm/m)
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
||||||
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
||||||
|
|
|
@ -490,6 +490,39 @@
|
||||||
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// Backlash Compensation
|
||||||
|
// Adds extra movement to axes on direction-changes to account for backlash.
|
||||||
|
//
|
||||||
|
//#define BACKLASH_COMPENSATION
|
||||||
|
#if ENABLED(BACKLASH_COMPENSATION)
|
||||||
|
// Define values for backlash distance and correction.
|
||||||
|
// If BACKLASH_GCODE is enabled these values are the defaults.
|
||||||
|
#define BACKLASH_DISTANCE_MM { 0, 0, 0 } // (mm)
|
||||||
|
#define BACKLASH_CORRECTION 0.0 // 0.0 = no correction; 1.0 = full correction
|
||||||
|
|
||||||
|
// Set BACKLASH_SMOOTHING_MM to spread backlash correction over multiple segments
|
||||||
|
// to reduce print artifacts. (Enabling this is costly in memory and computation!)
|
||||||
|
//#define BACKLASH_SMOOTHING_MM 3 // (mm)
|
||||||
|
|
||||||
|
// Add runtime configuration and tuning of backlash values (M425)
|
||||||
|
//#define BACKLASH_GCODE
|
||||||
|
|
||||||
|
#if ENABLED(BACKLASH_GCODE)
|
||||||
|
// Measure the Z backlash when probing (G29) and set with "M425 Z"
|
||||||
|
#define MEASURE_BACKLASH_WHEN_PROBING
|
||||||
|
|
||||||
|
#if ENABLED(MEASURE_BACKLASH_WHEN_PROBING)
|
||||||
|
// When measuring, the probe will move up to BACKLASH_MEASUREMENT_LIMIT
|
||||||
|
// mm away from point of contact in BACKLASH_MEASUREMENT_RESOLUTION
|
||||||
|
// increments while checking for the contact to be broken.
|
||||||
|
#define BACKLASH_MEASUREMENT_LIMIT 0.5 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_RESOLUTION 0.005 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_FEEDRATE Z_PROBE_SPEED_SLOW // (mm/m)
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
||||||
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
||||||
|
|
|
@ -494,6 +494,39 @@
|
||||||
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// Backlash Compensation
|
||||||
|
// Adds extra movement to axes on direction-changes to account for backlash.
|
||||||
|
//
|
||||||
|
//#define BACKLASH_COMPENSATION
|
||||||
|
#if ENABLED(BACKLASH_COMPENSATION)
|
||||||
|
// Define values for backlash distance and correction.
|
||||||
|
// If BACKLASH_GCODE is enabled these values are the defaults.
|
||||||
|
#define BACKLASH_DISTANCE_MM { 0, 0, 0 } // (mm)
|
||||||
|
#define BACKLASH_CORRECTION 0.0 // 0.0 = no correction; 1.0 = full correction
|
||||||
|
|
||||||
|
// Set BACKLASH_SMOOTHING_MM to spread backlash correction over multiple segments
|
||||||
|
// to reduce print artifacts. (Enabling this is costly in memory and computation!)
|
||||||
|
//#define BACKLASH_SMOOTHING_MM 3 // (mm)
|
||||||
|
|
||||||
|
// Add runtime configuration and tuning of backlash values (M425)
|
||||||
|
//#define BACKLASH_GCODE
|
||||||
|
|
||||||
|
#if ENABLED(BACKLASH_GCODE)
|
||||||
|
// Measure the Z backlash when probing (G29) and set with "M425 Z"
|
||||||
|
#define MEASURE_BACKLASH_WHEN_PROBING
|
||||||
|
|
||||||
|
#if ENABLED(MEASURE_BACKLASH_WHEN_PROBING)
|
||||||
|
// When measuring, the probe will move up to BACKLASH_MEASUREMENT_LIMIT
|
||||||
|
// mm away from point of contact in BACKLASH_MEASUREMENT_RESOLUTION
|
||||||
|
// increments while checking for the contact to be broken.
|
||||||
|
#define BACKLASH_MEASUREMENT_LIMIT 0.5 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_RESOLUTION 0.005 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_FEEDRATE Z_PROBE_SPEED_SLOW // (mm/m)
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
||||||
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
||||||
|
|
|
@ -495,6 +495,39 @@
|
||||||
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// Backlash Compensation
|
||||||
|
// Adds extra movement to axes on direction-changes to account for backlash.
|
||||||
|
//
|
||||||
|
//#define BACKLASH_COMPENSATION
|
||||||
|
#if ENABLED(BACKLASH_COMPENSATION)
|
||||||
|
// Define values for backlash distance and correction.
|
||||||
|
// If BACKLASH_GCODE is enabled these values are the defaults.
|
||||||
|
#define BACKLASH_DISTANCE_MM { 0, 0, 0 } // (mm)
|
||||||
|
#define BACKLASH_CORRECTION 0.0 // 0.0 = no correction; 1.0 = full correction
|
||||||
|
|
||||||
|
// Set BACKLASH_SMOOTHING_MM to spread backlash correction over multiple segments
|
||||||
|
// to reduce print artifacts. (Enabling this is costly in memory and computation!)
|
||||||
|
//#define BACKLASH_SMOOTHING_MM 3 // (mm)
|
||||||
|
|
||||||
|
// Add runtime configuration and tuning of backlash values (M425)
|
||||||
|
//#define BACKLASH_GCODE
|
||||||
|
|
||||||
|
#if ENABLED(BACKLASH_GCODE)
|
||||||
|
// Measure the Z backlash when probing (G29) and set with "M425 Z"
|
||||||
|
#define MEASURE_BACKLASH_WHEN_PROBING
|
||||||
|
|
||||||
|
#if ENABLED(MEASURE_BACKLASH_WHEN_PROBING)
|
||||||
|
// When measuring, the probe will move up to BACKLASH_MEASUREMENT_LIMIT
|
||||||
|
// mm away from point of contact in BACKLASH_MEASUREMENT_RESOLUTION
|
||||||
|
// increments while checking for the contact to be broken.
|
||||||
|
#define BACKLASH_MEASUREMENT_LIMIT 0.5 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_RESOLUTION 0.005 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_FEEDRATE Z_PROBE_SPEED_SLOW // (mm/m)
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
||||||
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
||||||
|
|
|
@ -490,6 +490,39 @@
|
||||||
#define JUNCTION_DEVIATION_MM 0.01 // (mm) Distance from real junction edge
|
#define JUNCTION_DEVIATION_MM 0.01 // (mm) Distance from real junction edge
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// Backlash Compensation
|
||||||
|
// Adds extra movement to axes on direction-changes to account for backlash.
|
||||||
|
//
|
||||||
|
//#define BACKLASH_COMPENSATION
|
||||||
|
#if ENABLED(BACKLASH_COMPENSATION)
|
||||||
|
// Define values for backlash distance and correction.
|
||||||
|
// If BACKLASH_GCODE is enabled these values are the defaults.
|
||||||
|
#define BACKLASH_DISTANCE_MM { 0, 0, 0 } // (mm)
|
||||||
|
#define BACKLASH_CORRECTION 0.0 // 0.0 = no correction; 1.0 = full correction
|
||||||
|
|
||||||
|
// Set BACKLASH_SMOOTHING_MM to spread backlash correction over multiple segments
|
||||||
|
// to reduce print artifacts. (Enabling this is costly in memory and computation!)
|
||||||
|
//#define BACKLASH_SMOOTHING_MM 3 // (mm)
|
||||||
|
|
||||||
|
// Add runtime configuration and tuning of backlash values (M425)
|
||||||
|
//#define BACKLASH_GCODE
|
||||||
|
|
||||||
|
#if ENABLED(BACKLASH_GCODE)
|
||||||
|
// Measure the Z backlash when probing (G29) and set with "M425 Z"
|
||||||
|
#define MEASURE_BACKLASH_WHEN_PROBING
|
||||||
|
|
||||||
|
#if ENABLED(MEASURE_BACKLASH_WHEN_PROBING)
|
||||||
|
// When measuring, the probe will move up to BACKLASH_MEASUREMENT_LIMIT
|
||||||
|
// mm away from point of contact in BACKLASH_MEASUREMENT_RESOLUTION
|
||||||
|
// increments while checking for the contact to be broken.
|
||||||
|
#define BACKLASH_MEASUREMENT_LIMIT 0.5 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_RESOLUTION 0.005 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_FEEDRATE Z_PROBE_SPEED_SLOW // (mm/m)
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
||||||
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
||||||
|
|
|
@ -490,6 +490,39 @@
|
||||||
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// Backlash Compensation
|
||||||
|
// Adds extra movement to axes on direction-changes to account for backlash.
|
||||||
|
//
|
||||||
|
//#define BACKLASH_COMPENSATION
|
||||||
|
#if ENABLED(BACKLASH_COMPENSATION)
|
||||||
|
// Define values for backlash distance and correction.
|
||||||
|
// If BACKLASH_GCODE is enabled these values are the defaults.
|
||||||
|
#define BACKLASH_DISTANCE_MM { 0, 0, 0 } // (mm)
|
||||||
|
#define BACKLASH_CORRECTION 0.0 // 0.0 = no correction; 1.0 = full correction
|
||||||
|
|
||||||
|
// Set BACKLASH_SMOOTHING_MM to spread backlash correction over multiple segments
|
||||||
|
// to reduce print artifacts. (Enabling this is costly in memory and computation!)
|
||||||
|
//#define BACKLASH_SMOOTHING_MM 3 // (mm)
|
||||||
|
|
||||||
|
// Add runtime configuration and tuning of backlash values (M425)
|
||||||
|
//#define BACKLASH_GCODE
|
||||||
|
|
||||||
|
#if ENABLED(BACKLASH_GCODE)
|
||||||
|
// Measure the Z backlash when probing (G29) and set with "M425 Z"
|
||||||
|
#define MEASURE_BACKLASH_WHEN_PROBING
|
||||||
|
|
||||||
|
#if ENABLED(MEASURE_BACKLASH_WHEN_PROBING)
|
||||||
|
// When measuring, the probe will move up to BACKLASH_MEASUREMENT_LIMIT
|
||||||
|
// mm away from point of contact in BACKLASH_MEASUREMENT_RESOLUTION
|
||||||
|
// increments while checking for the contact to be broken.
|
||||||
|
#define BACKLASH_MEASUREMENT_LIMIT 0.5 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_RESOLUTION 0.005 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_FEEDRATE Z_PROBE_SPEED_SLOW // (mm/m)
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
||||||
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
||||||
|
|
|
@ -490,6 +490,39 @@
|
||||||
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// Backlash Compensation
|
||||||
|
// Adds extra movement to axes on direction-changes to account for backlash.
|
||||||
|
//
|
||||||
|
//#define BACKLASH_COMPENSATION
|
||||||
|
#if ENABLED(BACKLASH_COMPENSATION)
|
||||||
|
// Define values for backlash distance and correction.
|
||||||
|
// If BACKLASH_GCODE is enabled these values are the defaults.
|
||||||
|
#define BACKLASH_DISTANCE_MM { 0, 0, 0 } // (mm)
|
||||||
|
#define BACKLASH_CORRECTION 0.0 // 0.0 = no correction; 1.0 = full correction
|
||||||
|
|
||||||
|
// Set BACKLASH_SMOOTHING_MM to spread backlash correction over multiple segments
|
||||||
|
// to reduce print artifacts. (Enabling this is costly in memory and computation!)
|
||||||
|
//#define BACKLASH_SMOOTHING_MM 3 // (mm)
|
||||||
|
|
||||||
|
// Add runtime configuration and tuning of backlash values (M425)
|
||||||
|
//#define BACKLASH_GCODE
|
||||||
|
|
||||||
|
#if ENABLED(BACKLASH_GCODE)
|
||||||
|
// Measure the Z backlash when probing (G29) and set with "M425 Z"
|
||||||
|
#define MEASURE_BACKLASH_WHEN_PROBING
|
||||||
|
|
||||||
|
#if ENABLED(MEASURE_BACKLASH_WHEN_PROBING)
|
||||||
|
// When measuring, the probe will move up to BACKLASH_MEASUREMENT_LIMIT
|
||||||
|
// mm away from point of contact in BACKLASH_MEASUREMENT_RESOLUTION
|
||||||
|
// increments while checking for the contact to be broken.
|
||||||
|
#define BACKLASH_MEASUREMENT_LIMIT 0.5 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_RESOLUTION 0.005 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_FEEDRATE Z_PROBE_SPEED_SLOW // (mm/m)
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
||||||
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
||||||
|
|
|
@ -490,6 +490,39 @@
|
||||||
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// Backlash Compensation
|
||||||
|
// Adds extra movement to axes on direction-changes to account for backlash.
|
||||||
|
//
|
||||||
|
//#define BACKLASH_COMPENSATION
|
||||||
|
#if ENABLED(BACKLASH_COMPENSATION)
|
||||||
|
// Define values for backlash distance and correction.
|
||||||
|
// If BACKLASH_GCODE is enabled these values are the defaults.
|
||||||
|
#define BACKLASH_DISTANCE_MM { 0, 0, 0 } // (mm)
|
||||||
|
#define BACKLASH_CORRECTION 0.0 // 0.0 = no correction; 1.0 = full correction
|
||||||
|
|
||||||
|
// Set BACKLASH_SMOOTHING_MM to spread backlash correction over multiple segments
|
||||||
|
// to reduce print artifacts. (Enabling this is costly in memory and computation!)
|
||||||
|
//#define BACKLASH_SMOOTHING_MM 3 // (mm)
|
||||||
|
|
||||||
|
// Add runtime configuration and tuning of backlash values (M425)
|
||||||
|
//#define BACKLASH_GCODE
|
||||||
|
|
||||||
|
#if ENABLED(BACKLASH_GCODE)
|
||||||
|
// Measure the Z backlash when probing (G29) and set with "M425 Z"
|
||||||
|
#define MEASURE_BACKLASH_WHEN_PROBING
|
||||||
|
|
||||||
|
#if ENABLED(MEASURE_BACKLASH_WHEN_PROBING)
|
||||||
|
// When measuring, the probe will move up to BACKLASH_MEASUREMENT_LIMIT
|
||||||
|
// mm away from point of contact in BACKLASH_MEASUREMENT_RESOLUTION
|
||||||
|
// increments while checking for the contact to be broken.
|
||||||
|
#define BACKLASH_MEASUREMENT_LIMIT 0.5 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_RESOLUTION 0.005 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_FEEDRATE Z_PROBE_SPEED_SLOW // (mm/m)
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
||||||
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
||||||
|
|
|
@ -490,6 +490,39 @@
|
||||||
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// Backlash Compensation
|
||||||
|
// Adds extra movement to axes on direction-changes to account for backlash.
|
||||||
|
//
|
||||||
|
//#define BACKLASH_COMPENSATION
|
||||||
|
#if ENABLED(BACKLASH_COMPENSATION)
|
||||||
|
// Define values for backlash distance and correction.
|
||||||
|
// If BACKLASH_GCODE is enabled these values are the defaults.
|
||||||
|
#define BACKLASH_DISTANCE_MM { 0, 0, 0 } // (mm)
|
||||||
|
#define BACKLASH_CORRECTION 0.0 // 0.0 = no correction; 1.0 = full correction
|
||||||
|
|
||||||
|
// Set BACKLASH_SMOOTHING_MM to spread backlash correction over multiple segments
|
||||||
|
// to reduce print artifacts. (Enabling this is costly in memory and computation!)
|
||||||
|
//#define BACKLASH_SMOOTHING_MM 3 // (mm)
|
||||||
|
|
||||||
|
// Add runtime configuration and tuning of backlash values (M425)
|
||||||
|
//#define BACKLASH_GCODE
|
||||||
|
|
||||||
|
#if ENABLED(BACKLASH_GCODE)
|
||||||
|
// Measure the Z backlash when probing (G29) and set with "M425 Z"
|
||||||
|
#define MEASURE_BACKLASH_WHEN_PROBING
|
||||||
|
|
||||||
|
#if ENABLED(MEASURE_BACKLASH_WHEN_PROBING)
|
||||||
|
// When measuring, the probe will move up to BACKLASH_MEASUREMENT_LIMIT
|
||||||
|
// mm away from point of contact in BACKLASH_MEASUREMENT_RESOLUTION
|
||||||
|
// increments while checking for the contact to be broken.
|
||||||
|
#define BACKLASH_MEASUREMENT_LIMIT 0.5 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_RESOLUTION 0.005 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_FEEDRATE Z_PROBE_SPEED_SLOW // (mm/m)
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
||||||
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
||||||
|
|
|
@ -490,6 +490,39 @@
|
||||||
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// Backlash Compensation
|
||||||
|
// Adds extra movement to axes on direction-changes to account for backlash.
|
||||||
|
//
|
||||||
|
//#define BACKLASH_COMPENSATION
|
||||||
|
#if ENABLED(BACKLASH_COMPENSATION)
|
||||||
|
// Define values for backlash distance and correction.
|
||||||
|
// If BACKLASH_GCODE is enabled these values are the defaults.
|
||||||
|
#define BACKLASH_DISTANCE_MM { 0, 0, 0 } // (mm)
|
||||||
|
#define BACKLASH_CORRECTION 0.0 // 0.0 = no correction; 1.0 = full correction
|
||||||
|
|
||||||
|
// Set BACKLASH_SMOOTHING_MM to spread backlash correction over multiple segments
|
||||||
|
// to reduce print artifacts. (Enabling this is costly in memory and computation!)
|
||||||
|
//#define BACKLASH_SMOOTHING_MM 3 // (mm)
|
||||||
|
|
||||||
|
// Add runtime configuration and tuning of backlash values (M425)
|
||||||
|
//#define BACKLASH_GCODE
|
||||||
|
|
||||||
|
#if ENABLED(BACKLASH_GCODE)
|
||||||
|
// Measure the Z backlash when probing (G29) and set with "M425 Z"
|
||||||
|
#define MEASURE_BACKLASH_WHEN_PROBING
|
||||||
|
|
||||||
|
#if ENABLED(MEASURE_BACKLASH_WHEN_PROBING)
|
||||||
|
// When measuring, the probe will move up to BACKLASH_MEASUREMENT_LIMIT
|
||||||
|
// mm away from point of contact in BACKLASH_MEASUREMENT_RESOLUTION
|
||||||
|
// increments while checking for the contact to be broken.
|
||||||
|
#define BACKLASH_MEASUREMENT_LIMIT 0.5 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_RESOLUTION 0.005 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_FEEDRATE Z_PROBE_SPEED_SLOW // (mm/m)
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
||||||
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
||||||
|
|
|
@ -490,6 +490,39 @@
|
||||||
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// Backlash Compensation
|
||||||
|
// Adds extra movement to axes on direction-changes to account for backlash.
|
||||||
|
//
|
||||||
|
//#define BACKLASH_COMPENSATION
|
||||||
|
#if ENABLED(BACKLASH_COMPENSATION)
|
||||||
|
// Define values for backlash distance and correction.
|
||||||
|
// If BACKLASH_GCODE is enabled these values are the defaults.
|
||||||
|
#define BACKLASH_DISTANCE_MM { 0, 0, 0 } // (mm)
|
||||||
|
#define BACKLASH_CORRECTION 0.0 // 0.0 = no correction; 1.0 = full correction
|
||||||
|
|
||||||
|
// Set BACKLASH_SMOOTHING_MM to spread backlash correction over multiple segments
|
||||||
|
// to reduce print artifacts. (Enabling this is costly in memory and computation!)
|
||||||
|
//#define BACKLASH_SMOOTHING_MM 3 // (mm)
|
||||||
|
|
||||||
|
// Add runtime configuration and tuning of backlash values (M425)
|
||||||
|
//#define BACKLASH_GCODE
|
||||||
|
|
||||||
|
#if ENABLED(BACKLASH_GCODE)
|
||||||
|
// Measure the Z backlash when probing (G29) and set with "M425 Z"
|
||||||
|
#define MEASURE_BACKLASH_WHEN_PROBING
|
||||||
|
|
||||||
|
#if ENABLED(MEASURE_BACKLASH_WHEN_PROBING)
|
||||||
|
// When measuring, the probe will move up to BACKLASH_MEASUREMENT_LIMIT
|
||||||
|
// mm away from point of contact in BACKLASH_MEASUREMENT_RESOLUTION
|
||||||
|
// increments while checking for the contact to be broken.
|
||||||
|
#define BACKLASH_MEASUREMENT_LIMIT 0.5 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_RESOLUTION 0.005 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_FEEDRATE Z_PROBE_SPEED_SLOW // (mm/m)
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
||||||
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
||||||
|
|
|
@ -490,6 +490,39 @@
|
||||||
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// Backlash Compensation
|
||||||
|
// Adds extra movement to axes on direction-changes to account for backlash.
|
||||||
|
//
|
||||||
|
//#define BACKLASH_COMPENSATION
|
||||||
|
#if ENABLED(BACKLASH_COMPENSATION)
|
||||||
|
// Define values for backlash distance and correction.
|
||||||
|
// If BACKLASH_GCODE is enabled these values are the defaults.
|
||||||
|
#define BACKLASH_DISTANCE_MM { 0, 0, 0 } // (mm)
|
||||||
|
#define BACKLASH_CORRECTION 0.0 // 0.0 = no correction; 1.0 = full correction
|
||||||
|
|
||||||
|
// Set BACKLASH_SMOOTHING_MM to spread backlash correction over multiple segments
|
||||||
|
// to reduce print artifacts. (Enabling this is costly in memory and computation!)
|
||||||
|
//#define BACKLASH_SMOOTHING_MM 3 // (mm)
|
||||||
|
|
||||||
|
// Add runtime configuration and tuning of backlash values (M425)
|
||||||
|
//#define BACKLASH_GCODE
|
||||||
|
|
||||||
|
#if ENABLED(BACKLASH_GCODE)
|
||||||
|
// Measure the Z backlash when probing (G29) and set with "M425 Z"
|
||||||
|
#define MEASURE_BACKLASH_WHEN_PROBING
|
||||||
|
|
||||||
|
#if ENABLED(MEASURE_BACKLASH_WHEN_PROBING)
|
||||||
|
// When measuring, the probe will move up to BACKLASH_MEASUREMENT_LIMIT
|
||||||
|
// mm away from point of contact in BACKLASH_MEASUREMENT_RESOLUTION
|
||||||
|
// increments while checking for the contact to be broken.
|
||||||
|
#define BACKLASH_MEASUREMENT_LIMIT 0.5 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_RESOLUTION 0.005 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_FEEDRATE Z_PROBE_SPEED_SLOW // (mm/m)
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
||||||
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
||||||
|
|
|
@ -490,6 +490,39 @@
|
||||||
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// Backlash Compensation
|
||||||
|
// Adds extra movement to axes on direction-changes to account for backlash.
|
||||||
|
//
|
||||||
|
//#define BACKLASH_COMPENSATION
|
||||||
|
#if ENABLED(BACKLASH_COMPENSATION)
|
||||||
|
// Define values for backlash distance and correction.
|
||||||
|
// If BACKLASH_GCODE is enabled these values are the defaults.
|
||||||
|
#define BACKLASH_DISTANCE_MM { 0, 0, 0 } // (mm)
|
||||||
|
#define BACKLASH_CORRECTION 0.0 // 0.0 = no correction; 1.0 = full correction
|
||||||
|
|
||||||
|
// Set BACKLASH_SMOOTHING_MM to spread backlash correction over multiple segments
|
||||||
|
// to reduce print artifacts. (Enabling this is costly in memory and computation!)
|
||||||
|
//#define BACKLASH_SMOOTHING_MM 3 // (mm)
|
||||||
|
|
||||||
|
// Add runtime configuration and tuning of backlash values (M425)
|
||||||
|
//#define BACKLASH_GCODE
|
||||||
|
|
||||||
|
#if ENABLED(BACKLASH_GCODE)
|
||||||
|
// Measure the Z backlash when probing (G29) and set with "M425 Z"
|
||||||
|
#define MEASURE_BACKLASH_WHEN_PROBING
|
||||||
|
|
||||||
|
#if ENABLED(MEASURE_BACKLASH_WHEN_PROBING)
|
||||||
|
// When measuring, the probe will move up to BACKLASH_MEASUREMENT_LIMIT
|
||||||
|
// mm away from point of contact in BACKLASH_MEASUREMENT_RESOLUTION
|
||||||
|
// increments while checking for the contact to be broken.
|
||||||
|
#define BACKLASH_MEASUREMENT_LIMIT 0.5 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_RESOLUTION 0.005 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_FEEDRATE Z_PROBE_SPEED_SLOW // (mm/m)
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
||||||
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
||||||
|
|
|
@ -490,6 +490,39 @@
|
||||||
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// Backlash Compensation
|
||||||
|
// Adds extra movement to axes on direction-changes to account for backlash.
|
||||||
|
//
|
||||||
|
//#define BACKLASH_COMPENSATION
|
||||||
|
#if ENABLED(BACKLASH_COMPENSATION)
|
||||||
|
// Define values for backlash distance and correction.
|
||||||
|
// If BACKLASH_GCODE is enabled these values are the defaults.
|
||||||
|
#define BACKLASH_DISTANCE_MM { 0, 0, 0 } // (mm)
|
||||||
|
#define BACKLASH_CORRECTION 0.0 // 0.0 = no correction; 1.0 = full correction
|
||||||
|
|
||||||
|
// Set BACKLASH_SMOOTHING_MM to spread backlash correction over multiple segments
|
||||||
|
// to reduce print artifacts. (Enabling this is costly in memory and computation!)
|
||||||
|
//#define BACKLASH_SMOOTHING_MM 3 // (mm)
|
||||||
|
|
||||||
|
// Add runtime configuration and tuning of backlash values (M425)
|
||||||
|
//#define BACKLASH_GCODE
|
||||||
|
|
||||||
|
#if ENABLED(BACKLASH_GCODE)
|
||||||
|
// Measure the Z backlash when probing (G29) and set with "M425 Z"
|
||||||
|
#define MEASURE_BACKLASH_WHEN_PROBING
|
||||||
|
|
||||||
|
#if ENABLED(MEASURE_BACKLASH_WHEN_PROBING)
|
||||||
|
// When measuring, the probe will move up to BACKLASH_MEASUREMENT_LIMIT
|
||||||
|
// mm away from point of contact in BACKLASH_MEASUREMENT_RESOLUTION
|
||||||
|
// increments while checking for the contact to be broken.
|
||||||
|
#define BACKLASH_MEASUREMENT_LIMIT 0.5 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_RESOLUTION 0.005 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_FEEDRATE Z_PROBE_SPEED_SLOW // (mm/m)
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
||||||
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
||||||
|
|
|
@ -490,6 +490,39 @@
|
||||||
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// Backlash Compensation
|
||||||
|
// Adds extra movement to axes on direction-changes to account for backlash.
|
||||||
|
//
|
||||||
|
//#define BACKLASH_COMPENSATION
|
||||||
|
#if ENABLED(BACKLASH_COMPENSATION)
|
||||||
|
// Define values for backlash distance and correction.
|
||||||
|
// If BACKLASH_GCODE is enabled these values are the defaults.
|
||||||
|
#define BACKLASH_DISTANCE_MM { 0, 0, 0 } // (mm)
|
||||||
|
#define BACKLASH_CORRECTION 0.0 // 0.0 = no correction; 1.0 = full correction
|
||||||
|
|
||||||
|
// Set BACKLASH_SMOOTHING_MM to spread backlash correction over multiple segments
|
||||||
|
// to reduce print artifacts. (Enabling this is costly in memory and computation!)
|
||||||
|
//#define BACKLASH_SMOOTHING_MM 3 // (mm)
|
||||||
|
|
||||||
|
// Add runtime configuration and tuning of backlash values (M425)
|
||||||
|
//#define BACKLASH_GCODE
|
||||||
|
|
||||||
|
#if ENABLED(BACKLASH_GCODE)
|
||||||
|
// Measure the Z backlash when probing (G29) and set with "M425 Z"
|
||||||
|
#define MEASURE_BACKLASH_WHEN_PROBING
|
||||||
|
|
||||||
|
#if ENABLED(MEASURE_BACKLASH_WHEN_PROBING)
|
||||||
|
// When measuring, the probe will move up to BACKLASH_MEASUREMENT_LIMIT
|
||||||
|
// mm away from point of contact in BACKLASH_MEASUREMENT_RESOLUTION
|
||||||
|
// increments while checking for the contact to be broken.
|
||||||
|
#define BACKLASH_MEASUREMENT_LIMIT 0.5 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_RESOLUTION 0.005 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_FEEDRATE Z_PROBE_SPEED_SLOW // (mm/m)
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
||||||
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
||||||
|
|
|
@ -490,6 +490,39 @@
|
||||||
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// Backlash Compensation
|
||||||
|
// Adds extra movement to axes on direction-changes to account for backlash.
|
||||||
|
//
|
||||||
|
//#define BACKLASH_COMPENSATION
|
||||||
|
#if ENABLED(BACKLASH_COMPENSATION)
|
||||||
|
// Define values for backlash distance and correction.
|
||||||
|
// If BACKLASH_GCODE is enabled these values are the defaults.
|
||||||
|
#define BACKLASH_DISTANCE_MM { 0, 0, 0 } // (mm)
|
||||||
|
#define BACKLASH_CORRECTION 0.0 // 0.0 = no correction; 1.0 = full correction
|
||||||
|
|
||||||
|
// Set BACKLASH_SMOOTHING_MM to spread backlash correction over multiple segments
|
||||||
|
// to reduce print artifacts. (Enabling this is costly in memory and computation!)
|
||||||
|
//#define BACKLASH_SMOOTHING_MM 3 // (mm)
|
||||||
|
|
||||||
|
// Add runtime configuration and tuning of backlash values (M425)
|
||||||
|
//#define BACKLASH_GCODE
|
||||||
|
|
||||||
|
#if ENABLED(BACKLASH_GCODE)
|
||||||
|
// Measure the Z backlash when probing (G29) and set with "M425 Z"
|
||||||
|
#define MEASURE_BACKLASH_WHEN_PROBING
|
||||||
|
|
||||||
|
#if ENABLED(MEASURE_BACKLASH_WHEN_PROBING)
|
||||||
|
// When measuring, the probe will move up to BACKLASH_MEASUREMENT_LIMIT
|
||||||
|
// mm away from point of contact in BACKLASH_MEASUREMENT_RESOLUTION
|
||||||
|
// increments while checking for the contact to be broken.
|
||||||
|
#define BACKLASH_MEASUREMENT_LIMIT 0.5 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_RESOLUTION 0.005 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_FEEDRATE Z_PROBE_SPEED_SLOW // (mm/m)
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
||||||
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
||||||
|
|
|
@ -490,6 +490,39 @@
|
||||||
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// Backlash Compensation
|
||||||
|
// Adds extra movement to axes on direction-changes to account for backlash.
|
||||||
|
//
|
||||||
|
//#define BACKLASH_COMPENSATION
|
||||||
|
#if ENABLED(BACKLASH_COMPENSATION)
|
||||||
|
// Define values for backlash distance and correction.
|
||||||
|
// If BACKLASH_GCODE is enabled these values are the defaults.
|
||||||
|
#define BACKLASH_DISTANCE_MM { 0, 0, 0 } // (mm)
|
||||||
|
#define BACKLASH_CORRECTION 0.0 // 0.0 = no correction; 1.0 = full correction
|
||||||
|
|
||||||
|
// Set BACKLASH_SMOOTHING_MM to spread backlash correction over multiple segments
|
||||||
|
// to reduce print artifacts. (Enabling this is costly in memory and computation!)
|
||||||
|
//#define BACKLASH_SMOOTHING_MM 3 // (mm)
|
||||||
|
|
||||||
|
// Add runtime configuration and tuning of backlash values (M425)
|
||||||
|
//#define BACKLASH_GCODE
|
||||||
|
|
||||||
|
#if ENABLED(BACKLASH_GCODE)
|
||||||
|
// Measure the Z backlash when probing (G29) and set with "M425 Z"
|
||||||
|
#define MEASURE_BACKLASH_WHEN_PROBING
|
||||||
|
|
||||||
|
#if ENABLED(MEASURE_BACKLASH_WHEN_PROBING)
|
||||||
|
// When measuring, the probe will move up to BACKLASH_MEASUREMENT_LIMIT
|
||||||
|
// mm away from point of contact in BACKLASH_MEASUREMENT_RESOLUTION
|
||||||
|
// increments while checking for the contact to be broken.
|
||||||
|
#define BACKLASH_MEASUREMENT_LIMIT 0.5 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_RESOLUTION 0.005 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_FEEDRATE Z_PROBE_SPEED_SLOW // (mm/m)
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
||||||
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
||||||
|
|
|
@ -490,6 +490,39 @@
|
||||||
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// Backlash Compensation
|
||||||
|
// Adds extra movement to axes on direction-changes to account for backlash.
|
||||||
|
//
|
||||||
|
//#define BACKLASH_COMPENSATION
|
||||||
|
#if ENABLED(BACKLASH_COMPENSATION)
|
||||||
|
// Define values for backlash distance and correction.
|
||||||
|
// If BACKLASH_GCODE is enabled these values are the defaults.
|
||||||
|
#define BACKLASH_DISTANCE_MM { 0, 0, 0 } // (mm)
|
||||||
|
#define BACKLASH_CORRECTION 0.0 // 0.0 = no correction; 1.0 = full correction
|
||||||
|
|
||||||
|
// Set BACKLASH_SMOOTHING_MM to spread backlash correction over multiple segments
|
||||||
|
// to reduce print artifacts. (Enabling this is costly in memory and computation!)
|
||||||
|
//#define BACKLASH_SMOOTHING_MM 3 // (mm)
|
||||||
|
|
||||||
|
// Add runtime configuration and tuning of backlash values (M425)
|
||||||
|
//#define BACKLASH_GCODE
|
||||||
|
|
||||||
|
#if ENABLED(BACKLASH_GCODE)
|
||||||
|
// Measure the Z backlash when probing (G29) and set with "M425 Z"
|
||||||
|
#define MEASURE_BACKLASH_WHEN_PROBING
|
||||||
|
|
||||||
|
#if ENABLED(MEASURE_BACKLASH_WHEN_PROBING)
|
||||||
|
// When measuring, the probe will move up to BACKLASH_MEASUREMENT_LIMIT
|
||||||
|
// mm away from point of contact in BACKLASH_MEASUREMENT_RESOLUTION
|
||||||
|
// increments while checking for the contact to be broken.
|
||||||
|
#define BACKLASH_MEASUREMENT_LIMIT 0.5 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_RESOLUTION 0.005 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_FEEDRATE Z_PROBE_SPEED_SLOW // (mm/m)
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
||||||
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
||||||
|
|
|
@ -490,6 +490,39 @@
|
||||||
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// Backlash Compensation
|
||||||
|
// Adds extra movement to axes on direction-changes to account for backlash.
|
||||||
|
//
|
||||||
|
//#define BACKLASH_COMPENSATION
|
||||||
|
#if ENABLED(BACKLASH_COMPENSATION)
|
||||||
|
// Define values for backlash distance and correction.
|
||||||
|
// If BACKLASH_GCODE is enabled these values are the defaults.
|
||||||
|
#define BACKLASH_DISTANCE_MM { 0, 0, 0 } // (mm)
|
||||||
|
#define BACKLASH_CORRECTION 0.0 // 0.0 = no correction; 1.0 = full correction
|
||||||
|
|
||||||
|
// Set BACKLASH_SMOOTHING_MM to spread backlash correction over multiple segments
|
||||||
|
// to reduce print artifacts. (Enabling this is costly in memory and computation!)
|
||||||
|
//#define BACKLASH_SMOOTHING_MM 3 // (mm)
|
||||||
|
|
||||||
|
// Add runtime configuration and tuning of backlash values (M425)
|
||||||
|
//#define BACKLASH_GCODE
|
||||||
|
|
||||||
|
#if ENABLED(BACKLASH_GCODE)
|
||||||
|
// Measure the Z backlash when probing (G29) and set with "M425 Z"
|
||||||
|
#define MEASURE_BACKLASH_WHEN_PROBING
|
||||||
|
|
||||||
|
#if ENABLED(MEASURE_BACKLASH_WHEN_PROBING)
|
||||||
|
// When measuring, the probe will move up to BACKLASH_MEASUREMENT_LIMIT
|
||||||
|
// mm away from point of contact in BACKLASH_MEASUREMENT_RESOLUTION
|
||||||
|
// increments while checking for the contact to be broken.
|
||||||
|
#define BACKLASH_MEASUREMENT_LIMIT 0.5 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_RESOLUTION 0.005 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_FEEDRATE Z_PROBE_SPEED_SLOW // (mm/m)
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
||||||
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
||||||
|
|
|
@ -490,6 +490,39 @@
|
||||||
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// Backlash Compensation
|
||||||
|
// Adds extra movement to axes on direction-changes to account for backlash.
|
||||||
|
//
|
||||||
|
//#define BACKLASH_COMPENSATION
|
||||||
|
#if ENABLED(BACKLASH_COMPENSATION)
|
||||||
|
// Define values for backlash distance and correction.
|
||||||
|
// If BACKLASH_GCODE is enabled these values are the defaults.
|
||||||
|
#define BACKLASH_DISTANCE_MM { 0, 0, 0 } // (mm)
|
||||||
|
#define BACKLASH_CORRECTION 0.0 // 0.0 = no correction; 1.0 = full correction
|
||||||
|
|
||||||
|
// Set BACKLASH_SMOOTHING_MM to spread backlash correction over multiple segments
|
||||||
|
// to reduce print artifacts. (Enabling this is costly in memory and computation!)
|
||||||
|
//#define BACKLASH_SMOOTHING_MM 3 // (mm)
|
||||||
|
|
||||||
|
// Add runtime configuration and tuning of backlash values (M425)
|
||||||
|
//#define BACKLASH_GCODE
|
||||||
|
|
||||||
|
#if ENABLED(BACKLASH_GCODE)
|
||||||
|
// Measure the Z backlash when probing (G29) and set with "M425 Z"
|
||||||
|
#define MEASURE_BACKLASH_WHEN_PROBING
|
||||||
|
|
||||||
|
#if ENABLED(MEASURE_BACKLASH_WHEN_PROBING)
|
||||||
|
// When measuring, the probe will move up to BACKLASH_MEASUREMENT_LIMIT
|
||||||
|
// mm away from point of contact in BACKLASH_MEASUREMENT_RESOLUTION
|
||||||
|
// increments while checking for the contact to be broken.
|
||||||
|
#define BACKLASH_MEASUREMENT_LIMIT 0.5 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_RESOLUTION 0.005 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_FEEDRATE Z_PROBE_SPEED_SLOW // (mm/m)
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
||||||
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
||||||
|
|
|
@ -490,6 +490,39 @@
|
||||||
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// Backlash Compensation
|
||||||
|
// Adds extra movement to axes on direction-changes to account for backlash.
|
||||||
|
//
|
||||||
|
//#define BACKLASH_COMPENSATION
|
||||||
|
#if ENABLED(BACKLASH_COMPENSATION)
|
||||||
|
// Define values for backlash distance and correction.
|
||||||
|
// If BACKLASH_GCODE is enabled these values are the defaults.
|
||||||
|
#define BACKLASH_DISTANCE_MM { 0, 0, 0 } // (mm)
|
||||||
|
#define BACKLASH_CORRECTION 0.0 // 0.0 = no correction; 1.0 = full correction
|
||||||
|
|
||||||
|
// Set BACKLASH_SMOOTHING_MM to spread backlash correction over multiple segments
|
||||||
|
// to reduce print artifacts. (Enabling this is costly in memory and computation!)
|
||||||
|
//#define BACKLASH_SMOOTHING_MM 3 // (mm)
|
||||||
|
|
||||||
|
// Add runtime configuration and tuning of backlash values (M425)
|
||||||
|
//#define BACKLASH_GCODE
|
||||||
|
|
||||||
|
#if ENABLED(BACKLASH_GCODE)
|
||||||
|
// Measure the Z backlash when probing (G29) and set with "M425 Z"
|
||||||
|
#define MEASURE_BACKLASH_WHEN_PROBING
|
||||||
|
|
||||||
|
#if ENABLED(MEASURE_BACKLASH_WHEN_PROBING)
|
||||||
|
// When measuring, the probe will move up to BACKLASH_MEASUREMENT_LIMIT
|
||||||
|
// mm away from point of contact in BACKLASH_MEASUREMENT_RESOLUTION
|
||||||
|
// increments while checking for the contact to be broken.
|
||||||
|
#define BACKLASH_MEASUREMENT_LIMIT 0.5 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_RESOLUTION 0.005 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_FEEDRATE Z_PROBE_SPEED_SLOW // (mm/m)
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
||||||
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
||||||
|
|
|
@ -490,6 +490,39 @@
|
||||||
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// Backlash Compensation
|
||||||
|
// Adds extra movement to axes on direction-changes to account for backlash.
|
||||||
|
//
|
||||||
|
//#define BACKLASH_COMPENSATION
|
||||||
|
#if ENABLED(BACKLASH_COMPENSATION)
|
||||||
|
// Define values for backlash distance and correction.
|
||||||
|
// If BACKLASH_GCODE is enabled these values are the defaults.
|
||||||
|
#define BACKLASH_DISTANCE_MM { 0, 0, 0 } // (mm)
|
||||||
|
#define BACKLASH_CORRECTION 0.0 // 0.0 = no correction; 1.0 = full correction
|
||||||
|
|
||||||
|
// Set BACKLASH_SMOOTHING_MM to spread backlash correction over multiple segments
|
||||||
|
// to reduce print artifacts. (Enabling this is costly in memory and computation!)
|
||||||
|
//#define BACKLASH_SMOOTHING_MM 3 // (mm)
|
||||||
|
|
||||||
|
// Add runtime configuration and tuning of backlash values (M425)
|
||||||
|
//#define BACKLASH_GCODE
|
||||||
|
|
||||||
|
#if ENABLED(BACKLASH_GCODE)
|
||||||
|
// Measure the Z backlash when probing (G29) and set with "M425 Z"
|
||||||
|
#define MEASURE_BACKLASH_WHEN_PROBING
|
||||||
|
|
||||||
|
#if ENABLED(MEASURE_BACKLASH_WHEN_PROBING)
|
||||||
|
// When measuring, the probe will move up to BACKLASH_MEASUREMENT_LIMIT
|
||||||
|
// mm away from point of contact in BACKLASH_MEASUREMENT_RESOLUTION
|
||||||
|
// increments while checking for the contact to be broken.
|
||||||
|
#define BACKLASH_MEASUREMENT_LIMIT 0.5 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_RESOLUTION 0.005 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_FEEDRATE Z_PROBE_SPEED_SLOW // (mm/m)
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
||||||
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
||||||
|
|
|
@ -503,6 +503,39 @@
|
||||||
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// Backlash Compensation
|
||||||
|
// Adds extra movement to axes on direction-changes to account for backlash.
|
||||||
|
//
|
||||||
|
//#define BACKLASH_COMPENSATION
|
||||||
|
#if ENABLED(BACKLASH_COMPENSATION)
|
||||||
|
// Define values for backlash distance and correction.
|
||||||
|
// If BACKLASH_GCODE is enabled these values are the defaults.
|
||||||
|
#define BACKLASH_DISTANCE_MM { 0, 0, 0 } // (mm)
|
||||||
|
#define BACKLASH_CORRECTION 0.0 // 0.0 = no correction; 1.0 = full correction
|
||||||
|
|
||||||
|
// Set BACKLASH_SMOOTHING_MM to spread backlash correction over multiple segments
|
||||||
|
// to reduce print artifacts. (Enabling this is costly in memory and computation!)
|
||||||
|
//#define BACKLASH_SMOOTHING_MM 3 // (mm)
|
||||||
|
|
||||||
|
// Add runtime configuration and tuning of backlash values (M425)
|
||||||
|
//#define BACKLASH_GCODE
|
||||||
|
|
||||||
|
#if ENABLED(BACKLASH_GCODE)
|
||||||
|
// Measure the Z backlash when probing (G29) and set with "M425 Z"
|
||||||
|
#define MEASURE_BACKLASH_WHEN_PROBING
|
||||||
|
|
||||||
|
#if ENABLED(MEASURE_BACKLASH_WHEN_PROBING)
|
||||||
|
// When measuring, the probe will move up to BACKLASH_MEASUREMENT_LIMIT
|
||||||
|
// mm away from point of contact in BACKLASH_MEASUREMENT_RESOLUTION
|
||||||
|
// increments while checking for the contact to be broken.
|
||||||
|
#define BACKLASH_MEASUREMENT_LIMIT 0.5 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_RESOLUTION 0.005 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_FEEDRATE Z_PROBE_SPEED_SLOW // (mm/m)
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
||||||
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
||||||
|
|
|
@ -490,6 +490,39 @@
|
||||||
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// Backlash Compensation
|
||||||
|
// Adds extra movement to axes on direction-changes to account for backlash.
|
||||||
|
//
|
||||||
|
//#define BACKLASH_COMPENSATION
|
||||||
|
#if ENABLED(BACKLASH_COMPENSATION)
|
||||||
|
// Define values for backlash distance and correction.
|
||||||
|
// If BACKLASH_GCODE is enabled these values are the defaults.
|
||||||
|
#define BACKLASH_DISTANCE_MM { 0, 0, 0 } // (mm)
|
||||||
|
#define BACKLASH_CORRECTION 0.0 // 0.0 = no correction; 1.0 = full correction
|
||||||
|
|
||||||
|
// Set BACKLASH_SMOOTHING_MM to spread backlash correction over multiple segments
|
||||||
|
// to reduce print artifacts. (Enabling this is costly in memory and computation!)
|
||||||
|
//#define BACKLASH_SMOOTHING_MM 3 // (mm)
|
||||||
|
|
||||||
|
// Add runtime configuration and tuning of backlash values (M425)
|
||||||
|
//#define BACKLASH_GCODE
|
||||||
|
|
||||||
|
#if ENABLED(BACKLASH_GCODE)
|
||||||
|
// Measure the Z backlash when probing (G29) and set with "M425 Z"
|
||||||
|
#define MEASURE_BACKLASH_WHEN_PROBING
|
||||||
|
|
||||||
|
#if ENABLED(MEASURE_BACKLASH_WHEN_PROBING)
|
||||||
|
// When measuring, the probe will move up to BACKLASH_MEASUREMENT_LIMIT
|
||||||
|
// mm away from point of contact in BACKLASH_MEASUREMENT_RESOLUTION
|
||||||
|
// increments while checking for the contact to be broken.
|
||||||
|
#define BACKLASH_MEASUREMENT_LIMIT 0.5 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_RESOLUTION 0.005 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_FEEDRATE Z_PROBE_SPEED_SLOW // (mm/m)
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
||||||
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
||||||
|
|
|
@ -490,6 +490,39 @@
|
||||||
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// Backlash Compensation
|
||||||
|
// Adds extra movement to axes on direction-changes to account for backlash.
|
||||||
|
//
|
||||||
|
//#define BACKLASH_COMPENSATION
|
||||||
|
#if ENABLED(BACKLASH_COMPENSATION)
|
||||||
|
// Define values for backlash distance and correction.
|
||||||
|
// If BACKLASH_GCODE is enabled these values are the defaults.
|
||||||
|
#define BACKLASH_DISTANCE_MM { 0, 0, 0 } // (mm)
|
||||||
|
#define BACKLASH_CORRECTION 0.0 // 0.0 = no correction; 1.0 = full correction
|
||||||
|
|
||||||
|
// Set BACKLASH_SMOOTHING_MM to spread backlash correction over multiple segments
|
||||||
|
// to reduce print artifacts. (Enabling this is costly in memory and computation!)
|
||||||
|
//#define BACKLASH_SMOOTHING_MM 3 // (mm)
|
||||||
|
|
||||||
|
// Add runtime configuration and tuning of backlash values (M425)
|
||||||
|
//#define BACKLASH_GCODE
|
||||||
|
|
||||||
|
#if ENABLED(BACKLASH_GCODE)
|
||||||
|
// Measure the Z backlash when probing (G29) and set with "M425 Z"
|
||||||
|
#define MEASURE_BACKLASH_WHEN_PROBING
|
||||||
|
|
||||||
|
#if ENABLED(MEASURE_BACKLASH_WHEN_PROBING)
|
||||||
|
// When measuring, the probe will move up to BACKLASH_MEASUREMENT_LIMIT
|
||||||
|
// mm away from point of contact in BACKLASH_MEASUREMENT_RESOLUTION
|
||||||
|
// increments while checking for the contact to be broken.
|
||||||
|
#define BACKLASH_MEASUREMENT_LIMIT 0.5 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_RESOLUTION 0.005 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_FEEDRATE Z_PROBE_SPEED_SLOW // (mm/m)
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
||||||
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
||||||
|
|
|
@ -492,6 +492,39 @@
|
||||||
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// Backlash Compensation
|
||||||
|
// Adds extra movement to axes on direction-changes to account for backlash.
|
||||||
|
//
|
||||||
|
//#define BACKLASH_COMPENSATION
|
||||||
|
#if ENABLED(BACKLASH_COMPENSATION)
|
||||||
|
// Define values for backlash distance and correction.
|
||||||
|
// If BACKLASH_GCODE is enabled these values are the defaults.
|
||||||
|
#define BACKLASH_DISTANCE_MM { 0, 0, 0 } // (mm)
|
||||||
|
#define BACKLASH_CORRECTION 0.0 // 0.0 = no correction; 1.0 = full correction
|
||||||
|
|
||||||
|
// Set BACKLASH_SMOOTHING_MM to spread backlash correction over multiple segments
|
||||||
|
// to reduce print artifacts. (Enabling this is costly in memory and computation!)
|
||||||
|
//#define BACKLASH_SMOOTHING_MM 3 // (mm)
|
||||||
|
|
||||||
|
// Add runtime configuration and tuning of backlash values (M425)
|
||||||
|
//#define BACKLASH_GCODE
|
||||||
|
|
||||||
|
#if ENABLED(BACKLASH_GCODE)
|
||||||
|
// Measure the Z backlash when probing (G29) and set with "M425 Z"
|
||||||
|
#define MEASURE_BACKLASH_WHEN_PROBING
|
||||||
|
|
||||||
|
#if ENABLED(MEASURE_BACKLASH_WHEN_PROBING)
|
||||||
|
// When measuring, the probe will move up to BACKLASH_MEASUREMENT_LIMIT
|
||||||
|
// mm away from point of contact in BACKLASH_MEASUREMENT_RESOLUTION
|
||||||
|
// increments while checking for the contact to be broken.
|
||||||
|
#define BACKLASH_MEASUREMENT_LIMIT 0.5 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_RESOLUTION 0.005 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_FEEDRATE Z_PROBE_SPEED_SLOW // (mm/m)
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
||||||
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
||||||
|
|
|
@ -492,6 +492,39 @@
|
||||||
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// Backlash Compensation
|
||||||
|
// Adds extra movement to axes on direction-changes to account for backlash.
|
||||||
|
//
|
||||||
|
//#define BACKLASH_COMPENSATION
|
||||||
|
#if ENABLED(BACKLASH_COMPENSATION)
|
||||||
|
// Define values for backlash distance and correction.
|
||||||
|
// If BACKLASH_GCODE is enabled these values are the defaults.
|
||||||
|
#define BACKLASH_DISTANCE_MM { 0, 0, 0 } // (mm)
|
||||||
|
#define BACKLASH_CORRECTION 0.0 // 0.0 = no correction; 1.0 = full correction
|
||||||
|
|
||||||
|
// Set BACKLASH_SMOOTHING_MM to spread backlash correction over multiple segments
|
||||||
|
// to reduce print artifacts. (Enabling this is costly in memory and computation!)
|
||||||
|
//#define BACKLASH_SMOOTHING_MM 3 // (mm)
|
||||||
|
|
||||||
|
// Add runtime configuration and tuning of backlash values (M425)
|
||||||
|
//#define BACKLASH_GCODE
|
||||||
|
|
||||||
|
#if ENABLED(BACKLASH_GCODE)
|
||||||
|
// Measure the Z backlash when probing (G29) and set with "M425 Z"
|
||||||
|
#define MEASURE_BACKLASH_WHEN_PROBING
|
||||||
|
|
||||||
|
#if ENABLED(MEASURE_BACKLASH_WHEN_PROBING)
|
||||||
|
// When measuring, the probe will move up to BACKLASH_MEASUREMENT_LIMIT
|
||||||
|
// mm away from point of contact in BACKLASH_MEASUREMENT_RESOLUTION
|
||||||
|
// increments while checking for the contact to be broken.
|
||||||
|
#define BACKLASH_MEASUREMENT_LIMIT 0.5 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_RESOLUTION 0.005 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_FEEDRATE Z_PROBE_SPEED_SLOW // (mm/m)
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
||||||
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
||||||
|
|
|
@ -492,6 +492,39 @@
|
||||||
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// Backlash Compensation
|
||||||
|
// Adds extra movement to axes on direction-changes to account for backlash.
|
||||||
|
//
|
||||||
|
//#define BACKLASH_COMPENSATION
|
||||||
|
#if ENABLED(BACKLASH_COMPENSATION)
|
||||||
|
// Define values for backlash distance and correction.
|
||||||
|
// If BACKLASH_GCODE is enabled these values are the defaults.
|
||||||
|
#define BACKLASH_DISTANCE_MM { 0, 0, 0 } // (mm)
|
||||||
|
#define BACKLASH_CORRECTION 0.0 // 0.0 = no correction; 1.0 = full correction
|
||||||
|
|
||||||
|
// Set BACKLASH_SMOOTHING_MM to spread backlash correction over multiple segments
|
||||||
|
// to reduce print artifacts. (Enabling this is costly in memory and computation!)
|
||||||
|
//#define BACKLASH_SMOOTHING_MM 3 // (mm)
|
||||||
|
|
||||||
|
// Add runtime configuration and tuning of backlash values (M425)
|
||||||
|
//#define BACKLASH_GCODE
|
||||||
|
|
||||||
|
#if ENABLED(BACKLASH_GCODE)
|
||||||
|
// Measure the Z backlash when probing (G29) and set with "M425 Z"
|
||||||
|
#define MEASURE_BACKLASH_WHEN_PROBING
|
||||||
|
|
||||||
|
#if ENABLED(MEASURE_BACKLASH_WHEN_PROBING)
|
||||||
|
// When measuring, the probe will move up to BACKLASH_MEASUREMENT_LIMIT
|
||||||
|
// mm away from point of contact in BACKLASH_MEASUREMENT_RESOLUTION
|
||||||
|
// increments while checking for the contact to be broken.
|
||||||
|
#define BACKLASH_MEASUREMENT_LIMIT 0.5 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_RESOLUTION 0.005 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_FEEDRATE Z_PROBE_SPEED_SLOW // (mm/m)
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
||||||
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
||||||
|
|
|
@ -492,6 +492,39 @@
|
||||||
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// Backlash Compensation
|
||||||
|
// Adds extra movement to axes on direction-changes to account for backlash.
|
||||||
|
//
|
||||||
|
//#define BACKLASH_COMPENSATION
|
||||||
|
#if ENABLED(BACKLASH_COMPENSATION)
|
||||||
|
// Define values for backlash distance and correction.
|
||||||
|
// If BACKLASH_GCODE is enabled these values are the defaults.
|
||||||
|
#define BACKLASH_DISTANCE_MM { 0, 0, 0 } // (mm)
|
||||||
|
#define BACKLASH_CORRECTION 0.0 // 0.0 = no correction; 1.0 = full correction
|
||||||
|
|
||||||
|
// Set BACKLASH_SMOOTHING_MM to spread backlash correction over multiple segments
|
||||||
|
// to reduce print artifacts. (Enabling this is costly in memory and computation!)
|
||||||
|
//#define BACKLASH_SMOOTHING_MM 3 // (mm)
|
||||||
|
|
||||||
|
// Add runtime configuration and tuning of backlash values (M425)
|
||||||
|
//#define BACKLASH_GCODE
|
||||||
|
|
||||||
|
#if ENABLED(BACKLASH_GCODE)
|
||||||
|
// Measure the Z backlash when probing (G29) and set with "M425 Z"
|
||||||
|
#define MEASURE_BACKLASH_WHEN_PROBING
|
||||||
|
|
||||||
|
#if ENABLED(MEASURE_BACKLASH_WHEN_PROBING)
|
||||||
|
// When measuring, the probe will move up to BACKLASH_MEASUREMENT_LIMIT
|
||||||
|
// mm away from point of contact in BACKLASH_MEASUREMENT_RESOLUTION
|
||||||
|
// increments while checking for the contact to be broken.
|
||||||
|
#define BACKLASH_MEASUREMENT_LIMIT 0.5 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_RESOLUTION 0.005 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_FEEDRATE Z_PROBE_SPEED_SLOW // (mm/m)
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
||||||
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
||||||
|
|
|
@ -492,6 +492,39 @@
|
||||||
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// Backlash Compensation
|
||||||
|
// Adds extra movement to axes on direction-changes to account for backlash.
|
||||||
|
//
|
||||||
|
//#define BACKLASH_COMPENSATION
|
||||||
|
#if ENABLED(BACKLASH_COMPENSATION)
|
||||||
|
// Define values for backlash distance and correction.
|
||||||
|
// If BACKLASH_GCODE is enabled these values are the defaults.
|
||||||
|
#define BACKLASH_DISTANCE_MM { 0, 0, 0 } // (mm)
|
||||||
|
#define BACKLASH_CORRECTION 0.0 // 0.0 = no correction; 1.0 = full correction
|
||||||
|
|
||||||
|
// Set BACKLASH_SMOOTHING_MM to spread backlash correction over multiple segments
|
||||||
|
// to reduce print artifacts. (Enabling this is costly in memory and computation!)
|
||||||
|
//#define BACKLASH_SMOOTHING_MM 3 // (mm)
|
||||||
|
|
||||||
|
// Add runtime configuration and tuning of backlash values (M425)
|
||||||
|
//#define BACKLASH_GCODE
|
||||||
|
|
||||||
|
#if ENABLED(BACKLASH_GCODE)
|
||||||
|
// Measure the Z backlash when probing (G29) and set with "M425 Z"
|
||||||
|
#define MEASURE_BACKLASH_WHEN_PROBING
|
||||||
|
|
||||||
|
#if ENABLED(MEASURE_BACKLASH_WHEN_PROBING)
|
||||||
|
// When measuring, the probe will move up to BACKLASH_MEASUREMENT_LIMIT
|
||||||
|
// mm away from point of contact in BACKLASH_MEASUREMENT_RESOLUTION
|
||||||
|
// increments while checking for the contact to be broken.
|
||||||
|
#define BACKLASH_MEASUREMENT_LIMIT 0.5 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_RESOLUTION 0.005 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_FEEDRATE Z_PROBE_SPEED_SLOW // (mm/m)
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
||||||
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
||||||
|
|
|
@ -492,6 +492,39 @@
|
||||||
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// Backlash Compensation
|
||||||
|
// Adds extra movement to axes on direction-changes to account for backlash.
|
||||||
|
//
|
||||||
|
//#define BACKLASH_COMPENSATION
|
||||||
|
#if ENABLED(BACKLASH_COMPENSATION)
|
||||||
|
// Define values for backlash distance and correction.
|
||||||
|
// If BACKLASH_GCODE is enabled these values are the defaults.
|
||||||
|
#define BACKLASH_DISTANCE_MM { 0, 0, 0 } // (mm)
|
||||||
|
#define BACKLASH_CORRECTION 0.0 // 0.0 = no correction; 1.0 = full correction
|
||||||
|
|
||||||
|
// Set BACKLASH_SMOOTHING_MM to spread backlash correction over multiple segments
|
||||||
|
// to reduce print artifacts. (Enabling this is costly in memory and computation!)
|
||||||
|
//#define BACKLASH_SMOOTHING_MM 3 // (mm)
|
||||||
|
|
||||||
|
// Add runtime configuration and tuning of backlash values (M425)
|
||||||
|
//#define BACKLASH_GCODE
|
||||||
|
|
||||||
|
#if ENABLED(BACKLASH_GCODE)
|
||||||
|
// Measure the Z backlash when probing (G29) and set with "M425 Z"
|
||||||
|
#define MEASURE_BACKLASH_WHEN_PROBING
|
||||||
|
|
||||||
|
#if ENABLED(MEASURE_BACKLASH_WHEN_PROBING)
|
||||||
|
// When measuring, the probe will move up to BACKLASH_MEASUREMENT_LIMIT
|
||||||
|
// mm away from point of contact in BACKLASH_MEASUREMENT_RESOLUTION
|
||||||
|
// increments while checking for the contact to be broken.
|
||||||
|
#define BACKLASH_MEASUREMENT_LIMIT 0.5 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_RESOLUTION 0.005 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_FEEDRATE Z_PROBE_SPEED_SLOW // (mm/m)
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
||||||
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
||||||
|
|
|
@ -492,6 +492,39 @@
|
||||||
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// Backlash Compensation
|
||||||
|
// Adds extra movement to axes on direction-changes to account for backlash.
|
||||||
|
//
|
||||||
|
//#define BACKLASH_COMPENSATION
|
||||||
|
#if ENABLED(BACKLASH_COMPENSATION)
|
||||||
|
// Define values for backlash distance and correction.
|
||||||
|
// If BACKLASH_GCODE is enabled these values are the defaults.
|
||||||
|
#define BACKLASH_DISTANCE_MM { 0, 0, 0 } // (mm)
|
||||||
|
#define BACKLASH_CORRECTION 0.0 // 0.0 = no correction; 1.0 = full correction
|
||||||
|
|
||||||
|
// Set BACKLASH_SMOOTHING_MM to spread backlash correction over multiple segments
|
||||||
|
// to reduce print artifacts. (Enabling this is costly in memory and computation!)
|
||||||
|
//#define BACKLASH_SMOOTHING_MM 3 // (mm)
|
||||||
|
|
||||||
|
// Add runtime configuration and tuning of backlash values (M425)
|
||||||
|
//#define BACKLASH_GCODE
|
||||||
|
|
||||||
|
#if ENABLED(BACKLASH_GCODE)
|
||||||
|
// Measure the Z backlash when probing (G29) and set with "M425 Z"
|
||||||
|
#define MEASURE_BACKLASH_WHEN_PROBING
|
||||||
|
|
||||||
|
#if ENABLED(MEASURE_BACKLASH_WHEN_PROBING)
|
||||||
|
// When measuring, the probe will move up to BACKLASH_MEASUREMENT_LIMIT
|
||||||
|
// mm away from point of contact in BACKLASH_MEASUREMENT_RESOLUTION
|
||||||
|
// increments while checking for the contact to be broken.
|
||||||
|
#define BACKLASH_MEASUREMENT_LIMIT 0.5 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_RESOLUTION 0.005 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_FEEDRATE Z_PROBE_SPEED_SLOW // (mm/m)
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
||||||
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
||||||
|
|
|
@ -492,6 +492,39 @@
|
||||||
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// Backlash Compensation
|
||||||
|
// Adds extra movement to axes on direction-changes to account for backlash.
|
||||||
|
//
|
||||||
|
//#define BACKLASH_COMPENSATION
|
||||||
|
#if ENABLED(BACKLASH_COMPENSATION)
|
||||||
|
// Define values for backlash distance and correction.
|
||||||
|
// If BACKLASH_GCODE is enabled these values are the defaults.
|
||||||
|
#define BACKLASH_DISTANCE_MM { 0, 0, 0 } // (mm)
|
||||||
|
#define BACKLASH_CORRECTION 0.0 // 0.0 = no correction; 1.0 = full correction
|
||||||
|
|
||||||
|
// Set BACKLASH_SMOOTHING_MM to spread backlash correction over multiple segments
|
||||||
|
// to reduce print artifacts. (Enabling this is costly in memory and computation!)
|
||||||
|
//#define BACKLASH_SMOOTHING_MM 3 // (mm)
|
||||||
|
|
||||||
|
// Add runtime configuration and tuning of backlash values (M425)
|
||||||
|
//#define BACKLASH_GCODE
|
||||||
|
|
||||||
|
#if ENABLED(BACKLASH_GCODE)
|
||||||
|
// Measure the Z backlash when probing (G29) and set with "M425 Z"
|
||||||
|
#define MEASURE_BACKLASH_WHEN_PROBING
|
||||||
|
|
||||||
|
#if ENABLED(MEASURE_BACKLASH_WHEN_PROBING)
|
||||||
|
// When measuring, the probe will move up to BACKLASH_MEASUREMENT_LIMIT
|
||||||
|
// mm away from point of contact in BACKLASH_MEASUREMENT_RESOLUTION
|
||||||
|
// increments while checking for the contact to be broken.
|
||||||
|
#define BACKLASH_MEASUREMENT_LIMIT 0.5 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_RESOLUTION 0.005 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_FEEDRATE Z_PROBE_SPEED_SLOW // (mm/m)
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
||||||
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
||||||
|
|
|
@ -492,6 +492,39 @@
|
||||||
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// Backlash Compensation
|
||||||
|
// Adds extra movement to axes on direction-changes to account for backlash.
|
||||||
|
//
|
||||||
|
//#define BACKLASH_COMPENSATION
|
||||||
|
#if ENABLED(BACKLASH_COMPENSATION)
|
||||||
|
// Define values for backlash distance and correction.
|
||||||
|
// If BACKLASH_GCODE is enabled these values are the defaults.
|
||||||
|
#define BACKLASH_DISTANCE_MM { 0, 0, 0 } // (mm)
|
||||||
|
#define BACKLASH_CORRECTION 0.0 // 0.0 = no correction; 1.0 = full correction
|
||||||
|
|
||||||
|
// Set BACKLASH_SMOOTHING_MM to spread backlash correction over multiple segments
|
||||||
|
// to reduce print artifacts. (Enabling this is costly in memory and computation!)
|
||||||
|
//#define BACKLASH_SMOOTHING_MM 3 // (mm)
|
||||||
|
|
||||||
|
// Add runtime configuration and tuning of backlash values (M425)
|
||||||
|
//#define BACKLASH_GCODE
|
||||||
|
|
||||||
|
#if ENABLED(BACKLASH_GCODE)
|
||||||
|
// Measure the Z backlash when probing (G29) and set with "M425 Z"
|
||||||
|
#define MEASURE_BACKLASH_WHEN_PROBING
|
||||||
|
|
||||||
|
#if ENABLED(MEASURE_BACKLASH_WHEN_PROBING)
|
||||||
|
// When measuring, the probe will move up to BACKLASH_MEASUREMENT_LIMIT
|
||||||
|
// mm away from point of contact in BACKLASH_MEASUREMENT_RESOLUTION
|
||||||
|
// increments while checking for the contact to be broken.
|
||||||
|
#define BACKLASH_MEASUREMENT_LIMIT 0.5 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_RESOLUTION 0.005 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_FEEDRATE Z_PROBE_SPEED_SLOW // (mm/m)
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
||||||
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
||||||
|
|
|
@ -492,6 +492,39 @@
|
||||||
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// Backlash Compensation
|
||||||
|
// Adds extra movement to axes on direction-changes to account for backlash.
|
||||||
|
//
|
||||||
|
//#define BACKLASH_COMPENSATION
|
||||||
|
#if ENABLED(BACKLASH_COMPENSATION)
|
||||||
|
// Define values for backlash distance and correction.
|
||||||
|
// If BACKLASH_GCODE is enabled these values are the defaults.
|
||||||
|
#define BACKLASH_DISTANCE_MM { 0, 0, 0 } // (mm)
|
||||||
|
#define BACKLASH_CORRECTION 0.0 // 0.0 = no correction; 1.0 = full correction
|
||||||
|
|
||||||
|
// Set BACKLASH_SMOOTHING_MM to spread backlash correction over multiple segments
|
||||||
|
// to reduce print artifacts. (Enabling this is costly in memory and computation!)
|
||||||
|
//#define BACKLASH_SMOOTHING_MM 3 // (mm)
|
||||||
|
|
||||||
|
// Add runtime configuration and tuning of backlash values (M425)
|
||||||
|
//#define BACKLASH_GCODE
|
||||||
|
|
||||||
|
#if ENABLED(BACKLASH_GCODE)
|
||||||
|
// Measure the Z backlash when probing (G29) and set with "M425 Z"
|
||||||
|
#define MEASURE_BACKLASH_WHEN_PROBING
|
||||||
|
|
||||||
|
#if ENABLED(MEASURE_BACKLASH_WHEN_PROBING)
|
||||||
|
// When measuring, the probe will move up to BACKLASH_MEASUREMENT_LIMIT
|
||||||
|
// mm away from point of contact in BACKLASH_MEASUREMENT_RESOLUTION
|
||||||
|
// increments while checking for the contact to be broken.
|
||||||
|
#define BACKLASH_MEASUREMENT_LIMIT 0.5 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_RESOLUTION 0.005 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_FEEDRATE Z_PROBE_SPEED_SLOW // (mm/m)
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
||||||
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
||||||
|
|
|
@ -490,6 +490,39 @@
|
||||||
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// Backlash Compensation
|
||||||
|
// Adds extra movement to axes on direction-changes to account for backlash.
|
||||||
|
//
|
||||||
|
//#define BACKLASH_COMPENSATION
|
||||||
|
#if ENABLED(BACKLASH_COMPENSATION)
|
||||||
|
// Define values for backlash distance and correction.
|
||||||
|
// If BACKLASH_GCODE is enabled these values are the defaults.
|
||||||
|
#define BACKLASH_DISTANCE_MM { 0, 0, 0 } // (mm)
|
||||||
|
#define BACKLASH_CORRECTION 0.0 // 0.0 = no correction; 1.0 = full correction
|
||||||
|
|
||||||
|
// Set BACKLASH_SMOOTHING_MM to spread backlash correction over multiple segments
|
||||||
|
// to reduce print artifacts. (Enabling this is costly in memory and computation!)
|
||||||
|
//#define BACKLASH_SMOOTHING_MM 3 // (mm)
|
||||||
|
|
||||||
|
// Add runtime configuration and tuning of backlash values (M425)
|
||||||
|
//#define BACKLASH_GCODE
|
||||||
|
|
||||||
|
#if ENABLED(BACKLASH_GCODE)
|
||||||
|
// Measure the Z backlash when probing (G29) and set with "M425 Z"
|
||||||
|
#define MEASURE_BACKLASH_WHEN_PROBING
|
||||||
|
|
||||||
|
#if ENABLED(MEASURE_BACKLASH_WHEN_PROBING)
|
||||||
|
// When measuring, the probe will move up to BACKLASH_MEASUREMENT_LIMIT
|
||||||
|
// mm away from point of contact in BACKLASH_MEASUREMENT_RESOLUTION
|
||||||
|
// increments while checking for the contact to be broken.
|
||||||
|
#define BACKLASH_MEASUREMENT_LIMIT 0.5 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_RESOLUTION 0.005 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_FEEDRATE Z_PROBE_SPEED_SLOW // (mm/m)
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
||||||
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
||||||
|
|
|
@ -490,6 +490,39 @@
|
||||||
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// Backlash Compensation
|
||||||
|
// Adds extra movement to axes on direction-changes to account for backlash.
|
||||||
|
//
|
||||||
|
//#define BACKLASH_COMPENSATION
|
||||||
|
#if ENABLED(BACKLASH_COMPENSATION)
|
||||||
|
// Define values for backlash distance and correction.
|
||||||
|
// If BACKLASH_GCODE is enabled these values are the defaults.
|
||||||
|
#define BACKLASH_DISTANCE_MM { 0, 0, 0 } // (mm)
|
||||||
|
#define BACKLASH_CORRECTION 0.0 // 0.0 = no correction; 1.0 = full correction
|
||||||
|
|
||||||
|
// Set BACKLASH_SMOOTHING_MM to spread backlash correction over multiple segments
|
||||||
|
// to reduce print artifacts. (Enabling this is costly in memory and computation!)
|
||||||
|
//#define BACKLASH_SMOOTHING_MM 3 // (mm)
|
||||||
|
|
||||||
|
// Add runtime configuration and tuning of backlash values (M425)
|
||||||
|
//#define BACKLASH_GCODE
|
||||||
|
|
||||||
|
#if ENABLED(BACKLASH_GCODE)
|
||||||
|
// Measure the Z backlash when probing (G29) and set with "M425 Z"
|
||||||
|
#define MEASURE_BACKLASH_WHEN_PROBING
|
||||||
|
|
||||||
|
#if ENABLED(MEASURE_BACKLASH_WHEN_PROBING)
|
||||||
|
// When measuring, the probe will move up to BACKLASH_MEASUREMENT_LIMIT
|
||||||
|
// mm away from point of contact in BACKLASH_MEASUREMENT_RESOLUTION
|
||||||
|
// increments while checking for the contact to be broken.
|
||||||
|
#define BACKLASH_MEASUREMENT_LIMIT 0.5 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_RESOLUTION 0.005 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_FEEDRATE Z_PROBE_SPEED_SLOW // (mm/m)
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
||||||
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
||||||
|
|
|
@ -490,6 +490,39 @@
|
||||||
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// Backlash Compensation
|
||||||
|
// Adds extra movement to axes on direction-changes to account for backlash.
|
||||||
|
//
|
||||||
|
//#define BACKLASH_COMPENSATION
|
||||||
|
#if ENABLED(BACKLASH_COMPENSATION)
|
||||||
|
// Define values for backlash distance and correction.
|
||||||
|
// If BACKLASH_GCODE is enabled these values are the defaults.
|
||||||
|
#define BACKLASH_DISTANCE_MM { 0, 0, 0 } // (mm)
|
||||||
|
#define BACKLASH_CORRECTION 0.0 // 0.0 = no correction; 1.0 = full correction
|
||||||
|
|
||||||
|
// Set BACKLASH_SMOOTHING_MM to spread backlash correction over multiple segments
|
||||||
|
// to reduce print artifacts. (Enabling this is costly in memory and computation!)
|
||||||
|
//#define BACKLASH_SMOOTHING_MM 3 // (mm)
|
||||||
|
|
||||||
|
// Add runtime configuration and tuning of backlash values (M425)
|
||||||
|
//#define BACKLASH_GCODE
|
||||||
|
|
||||||
|
#if ENABLED(BACKLASH_GCODE)
|
||||||
|
// Measure the Z backlash when probing (G29) and set with "M425 Z"
|
||||||
|
#define MEASURE_BACKLASH_WHEN_PROBING
|
||||||
|
|
||||||
|
#if ENABLED(MEASURE_BACKLASH_WHEN_PROBING)
|
||||||
|
// When measuring, the probe will move up to BACKLASH_MEASUREMENT_LIMIT
|
||||||
|
// mm away from point of contact in BACKLASH_MEASUREMENT_RESOLUTION
|
||||||
|
// increments while checking for the contact to be broken.
|
||||||
|
#define BACKLASH_MEASUREMENT_LIMIT 0.5 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_RESOLUTION 0.005 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_FEEDRATE Z_PROBE_SPEED_SLOW // (mm/m)
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
||||||
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
||||||
|
|
|
@ -490,6 +490,39 @@
|
||||||
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// Backlash Compensation
|
||||||
|
// Adds extra movement to axes on direction-changes to account for backlash.
|
||||||
|
//
|
||||||
|
//#define BACKLASH_COMPENSATION
|
||||||
|
#if ENABLED(BACKLASH_COMPENSATION)
|
||||||
|
// Define values for backlash distance and correction.
|
||||||
|
// If BACKLASH_GCODE is enabled these values are the defaults.
|
||||||
|
#define BACKLASH_DISTANCE_MM { 0, 0, 0 } // (mm)
|
||||||
|
#define BACKLASH_CORRECTION 0.0 // 0.0 = no correction; 1.0 = full correction
|
||||||
|
|
||||||
|
// Set BACKLASH_SMOOTHING_MM to spread backlash correction over multiple segments
|
||||||
|
// to reduce print artifacts. (Enabling this is costly in memory and computation!)
|
||||||
|
//#define BACKLASH_SMOOTHING_MM 3 // (mm)
|
||||||
|
|
||||||
|
// Add runtime configuration and tuning of backlash values (M425)
|
||||||
|
//#define BACKLASH_GCODE
|
||||||
|
|
||||||
|
#if ENABLED(BACKLASH_GCODE)
|
||||||
|
// Measure the Z backlash when probing (G29) and set with "M425 Z"
|
||||||
|
#define MEASURE_BACKLASH_WHEN_PROBING
|
||||||
|
|
||||||
|
#if ENABLED(MEASURE_BACKLASH_WHEN_PROBING)
|
||||||
|
// When measuring, the probe will move up to BACKLASH_MEASUREMENT_LIMIT
|
||||||
|
// mm away from point of contact in BACKLASH_MEASUREMENT_RESOLUTION
|
||||||
|
// increments while checking for the contact to be broken.
|
||||||
|
#define BACKLASH_MEASUREMENT_LIMIT 0.5 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_RESOLUTION 0.005 // (mm)
|
||||||
|
#define BACKLASH_MEASUREMENT_FEEDRATE Z_PROBE_SPEED_SLOW // (mm/m)
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
* Adaptive Step Smoothing increases the resolution of multi-axis moves, particularly at step frequencies
|
||||||
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
* below 1kHz (for AVR) or 10kHz (for ARM), where aliasing between axes in multi-axis moves causes audible
|
||||||
|
|
|
@ -81,7 +81,7 @@
|
||||||
static uint8_t get_status_response(TMC2208Stepper &st, uint32_t drv_status) {
|
static uint8_t get_status_response(TMC2208Stepper &st, uint32_t drv_status) {
|
||||||
uint8_t gstat = st.GSTAT();
|
uint8_t gstat = st.GSTAT();
|
||||||
uint8_t response = 0;
|
uint8_t response = 0;
|
||||||
response |= (drv_status >> (31-3)) & 0b1000;
|
response |= (drv_status >> (31 - 3)) & 0b1000;
|
||||||
response |= gstat & 0b11;
|
response |= gstat & 0b11;
|
||||||
return response;
|
return response;
|
||||||
}
|
}
|
||||||
|
|
123
Marlin/src/gcode/calibrate/M425.cpp
Normal file
123
Marlin/src/gcode/calibrate/M425.cpp
Normal file
|
@ -0,0 +1,123 @@
|
||||||
|
/**
|
||||||
|
* Marlin 3D Printer Firmware
|
||||||
|
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
|
||||||
|
*
|
||||||
|
* Based on Sprinter and grbl.
|
||||||
|
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "../../inc/MarlinConfig.h"
|
||||||
|
|
||||||
|
#if ENABLED(BACKLASH_GCODE)
|
||||||
|
|
||||||
|
#include "../../module/planner.h"
|
||||||
|
|
||||||
|
float backlash_distance_mm[XYZ] = BACKLASH_DISTANCE_MM,
|
||||||
|
backlash_correction = BACKLASH_CORRECTION;
|
||||||
|
|
||||||
|
#ifdef BACKLASH_SMOOTHING_MM
|
||||||
|
float backlash_smoothing_mm = BACKLASH_SMOOTHING_MM;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if ENABLED(MEASURE_BACKLASH_WHEN_PROBING)
|
||||||
|
float backlash_measured_mm[XYZ] = { 0 };
|
||||||
|
uint8_t backlash_measured_num[XYZ] = { 0 };
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "../gcode.h"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* M425: Enable and tune backlash correction.
|
||||||
|
*
|
||||||
|
* F<fraction> Enable/disable/fade-out backlash correction (0.0 to 1.0)
|
||||||
|
* S<smoothing_mm> Distance over which backlash correction is spread
|
||||||
|
* X<distance_mm> Set the backlash distance on X (0 to disable)
|
||||||
|
* Y<distance_mm> ... on Y
|
||||||
|
* Z<distance_mm> ... on Z
|
||||||
|
* X If a backlash measurement was done on X, copy that value
|
||||||
|
* Y ... on Y
|
||||||
|
* Z ... on Z
|
||||||
|
*
|
||||||
|
* Type M425 without any arguments to show active values.
|
||||||
|
*/
|
||||||
|
void GcodeSuite::M425() {
|
||||||
|
bool noArgs = true;
|
||||||
|
|
||||||
|
LOOP_XYZ(i) {
|
||||||
|
if (parser.seen(axis_codes[i])) {
|
||||||
|
planner.synchronize();
|
||||||
|
const float measured_backlash = (
|
||||||
|
#if ENABLED(MEASURE_BACKLASH_WHEN_PROBING)
|
||||||
|
backlash_measured_num[i] > 0 ? backlash_measured_mm[i] / backlash_measured_num[i] : 0
|
||||||
|
#else
|
||||||
|
0
|
||||||
|
#endif
|
||||||
|
);
|
||||||
|
backlash_distance_mm[i] = parser.has_value() ? parser.value_linear_units() : measured_backlash;
|
||||||
|
noArgs = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (parser.seen('F')) {
|
||||||
|
planner.synchronize();
|
||||||
|
backlash_correction = max(0, min(1.0, parser.value_linear_units()));
|
||||||
|
noArgs = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef BACKLASH_SMOOTHING_MM
|
||||||
|
if (parser.seen('S')) {
|
||||||
|
planner.synchronize();
|
||||||
|
backlash_smoothing_mm = parser.value_linear_units();
|
||||||
|
noArgs = false;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
if (noArgs) {
|
||||||
|
SERIAL_ECHOPGM("Backlash correction is ");
|
||||||
|
if (!backlash_correction) SERIAL_ECHOPGM("in");
|
||||||
|
SERIAL_ECHOLNPGM("active:");
|
||||||
|
SERIAL_ECHOPAIR(" Correction Amount/Fade-out: F", backlash_correction);
|
||||||
|
SERIAL_ECHOLNPGM(" (F1.0 = full, F0.0 = none)");
|
||||||
|
SERIAL_ECHOPGM(" Backlash Distance (mm): ");
|
||||||
|
LOOP_XYZ(a) {
|
||||||
|
SERIAL_CHAR(' ');
|
||||||
|
SERIAL_CHAR(axis_codes[a]);
|
||||||
|
SERIAL_ECHO(backlash_distance_mm[a]);
|
||||||
|
SERIAL_EOL();
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef BACKLASH_SMOOTHING_MM
|
||||||
|
SERIAL_ECHOLNPAIR(" Smoothing (mm): S", backlash_smoothing_mm);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if ENABLED(MEASURE_BACKLASH_WHEN_PROBING)
|
||||||
|
SERIAL_ECHOPGM(" Average measured backlash (mm):");
|
||||||
|
LOOP_XYZ(a) {
|
||||||
|
if (backlash_measured_num[a] > 0) {
|
||||||
|
SERIAL_CHAR(' ');
|
||||||
|
SERIAL_CHAR(axis_codes[a]);
|
||||||
|
SERIAL_ECHO(backlash_measured_mm[a] / backlash_measured_num[a]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!backlash_measured_num[X_AXIS] && !backlash_measured_num[Y_AXIS] && !backlash_measured_num[Z_AXIS])
|
||||||
|
SERIAL_ECHOPGM(" (Not yet measured)");
|
||||||
|
SERIAL_EOL();
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // BACKLASH_GCODE
|
|
@ -576,6 +576,10 @@ void GcodeSuite::process_parsed_command(
|
||||||
case 421: M421(); break; // M421: Set a Mesh Bed Leveling Z coordinate
|
case 421: M421(); break; // M421: Set a Mesh Bed Leveling Z coordinate
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if ENABLED(BACKLASH_GCODE)
|
||||||
|
case 425: M425(); break; // M425: Tune backlash compensation
|
||||||
|
#endif
|
||||||
|
|
||||||
#if HAS_M206_COMMAND
|
#if HAS_M206_COMMAND
|
||||||
case 428: M428(); break; // M428: Apply current_position to home_offset
|
case 428: M428(); break; // M428: Apply current_position to home_offset
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -201,6 +201,7 @@
|
||||||
* M420 - Enable/Disable Leveling (with current values) S1=enable S0=disable (Requires MESH_BED_LEVELING or ABL)
|
* M420 - Enable/Disable Leveling (with current values) S1=enable S0=disable (Requires MESH_BED_LEVELING or ABL)
|
||||||
* M421 - Set a single Z coordinate in the Mesh Leveling grid. X<units> Y<units> Z<units> (Requires MESH_BED_LEVELING, AUTO_BED_LEVELING_BILINEAR, or AUTO_BED_LEVELING_UBL)
|
* M421 - Set a single Z coordinate in the Mesh Leveling grid. X<units> Y<units> Z<units> (Requires MESH_BED_LEVELING, AUTO_BED_LEVELING_BILINEAR, or AUTO_BED_LEVELING_UBL)
|
||||||
* M422 - Set Z Stepper automatic alignment position using probe. X<units> Y<units> A<axis> (Requires Z_STEPPER_AUTO_ALIGN)
|
* M422 - Set Z Stepper automatic alignment position using probe. X<units> Y<units> A<axis> (Requires Z_STEPPER_AUTO_ALIGN)
|
||||||
|
* M425 - Enable/Disable and tune backlash correction. (Requires BACKLASH_COMPENSATION and BACKLASH_GCODE)
|
||||||
* M428 - Set the home_offset based on the current_position. Nearest edge applies. (Disabled by NO_WORKSPACE_OFFSETS or DELTA)
|
* M428 - Set the home_offset based on the current_position. Nearest edge applies. (Disabled by NO_WORKSPACE_OFFSETS or DELTA)
|
||||||
* M500 - Store parameters in EEPROM. (Requires EEPROM_SETTINGS)
|
* M500 - Store parameters in EEPROM. (Requires EEPROM_SETTINGS)
|
||||||
* M501 - Restore parameters from EEPROM. (Requires EEPROM_SETTINGS)
|
* M501 - Restore parameters from EEPROM. (Requires EEPROM_SETTINGS)
|
||||||
|
@ -709,6 +710,10 @@ private:
|
||||||
static void M421();
|
static void M421();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if ENABLED(BACKLASH_GCODE)
|
||||||
|
static void M425();
|
||||||
|
#endif
|
||||||
|
|
||||||
#if HAS_M206_COMMAND
|
#if HAS_M206_COMMAND
|
||||||
static void M428();
|
static void M428();
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -1996,3 +1996,7 @@ static_assert(sanity_arr_3[0] > 0 && sanity_arr_3[1] > 0 && sanity_arr_3[2] > 0
|
||||||
#if ENABLED(GCODE_MACROS) && !WITHIN(GCODE_MACROS_SLOTS, 1, 10)
|
#if ENABLED(GCODE_MACROS) && !WITHIN(GCODE_MACROS_SLOTS, 1, 10)
|
||||||
#error "GCODE_MACROS_SLOTS must be a number from 1 to 10."
|
#error "GCODE_MACROS_SLOTS must be a number from 1 to 10."
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if ENABLED(BACKLASH_COMPENSATION) && IS_CORE
|
||||||
|
#error "BACKLASH_COMPENSATION is incompatible with CORE kinematics."
|
||||||
|
#endif
|
||||||
|
|
|
@ -1546,6 +1546,99 @@ void Planner::synchronize() {
|
||||||
) idle();
|
) idle();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The following implements axis backlash correction. To minimize seams
|
||||||
|
* on the printed part, the backlash correction only adds steps to the
|
||||||
|
* current segment (instead of creating a new segment, which causes
|
||||||
|
* discontinuities and print artifacts).
|
||||||
|
*
|
||||||
|
* When BACKLASH_SMOOTHING_MM is enabled and non-zero, the backlash
|
||||||
|
* correction is spread over multiple segments, smoothing out print
|
||||||
|
* artifacts even more.
|
||||||
|
*/
|
||||||
|
#if ENABLED(BACKLASH_COMPENSATION)
|
||||||
|
#if ENABLED(BACKLASH_GCODE)
|
||||||
|
extern float backlash_distance_mm[], backlash_correction;
|
||||||
|
#ifdef BACKLASH_SMOOTHING_MM
|
||||||
|
extern float backlash_smoothing_mm;
|
||||||
|
#endif
|
||||||
|
#else
|
||||||
|
constexpr float backlash_distance_mm[XYZ] = BACKLASH_DISTANCE_MM,
|
||||||
|
backlash_correction = BACKLASH_CORRECTION;
|
||||||
|
#ifdef BACKLASH_SMOOTHING_MM
|
||||||
|
constexpr float backlash_smoothing_mm = BACKLASH_SMOOTHING_MM;
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
void Planner::add_backlash_correction_steps(const int32_t da, const int32_t db, const int32_t dc, const uint8_t dm, block_t * const block, float (&delta_mm)[ABCE]) {
|
||||||
|
static uint8_t last_direction_bits;
|
||||||
|
uint8_t changed_dir = last_direction_bits ^ dm;
|
||||||
|
// Ignore direction change if no steps are taken in that direction
|
||||||
|
if (da == 0) CBI(changed_dir, X_AXIS);
|
||||||
|
if (db == 0) CBI(changed_dir, Y_AXIS);
|
||||||
|
if (dc == 0) CBI(changed_dir, Z_AXIS);
|
||||||
|
last_direction_bits ^= changed_dir;
|
||||||
|
|
||||||
|
if (backlash_correction == 0) return;
|
||||||
|
|
||||||
|
#ifdef BACKLASH_SMOOTHING_MM
|
||||||
|
// The segment proportion is a value greater than 0.0 indicating how much residual_error
|
||||||
|
// is corrected for in this segment. The contribution is based on segment length and the
|
||||||
|
// smoothing distance. Since the computation of this proportion involves a floating point
|
||||||
|
// division, defer computation until needed.
|
||||||
|
float segment_proportion = 0;
|
||||||
|
|
||||||
|
// Residual error carried forward across multiple segments, so correction can be applied
|
||||||
|
// to segments where there is no direction change.
|
||||||
|
static int32_t residual_error[XYZ] = { 0 };
|
||||||
|
#else
|
||||||
|
// No leftover residual error from segment to segment
|
||||||
|
int32_t residual_error[XYZ] = { 0 };
|
||||||
|
// No direction change, no correction.
|
||||||
|
if (!changed_dir) return;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
const bool positive[XYZ] = { da > 0, db > 0, dc > 0 },
|
||||||
|
non_zero[XYZ] = { da != 0, db != 0, dc != 0 };
|
||||||
|
bool made_adjustment = false;
|
||||||
|
|
||||||
|
LOOP_XYZ(i) {
|
||||||
|
if (backlash_distance_mm[i]) {
|
||||||
|
// When an axis changes direction, add axis backlash to the residual error
|
||||||
|
if (TEST(changed_dir, i))
|
||||||
|
residual_error[i] += backlash_correction * (positive[i] ? 1.0f : -1.0f) * backlash_distance_mm[i] * planner.settings.axis_steps_per_mm[i];
|
||||||
|
|
||||||
|
// Decide how much of the residual error to correct in this segment
|
||||||
|
int32_t error_correction = residual_error[i];
|
||||||
|
#ifdef BACKLASH_SMOOTHING_MM
|
||||||
|
if (error_correction && backlash_smoothing_mm != 0) {
|
||||||
|
// Take up a portion of the residual_error in this segment, but only when
|
||||||
|
// the current segment travels in the same direction as the correction
|
||||||
|
if (non_zero[i] && positive[i] == (error_correction > 0)) {
|
||||||
|
if (segment_proportion == 0)
|
||||||
|
segment_proportion = MIN(1.0f, block->millimeters / backlash_smoothing_mm);
|
||||||
|
error_correction *= segment_proportion;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
error_correction = 0; // Don't take up any backlash in this segment, as it would subtract steps
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
// Making a correction reduces the residual error and modifies delta_mm
|
||||||
|
if (error_correction) {
|
||||||
|
block->steps[i] += ABS(error_correction);
|
||||||
|
residual_error[i] -= error_correction;
|
||||||
|
delta_mm[i] = (positive[i] ? 1.0f : -1.0f) * block->steps[i] * steps_to_mm[i];
|
||||||
|
made_adjustment = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// If any of the axes were adjusted, recompute block->millimeters
|
||||||
|
if (made_adjustment)
|
||||||
|
block->millimeters = SQRT(sq(delta_mm[X_AXIS]) + sq(delta_mm[Y_AXIS]) + sq(delta_mm[Z_AXIS]));
|
||||||
|
}
|
||||||
|
#endif // BACKLASH_COMPENSATION
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Planner::_buffer_steps
|
* Planner::_buffer_steps
|
||||||
*
|
*
|
||||||
|
@ -1738,6 +1831,70 @@ bool Planner::_populate_block(block_t * const block, bool split_move,
|
||||||
block->steps[C_AXIS] = ABS(dc);
|
block->steps[C_AXIS] = ABS(dc);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This part of the code calculates the total length of the movement.
|
||||||
|
* For cartesian bots, the X_AXIS is the real X movement and same for Y_AXIS.
|
||||||
|
* But for corexy bots, that is not true. The "X_AXIS" and "Y_AXIS" motors (that should be named to A_AXIS
|
||||||
|
* and B_AXIS) cannot be used for X and Y length, because A=X+Y and B=X-Y.
|
||||||
|
* So we need to create other 2 "AXIS", named X_HEAD and Y_HEAD, meaning the real displacement of the Head.
|
||||||
|
* Having the real displacement of the head, we can calculate the total movement length and apply the desired speed.
|
||||||
|
*/
|
||||||
|
#if IS_CORE
|
||||||
|
float delta_mm[Z_HEAD + 1];
|
||||||
|
#if CORE_IS_XY
|
||||||
|
delta_mm[X_HEAD] = da * steps_to_mm[A_AXIS];
|
||||||
|
delta_mm[Y_HEAD] = db * steps_to_mm[B_AXIS];
|
||||||
|
delta_mm[Z_AXIS] = dc * steps_to_mm[Z_AXIS];
|
||||||
|
delta_mm[A_AXIS] = (da + db) * steps_to_mm[A_AXIS];
|
||||||
|
delta_mm[B_AXIS] = CORESIGN(da - db) * steps_to_mm[B_AXIS];
|
||||||
|
#elif CORE_IS_XZ
|
||||||
|
delta_mm[X_HEAD] = da * steps_to_mm[A_AXIS];
|
||||||
|
delta_mm[Y_AXIS] = db * steps_to_mm[Y_AXIS];
|
||||||
|
delta_mm[Z_HEAD] = dc * steps_to_mm[C_AXIS];
|
||||||
|
delta_mm[A_AXIS] = (da + dc) * steps_to_mm[A_AXIS];
|
||||||
|
delta_mm[C_AXIS] = CORESIGN(da - dc) * steps_to_mm[C_AXIS];
|
||||||
|
#elif CORE_IS_YZ
|
||||||
|
delta_mm[X_AXIS] = da * steps_to_mm[X_AXIS];
|
||||||
|
delta_mm[Y_HEAD] = db * steps_to_mm[B_AXIS];
|
||||||
|
delta_mm[Z_HEAD] = dc * steps_to_mm[C_AXIS];
|
||||||
|
delta_mm[B_AXIS] = (db + dc) * steps_to_mm[B_AXIS];
|
||||||
|
delta_mm[C_AXIS] = CORESIGN(db - dc) * steps_to_mm[C_AXIS];
|
||||||
|
#endif
|
||||||
|
#else
|
||||||
|
float delta_mm[ABCE];
|
||||||
|
delta_mm[A_AXIS] = da * steps_to_mm[A_AXIS];
|
||||||
|
delta_mm[B_AXIS] = db * steps_to_mm[B_AXIS];
|
||||||
|
delta_mm[C_AXIS] = dc * steps_to_mm[C_AXIS];
|
||||||
|
#endif
|
||||||
|
delta_mm[E_AXIS] = esteps_float * steps_to_mm[E_AXIS_N(extruder)];
|
||||||
|
|
||||||
|
if (block->steps[A_AXIS] < MIN_STEPS_PER_SEGMENT && block->steps[B_AXIS] < MIN_STEPS_PER_SEGMENT && block->steps[C_AXIS] < MIN_STEPS_PER_SEGMENT) {
|
||||||
|
block->millimeters = ABS(delta_mm[E_AXIS]);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if (millimeters)
|
||||||
|
block->millimeters = millimeters;
|
||||||
|
else
|
||||||
|
block->millimeters = SQRT(
|
||||||
|
#if CORE_IS_XY
|
||||||
|
sq(delta_mm[X_HEAD]) + sq(delta_mm[Y_HEAD]) + sq(delta_mm[Z_AXIS])
|
||||||
|
#elif CORE_IS_XZ
|
||||||
|
sq(delta_mm[X_HEAD]) + sq(delta_mm[Y_AXIS]) + sq(delta_mm[Z_HEAD])
|
||||||
|
#elif CORE_IS_YZ
|
||||||
|
sq(delta_mm[X_AXIS]) + sq(delta_mm[Y_HEAD]) + sq(delta_mm[Z_HEAD])
|
||||||
|
#else
|
||||||
|
sq(delta_mm[X_AXIS]) + sq(delta_mm[Y_AXIS]) + sq(delta_mm[Z_AXIS])
|
||||||
|
#endif
|
||||||
|
);
|
||||||
|
|
||||||
|
#if ENABLED(BACKLASH_COMPENSATION)
|
||||||
|
// If we make it here, at least one of the axes has more steps than
|
||||||
|
// MIN_STEPS_PER_SEGMENT, so the segment won't get dropped by Marlin
|
||||||
|
// and it is okay to add steps for backlash correction.
|
||||||
|
add_backlash_correction_steps(da, db, dc, dm, block, delta_mm);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
block->steps[E_AXIS] = esteps;
|
block->steps[E_AXIS] = esteps;
|
||||||
block->step_event_count = MAX(block->steps[A_AXIS], block->steps[B_AXIS], block->steps[C_AXIS], esteps);
|
block->step_event_count = MAX(block->steps[A_AXIS], block->steps[B_AXIS], block->steps[C_AXIS], esteps);
|
||||||
|
|
||||||
|
@ -1925,62 +2082,6 @@ bool Planner::_populate_block(block_t * const block, bool split_move,
|
||||||
else
|
else
|
||||||
NOLESS(fr_mm_s, settings.min_travel_feedrate_mm_s);
|
NOLESS(fr_mm_s, settings.min_travel_feedrate_mm_s);
|
||||||
|
|
||||||
/**
|
|
||||||
* This part of the code calculates the total length of the movement.
|
|
||||||
* For cartesian bots, the X_AXIS is the real X movement and same for Y_AXIS.
|
|
||||||
* But for corexy bots, that is not true. The "X_AXIS" and "Y_AXIS" motors (that should be named to A_AXIS
|
|
||||||
* and B_AXIS) cannot be used for X and Y length, because A=X+Y and B=X-Y.
|
|
||||||
* So we need to create other 2 "AXIS", named X_HEAD and Y_HEAD, meaning the real displacement of the Head.
|
|
||||||
* Having the real displacement of the head, we can calculate the total movement length and apply the desired speed.
|
|
||||||
*/
|
|
||||||
#if IS_CORE
|
|
||||||
float delta_mm[Z_HEAD + 1];
|
|
||||||
#if CORE_IS_XY
|
|
||||||
delta_mm[X_HEAD] = da * steps_to_mm[A_AXIS];
|
|
||||||
delta_mm[Y_HEAD] = db * steps_to_mm[B_AXIS];
|
|
||||||
delta_mm[Z_AXIS] = dc * steps_to_mm[Z_AXIS];
|
|
||||||
delta_mm[A_AXIS] = (da + db) * steps_to_mm[A_AXIS];
|
|
||||||
delta_mm[B_AXIS] = CORESIGN(da - db) * steps_to_mm[B_AXIS];
|
|
||||||
#elif CORE_IS_XZ
|
|
||||||
delta_mm[X_HEAD] = da * steps_to_mm[A_AXIS];
|
|
||||||
delta_mm[Y_AXIS] = db * steps_to_mm[Y_AXIS];
|
|
||||||
delta_mm[Z_HEAD] = dc * steps_to_mm[C_AXIS];
|
|
||||||
delta_mm[A_AXIS] = (da + dc) * steps_to_mm[A_AXIS];
|
|
||||||
delta_mm[C_AXIS] = CORESIGN(da - dc) * steps_to_mm[C_AXIS];
|
|
||||||
#elif CORE_IS_YZ
|
|
||||||
delta_mm[X_AXIS] = da * steps_to_mm[X_AXIS];
|
|
||||||
delta_mm[Y_HEAD] = db * steps_to_mm[B_AXIS];
|
|
||||||
delta_mm[Z_HEAD] = dc * steps_to_mm[C_AXIS];
|
|
||||||
delta_mm[B_AXIS] = (db + dc) * steps_to_mm[B_AXIS];
|
|
||||||
delta_mm[C_AXIS] = CORESIGN(db - dc) * steps_to_mm[C_AXIS];
|
|
||||||
#endif
|
|
||||||
#else
|
|
||||||
float delta_mm[ABCE];
|
|
||||||
delta_mm[A_AXIS] = da * steps_to_mm[A_AXIS];
|
|
||||||
delta_mm[B_AXIS] = db * steps_to_mm[B_AXIS];
|
|
||||||
delta_mm[C_AXIS] = dc * steps_to_mm[C_AXIS];
|
|
||||||
#endif
|
|
||||||
delta_mm[E_AXIS] = esteps_float * steps_to_mm[E_AXIS_N(extruder)];
|
|
||||||
|
|
||||||
if (block->steps[A_AXIS] < MIN_STEPS_PER_SEGMENT && block->steps[B_AXIS] < MIN_STEPS_PER_SEGMENT && block->steps[C_AXIS] < MIN_STEPS_PER_SEGMENT) {
|
|
||||||
block->millimeters = ABS(delta_mm[E_AXIS]);
|
|
||||||
}
|
|
||||||
else if (!millimeters) {
|
|
||||||
block->millimeters = SQRT(
|
|
||||||
#if CORE_IS_XY
|
|
||||||
sq(delta_mm[X_HEAD]) + sq(delta_mm[Y_HEAD]) + sq(delta_mm[Z_AXIS])
|
|
||||||
#elif CORE_IS_XZ
|
|
||||||
sq(delta_mm[X_HEAD]) + sq(delta_mm[Y_AXIS]) + sq(delta_mm[Z_HEAD])
|
|
||||||
#elif CORE_IS_YZ
|
|
||||||
sq(delta_mm[X_AXIS]) + sq(delta_mm[Y_HEAD]) + sq(delta_mm[Z_HEAD])
|
|
||||||
#else
|
|
||||||
sq(delta_mm[X_AXIS]) + sq(delta_mm[Y_AXIS]) + sq(delta_mm[Z_AXIS])
|
|
||||||
#endif
|
|
||||||
);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
block->millimeters = millimeters;
|
|
||||||
|
|
||||||
const float inverse_millimeters = 1.0f / block->millimeters; // Inverse millimeters to remove multiple divides
|
const float inverse_millimeters = 1.0f / block->millimeters; // Inverse millimeters to remove multiple divides
|
||||||
|
|
||||||
// Calculate inverse time for this move. No divide by zero due to previous checks.
|
// Calculate inverse time for this move. No divide by zero due to previous checks.
|
||||||
|
|
|
@ -338,6 +338,10 @@ class Planner {
|
||||||
volatile static uint32_t block_buffer_runtime_us; //Theoretical block buffer runtime in µs
|
volatile static uint32_t block_buffer_runtime_us; //Theoretical block buffer runtime in µs
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if ENABLED(BACKLASH_COMPENSATION)
|
||||||
|
static void add_backlash_correction_steps(const int32_t da, const int32_t db, const int32_t dc, const uint8_t dm, block_t * const block, float (&delta_mm)[ABCE]);
|
||||||
|
#endif
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -511,6 +511,30 @@ bool set_probe_deployed(const bool deploy) {
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if ENABLED(MEASURE_BACKLASH_WHEN_PROBING)
|
||||||
|
#if ENABLED(Z_MIN_PROBE_ENDSTOP)
|
||||||
|
#define TEST_PROBE_PIN (READ(Z_MIN_PROBE_PIN) != Z_MIN_PROBE_ENDSTOP_INVERTING)
|
||||||
|
#else
|
||||||
|
#define TEST_PROBE_PIN (READ(Z_MIN_PIN) != Z_MIN_ENDSTOP_INVERTING)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
extern float backlash_measured_mm[];
|
||||||
|
extern uint8_t backlash_measured_num[];
|
||||||
|
|
||||||
|
/* Measure Z backlash by raising nozzle in increments until probe deactivates */
|
||||||
|
static void measure_backlash_with_probe() {
|
||||||
|
if (backlash_measured_num[Z_AXIS] == 255) return;
|
||||||
|
|
||||||
|
float start_height = current_position[Z_AXIS];
|
||||||
|
while (current_position[Z_AXIS] < (start_height + BACKLASH_MEASUREMENT_LIMIT) && TEST_PROBE_PIN)
|
||||||
|
do_blocking_move_to_z(current_position[Z_AXIS] + BACKLASH_MEASUREMENT_RESOLUTION, MMM_TO_MMS(BACKLASH_MEASUREMENT_FEEDRATE));
|
||||||
|
|
||||||
|
// The backlash from all probe points is averaged, so count the number of measurements
|
||||||
|
backlash_measured_mm[Z_AXIS] += current_position[Z_AXIS] - start_height;
|
||||||
|
backlash_measured_num[Z_AXIS]++;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Used by run_z_probe to do a single Z probe move.
|
* @brief Used by run_z_probe to do a single Z probe move.
|
||||||
*
|
*
|
||||||
|
@ -678,6 +702,10 @@ static float run_z_probe() {
|
||||||
return NAN;
|
return NAN;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if ENABLED(MEASURE_BACKLASH_WHEN_PROBING)
|
||||||
|
measure_backlash_with_probe();
|
||||||
|
#endif
|
||||||
|
|
||||||
#if MULTIPLE_PROBING > 2
|
#if MULTIPLE_PROBING > 2
|
||||||
probes_total += current_position[Z_AXIS];
|
probes_total += current_position[Z_AXIS];
|
||||||
if (p > 1) do_blocking_move_to_z(current_position[Z_AXIS] + Z_CLEARANCE_MULTI_PROBE, MMM_TO_MMS(Z_PROBE_SPEED_FAST));
|
if (p > 1) do_blocking_move_to_z(current_position[Z_AXIS] + Z_CLEARANCE_MULTI_PROBE, MMM_TO_MMS(Z_PROBE_SPEED_FAST));
|
||||||
|
|
|
@ -38,7 +38,7 @@ opt_enable PIDTEMPBED FIX_MOUNTED_PROBE Z_SAFE_HOMING \
|
||||||
FWRETRACT ARC_P_CIRCLES ADVANCED_PAUSE_FEATURE CNC_WORKSPACE_PLANES CNC_COORDINATE_SYSTEMS \
|
FWRETRACT ARC_P_CIRCLES ADVANCED_PAUSE_FEATURE CNC_WORKSPACE_PLANES CNC_COORDINATE_SYSTEMS \
|
||||||
POWER_LOSS_RECOVERY POWER_LOSS_PIN POWER_LOSS_STATE FAST_FILE_TRANSFER \
|
POWER_LOSS_RECOVERY POWER_LOSS_PIN POWER_LOSS_STATE FAST_FILE_TRANSFER \
|
||||||
LCD_PROGRESS_BAR LCD_PROGRESS_BAR_TEST PINS_DEBUGGING \
|
LCD_PROGRESS_BAR LCD_PROGRESS_BAR_TEST PINS_DEBUGGING \
|
||||||
MAX7219_DEBUG LED_CONTROL_MENU CASE_LIGHT_ENABLE CASE_LIGHT_USE_NEOPIXEL CODEPENDENT_XY_HOMING
|
MAX7219_DEBUG LED_CONTROL_MENU CASE_LIGHT_ENABLE CASE_LIGHT_USE_NEOPIXEL CODEPENDENT_XY_HOMING BACKLASH_COMPENSATION BACKLASH_GCODE
|
||||||
opt_set FANMUX0_PIN 53
|
opt_set FANMUX0_PIN 53
|
||||||
exec_test $1 $2 "RAMPS with 2 extruders, RRDFGSC, Linear ABL, LEDs, and many options"
|
exec_test $1 $2 "RAMPS with 2 extruders, RRDFGSC, Linear ABL, LEDs, and many options"
|
||||||
|
|
||||||
|
|
Reference in a new issue