AnHardt / Marlin

Reprap FW with look ahead. SDcard and LCD support. It works on Gen6, Ultimaker, RAMPS and Sanguinololu
GNU General Public License v3.0
1 stars 1 forks source link

double bump probing as a feature #62

Closed AnHardt closed 7 years ago

AnHardt commented 7 years ago

Why double touch probing is not a good thing.

It's widely believed we can get better probing results when using a double touch when probing.

Let's compare to double touch homing. Or better let's begin with single touch homing. We home to find out out position, so our position is unknown. To find the endstop we have to move into the direction of the endstop. The maximum way we have to move is a bit longer than the axis length. When we arrive at the endstop - when it triggers, the stepper pulses are stopped immediately. It's a sudden stop. No smooth deacceleration is possible. Depending on the speed and the moving mass we lose steps here. Only if we approached slow enough (below jerk speed?) we will not lose steps.

Moving a complete axis length, that slow, takes for ever. To speed up homing, we now make the first approach faster, get a guess about our position, back up a bit and make a second slower approach to get a exact result without losing steps.

What we do in double touch probing is the same. But the difference here is: a. we already know where we are b. if the first approach is to fast we will lose steps here to. But this time there is no second approach to set the position to 0. We are measuring only. The lost steps are permanent until we home the next time.

So if you experienced permanently rising values in M48, you now know why. (Too fast, suddenly stopped, first approach)

What can we do to improve probing? We can use the information about our current position. We can make a really fast, but deaccelerated, move to a place we know it is a bit before the trigger point. And then move the rest of the way really slow.

The result is: We can make a faster first approach. The way is a little shorter. No steps can got lost during stopping the first approach.

This PR makes PROBE_DOUBLE_TOUCH optional and switched off by default.

If you are convinced by my theory, we can drop the double touch code at all and save the new configuration option.