faster Z probe: move Z 150um relatively to last measurement. If PINDA is triggered at the beginning of measurement, move Z 500um higher and repeat measurement
This commit is contained in:
parent
6a864ffbab
commit
f293d61d3d
1 changed files with 20 additions and 6 deletions
|
@ -967,15 +967,29 @@ inline bool find_bed_induction_sensor_point_z(float minimum_z, uint8_t n_iter, i
|
||||||
#endif //TMC2130
|
#endif //TMC2130
|
||||||
for (uint8_t i = 0; i < n_iter; ++ i)
|
for (uint8_t i = 0; i < n_iter; ++ i)
|
||||||
{
|
{
|
||||||
// Move up the retract distance.
|
|
||||||
current_position[Z_AXIS] += .5f;
|
current_position[Z_AXIS] += 0.15;
|
||||||
go_to_current(homing_feedrate[Z_AXIS]/60);
|
float z_bckp = current_position[Z_AXIS];
|
||||||
// Move back down slowly to find bed.
|
go_to_current(homing_feedrate[Z_AXIS]/60);
|
||||||
|
// Move back down slowly to find bed.
|
||||||
current_position[Z_AXIS] = minimum_z;
|
current_position[Z_AXIS] = minimum_z;
|
||||||
go_to_current(homing_feedrate[Z_AXIS]/(4*60));
|
go_to_current(homing_feedrate[Z_AXIS]/(4*60));
|
||||||
// we have to let the planner know where we are right now as it is not where we said to go.
|
// we have to let the planner know where we are right now as it is not where we said to go.
|
||||||
update_current_position_z();
|
update_current_position_z();
|
||||||
if (! endstop_z_hit_on_purpose())
|
//printf_P(PSTR("Zs: %f, Z: %f, delta Z: %f"), z_bckp, current_position[Z_AXIS], (z_bckp - current_position[Z_AXIS]));
|
||||||
|
if (abs(current_position[Z_AXIS] - z_bckp) < 0.025) {
|
||||||
|
printf_P(PSTR("PINDA triggered immediately, move Z higher and repeat measurement\n"));
|
||||||
|
current_position[Z_AXIS] += 0.5;
|
||||||
|
go_to_current(homing_feedrate[Z_AXIS]/60);
|
||||||
|
current_position[Z_AXIS] = minimum_z;
|
||||||
|
go_to_current(homing_feedrate[Z_AXIS]/(4*60));
|
||||||
|
// we have to let the planner know where we are right now as it is not where we said to go.
|
||||||
|
update_current_position_z();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if (! endstop_z_hit_on_purpose())
|
||||||
goto error;
|
goto error;
|
||||||
#ifdef TMC2130
|
#ifdef TMC2130
|
||||||
if (READ(Z_TMC2130_DIAG) != 0) goto error; //crash Z detected
|
if (READ(Z_TMC2130_DIAG) != 0) goto error; //crash Z detected
|
||||||
|
@ -2748,7 +2762,7 @@ void go_home_with_z_lift()
|
||||||
current_position[Y_AXIS] = Y_MIN_POS+0.2;
|
current_position[Y_AXIS] = Y_MIN_POS+0.2;
|
||||||
// Clamp to the physical coordinates.
|
// Clamp to the physical coordinates.
|
||||||
world2machine_clamp(current_position[X_AXIS], current_position[Y_AXIS]);
|
world2machine_clamp(current_position[X_AXIS], current_position[Y_AXIS]);
|
||||||
go_to_current(homing_feedrate[X_AXIS]/60);
|
go_to_current(homing_feedrate[X_AXIS]/20);
|
||||||
// Third move up to a safe height.
|
// Third move up to a safe height.
|
||||||
current_position[Z_AXIS] = Z_MIN_POS;
|
current_position[Z_AXIS] = Z_MIN_POS;
|
||||||
go_to_current(homing_feedrate[Z_AXIS]/60);
|
go_to_current(homing_feedrate[Z_AXIS]/60);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue