4 Z Motor Gantry levelling
-
@Adamfilip if its anything like the voron then gantry may drop more in one corner than the others.
Best is to use the iteration feature to probe the bed as many times as required to get it level.
We have an example using iteration here https://teamgloomy.github.io/useful_macros.html -
Also, the frame (including bed mount) and the gantry need to be square to avoid skew errors from either the belt runs or the gantry.
Your drawings don't show how the bed is installed either, I will assume it's a fixed bed mount (no springs etc).
-
@oliof Bed is hard mounted and very ridgid, no flex, frame is very stiff with reinforced steel corners,
verticals are 40x40 Extrusion and rest is a mix of 20x40 and 20x20. Using Exoslides for motion on XYZ. its very solid.@jay_s_uk Z motor are Exoslide Worm gears, so gantry does not drop when power is off.
@Phaedrux the idea of an endstop per is a good one and im considering it if i have enough ports remaining
Here is a video showing the build/setup of my machine,.ignore the background noise.. my laundry dryer is running lol
-
@Adamfilip said in 4 Z Motor Gantry levelling:
Bed is hard mounted and very ridgid, no flex, frame is very stiff with reinforced steel corners,
The combination of 4 leadscrews and a very rigid bed is over-constrained, because it only takes 3 points to define a plane. The use of 4 leadscrew bed levelling is appropriate when the bed is less rigid so that it can twist a little.
-
@dc42 bed is not moving. just XY gantry received the levelling. and the gantry is not that ridgid
-
@Phaedrux now I need to figure out how to Home Z the Gantry to 4 endstops first and then still use Z probe for general Z homing and Mesh generation
-
@Adamfilip said in 4 Z Motor Gantry levelling:
@dc42 bed is not moving. just XY gantry received the levelling. and the gantry is not that ridgid
OK, then 4-leadscrew levelling should be usable. Can you try running G32 several times in succession and posting the output here? I would like to see how the corrections change with repeated runs.
-
@dc42 i run a macro for gantry levelling
this is the codeG90 G30 P0 X25 Y15 Z-99999 ; probe near a leadscrew G30 P1 X25 Y250 Z-99999 ; probe near a leadscrew G30 P2 X265 Y250 Z-99999 ; probe near a leadscrew G30 P3 X265 Y15 Z-99999 S4 ; probe near a leadscrew and calibrate 4 motors
this is the result
-
When I run G32 nothing happens
-
@Adamfilip you need to put your macro into bed.g for G32 to run I believe
-
@Adamfilip G32 runs file bed.g. It's OK to run a different macro explicitly instead.
It looks to me that your macro converges well after two iterations, because the corrections made the in third iteration are small. So I suggest you use a while-loop to execute those G30 commands twice. No need to mess with multiple endstops.
-
@Adamfilip said in 4 Z Motor Gantry levelling:
@Phaedrux now I need to figure out how to Home Z the Gantry to 4 endstops first and then still use Z probe for general Z homing and Mesh generation
If you have the endstops available, you need to use M574 to create a Z endstop and use all 4 pins with + between them. Make sure the order of the endstops matches the order of the drivers in M584. Then home Z normally with a G1 H1 Z move. Each motor will move until its corresponding endstop is triggered.
Example here: https://docs.duet3d.com/en/User_manual/Connecting_hardware/Z_probe_auto_levelling#axis-levelling-using-endstops
You can then follow that up with a G32 to use the probe to do any fine correction if you think that is needed.