Bed leveling but not during print

I have a workhorse I just updated with the Meteor 285 tool head, magnetic bed, and runout sensor. When I manually do bed leveling from the menu on the printer it works just fine. Then when I try to print, the nozzle misses the wipe pad vertically and then only goes halfway across the bed to level. It has been calibrated, firmware updated, etc. I’m not sure what is wrong. It is a print I have successfully printed on other upgraded printers (the rocktopus test print from Lulzbot).

What version of CuraLE are you running? What version of the firmware? After updating the firmware, did you set your toolhead from the menu on the printer?

Can you post the GCODE that’s generated that you’re running?

At least until it gets to the part when it’s starting the first layer.

I am using version 4.13.10 of CuraLE and the latest firmware from that version. I did set the toolhead from the menu on the printer. I’m not sure how to post the GCODE that is generated. If you can tell me how to do that I can post it.

I would also like to add that I had to put in a new SD card because it disappeared. I copied the files from another SD card from a working printer to the new SD card.

To post the gcode, save to disk, and open that file, if you’ve been writing to SD card, you could just open what’s on the SD card.

Towards the top of the GCODE file, you’ll see the wiping/leveling section:

This is pulled from GCODE generated for a Workhorse with the MET285. The only wipe code is to issue the firmware sequence with the G12 command. This is the same sequence that is called by the menu when you do “Clean Nozzle”. After heating up, it then does the probing (bed leveling). This is similarly achieved with a single firmware command - G29.

The G12 sequence as defined in the firmware is:

#elif ENABLED(Workhorse)
    #define WIPE_SEQUENCE_COMMANDS 
G28O ; home xyz as needed
M117 Wiping nozzle ; display message
T0 ; ensure it's on tool 0 
G1 X-17 Y25 Z10 F4000; move above the wipe pad
G1 Z1 ; should be nozzle slightly into the wipe pad material, unless the wipe pad is too short
M114; report position
G1 X-17 Y25; wipe back and forth
G1 X-17 Y95
G1 X-17 Y25
G1 X-17 Y95
G1 X-17 Y25
G1 X-17 Y95
G1 X-17 Y25
G1 X-17 Y95
G1 X-17 Y25
G1 X-17 Y95
G1 X-17 Y25
G1 X-17 Y95
G1 Z15; lift nozzle
M400; wait for movements to complete
M117 Wipe Complete; display message

Basically, go to X-17 Y25 Z1 and move back and forth.

So, if it’s too high, there’s a few things that could be happening: The wipe pad may be squished down too low, or the MET285 could be mounted too high. Since the Workhorse gets the initial Z (prior to bed leveling) by hitting the top of the frame and measuring down, it may not be low enough to hit the wipe pad if the MET285 is not seated completely, or if something is causing the Z limit switches to be hit early.

Can you post a video of the behavior you’re seeing? I am not sure what would cause the nozzle to only go halfway across the bed with the G29 command coming from GCODE or from the printer’s menu.

;FLAVOR:Marlin
;TIME:2182
;Filament used: 0.881091m
;Layer height: 0.3
;MINX:98.317
;MINY:98.255
;MINZ:0.4
;MAXX:181.689
;MAXY:181.732
;MAXZ:18.4
;Generated with Cura_SteamEngine 4.13.10
M82 ;absolute extrusion mode
;This G-Code has been generated specifically for the LulzBot TAZ Workhorse | MET285

;SETTINGS
;Nozzle diameter = 0.5mm
;Filament name = 3D-Fuel Pro PLA+
;Filament type = PLA (Easy Printing) 2.85
;Filament weight = ~7.03g
;Extruder temp = M109 S230
;Bed temp = M190 S60

;The following lines can be uncommented for printer specific fine tuning
;More information can be found at Gcode | Marlin Firmware
;
;M92 E420 ;Set Axis Steps-per-unit
;M301 P21.0 I1.78 D61.93 ;Set Hotend PID
;M906 E160 ;Digipot Motor Current ((875mA-750)/5+135) = 160
;
M73 P0 ; clear GLCD progress bar
M75 ; start GLCD timer
M117 Starting rocktopus_WH-MET285-05… ; progress indicator message on LCD
M107 ; disable fans
M420 S0 ; disable previous leveling matrix
M900 K0.05 ; set linear advance K factor
G90 ; absolute positioning
M82 ; set extruder to absolute mode
G92 E0 ; set extruder position to 0
M140 S60 ; start bed heating up
M109 R180 ; soften filament before homing Z
G28 ; Home all axis
G1 E-15 F100 ; retract filament
M109 R180 ; wait for extruder to reach wiping temp
M104 S160 ; set extruder to probe temp
M106 S255 ; turn fan on to help drop temp
; Use M206 below to adjust nozzle wipe position (Replace “{machine_nozz1e_z_offset}” to adjust Z value)
; X ~ (+)left/(-)right, Y ~ (+)front/(-)back, Z ~ (+)down/(-)up
M206 X0 Y0 Z0
M117 Wiping… ; progress indicator message on LCD
G12 ; wiping sequence
M206 X0 Y0 Z0 ; reseting stock nozzle position ### CAUTION: changing this line can affect print quality ###
M107 ; turn off part cooling fan
M109 R160 ; wait for extruder to reach probe temp
M117 Probing… ; progress indicator message on LCD
G29 ; start auto-leveling sequence
M420 S1 ; activate bed level matrix
G1 X0 Y0 Z15 F5000 ; move up off last probe point
G4 S1 ; pause
M400 ; wait for moves to finish
M117 Heating… ; progress indicator message on LCD
M190 R60 ; wait for bed to reach printing temp
M109 R230 ; wait for extruder to reach printing temp
G1 Z2 E0 F75 ; prime tiny bit of filament into the nozzle
M117 Printing rocktopus_WH-MET285-05… ; progress indicator message on LCD

Seems the printer is losing a bunch of steps in Y getting stuck somewhere in the wiping and then being in the wrong place to start the probe on the front left disc.

Definitely a possibility, I do recall reports of loose Y axis belts and loose grub screws on the stepper motor gears on some workhorses. If the MET285 is sitting at a different height, it could be catching more than the previous toolhead.

I just understand why when I do the bed leveling from the printer it works just fine, but when I go to print it doesn’t.

This is when i print from Octoprint

And this is when I do the bed leveling from the printer.

The wipe procedure should be returning to the same spot and going back and forth from where it initially hits the wipe pad.

It starts here, at the correct spot in the pad:

But by the end is off the pad here:

Stepping through the frames of the video, I do not see any where the bed is not moving, so it doesn’t appear to be a loose belt or gear, but the FPS limits accuracy there.

What I did notice was the sound of the Y axis limit switch clicking exactly when it stops moving on the X axis. https://youtu.be/ieU8SXnq3IQ?t=110

Because that limit switch is hit, it is ending the movement command, which was moving in both the X and Y. Then it goes to the next command, which is to probe the current location, which isn’t above the washer since movement was canceled.

So the underlying cause is the Y-axis shift during the wipe. Something is reducing the distance the bed is moving when the bed moves forward during the wipe. You can easily rule out drag on the nozzle from the wipe by pulling out the wipe pad and doing a quick test. This drag should not be the sole reason for failure, but if there’s another weak link, like an issue with a stepper or stepper driver, this resistance could be causing the issue.