Notifications
Clear all

XL not running mesh bed leveling prior to printing  

  RSS
nealbert
(@nealbert)
Member
XL not running mesh bed leveling prior to printing

For some unknown reason my XL has stopped running mesh bed leveling prior to printing.  Needless to say, my first layer is generally screwed up.

I'm pretty sure I didn't turn mesh bed leveling off.  But, how do you turn it on?  I can't find anything in the XL menus or in the slicer software.

I tried re-loading the firmware, but my firmware is up to date, so it's won't re-load.  I guess I could go back a version, then update back to the latest?

Any thoughts???

Posted : 10/11/2023 10:48 pm
nealbert
(@nealbert)
Member
Topic starter answered:
RE: XL not running mesh bed leveling prior to printing

OK here's a clue....the part I was going to print was originally imported into Prusa Slicer to be printed on my Mk3S+.  The project was saved with the Mk3S+ as the selected printer.  I then opened that same project and simply changed the printer to an XL printer.  Changed nothing else.  Now, mesh bed leveling doesn't happen.  Coincidence?  I don't think so.

There must be a setting in the slicer software than turns ON/OFF MBL, but I can't find it.  Someone please help.

Posted : 11/11/2023 3:25 am
fwiffo
(@fwiffo)
Member
RISPONDI: XL not running mesh bed leveling prior to printing

It's the initial gcode you're missing, go to printer settings, initial gcode, if should contain something like this:

 

M17 ; enable steppers
M862.3 P "XL" ; printer model check
M862.5 P2 ; g-code level check
M862.6 P"Input shaper" ; FW feature check
G90 ; use absolute coordinates
M83 ; extruder relative mode
; set print area
M555 X{first_layer_print_min[0]} Y{first_layer_print_min[1]} W{(first_layer_print_max[0]) - (first_layer_print_min[0])} H{(first_layer_print_max[1]) - (first_layer_print_min[1])}
; inform about nozzle diameter
M862.1 P[nozzle_diameter]
; set & wait for bed and extruder temp for MBL
M140 S[first_layer_bed_temperature] ; set bed temp
M104 T0 S{((filament_type[0] == "PC" or filament_type[0] == "PA") ? (first_layer_temperature[0] - 25) : (filament_type[0] == "FLEX" ? 210 : (filament_type[0]=~/.*PET.*/ ? 195 : 170)))} ; set extruder temp for bed leveling
M109 T0 R{((filament_type[0] == "PC" or filament_type[0] == "PA") ? (first_layer_temperature[0] - 25) : (filament_type[0] == "FLEX" ? 210 : (filament_type[0]=~/.*PET.*/ ? 195 : 170)))} ; wait for temp
; home carriage, pick tool, home all
G28 XY
M84 E ; turn off E motor
G28 Z
M190 S[first_layer_bed_temperature] ; wait for bed temp
G29 G ; absorb heat
; move to the nozzle cleanup area
G1 X{(min(((((first_layer_print_min[0] + first_layer_print_max[0]) / 2) < ((print_bed_min[0] + print_bed_max[0]) / 2)) ? (((first_layer_print_min[1] - 7) < -2) ? 70 : (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32)) : (((first_layer_print_min[1] - 7) < -2) ? 260 : (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32))), first_layer_print_min[0])) + 32} Y{(min((first_layer_print_min[1] - 7), first_layer_print_min[1]))} Z{5} F4800
M302 S160 ; lower cold extrusion limit to 160C
G1 E{-(filament_type[0] == "FLEX" ? 4 : 2)} F2400 ; retraction for nozzle cleanup
; nozzle cleanup
M84 E ; turn off E motor
G29 P9 X{((((first_layer_print_min[0] + first_layer_print_max[0]) / 2) < ((print_bed_min[0] + print_bed_max[0]) / 2)) ? (((first_layer_print_min[1] - 7) < -2) ? 70 : (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32)) : (((first_layer_print_min[1] - 7) < -2) ? 260 : (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32)))} Y{(first_layer_print_min[1] - 7)} W{32} H{7}
G0 Z10 F480 ; move away in Z
{if first_layer_bed_temperature[0] > 60}
G0 Z70 F480 ; move away (a bit more) in Z
G0 X30 Y{print_bed_min[1]} F6000 ; move away in X/Y for higher bed temperatures
{endif}
M106 S100 ; cool off the nozzle
M107 ; stop cooling off the nozzle - turn off the fan
; MBL
M84 E ; turn off E motor
G29 P1 ; invalidate mbl & probe print area
G29 P1 X30 Y0 W50 H20 C ; probe near purge place
G29 P3.2 ; interpolate mbl probes
G29 P3.13 ; extrapolate mbl outside probe area
G29 A ; activate mbl
M104 S[first_layer_temperature] ; set extruder temp
G1 Z10 F720 ; move away in Z
G0 X30 Y-8 F6000 ; move next to the sheet
; wait for extruder temp
M109 T0 S{first_layer_temperature[0]}
;
; purge
;
G92 E0 ; reset extruder position
G0 X{(0 == 0 ? 30 : (0 == 1 ? 150 : (0 == 2 ? 210 : 330)))} Y{(0 < 4 ? -8 : -5.5)} ; move close to the sheet's edge
G1 E{(filament_type[0] == "FLEX" ? 4 : 2)} F2400 ; deretraction after the initial one before nozzle cleaning
G0 E10 X40 Z0.2 F500 ; purge
G0 X70 E9 F800 ; purge
G0 X{70 + 3} Z{0.05} F{8000} ; wipe, move close to the bed
G0 X{70 + 3 * 2} Z0.2 F{8000} ; wipe, move quickly away from the bed
G92 E0 ; reset extruder position

M593 X T2 F38.4
M593 Y T2 F39.2

 

Posted : 11/11/2023 4:01 pm
Share: