Welcome! Log In Create A New Profile

Advanced

Functionality of Z_STEPPER_AUTO_ALIGN/G34 for quadruple steppers

Posted by madurani 
Functionality of Z_STEPPER_AUTO_ALIGN/G34 for quadruple steppers
September 18, 2021 10:25AM
I have an issue with functionality of command G34(Z_STEPPER_AUTO_ALIGN) on quadruple z-steppers.
Compilation of firmware and behavior of G34 looks fine, but result of align is horrible.
After every iteration inaccuracy gets worse.

Recv: Decreasing Accuracy Detected.
Recv: Did 10 of 10
Recv: Accuracy: 4.02

At first I have been using double and triple z-steppers and result of align was almost perfect(achieved accuracy was 0.02mm), but after adding last fourth motor align got very bad.

Here are outputs from G34:
Double Z-Steppers:
[...]
Send: G34
Recv: 
Recv: G34 Iteration: 1
Recv: DIFFERENCE Z1-Z2=0.07
Recv: G34 Iteration: 2
Recv: DIFFERENCE Z1-Z2=0.12
Recv: Decreasing Accuracy Detected.
Recv: G34 Iteration: 3
Recv: DIFFERENCE Z1-Z2=0.08
Recv: G34 Iteration: 4
Recv: echo:busy: processing
Recv: DIFFERENCE Z1-Z2=0.03
Recv: G34 Iteration: 5
Recv: DIFFERENCE Z1-Z2=0.03
Recv: Did 5 of 5
Recv: Accuracy: 0.03

Triple Z-Steppers:

Recv: G34
Recv: G34 Iteration: 1
Recv: echo:busy: processing
Recv: DIFFERENCE Z1-Z2=0.08 Z2-Z3=0.01 Z3-Z1=0.09
Recv: G34 Iteration: 2
Recv: DIFFERENCE Z1-Z2=0.01 Z2-Z3=0.03 Z3-Z1=0.03
Recv: G34 Iteration: 3
Recv: DIFFERENCE Z1-Z2=0.03 Z2-Z3=0.03 Z3-Z1=0.00
Recv: G34 Iteration: 4
Recv: DIFFERENCE Z1-Z2=0.01 Z2-Z3=0.00 Z3-Z1=0.01
Recv: Target accuracy achieved.
Recv: Did 4 of 10
Recv: Accuracy: 0.01
Output for quadruple Z-Steppers is different. Missing measure value for z3 and z4. Output include only value for z1 and z2.
quadruple Z-Steppers

Recv: 
Recv: G34 Iteration: 4
Recv: DIFFERENCE Z1-Z2=0.25
Recv: G34 Iteration: 5
Recv: DIFFERENCE Z1-Z2=0.25
Recv: G34 Iteration: 6
Recv: DIFFERENCE Z1-Z2=0.24
Recv: G34 Iteration: 7
Recv: DIFFERENCE Z1-Z2=0.05
Recv: G34 Iteration: 8
Recv: DIFFERENCE Z1-Z2=0.08
Recv: G34 Iteration: 9
Recv: DIFFERENCE Z1-Z2=0.10
Recv: Decreasing Accuracy Detected.
Recv: G34 Iteration: 10
Recv: DIFFERENCE Z1-Z2=0.25
Recv: Decreasing Accuracy Detected.
Recv: Did 10 of 10
Recv: Accuracy: 0.56
Re: Functionality of Z_STEPPER_AUTO_ALIGN/G34 for quadruple steppers
September 19, 2021 12:48PM
After compilation of new latest marlin firmware, command G34 work with quadruple Z-steppers properly:

