PR: Enable multiple z_thermal_adjust sections

Multiple `z_thermal_adjust` sections may now be defined in config to compensate for different sources of z thermal expansion that happen at different rates.

Signed-off-by: Gareth Farrington <gareth@waves.ky>
This commit is contained in:
Gareth Farrington 2024-02-03 09:16:38 -08:00
parent a3b4b39ff1
commit ade7a4df3c
No known key found for this signature in database
3 changed files with 31 additions and 10 deletions

View file

@ -1240,7 +1240,9 @@ the nature of skew correction these lengths are set via gcode. See
Temperature-dependant toolhead Z position adjustment. Compensate for vertical
toolhead movement caused by thermal expansion of the printer's frame in
real-time using a temperature sensor (typically coupled to a vertical section
of frame).
of frame). Multiple sections may be defined as [z_thermal_adjust component] to
compensate for thermal expansion in different printer components, such as the
hotend, heatbreak and frame.
See also: [extended g-code commands](G-Codes.md#z_thermal_adjust).

View file

@ -1486,15 +1486,19 @@ The following commands are available when the
is enabled.
#### SET_Z_THERMAL_ADJUST
`SET_Z_THERMAL_ADJUST [ENABLE=<0:1>] [TEMP_COEFF=<value>] [REF_TEMP=<value>]`:
Enable or disable the Z thermal adjustment with `ENABLE`. Disabling does not
`SET_Z_THERMAL_ADJUST [COMPONENT=name] [ENABLE=<0:1>] [TEMP_COEFF=<value>]
[REF_TEMP=<value>]`:
- `COMPONENT`: if multiple thermal adjustments are defined use `COMPONENT` to
specify which one to adjust.
- `ENABLE`: Enable or disable the Z thermal adjustment. Disabling does not
remove any adjustment already applied, but will freeze the current adjustment
value - this prevents potentially unsafe downward Z movement. Re-enabling can
potentially cause upward tool movement as the adjustment is updated and applied.
`TEMP_COEFF` allows run-time tuning of the adjustment temperature coefficient
- `TEMP_COEFF`: allows run-time tuning of the adjustment temperature coefficient
(i.e. the `TEMP_COEFF` config parameter). `TEMP_COEFF` values are not saved to
the config. `REF_TEMP` manually overrides the reference temperature typically
set during homing (for use in e.g. non-standard homing routines) - will be reset
the config.
- `REF_TEMP` manually overrides the reference temperature typically set during
homing (for use in e.g. non-standard homing routines) - will be reset
automatically upon homing.
### [z_tilt]