Im now using the Smith3d. Just got my BLT but to tell you the truth I havent try this locking problem since I upgraded to smith3d
Ill give it another try but im in the middle of a 20 hour print right noe
I was using that code until i got my BL touch then after i switched to the smith3d firmware i tried the filament change command M600 and it worked just fine even the filament runout sensor enable command works which it didn’t in the stock firmware.
Sounds Encouraging. Ill try again. Fingers crossed.
Thanks for you help
@wmyhal, I can confirm that my Creality 1.1.5 board, with Marlin 2.0.1, does the same as yours. I was unable to lock or unlock the extruder motor separately from the others. Weird, but there it is.
Use “M18 S9999” before starting the print, while printing or right after the pause happened.
This keeps all motors running and it is unlikely to move the print head by accident. Default is somewhat 120 seconds, which can be far to short. With the command the timeout is set to 9999 seconds, which should be fine at all time.
I do it that way all the time. No need to turn on/off the steppers. They are already on, when you pause a print and just changing the timeout prevents marlin from “ever” turning them off during pause state.
The whole reason I started this thread is that I thought all the axes were locked while I changed the filament. As shown in the screenshot, I left the timeout at 0. The help bubble says that means the steppers all stay locked. I will have to test this.
I use it only when needed. The default time out is still there, as I don´t want to have the motors to be locked in place under any other situation, so the general timeout is useful.
I wished there would be a custom command you can insert into the filament change cura setup. So I have to manually tweak the gcode or remember to shoot the M18 command before changing the filament.
BTW: if you notice the movement of the head you can perform a XY homing. Usually it should be accurate enough to fix the position. At least it saved my print, when I forgot the M18 command once.
In the Cura Pause at height script, you can add before and after gcode.
And thanks for the XY Home hint. That could be useful.
Must be new than. Right, it is definitely new. This is helpful. Would have found it the next time I need a planed filament change.
Not being able to unlock the extruder during a filament change is a real pain. Especially when changing color. It’s difficult to get all the old color out just by pushing the filament by hand.
Well, mine all have a spring loaded button for that.
However, if you are limited to use Marlin, that is a problem for sure.
Really? I usually do that within a few seconds, when doing that on my two spool holder tronxy. When the extruder button is pressed, I just push the filament in and see when the new color comes out and push continue.
However, I noticed that it is likely to have a blop of the old color sitting in the hotend for quite some time. It printed about 16mm of brim and still managed to do a black line within the first layer of a real big print. There is always a risk for that. That is why transition blocks on multi color prints are so enormous.
Is the problem Marlin or the hardware?
Using the Cura Pause at height script, it’s possible to specify a length of filament (in mm) that you want extruded after you click the LCD button to resume printing. I have mine set at 150mm.
Not on mine. I can lock or unlock the X, Y, & Z axes separately (I tested it about 90 min. ago) but, like you, I can’t do that with the extruder.
[ATTACH=JSON]{“data-align”:“none”,“data-size”:“full”,“title”:“extrude fialment.PNG”,“data-attachmentid”:6347}[/ATTACH]
You have octoprint why not use the Control Tab type in the amount of filament in mm you want to extrude then hit the Extrude button. Works like a charm for me.
[ATTACH=JSON]{“alt”:“Click image for larger version Name: change fialment.PNG Views: 0 Size: 17.4 KB ID: 6349”,“data-align”:“none”,“data-attachmentid”:“6349”,“data-size”:“full”,“title”:“change fialment.PNG”}[/ATTACH]
I also have a plugin called change filament plugin that lets me just hit the unload or load buttons to retract or extrude filament whenever i want. You can set how much to retract or extrude, the speed you want to do either one, and several other settings.
@Larry, can I assume that’s a page from OctoPrint?
Yes both the control tab and the change filament plugin are from OctoPrint.
There is a strange PIN compare in marlin code:
#define HAS_E_STEPPER_ENABLE (HAS_E_DRIVER(TMC2660) \
|| ( E0_ENABLE_PIN != X_ENABLE_PIN && E1_ENABLE_PIN != X_ENABLE_PIN \
&& E0_ENABLE_PIN != Y_ENABLE_PIN && E1_ENABLE_PIN != Y_ENABLE_PIN ) \
)
And HAS_E_STEPPER_ENABLE must be set, to use the E option in the M84. So it looks to me that some printer boards use the same X or Y enable pin on the board to enable the Extruder. So in marlin they decided “E” to only be effective, when E0 enable is not y enable and not x enable.
So disabling X or Y on such boards disables the extruder silently, too, which does no harm. Without this check disabling the extruder would also disable x or y, which could end up in a disaster.
You should be able to verify this checking the pins.h of your mainboard and compare the values.
To summarize this: This is a hardware limitation of your specific board, as the motor enable for the extruder is connected to the x or y enable and thereby cannot be used separately without effecting the linked other axis motor.
Yeah - That’s the code I saw before. My next printer that I buy will not have this limitation.