1
$\begingroup$

I set a home offset on my Ender 3 running Marlin firmware so that it starts printing from the corner of a custom build surface which doesn't cover the entire bed:

M206 X-10 Y-10

Now, when I run this:

G1 X0 Y0 Z1

the head moved to 1 mm above the bottom left most edge of the sticker (good!)

However, I notice when I do relative moves like this:

G91
G1 X-1 Y-1

The head actually moves in the opposite direction than you would expect, because it's subtracting the offset from the relative coordinates, which I didn't expect.

Put another way, the following G-code:

M206 X-10 Y-10
G91
G1 X0 Y0

Moves the head to x=20 y=20 measured against the original coordinate system.

Is this expected? It seems rather undesirable behaviour to me. Bug?

$\endgroup$
1
  • $\begingroup$ Hi welcome to 3DPrinting.SE! $\endgroup$
    – 0scar
    Apr 3 '20 at 7:14
1
$\begingroup$

Yes this is expected, with M206 you set a relative offset!

The values specified are added to the endstop position when the axes are referenced.

reference: G-code wiki M206

So when you issue the command M206 X-10 Y-10 twice (or already have an offset set), the offset is 20, 20 (X, Y) and when instructed to move "nothing" (G1 X0 Y0) the printer moves "nothing" from (thus to!) the newly defined origin at (20, 20). Basically it is relative movement from the set coordinate system, not the position of the carriage. In effect you have changed the reference frame, the printer just responds to that action.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.