Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Z Thermal Adjust (was: frame expansion) #32

Closed

Conversation

Piezoid
Copy link
Contributor

@Piezoid Piezoid commented Sep 7, 2022

@Piezoid Piezoid force-pushed the work-frame-expansion-20210410 branch from 87115de to 832506c Compare September 7, 2022 22:55
Use a frame-coupled temperature probe to compensate for thermal
expansion in real-time.

Signed-off by: Robert Pazdzior <robertp@norbital.com>
Add 'current_z_comp', 'frame_ref_temp', and 'state' to get_status.
Match config_reference formatting.

Signed-off by: Robert Pazdzior <robertp@norbital.com>
- move config checks to klippy:connect event
- homing:home_rails_end for reference temp collection
- Simplified homing axis check
- Code cleanup: duplicate line, superfluous if statement
- G-code help message updated to current naming

Signed-off by: Robert Pazdzior <robertp@norbital.com>
Fixed docs reference outdated g-code commands:
SET_FRAME_EXPANSION -> SET_FRAME_COMP
QUERY_FRAME_EXPANSION -> SET_FRAME_COMP

Signed-off by: Robert Pazdzior <robertp@norbital.com>
Implemented the same temperature smooth algorithm used by
heaters. `smooth_time` config parameter is now available,
with a default value of 2 seconds.

Signed-of-by: Robert Pazdzior <robertp@norbital.com>
Adjust offset in increments of the Z step_distance, eliminating excessive
adjustment and noise when position hovers around a step increment value.

Status messages were also reworded for clarity (inactive rather than disabled
when limits reached)

Signed-of-by: Robert Pazdzior <robertp@norbital.com>
Take reference to a temp sensor config section rather than defining one
internally. Primarily for display of frame temp in Klipper front-ends.

Signed-off-by: Robert Pazdzior <robertp@norbital.com>
Signed-off-by: Robert Pazdzior <robertp@norbital.com>
Calculate offset with a user-defined temperature coefficient rather than
linear expansion calculation. Attempting to configure using the old params
will throw a config error supplying the equivalent temp_coeff.

Signed-off-by: Robert Pazdzior <robertp@norbital.com>
Update [frame_expansion_compensation] section to reflect config
for the updated offset calculation method, using only temp_coeff.

Signed-off-by: Robert Pazdzior <robertp@norbital.com>
Non-XY movements no longer remove the expansion offset,
which created a Z 'bounce' on certain moves.

Signed-off-by: Robert Pazdzior <robertp@norbital.com>
Add gcmd to manually set the frame expansion compensation homing reference temperature to the current value.
Temporary (?) work-around for auto-Z calibration plugin, which homes without triggering the `homing:home_rails_end`
event.

Signed-off-by: Robert Pazdzior <robertp@norbital.com>
Warn about move to Moonraker plug-in for this feature.

Signed-off-by: Robert Pazdzior <robertp@norbital.com>
Signed-off-by: Robert Pazdzior <robertp@norbital.com>
Signed-off-by: Robert Pazdzior <robertp@norbital.com>
Signed-off-by: Robert Pazdzior <robertp@norbital.com>
Add optional `TEMPERATURE` parameter to `SET_FRAME_REF_TEMP` to
override homing reference temperature. Overwritten on re-homing.

Signed-off-by: Robert Pazdzior <robertp@norbital.com>
Add optional parameter `COEFF` to `SET_FRAME_COMP` to allow
run-time tuning of the `temp_coeff` parameter.

Signed-off-by: Robert Pazdzior <robertp@norbital.com>
Simplify config using `stepper_z` instead of a user-supplied stepper
to determine the minimum Z adjustment increment.

Signed-off-by: Robert Pazdzior <robertp@norbital.com>
Remove detailed state debugging method and reporting and rework
`QUERY_FRAME_COMP` gcmd output.

Signed-off-by: Robert Pazdzior <robertp@norbital.com>
Module renamed and variables, parameters, etc. updated to reflect
this change as well as for clarity.

Signed-off-by: Robert Pazdzior <robertp@norbital.com>
Signed-off-by: Robert Pazdzior <robertp@norbital.com>
Signed-off-by: Robert Pazdzior <robertp@norbital.com>
Signed-off-by: Robert Pazdzior <robertp@norbital.com>
Use only degrees Celsius, drop reference to Kelvin.

Signed-off-by: Robert Pazdzior <robertp@norbital.com>
Combine functionality of SET_Z_THERMAL_ADJUST, SET_Z_THERMAL_ADJUST_REF,
and QUERY_Z_THERMAL_ADJUST into the SET_Z_THERMAL_ADJUST command.
Signed-off-by: Robert Pazdzior <robertp@norbital.com>
Signed-off-by: Robert Pazdzior <robertp@norbital.com>
Instantiate own temperature sensor object (a la temperature_fan)
for thermal adjustment.

Signed-off-by: Robert Pazdzior <robertp@norbital.com>
Signed-off-by: Robert Pazdzior <robertp@norbital.com>
alchemyEngine and others added 5 commits September 8, 2022 00:57
Signed-off-by: Robert Pazdzior <robertp@norbital.com>
Signed-off-by: Robert Pazdzior <robertp@norbital.com>
Signed-off-by: Robert Pazdzior <robertp@norbital.com>
@Piezoid Piezoid force-pushed the work-frame-expansion-20210410 branch from 832506c to 53e5c6a Compare September 7, 2022 22:58
@bwnance
Copy link
Contributor

bwnance commented Sep 7, 2022

@Piezoid should also add a test for the config options, yeah?

@netweaver1970
Copy link

included in mainline as of today

@Fisheiyy Fisheiyy closed this Oct 9, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants