How can I program a filament change?
I would like to set a filament change at a certain layer, so that the printer (Prusa i3MK2S) stops and beeps the alarm.
How can it be done?
Re: How can I program a filament change?
Use PrusaControl and after generating the gcode / or loading gcode file you can add color changes by using the + next to the slider. Using the up and down arrows on the keyboard you can find the right layer bit easier than with the mouse.
Re: How can I program a filament change?
Thank you Waldemar, much appreciated!
I downloaded the latest version prusacontrol_0.9.4.415_beta.AppImage and also tried prusacontrol_0.9.3.390_beta.AppImage , but no luck after importing a large complex .gcode file.
No "+" button appears after importing the Gcode file.
The same problem occurs when I use prusacontrol_0.9.4.415_beta.AppImage to slice the object: No "+" button, and some other parts do not seem to work as intended either, like the "Print Info" area (right bottom of screen) is not displaying correctly. It's probably some clash between Ubuntu and Prusacontrol and I'm too lazy to try to figure it out.
Might have to begrudgingly boot into Windows, which means hours of updating since it has been a few months since I last used Windows.
Re: How can I program a filament change?
Check https://shop.prusa3d.com/forum/original-prusa-i3-mk2-f23/whats-currently-the-best-option-to-switch-colors-m-t12523.html or load the stl in prusacontrol then it should be there. Don't know if the color change program is available on osx otherwise you can look for the web color change by prusa
Re: How can I program a filament change?
You can manually add the M600 in the gcode file but you need to search a bit how to do that.
Re: How can I program a filament change?
Thanks, Waldemar!
I managed to boot into Windows and installed Prusacontrol. The "+" button does appear and the M600 code gets inserted.
I compared both Gcode files in a text editor afterward, and it appears to be very easy to manually program the color change: Just insert M600 where you want it to occur.
In my case, I want to print the first layer PLA and then something else from layer 2. First layer 0.2mm, other layers 0.3mm, so the second layer is at z0.5.
Searching in text gedit editor for z0.5 finds many instances, but the first one is the one to look for.
It occurs just after bed temperature change programmed for layer 2.
The only difference between the Gcode file with filament change at z0.5 and the one without is the M600 command.
So it's as simple as inserting M600 in the right spot, probably always after the M204 Sxxx command following the first appearance of the layer height that you want to be the new color.
I'll try it out and report back.
I'll also try inserting M226 for layer 3 (z0.8), to see if I can use it as a makeshift "check if enough filament is left" method.
M140 S70 ; set bed temperature
G1 X26.521 Y206.560 F7200.000
G1 Z0.500 F7200.000
G1 E1.00000 F2100.00000
M204 S800
M600
G1 F1200
G1 X25.667 Y206.728 E0.04395
G1 X24.741 Y206.782 E0.04687
G1 X23.742 Y206.712 E0.05053
G1 X22.683 Y206.526 E0.05435
G1 X21.571 Y206.223 E0.05817
Re: How can I program a filament change?
For some reason, the gcode file created in Windows Prusacontrol has a file size of 18.8MB, but the ones created in Ubuntu have a file size of 18.1MB.
But, same number of code lines and I don't think there is any difference except for the single M600 insertion.
Re: How can I program a filament change?
The filament change programmed by inserting M600 worked well.
Pausing the print with
M226; Pause
M300 S300 P1000; Beep
M300 S500 P1000
M300 S800 P1000
M300 S1000 P1000
did not pause the print, but it did indeed beep.
One could use a very long beep (P3600000 for one hour) but the beeper and the filament in the hotend may not like that.
Is there a "Pause print and wait for the knob to be pressed" command?
Re: How can I program a filament change?
Nice to hear that you found the solution and that it works!
Have to look into that but if I am not wrong the pause may drop the temp of the bed and if that is too long you may not be able to recover the print, as the print may come off the bed.
Manual multiple color/material prints need your attention. If you have a big print you can try to get the estimated change time buy cutting the stl and slice the parts. Lets say you have 12h print and at layer 700 you need a change, cut the model in two and slice the 1st part, this should give you an estimated print time (PrusaControl is quite close to the real time), lets say 4h30. When you start print your complete model set a reminder after 4h15 and wait near the printer for the change.
That's why you can buy the MMU kit it does it for you 🙂
Re: How can I program a filament change?
For some reason, the gcode file created in Windows Prusacontrol has a file size of 18.8MB, but the ones created in Ubuntu have a file size of 18.1MB.
But, same number of code lines and I don't think there is any difference except for the single M600 insertion.
Windows uses two characters for line end (CRLF) and Linux only one (LF). If your gcode file has about 700k lines, thats the difference you see.
Re: How can I program a filament change?
For some reason, the gcode file created in Windows Prusacontrol has a file size of 18.8MB, but the ones created in Ubuntu have a file size of 18.1MB.
But, same number of code lines and I don't think there is any difference except for the single M600 insertion.
Windows uses two characters for line end (CRLF) and Linux only one (LF). If your gcode file has about 700k lines, thats the difference you see.
686821 lines indeed! Thanks for the explanation!
Mik
Re: How can I program a filament change?
FYI, there's a workaround to get the "+" button to show up on Linux... move the mouse over where it should appear. It disappears again as soon as you move away.
I was showing a friend "a button should appear here" and waved the mouse over it, and there it was!
It's the SchrodingerButton!