Bed Levelling using multiple Z motors
-
Re: Bed Levelling using multiple Z motors
i can't get it to work can someone help me out? corrections applied after probing during tilt calibration seem to be incorrect, causing the bed to remain uneven or the calibration process to fail.
• Printer Model: Modix Big-120X
• Firmware Version: 3.4.5
• Z-Motors: Four independent Z-motors controlled via the Duex Expansion board.
• Probe Type: BLTouch
• Z-Probe Offset: X = -1, Y = 38config.g ;Motor to stepper motor driver mapping_________________________________________________________ M584 X5 Y1 Z7:8:6:9 E3:4 P3 ; M584 X5 Y1 Z7:8:6:9 E3:4 P3 P3Driver mapping M671 X-185:-185:1268:1268 Y-46:668:668:-46 S5 Bed_duex.g M558 H15 F80 ; This raises the probing height from 4mm to 15mm, to increase the range in which the tilt calibration can adjust the bed. M566 Z20 ; Reducing the Z jerk a slight bit M203 Z100 ; Reducing max Z speed a bit. M201 Z60 ; Reducing Z acceleration a slight bit M98 P"config_probe.g" ; Load Z-probe data T-1 ; deselect any tools if !move.axes[0].homed || !move.axes[1].homed || !move.axes[2].homed ; If the printer hasn't been homed, home it G28 G29 S2 ; cancel mesh bed compensation M290 R0 S0 ; cancel baby stepping G90 ; absolute moves G1 Z15 F400 ; insure Z starting position is high enough to avoid probing errors G1 X{(move.axes[0].min + move.axes[0].max) / 2 - 1} Y{(move.axes[1].min + move.axes[1].max) / 2 + 38} F6000 ; Beweeg naar het dynamisch berekende midden met probe offset (homez_middle) G30 ; do single probe which sets Z to trigger height of Z probe M671 X-185:-185:1268:1268 Y-46:668:668:-46 S5 ;M584 X5 Y1 Z7:6:9:8 E3:4 P3 ; --- level bed --- while true G30 P0 X{move.axes[0].min + 2 - sensors.probes[0].offsets[0]} Y{move.axes[1].min + 2 - sensors.probes[0].offsets[1]} Z-99999 ; FL G30 P1 X{move.axes[0].min + sensors.probes[0].offsets[0] + 2} Y{move.axes[1].max + sensors.probes[0].offsets[1] - 2} Z-99999 ; BL G30 P2 X{move.axes[0].max + sensors.probes[0].offsets[0] - 2} Y{move.axes[1].max + sensors.probes[0].offsets[1] - 2} Z-99999 ; BR G30 P3 X{move.axes[0].max - 2 - sensors.probes[0].offsets[0]} Y{move.axes[1].min + 2 - sensors.probes[0].offsets[1]} Z-99999 S4 ; FR ; check results - exit loop if results are good if move.calibration.initial.deviation < 0.02 set var.success = true break ; check pass limit - exit loop if pass limit reached if iterations = 5 set var.success = false break G1 X{(move.axes[0].min + move.axes[0].max) / 2 - 1} Y{(move.axes[1].min + move.axes[1].max) / 2 + 38} F6000 ; Beweeg naar het dynamisch berekende midden met probe offset M558 H5 ; BLTouch probing settings M558 F180 ; reset BLTouch probing settings to default M566 Z30 ; reset jerk M203 Z400 ; reset max speed M201 Z240 ; reset acceleration M98 P"config_probe.g" G30 ; do single probe which sets Z to trigger height of Z probe if {global.idex} = 1 M18 XYU ; release XYU stepper motors else M18 XY ; release XY stepper motors
-
@Tim_fransman the M584 order should match the order of the pivot points in M671.
So make sure probe point 1 is driver 7 and so on. You probably have the orders wrong