Znaleziono 4 wyniki

autor: morf
07 sty 2022, 14:27
Forum: Kalibracja, problemy
Temat: [Marlin] G34 - Z_STEPPER_AUTO_ALIGN
Odpowiedzi: 8
Odsłony: 1886

Re: [Marlin] G34 - Z_STEPPER_AUTO_ALIGN

Temat do zamkniecia, glupota uzytkownika/konstruktora :DD
autor: morf
07 sty 2022, 13:00
Forum: Kalibracja, problemy
Temat: [Marlin] G34 - Z_STEPPER_AUTO_ALIGN
Odpowiedzi: 8
Odsłony: 1886

Re: [Marlin] G34 - Z_STEPPER_AUTO_ALIGN

Zrzucilem debugga ale szczerze mowiac nie widze tutaj nic niepokojacego...

Kod: Zaznacz cały

Recv: 2nd Probe Z:6.09 Discrepancy:0.00
Recv: <<< Probe::run_z_probe  X9.00 Y86.00 Z6.09
Recv: >>> do_blocking_move_to  X9.00 Y86.00 Z6.09
Recv: >  X9.00 Y86.00 Z7.09
Recv: <<< do_blocking_move_to  X9.00 Y86.00 Z7.09
Recv: <<< Probe::probe_at_point  X9.00 Y86.00 Z7.09
Recv: > Z1 measured position is 5.26
Recv: Probing X200.00 Y105.00
Recv: >>> Probe::probe_at_point  X9.00 Y86.00 Z7.09
Recv: ...(200.00, 105.00, raise, 0, probe_relative)
Recv:   current_position= X9.00 Y86.00 Z7.09 :
Recv: >>> do_blocking_move_to  X9.00 Y86.00 Z7.09
Recv: >  X164.00 Y86.00 Z7.09
Recv: <<< do_blocking_move_to  X164.00 Y86.00 Z7.09
Recv:   current_position= X164.00 Y86.00 Z7.09 : Probe::set_deployed
Recv: deploy: 1
Recv: >>> Probe::run_z_probe  X164.00 Y86.00 Z7.09
Recv: >>> Probe::probe_down_to_z  X164.00 Y86.00 Z7.09
Recv: >>> do_blocking_move_to  X164.00 Y86.00 Z7.09
Recv: >  X164.00 Y86.00 Z0.83
Recv:  T:28.25 /0.00 B:25.80 /0.00 @:0 B@:0
Recv: echo:busy: processing
Recv: <<< do_blocking_move_to  X164.00 Y86.00 Z0.83
Recv:   current_position= X164.00 Y86.00 Z5.89 : sync_plan_position
Recv: <<< Probe::probe_down_to_z  X164.00 Y86.00 Z5.89
Recv: 1st Probe Z:5.89
Recv: >>> do_blocking_move_to  X164.00 Y86.00 Z5.89
Recv: >  X164.00 Y86.00 Z6.89
Recv: <<< do_blocking_move_to  X164.00 Y86.00 Z6.89
Recv: >>> Probe::probe_down_to_z  X164.00 Y86.00 Z6.89
Recv: >>> do_blocking_move_to  X164.00 Y86.00 Z6.89
Recv: >  X164.00 Y86.00 Z0.83
Recv: <<< do_blocking_move_to  X164.00 Y86.00 Z0.83
Recv:   current_position= X164.00 Y86.00 Z5.90 : sync_plan_position
Recv: <<< Probe::probe_down_to_z  X164.00 Y86.00 Z5.90
Recv: 2nd Probe Z:5.90 Discrepancy:-0.01
Recv: <<< Probe::run_z_probe  X164.00 Y86.00 Z5.90
Recv: >>> do_blocking_move_to  X164.00 Y86.00 Z5.90
Recv: >  X164.00 Y86.00 Z6.90
Recv: <<< do_blocking_move_to  X164.00 Y86.00 Z6.90
Recv: <<< Probe::probe_at_point  X164.00 Y86.00 Z6.90
Recv: > Z2 measured position is 5.07
Recv: 
Recv: Z2-Z1=0.20
Recv: > Z1 corrected by 0.20
Recv: >>> do_blocking_move_to  X164.00 Y86.00 Z6.90
Recv: >  X164.00 Y86.00 Z7.10
Recv: <<< do_blocking_move_to  X164.00 Y86.00 Z7.10
Recv: > Z2 corrected by 0.00
Recv: >>> do_blocking_move_to  X164.00 Y86.00 Z7.10
Recv: >  X164.00 Y86.00 Z7.10
Recv: <<< do_blocking_move_to  X164.00 Y86.00 Z7.10
Recv: > probing all positions.
Recv: 
Recv: G34 Iteration: 4
Recv: Probing X200.00 Y105.00
Recv: >>> Probe::probe_at_point  X164.00 Y86.00 Z7.10
Recv: ...(200.00, 105.00, raise, 0, probe_relative)
Recv:   current_position= X164.00 Y86.00 Z7.10 :
Recv: >>> do_blocking_move_to  X164.00 Y86.00 Z7.10
Recv: >  X164.00 Y86.00 Z7.10
Recv: <<< do_blocking_move_to  X164.00 Y86.00 Z7.10
Recv:   current_position= X164.00 Y86.00 Z7.10 : Probe::set_deployed
Recv: deploy: 1
Recv: >>> Probe::run_z_probe  X164.00 Y86.00 Z7.10
Recv: >>> Probe::probe_down_to_z  X164.00 Y86.00 Z7.10
Recv: >>> do_blocking_move_to  X164.00 Y86.00 Z7.10
Recv: >  X164.00 Y86.00 Z0.83
Recv:  T:28.25 /0.00 B:25.80 /0.00 @:0 B@:0
Recv: echo:busy: processing
Recv: <<< do_blocking_move_to  X164.00 Y86.00 Z0.83
Recv:   current_position= X164.00 Y86.00 Z5.89 : sync_plan_position
Recv: <<< Probe::probe_down_to_z  X164.00 Y86.00 Z5.89
Recv: 1st Probe Z:5.89
Recv: >>> do_blocking_move_to  X164.00 Y86.00 Z5.89
Recv: >  X164.00 Y86.00 Z6.89
Recv: <<< do_blocking_move_to  X164.00 Y86.00 Z6.89
Recv: >>> Probe::probe_down_to_z  X164.00 Y86.00 Z6.89
Recv: >>> do_blocking_move_to  X164.00 Y86.00 Z6.89
Recv: >  X164.00 Y86.00 Z0.83
Recv: <<< do_blocking_move_to  X164.00 Y86.00 Z0.83
Recv:   current_position= X164.00 Y86.00 Z5.90 : sync_plan_position
Recv: <<< Probe::probe_down_to_z  X164.00 Y86.00 Z5.90
Recv: 2nd Probe Z:5.90 Discrepancy:-0.01
Recv: <<< Probe::run_z_probe  X164.00 Y86.00 Z5.90
Recv: >>> do_blocking_move_to  X164.00 Y86.00 Z5.90
Recv: >  X164.00 Y86.00 Z6.90
Recv: <<< do_blocking_move_to  X164.00 Y86.00 Z6.90
Recv: <<< Probe::probe_at_point  X164.00 Y86.00 Z6.90
Recv: > Z2 measured position is 5.07
Recv: Probing X45.00 Y105.00
Recv: >>> Probe::probe_at_point  X164.00 Y86.00 Z6.90
Recv: ...(45.00, 105.00, raise, 0, probe_relative)
Recv:   current_position= X164.00 Y86.00 Z6.90 :
Recv: >>> do_blocking_move_to  X164.00 Y86.00 Z6.90
Recv: >  X9.00 Y86.00 Z6.90
Recv:  T:28.25 /0.00 B:25.68 /0.00 @:0 B@:0
Recv: echo:busy: processing
Recv: <<< do_blocking_move_to  X9.00 Y86.00 Z6.90
Recv:   current_position= X9.00 Y86.00 Z6.90 : Probe::set_deployed
Recv: deploy: 1
Recv: >>> Probe::run_z_probe  X9.00 Y86.00 Z6.90
Recv: >>> Probe::probe_down_to_z  X9.00 Y86.00 Z6.90
Recv: >>> do_blocking_move_to  X9.00 Y86.00 Z6.90
Recv: >  X9.00 Y86.00 Z0.83
Recv: <<< do_blocking_move_to  X9.00 Y86.00 Z0.83
Recv:   current_position= X9.00 Y86.00 Z6.09 : sync_plan_position
Recv: <<< Probe::probe_down_to_z  X9.00 Y86.00 Z6.09
Recv: 1st Probe Z:6.09
Recv: >>> do_blocking_move_to  X9.00 Y86.00 Z6.09
Recv: >  X9.00 Y86.00 Z7.09
Recv: <<< do_blocking_move_to  X9.00 Y86.00 Z7.09
Recv: >>> Probe::probe_down_to_z  X9.00 Y86.00 Z7.09
Recv: >>> do_blocking_move_to  X9.00 Y86.00 Z7.09
Recv: >  X9.00 Y86.00 Z0.83
Recv:  T:28.25 /0.00 B:25.68 /0.00 @:0 B@:0
Recv: echo:busy: processing
Recv: <<< do_blocking_move_to  X9.00 Y86.00 Z0.83
Recv:   current_position= X9.00 Y86.00 Z6.10 : sync_plan_position
Recv: <<< Probe::probe_down_to_z  X9.00 Y86.00 Z6.10
Recv: 2nd Probe Z:6.10 Discrepancy:-0.00
Recv: <<< Probe::run_z_probe  X9.00 Y86.00 Z6.10
Recv: >>> do_blocking_move_to  X9.00 Y86.00 Z6.10
Recv: >  X9.00 Y86.00 Z7.10
Recv: <<< do_blocking_move_to  X9.00 Y86.00 Z7.10
Recv: <<< Probe::probe_at_point  X9.00 Y86.00 Z7.10
Recv: > Z1 measured position is 5.27
Recv: 
Recv: Z2-Z1=0.20
Recv: > Z1 corrected by 0.20
Recv: >>> do_blocking_move_to  X9.00 Y86.00 Z7.10
Recv: >  X9.00 Y86.00 Z7.30
Recv: <<< do_blocking_move_to  X9.00 Y86.00 Z7.30
Recv: > Z2 corrected by 0.00
Recv: >>> do_blocking_move_to  X9.00 Y86.00 Z7.30
Recv: >  X9.00 Y86.00 Z7.30
Recv: <<< do_blocking_move_to  X9.00 Y86.00 Z7.30
Recv: > probing all positions.
Recv: 
Recv: G34 Iteration: 5
Recv: Probing X45.00 Y105.00
Recv: >>> Probe::probe_at_point  X9.00 Y86.00 Z7.30
Recv: ...(45.00, 105.00, raise, 0, probe_relative)
Recv:   current_position= X9.00 Y86.00 Z7.30 :
Recv: >>> do_blocking_move_to  X9.00 Y86.00 Z7.30
Recv: >  X9.00 Y86.00 Z7.30
Recv: <<< do_blocking_move_to  X9.00 Y86.00 Z7.30
Recv:   current_position= X9.00 Y86.00 Z7.30 : Probe::set_deployed
Recv: deploy: 1
Recv: >>> Probe::run_z_probe  X9.00 Y86.00 Z7.30
Recv: >>> Probe::probe_down_to_z  X9.00 Y86.00 Z7.30
Recv: >>> do_blocking_move_to  X9.00 Y86.00 Z7.30
Recv: >  X9.00 Y86.00 Z0.83
Recv: <<< do_blocking_move_to  X9.00 Y86.00 Z0.83
Recv:   current_position= X9.00 Y86.00 Z6.09 : sync_plan_position
Recv: <<< Probe::probe_down_to_z  X9.00 Y86.00 Z6.09
Recv: 1st Probe Z:6.09
Recv: >>> do_blocking_move_to  X9.00 Y86.00 Z6.09
Recv: >  X9.00 Y86.00 Z7.09
Recv: <<< do_blocking_move_to  X9.00 Y86.00 Z7.09
Recv: >>> Probe::probe_down_to_z  X9.00 Y86.00 Z7.09
Recv: >>> do_blocking_move_to  X9.00 Y86.00 Z7.09
Recv: >  X9.00 Y86.00 Z0.83
Recv:  T:28.25 /0.00 B:25.68 /0.00 @:0 B@:0
Recv: echo:busy: processing
Recv: <<< do_blocking_move_to  X9.00 Y86.00 Z0.83
Recv:   current_position= X9.00 Y86.00 Z6.10 : sync_plan_position
Recv: <<< Probe::probe_down_to_z  X9.00 Y86.00 Z6.10
Recv: 2nd Probe Z:6.10 Discrepancy:-0.01
Recv: <<< Probe::run_z_probe  X9.00 Y86.00 Z6.10
Recv: >>> do_blocking_move_to  X9.00 Y86.00 Z6.10
Recv: >  X9.00 Y86.00 Z7.10
Recv: <<< do_blocking_move_to  X9.00 Y86.00 Z7.10
Recv: <<< Probe::probe_at_point  X9.00 Y86.00 Z7.10
Recv: > Z1 measured position is 5.27
Recv: Probing X200.00 Y105.00
Recv: >>> Probe::probe_at_point  X9.00 Y86.00 Z7.10
Recv: ...(200.00, 105.00, raise, 0, probe_relative)
Recv:   current_position= X9.00 Y86.00 Z7.10 :
Recv: >>> do_blocking_move_to  X9.00 Y86.00 Z7.10
Recv: >  X164.00 Y86.00 Z7.10
Recv:  T:28.13 /0.00 B:25.68 /0.00 @:0 B@:0
Recv: echo:busy: processing
Recv: <<< do_blocking_move_to  X164.00 Y86.00 Z7.10
Recv:   current_position= X164.00 Y86.00 Z7.10 : Probe::set_deployed
Recv: deploy: 1
Recv: >>> Probe::run_z_probe  X164.00 Y86.00 Z7.10
Recv: >>> Probe::probe_down_to_z  X164.00 Y86.00 Z7.10
Recv: >>> do_blocking_move_to  X164.00 Y86.00 Z7.10
Recv: >  X164.00 Y86.00 Z0.83
Recv: <<< do_blocking_move_to  X164.00 Y86.00 Z0.83
Recv:   current_position= X164.00 Y86.00 Z5.89 : sync_plan_position
Recv: <<< Probe::probe_down_to_z  X164.00 Y86.00 Z5.89
Recv: 1st Probe Z:5.89
Recv: >>> do_blocking_move_to  X164.00 Y86.00 Z5.89
Recv: >  X164.00 Y86.00 Z6.89
Recv: <<< do_blocking_move_to  X164.00 Y86.00 Z6.89
Recv: >>> Probe::probe_down_to_z  X164.00 Y86.00 Z6.89
Recv: >>> do_blocking_move_to  X164.00 Y86.00 Z6.89
Recv: >  X164.00 Y86.00 Z0.83
Recv: <<< do_blocking_move_to  X164.00 Y86.00 Z0.83
Recv:   current_position= X164.00 Y86.00 Z5.90 : sync_plan_position
Recv: <<< Probe::probe_down_to_z  X164.00 Y86.00 Z5.90
Recv: 2nd Probe Z:5.90 Discrepancy:-0.02
Recv: <<< Probe::run_z_probe  X164.00 Y86.00 Z5.90
Recv: >>> do_blocking_move_to  X164.00 Y86.00 Z5.90
Recv: >  X164.00 Y86.00 Z6.90
Recv: <<< do_blocking_move_to  X164.00 Y86.00 Z6.90
Recv: <<< Probe::probe_at_point  X164.00 Y86.00 Z6.90
Recv: > Z2 measured position is 5.07
Recv: 
Recv: Z2-Z1=0.20
Recv: > Z1 corrected by 0.20
Recv: >>> do_blocking_move_to  X164.00 Y86.00 Z6.90
Recv: >  X164.00 Y86.00 Z7.10
Recv:  T:28.13 /0.00 B:25.68 /0.00 @:0 B@:0
Recv: echo:busy: processing
Recv: <<< do_blocking_move_to  X164.00 Y86.00 Z7.10
Recv: > Z2 corrected by 0.00
Recv: >>> do_blocking_move_to  X164.00 Y86.00 Z7.10
Recv: >  X164.00 Y86.00 Z7.10
Recv: <<< do_blocking_move_to  X164.00 Y86.00 Z7.10
Recv: Did 5 of 5
Recv: Accuracy: 0.20
Recv:   current_position= X164.00 Y86.00 Z7.10 : Probe::set_deployed
Recv: deploy: 0
Recv: >>> do_blocking_move_to  X164.00 Y86.00 Z7.10
Recv: >  X164.00 Y86.00 Z7.10
Recv: <<< do_blocking_move_to  X164.00 Y86.00 Z7.10
Recv: >>> set_axis_never_homed(Z)
Recv: <<< set_axis_never_homed(Z)
Recv: >>> G28  X164.00 Y86.00 Z7.10
Recv: Machine Type: Cartesian
Recv: Probe: FIX_MOUNTED_PROBE
Recv: Probe Offset X36.00 Y19.00 Z-1.83 (Right-Back & Below Nozzle)
Recv: Auto Bed Leveling: BILINEAR (disabled)
Recv: 
Recv: X current: 600 -> 300
Recv: Y current: 700 -> 350
Recv: Raise Z (before homing) by 1.00
Recv: >>> do_blocking_move_to  X164.00 Y86.00 Z7.10
Recv: >  X164.00 Y86.00 Z7.10
Recv: <<< do_blocking_move_to  X164.00 Y86.00 Z7.10
Recv: >>> home_z_safely  X164.00 Y86.00 Z7.10
Recv:   current_position= X164.00 Y86.00 Z7.10 : sync_plan_position
Recv:   destination= X74.00 Y93.00 Z1.83 : home_z_safely
Recv: >>> do_blocking_move_to  X164.00 Y86.00 Z7.10
Recv: >  X74.00 Y93.00 Z7.10
Recv: <<< do_blocking_move_to  X74.00 Y93.00 Z7.10
Recv: >>> homeaxis(Z)
Recv:   current_position= X74.00 Y93.00 Z7.10 : Probe::set_deployed
Recv: deploy: 1
Recv: Probe::do_z_raise(1.00)
Recv: >>> do_blocking_move_to  X74.00 Y93.00 Z7.10
Recv: >  X74.00 Y93.00 Z7.10
Recv: <<< do_blocking_move_to  X74.00 Y93.00 Z7.10
Recv: >>> do_blocking_move_to  X74.00 Y93.00 Z7.10
Recv: >  X74.00 Y93.00 Z7.10
Recv: <<< do_blocking_move_to  X74.00 Y93.00 Z7.10
Recv: Home Fast: -397.50mm
Recv: >>> do_homing_move  X74.00 Y93.00 Z7.10
Recv: ...(Z, -397.50, [4.00])
Recv: <<< do_homing_move  X74.00 Y93.00 Z7.10
Recv: Move Away: 2.00mm
Recv: >>> do_homing_move  X74.00 Y93.00 Z7.10
Recv: ...(Z, 2.00, 4.00)
Recv:  T:28.13 /0.00 B:25.68 /0.00 @:0 B@:0
Recv: echo:busy: processing
Recv: <<< do_homing_move  X74.00 Y93.00 Z7.10
Recv: Re-bump: -4.00mm
Recv: >>> do_homing_move  X74.00 Y93.00 Z7.10
Recv: ...(Z, -4.00, 2.00)
Recv: <<< do_homing_move  X74.00 Y93.00 Z7.10
Recv: >>> set_axis_is_at_home(Z)
Recv: *** Z HOMED WITH PROBE (Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN) ***
Recv: > probe.offset.z = -1.83
Recv: Axis Z home_offset = 0.00 position_shift = 0.00
Recv: > home_offset[Z] = 0.00
Recv:   current_position= X74.00 Y93.00 Z1.83 :
Recv: <<< set_axis_is_at_home(Z)
Recv:   current_position= X74.00 Y93.00 Z1.83 : sync_plan_position
Recv:   current_position= X74.00 Y93.00 Z1.83 : > AFTER set_axis_is_at_home
Recv:   current_position= X74.00 Y93.00 Z1.83 : Probe::set_deployed
Recv: deploy: 0
Recv: >>> do_blocking_move_to  X74.00 Y93.00 Z1.83
Recv: >  X74.00 Y93.00 Z1.83
Recv: <<< do_blocking_move_to  X74.00 Y93.00 Z1.83
Recv: <<< homeaxis(Z)
Recv: <<< home_z_safely  X74.00 Y93.00 Z1.83
Recv:   current_position= X74.00 Y93.00 Z1.83 : sync_plan_position
Recv: Restore driver current...
Recv: X:74.00 Y:93.00 Z:1.83 E:0.00 Count X:5920 Y:7440 Z:732
Recv: <<< G28  X74.00 Y93.00 Z1.83
Recv: <<< G34  X74.00 Y93.00 Z1.83
Recv: ok
Send: M113 S2
Recv: ok
Recv:  T:28.13 /0.00 B:25.57 /0.00 @:0 B@:0
Recv:  T:28.00 /0.00 B:25.57 /0.00 @:0 B@:0
Recv:  T:28.00 /0.00 B:25.68 /0.00 @:0 B@:0

