3 independant Z-Endstops

I’m thinking of a printer design, which has 3 more or less independent Bed-Z-Axes on linear rails driven by a belt. When stepper power is cut, the axes will likely start dropping.

Would it be possible in Klipper to go the following approach:

  • Do a “reference move” towards Z-Max
  • Hit 3 Endstops independently on Z-Max on each Z-Axis
  • Do the actual homing move against a single Z-Min

I’m not really sure what you’re asking. If you are asking if it’s possible to home to Z max, but use a separate (more accurate) switch to set the Z position, then it may be possible to do that today, but it’s complex.

One can define the Z-max endstop switches as regular endstops in the [stepper_z] config sections. Then define the z min switch in a [probe] config section. Then after homing, one can issue a PROBE command to move towards and trigger the z-min switch. One can then use a macro to call SET_GCODE_OFFSET Z=... to set the Z position using that z-min switch. Yes - this solution is complex and it wont work if a bed probe is also needed. Maybe it gives some ideas though.

Cheers,
-Kevin

Many thanks for coming back to me.

I guess your answer fits pretty well.
The idea is / was to have 3 Z-Towers with linear rails and driven by a belt. These 3 Z-Towers should carry a magnetically mounted heat bed.

To have this idea working properly, I would have to ensure that these 3 towers are perfectly synchronized, which cannot be secured once the motor power is turned off.

So I was thinking of a “pre home” move, i.e. hitting 3 endstops at the base of the towers to have them synchronized and then the “real” homing towards Z-min.

Unfortunately the idea apparently does not work out since I do not want to omit the possibility to use a bed probe.