Make sure the motors do not disingage during pause to change filament

What is the problem?
I want to change filament when paused but I always seem to move the motors in some way then when I resume, it is of center, as if it is skipped.

What did you already try to solve it?
I used the GCODE examples given in the snippets for tthe pause and resume functions, I tried looking into changing the gcode but it does not seem to affect the pause motors at all. An example of a sample would be amazing.

Additional information about your setup (OctoPrint version, OctoPi version, printer, firmware, octoprint.log, serial.log or output on terminal tab, ...)

Think the behavior depends on your printers firmware. For Marlin you can use M18 or M84 to disable the steppers, but you have to specify which stepper should be disabled:
M18 E
or
M84 E
otherwise all steppers will be disabled.

Hi, I am using Marlin 1.1.8 and the thing is I want the motors to stay engaged, not disabled. Is there a gcode to do that?

O.k. as you said you want this for changing filament so I thought it was mandatory to disable only the E-stepper so it could spin free for a manual filament changing while the other steppers (X,Y,Z) stay engaged, that's what both of the commands above do (in Marlin you can use M18 or M84).

A M84 (M18) alone without a stepper declared will disable all steppers. So if you want (for whatever reason) all steppers stay engaged, just delete the M84 (M18) command.

Does he want an X/Y home after the resume?

No, it should just resume the print after the change. @BerndJM, thanks I will give it a shot :slight_smile:

I know this is an old topic but I am having the same issue.
I am trying to print 2 color key tags, there are only 9 layers and I pause at layer 7 to change color.
I have an Ender 3 Max with a micro-swiss direct drive extruder. The spring tension arm on it does not release the filament as the motor gear still has a good hold on the filament. The only way to remove the filament is to disable the E-drive so I can turn the wheel to remove and reinstall the filament.

Sending an M18 E (or M84 E) does nothing and all 4 stepper motors are still locked.
If I send an M18 alone, then all motors unlock. But now they easily move and throw off the alignment.
M17 will lock them all. If I just try to lock the other 3 motors (M17 X Y Z) it will lock all 4 motors.

So it is all locked or all unlocked. I can not just unlock the extruder only.

My work around for this is to pause at layer 7, send an M18 command through the Octoprint terminal window which will unlock all motors. Change the filament, then send a G28 command which will auto-home all axis. Then simply resume printing.

I can do this as I am only printing small key tags, I wouldn't be able to do this on a larger print as there will be no room to auto-home.

I am using OctoPrint 1.7.3, Python 3.7.3, OctoPi 0.18.0, Marlin Firmware 2.0.9.1

Can I ask anyone to try this to see how you can just unlock the extruder only. Use the Octoprint terminal window. You don't need to warm up your printer, just send the commands and see what happens.

Thank you

You may have a look on the second post:

You also may have a look on these plugins:

Thank you for your quick reply.
I have tried the M18 E command with no success. Marlin says it will unlock just the motor that is stipulated, but it does not.
I have also tried various plug-ins, with the same result. It's still the same command. Weather a plug-in sends it or I do from the terminal the result is still the same.

Are you able to send an M18 E command and have it only unlock the extruder?

That's probably a question (or maybe bug report) for Marlin - I can see the relevant code in Marlin but I don't understand everything to be able to tell you whether it is working or not.

Can you use M600?

I tried that as well. Since the direct drive extruder has only a couple of millimeters between the gear and the end of the bowden tube, when it retracts the softer filament at the tip gets stuck inside the bowden tube and now becomes stuck. Then I have to remove the e-clip and lift the tube away from the extruder and cut off the blob at the end in order to pull it out. So it is best for me to do it manually by only disabling the extruder motor so I can unwind the filament and pull it out before it blobs. But using an "M18 E" command does not release the motor. At the moment all I can do it "M18" to release them all and then auto-home after the change to set the proper co-ordinates, then continue printing. So far that works with the small items I am printing.