Wymuszenie "z palca accuracy tez nie pomaga"

Kod: Zaznacz cały

Send: G34 T0.05
[...]
Printer seems to support the busy protocol, will adjust timeouts and set busy interval accordingly
[...]
Recv: X:74.00 Y:93.00 Z:1.83 E:0.00 Count X:5920 Y:7440 Z:732
Recv: 
Recv: G34 Iteration: 1
[...]
Recv: 
Recv: Z2-Z1=0.20
Recv: 
Recv: G34 Iteration: 2
[...]
Recv: 
Recv: Z2-Z1=0.20
Recv: 
Recv: G34 Iteration: 3
[...]
Recv: 
Recv: Z2-Z1=0.20
[...]
Recv: 
Recv: G34 Iteration: 4
[...]
Recv: 
Recv: Z2-Z1=0.20
Recv: 
Recv: G34 Iteration: 5
[...]
Recv: 
Recv: Z2-Z1=0.20
[...]
Recv: Did 5 of 5
Recv: Accuracy: 0.20
autor: morf
07 sty 2022, 11:40
Forum: Kalibracja, problemy
Temat: [Marlin] G34 - Z_STEPPER_AUTO_ALIGN
Odpowiedzi: 8
Odsłony: 1886

Re: [Marlin] G34 - Z_STEPPER_AUTO_ALIGN

