Auto mesh/bed leveling not working
-
I am struggling with my new IR sensor and auto mesh leveling.
I have read the various setup instructions various times, including the blog post by dc42. The sensor offset is calibrated and the leveling routine displays the mesh height points at the end. However, when I actually come to print, the nozzle crashes into the bed. The bed is slightly higher than the Z end-stop point so to me this suggests that the mesh is not being used when printing.
Do I need to disable the normal Z end-stop to get this to work? I'm actually surprised it's still used and would have thought the Z stop would now be handled by the probe, but they seem to be independent.
Really need some help diagnosing this because I don't get it.
-
What printer?
-
It's a heavily modified Wanhao i3 Plus, so Cartesian coords.
-
Here's my config if it helps:
; General preferences G90 ; Send absolute coordinates... M83 ; ...but relative extruder moves ; Network (omitted) ; Drives M569 P0 S0 ; Drive 0 goes backwards M569 P1 S0 ; Drive 1 goes backwards M569 P2 S1 ; Drive 2 goes forwards M569 P4 S0 ; Drive 4 goes backwards M584 X0 Y1 Z2 E4 ; Apply custom drive mapping M350 X256 Y256 Z256 I0 ; Configure microstepping without interpolation M350 E16 I1 ; Configure extruder microstepping with interpolation M92 X1280 Y1280 Z6400 E837 ; Set steps per mm M566 X900 Y900 Z12 E120 ; Set maximum instantaneous speed changes (mm/min) M203 X12000 Y12000 Z300 E3000 ; Set maximum speeds (mm/min) M201 X1000 Y400 Z100 E5000 ; Set accelerations (mm/s^2) M906 X867 Y867 Z585 E400 I30 ; Set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout ; Axis Limits M208 X0 Y0 Z0 S1 ; Set axis minima M208 X200 Y200 Z180 S0 ; Set axis maxima ; Endstops M574 X1 Y1 Z1 S0 ; Set active low endstops ; Z-Probe M558 P1 ; Set Z probe to use IR sensor G31 P500 X0 Y-25 Z2.6 ; Set Z probe trigger value, offset and trigger height M557 X25:175 Y25:175 S50 ; Define mesh grid for bed compensation with 50mm steps G29 S1 ; Load the last bed mesh autocalibration ; Heaters M305 P0 T100000 B3950 C0 R4700 ; Set thermistor + ADC parameters for heater 0 (Wanhao MK3 Bed) M307 H0 A34.7 C96.1 D0.7 S1.00 V24.3 B0 ; Use PID on bed heater M143 H0 S120 ; Set temperature limit for heater 0 to 120C M305 P1 T100000 B4725 C7.06e-8 R4700 ; Set thermistor + ADC parameters for heater 1 (E3D v6) M143 H1 S280 ; Set temperature limit for heater 1 to 280C M305 P2 T100000 B4725 C7.06e-8 R4700 ; Set thermistor + ADC parameters for heater 2 (E3D v6) M307 H2 A309.1 C143.8 D2.5 S1.00 V24.5 B0 ; Set PID of E3D v6 M143 H2 S280 ; Set temperature limit for heater 2 to 280C ; Fans M106 P0 S0 I0 F500 H-1 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off M106 P1 S0 I0 F500 H-1 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned off M106 P2 S0 I0 F500 H-1 ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned off ; Tools M563 P0 D0 H2 ; Define tool 0 G10 P0 X0 Y0 Z0 ; Set tool 0 axis offsets G10 P0 R0 S0 ; Set initial tool 0 active and standby temperatures to 0C ; Miscellaneous T0 ; Select first tool
And the bed.g
M561 ; clear any bed transform G28 ; home all axes ; Probe the bed at N points G30 P0 X25 Y25 H0 Z-99999 G30 P1 X25 Y175 H0 Z-99999 G30 P2 X175 Y175 H0 Z-99999 G30 P3 X175 Y25 H0 Z-99999 G30 P4 X100 Y100 H0 Z-99999 ; Run a detailed bed mesh levelling G29
-
Hoping to get some info on this?
-
Thanks for the help. First class support you get from Duet.
-
I suspect you are homing Z in your slicer start GCode, with mesh bed compensation already enabled. There is a known issue in firmware 1.21 and earlier if you do this using a Z endstop switch, especially if you Z home at different XY positions. So i suggest you try one or both of the following:
-
Upgrade to firmware 2.0RC6 and see if that resolves the problem.
-
In the homez.g file and the Z homing section of homeall.g, add command G29 S2 to clear the height map before Z homing. After Z homing, reload the height map, either in homeall.g/homez.g (if you always want to use mesh bed compensation) or in your slicer start GCode (after the homing command), using G29 S1.
-
-
Thanks, that seems to have fixed it (mostly).