Since I first got my Workhorse printer the nozzle never touched the wiper pad and I had to adjust the position myself in the gcode by adjusting the wipe positions. Now with Cura LE 4.13.10 I see that G12 is used to wipe. The gcode has the following:
; 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 Z{machine_nozzle_z_offset}
I replaced X0 with X-3 (which should make the alignment perfect) but it makes no difference on the printer and the nozzle still misses. I checked the .gcode file that was saved and it does indeed contain the changed line.
I’ve updated the printer firmware. Not that it matters (the issue is the same between toolheads) but I just replaced the toolhead with the Meteor 285.
I will add that barring any issues with homing the x axis, it would seem the printer’s bed has moved from the factory position. They use jigs to position the four bed mounting points precisely so it’s a little strange this would need to be done.
Thanks, I will try the suggestion to go back to manual wiping coords.
The printer has always been like this from day one, and it’s an early Workhorse. I have been slowly reading through the factory assembly and calibration guide to see what adjustments possibly need to be made, although I would expect this just to be down to the positioning of the X axis limit switch (which does not appear to have 3mm of movement available).
Edit: I should also say that I understand you said the bed was positioned in the factory using a jig to adjust the four mounting points. The odd thing is that there’s no sign that these moved, so I initially suspected that the limit switch would have moved instead - nope.
I was having that issue recently and it turned out that I had tpu wrapped around my drive gear on the Y axis. I cleaned it off and that fixed it. Just something you might check.
The Workhorse OHAI is missing this step, but it’s the same as the Taz Pro. Wedge the jig here on both sides and confirm it’s snug with no play. If you have play or it doesn’t fit they assembled it wrong, used the wrong jig, or it moved. When I say both sides, I mean the front left and back left positions. The rightmost mounts are not positioned in this way as they use the other positions to get them in alignment.
Yes, that’s correct (latest Cura LE, latest machine firmware). The wiper pad is missed by 3mm in the x axis with both toolheads. I am now wondering if there was a change to one of the parts in the machine that would account for this difference, possibly in the limit switch mounting area. I will take a look at the production parts to see if I can find any differences.
It’s now wiping correctly by re-applying manual changes to the gcode. Annoyingly, I’ve just noticed that one of the bed-levelling washers is being probed in just the wrong place right now - the nozzle slightly descends into the hole in the hex screw!
Well, this is odd. After much playing around with the console, I have determined that M206 does not apply offsets to coordinates unless directly followed by G28 (auto home). So executing G12 (wipe nozzle) after M206 X3 and G28 works (it shifts the nozzle left 3mm).
Take a look at the following:
G28 # auto home
M114 # report position
X:-48.00 Y:-15.00 Z:295.00 E:0.00 Count X:-4800 Y:-1500 Z:147500
M206 # report home offset
M206 X0.00 Y0.00 Z0.00
So home position is X=-48 and zero offset.
G0 X0 # move to X=0
M114 # report position
X:0.00 Y:-15.00 Z:295.00 E:0.00 Count X:0 Y:-1500 Z:147500
Head moves right 48mm to X=0.
M206 X-10 # set home offset to X-10
M206 # report home offset
M206 X-10.00 Y0.00 Z0.00
M114 # report position
X:0.00 Y:-15.00 Z:295.00 E:0.00 Count X:0 Y:-1500 Z:147500
Home offset is now X-10, nozzle does not move (as expected).
G0 X0 # move to new X0
M114
X:0.00 Y:-15.00 Z:295.00 E:0.00 Count X:0 Y:-1500 Z:147500
Unexpected: head does not move. Offset is not applied.
G28 # auto home
M206 # report home offset
M206 X-10.00 Y0.00 Z0.00
M114 # report position
X:-58.00 Y:-15.00 Z:295.00 E:0.00 Count X:-5800 Y:-1500 Z:147500
I reread the Marlin definition for M206 and that makes total sense that it doesn’t do anything until you rehome since what that changes is the homing position. I honestly didn’t know this either and good on you figuring that out. I guess it’s just obvious so the documentation just doesn’t mention that G28 would be needed for it to take effect.
I haven’t used Marlin on any of my Lulzbots in a long time so I’m not sure if they fixed the start gcode to put the commented out M206 command before or after the G28.
Yeah, the Marlin definition could certainly be clearer, although I’ve seen otherLulzbot printers use the new home location immediately rather than wait for rehoming (there was a thread somewhere on this forum showing a dump from the console). Edit: found it.
In the end I did M206 X3 and then M500 to store the new position (I checked, and previously it had X=0). This also centres my print correctly for the first time. It’s like my printer geometry is off a little.
Thanks for the further explanation - I think that makes sense, but then that means the default start gcode in Cura LE is incorrect - the instructions to move the wipe location omit that a rehome is needed after setting the home offset. The console output I linked to in my previous post from a Taz 6 is also showing different behaviour (does not require a rehome).
Not that shocked, actually. Since the workhorse is still a supported model, a bug report would probably help them put the M206 on the correct side of the G28.