Dzięki za info, spróbuję z włączonym debugiem.
Ale jeśli dobrze widzę na twoim przykładzie to od razu jest dokładnie wypoziomowane i de facto nic nie zmienia...
autor: morf
07 sty 2022, 10:57
Forum: Kalibracja, problemy
Temat: [Marlin] G34 - Z_STEPPER_AUTO_ALIGN
Odpowiedzi: 8
Odsłony: 1886

[Marlin] G34 - Z_STEPPER_AUTO_ALIGN

Czesc,

[drukarka z konstrukcja bramową, dwa silniki Z na srubach trapezowych]

otoz mam problem, z Marlinowym ficzerem Z_STEPPER_AUTO_ALIGN.

W telegraficznym skrócie, dla mojej konfiguracji powinien probkowac stół po prawej i lewej stronie i odpowiednio wypoziomowac os Z wzgledem stołu.

Otoż faktycznie próbkuje ale dokładnosc jest caly czas ta sama i mam wrazenie ze po takim wyrownaniu jest jeszcze gorzej niz jak stosowalem MECHANICAL_GANTRY_CALIBRATION(czyli dojechanie do góry drukarki i wyrównanie osi metodą bruteforce.

Wrzucilem nawet najnowszego Marlina stable 2.0.9.3 ale jest to samo

Przykladowo:

Kod: Zaznacz cały

Send: G34
Recv: 
Recv: G34 Iteration: 1
Recv: 
Recv: Z2-Z1=0.22
Recv: 
Recv: G34 Iteration: 2
Recv: Z2-Z1=0.22
Recv: 
Recv: G34 Iteration: 3
Recv: Z2-Z1=0.22
Recv: 
Recv: G34 Iteration: 4
Recv: Z2-Z1=0.22
Recv: 
Recv: G34 Iteration: 5
Recv: Z2-Z1=0.22
Recv: Did 5 of 5
Recv: Accuracy: 0.22

wycinek mojego konfiga:

Kod: Zaznacz cały

/**
 * Z Steppers Auto-Alignment
 * Add the G34 command to align multiple Z steppers using a bed probe.
 */
#define Z_STEPPER_AUTO_ALIGN
#if ENABLED(Z_STEPPER_AUTO_ALIGN)
  // Define probe X and Y positions for Z1, Z2 [, Z3 [, Z4]]
  // If not defined, probe limits will be used.
  // Override with 'M422 S<index> X<pos> Y<pos>'
  #define Z_STEPPER_ALIGN_XY { {  45, 105 }, { 200,  105 } }

  /**
   * Orientation for the automatically-calculated probe positions.
   * Override Z stepper align points with 'M422 S<index> X<pos> Y<pos>'
   *
   * 2 Steppers:  (0)     (1)
   *               |       |   2   |
   *               | 1   2 |       |
   *               |       |   1   |
   *
   * 3 Steppers:  (0)     (1)     (2)     (3)
   *               |   3   | 1     | 2   1 |     2 |
   *               |       |     3 |       | 3     |
   *               | 1   2 | 2     |   3   |     1 |
   *
   * 4 Steppers:  (0)     (1)     (2)     (3)
   *               | 4   3 | 1   4 | 2   1 | 3   2 |
   *               |       |       |       |       |
   *               | 1   2 | 2   3 | 3   4 | 4   1 |
   */
  #ifndef Z_STEPPER_ALIGN_XY
    #define Z_STEPPERS_ORIENTATION 0
  #endif

  // Provide Z stepper positions for more rapid convergence in bed alignment.
  // Requires triple stepper drivers (i.e., set NUM_Z_STEPPER_DRIVERS to 3)
  //#define Z_STEPPER_ALIGN_KNOWN_STEPPER_POSITIONS
  #if ENABLED(Z_STEPPER_ALIGN_KNOWN_STEPPER_POSITIONS)
    // Define Stepper XY positions for Z1, Z2, Z3 corresponding to
    // the Z screw positions in the bed carriage.
    // Define one position per Z stepper in stepper driver order.
    #define Z_STEPPER_ALIGN_STEPPER_XY { { 210.7, 102.5 }, { 152.6, 220.0 }, { 94.5, 102.5 } }
  #else
    // Amplification factor. Used to scale the correction step up or down in case
    // the stepper (spindle) position is farther out than the test point.
    #define Z_STEPPER_ALIGN_AMP 1.0       // Use a value > 1.0 NOTE: This may cause instability!
  #endif

  // On a 300mm bed a 5% grade would give a misalignment of ~1.5cm
  #define G34_MAX_GRADE              5    // (%) Maximum incline that G34 will handle
  #define Z_STEPPER_ALIGN_ITERATIONS 5    // Number of iterations to apply during alignment
  #define Z_STEPPER_ALIGN_ACC        0.02 // Stop iterating early if the accuracy is better than this
  #define RESTORE_LEVELING_AFTER_G34      // Restore leveling after G34 is done?
  // After G34, re-home Z (G28 Z) or just calculate it from the last probe heights?
  // Re-homing might be more precise in reproducing the actual 'G28 Z' homing height, especially on an uneven bed.
  #define HOME_AFTER_G34
#endif

Teraz pytanie czy faktycznie tak to ciulowo działa, czy ja coś zle skonfigurowalem...
Ogladalem tez filmik Chrisa na YT i wyglada, ze wszystko mam okej od strony configu.
Ktos moze ma jakies doswiadczenia z feature?

Wróć do „[Marlin] G34 - Z_STEPPER_AUTO_ALIGN”