Homming setup on LinuxCNC

In general, there is a good article about homing configuration. Therefore, I don’t want to repeat it. I just want to share a personal experience and caveats.

Homing is not so straightforward as it might seem. It’s vary depends on installation and hardware.

Lack of tweaks

Might be needed some tweaks to make it works properly. But LinuxCNC has no options to do it easily. Or I have not enough experience to use it properly.

Moving back prior latch

I had a problem with switches. It has a small hysteresis because these are Hall effect sensors. As a result, for some axis I can’t use only switches to do homing. First time it fining the switcher properly. Then, it should go back a bit to disable switch and move to switcher again to find the position more accurately. But the default movement is not enough to disable the switcher. As a result, homing stuck in the middle with error of hitting limit.

I could resolve it only switching to homing by Z-index from scale. In the end, this is more precise, but not all installations has scale with Z-index.

LinuxCNC has no option to adjust a movement back prior the latch cycle. And has no delay or an additional offset to travel a bit more after the switch is off to prevent a bounce.

Switcher overshoot

There is an obvious thing which I didn’t realize: the max acceleration is used within homing. This leads to a measurable breaking distance after a hitting the switch. E.g. the switcher will be always overshooted by V^2/2a. In my case it was 25^2 / (2*20) ~16mm. If you’ll pick a higher speed with the same acceleration the overshoot might be 30mm+. In such case the axis has a real chance to hit the hard limit. Be careful.

Hope, next versions of LinuxCNC receive more homing tweaks to simplify the process and make it safer and faster.