Send: G34
Recv: G34 Iteration: 1
Recv: echo:busy: processing
Recv: Z2-Z1=0.10 Z3-Z2=0.05 Z3-Z1=0.05 Z4-Z3=0.03 Z4-Z2=0.02 Z4-Z1=0.07
Recv: G34 Iteration: 2
Recv: Z2-Z1=0.05 Z3-Z2=0.06 Z3-Z1=0.01 Z4-Z3=0.01 Z4-Z2=0.05 Z4-Z1=0.01
Recv: G34 Iteration: 3
Recv: Z2-Z1=0.01 Z3-Z2=0.01 Z3-Z1=0.02 Z4-Z3=0.01 Z4-Z2=0.00 Z4-Z1=0.01
Recv: Decreasing Accuracy Detected.
Recv: Target accuracy achieved.
Recv: Did 3 of 10
Recv: Accuracy: 0.02
Re: Functionality of Z_STEPPER_AUTO_ALIGN/G34 for quadruple steppers
October 05, 2021 10:35PM
Maybe you can help me out. I just upgraded my printer to 3 belt driven z axes. I did the initial bed leveling by hand to get it close then ran a G34 command to finish the leveling. The leveling was worse after 5 iterations. Tried again and it got worse still. I leveled it by hand again to where the bed was within .01 of tolerances ran g34 again and same thing got worse with every iteration. the documentation is pretty thin on this. What is #define Z_STEPPER_ALIGN_KNOWN_STEPPER_POSITIONS asking for? Is it the position of the leverage/pivot/ points where the bed connects with the z steppers? in my case z1 -95,0 z2 565,0 z3 230, 645. The xy print area 490x465. I've read that sometimes the steppers are in the wrong position so that the bed can never be leveled, that is what I think should be z1 marlin thinks is z2. How would I test that out. with only 2 steppers it's pretty easy but with 3 it's a little harder. Is there a way to have marlin run only z1 then z2 then z3 to verify marlin and I agree on the stepper assignments. I'm on Marlin 2.0.x bugfix from10/3/21. Here are some examples of 5 iteration g34 runs
Send: G34
Recv:
Recv: G34 Iteration: 1
Recv: PROBEPT_0: 17.62
Recv: PROBEPT_1: 21.65
Recv: PROBEPT_2: 21.50
Recv: Calculated Z1=19.85 Z2=19.79 Z3=18.83
Recv:
Recv: Z2-Z1=0.06 Z3-Z2=0.95 Z3-Z1=1.01
Recv:
Recv: G34 Iteration: 2
Recv: PROBEPT_0: 18.60
Recv: PROBEPT_1: 22.66
Recv: PROBEPT_2: 23.17
Recv: Calculated Z1=20.99 Z2=21.10 Z3=19.97
Recv:
Recv: Z2-Z1=0.11 Z3-Z2=1.13 Z3-Z1=1.02
Recv:
Recv: G34 Iteration: 3
Recv: PROBEPT_0: 19.71
Recv: PROBEPT_1: 23.71
Recv: PROBEPT_2: 25.03
Recv: Calculated Z1=22.25 Z2=22.56 Z3=21.24
Recv:
Recv: Z2-Z1=0.31 Z3-Z2=1.32 Z3-Z1=1.01
Recv:
Recv: G34 Iteration: 4
Recv: PROBEPT_0: 20.99
Recv: PROBEPT_1: 24.77
Recv: PROBEPT_2: 27.01
Recv: Calculated Z1=23.61 Z2=24.16 Z3=22.66
Recv:
Recv: Z2-Z1=0.55 Z3-Z2=1.50 Z3-Z1=0.95
Recv:
Recv: G34 Iteration: 5
Recv: PROBEPT_0: 22.40
Recv: PROBEPT_1: 25.81
Recv: PROBEPT_2: 29.08
Recv: Calculated Z1=25.04 Z2=25.86 Z3=24.18
Recv:
Recv: Z2-Z1=0.82 Z3-Z2=1.68 Z3-Z1=0.86
Recv: Did 5 of 5
Recv: Accuracy: 6.68

Recv: G34 Iteration: 1
Recv: PROBEPT_0: 20.57
Recv: PROBEPT_1: 20.49
Recv: PROBEPT_2: 20.59
Recv: Calculated Z1=20.55 Z2=20.58 Z3=20.57
Recv:
Recv: Z2-Z1=0.03 Z3-Z2=0.01 Z3-Z1=0.02
Recv:
Recv: G34 Iteration: 2
Recv: PROBEPT_0: 20.60
Recv: PROBEPT_1: 20.52
Recv: PROBEPT_2: 20.62
Recv: Calculated Z1=20.58 Z2=20.61 Z3=20.60
Recv:
Recv: Z2-Z1=0.03 Z3-Z2=0.01 Z3-Z1=0.02
Recv:
Recv: G34 Iteration: 3
Recv: PROBEPT_0: 20.65
Recv: PROBEPT_1: 20.55
Recv: PROBEPT_2: 20.65
Recv: Calculated Z1=20.62 Z2=20.64 Z3=20.64
Recv:
Recv: Z2-Z1=0.03 Z3-Z2=0.00 Z3-Z1=0.03
Recv:
Recv: G34 Iteration: 4
Recv: PROBEPT_0: 20.70
Recv: PROBEPT_1: 20.58
Recv: PROBEPT_2: 20.68
Recv: Calculated Z1=20.65 Z2=20.68 Z3=20.68
Recv:
Recv: Z2-Z1=0.03 Z3-Z2=0.00 Z3-Z1=0.03
Recv:
Recv: G34 Iteration: 5
Recv: PROBEPT_0: 20.76
Recv: PROBEPT_1: 20.61
Recv: PROBEPT_2: 20.72
Recv: Calculated Z1=20.70 Z2=20.73 Z3=20.74
Recv:
Recv: Z2-Z1=0.03 Z3-Z2=0.01 Z3-Z1=0.04
Recv: Did 5 of 5
Recv: Accuracy: 0.14
Sorry, only registered users may post in this forum.

Click here to login