Multiple Z probes and multiple Z axis for IDEX
-
@fcwilt thank you
-
@moe-adams9093
I've asked this several times before and called it "mini-Z axis". A separate motor (or servo) driving the extruder up/down.
It's easier to implement when all toolholders have their own mini-Z motor. The real z-steppers only run on level change, but z-hop and meshlevelling is separate.
Unfortunately there is no way to poll the momentary z-position (internally called newZ) from the object model. Otherwise it would be possible to simulate a gcode file, extract newZ and write a post processing script to re-map the z-correction to a different axis (individual mini-z motor) -
To implement this, I think the two mini Z axes would need to be configured as new axes, for example V and W. You would need to home them in some way, then set them to mid position (probably best to make V0 and W0 the mid positions).
You could use the slicer post-processing facility to change the retraction and reprime commands to use them for Z hop. Or we could change M207 command to allow axes other than Z to be used for hop.
To use them for mesh bed compensation, we would need to implement the following:
- Support using an axis other than Z to apply the compensation.
- We already support using axes other than X and U to define the grid, so using U and Y for one would not be a problem.
- Support applying two height maps at the same time.
I will put this on the wish list for RRF 3.5. It would almost certainly be supported on Duet 3 only (including 3 Mini), due to shortage of flash memory space on Duet 2. Support would be for stepper motors only, not servos.
-
@dc42 said in Multiple Z probes and multiple Z axis for IDEX:
Support applying two height maps at the same time.
I agree with most of the above and can't wait to test it on my hashPrinter, but it might be necessary to have 4 heightmaps.
With the new found solution to probe the bed only where the print objects are, I guess it will not be overkill.@dc42 said in Multiple Z probes and multiple Z axis for IDEX:
Support would be for stepper motors only, not servos.
I've written code for ATTiny MCU to run dc-encoder motors with step/dir/enable signals. I think it's much easier to do the same for servos.
Only drawback would be the unflexible stepper-pin assignment on Duet3 hardware. (the STM port uses a board.txt file to define new steppers from 'any' GPIO pin)
I'm thinking of a toolboard with one onboard driver and some GPIO pins to define the extra mini-Z motor. -
@dc42 awesome that’s exactly what we’re looking for this feature or implementation should solve most IDEX specially when we’re dealing with large build volume. Thank you
-
@o_lampe why 4 height maps?
-
@dc42 said in Multiple Z probes and multiple Z axis for IDEX:
@o_lampe why 4 height maps?
Worst case is: 4 tools working in copy mode on my hashPrinter.
Usual case: 2 tools working simultaneously, with 2 other tools idle. (switching tools and their heightmaps back and forth)I guess, I could get away with only one heightmap, but more is better, especially with low 1st layer height.
-
@o_lampe said in Multiple Z probes and multiple Z axis for IDEX:
I guess, I could get away with only one heightmap, but more is better, especially with low 1st layer height.
So for a given XY location there is a lot of Z variation between tools which would preclude using a single height map?
Frederick
-
@fcwilt
I hope not!
But every tool runs on a different pair of V-slot extrusions, which might or might not be perfectly straight and aligned.
For now I have only one Z-probe and heightmap, but the plan is to add a probe to every tool, if only for the purpose to do a single G30 for each tool. -
@dc42 said in Multiple Z probes and multiple Z axis for IDEX:
We already support using axes other than X and U to define the grid, so using U and Y for one would not be a problem.
Is it possible to add one more axis to define grid such as V because the new machine I’m designing it should be coreXYUV with double gantry where it can print completely 2 different model at the same time