Simultaneous dual extrusion
-
Hi there,
I made a dual extrusion setup (basically using T0/T1 tools) but I'm not sure how the Gcode should look like. Both are mounted on the same carriage.
I'd like to be able to control both extruders indepedently and simultaneously. In other words, I would like to send an extrusion command with T1 like G1 E4000 F100 (continuous extrusion) and simultaneously print with T0 while letting T1 do its job.
I've heard about M605 command. Is it how I'm supposed to do it?
.gcode:
; Enable simultaneous extrusion for both extruders M605 P0 S1 D0 ; Set extruder 0 to simultaneous extrusion mode M605 P1 S1 D0 ; Set extruder 1 to simultaneous extrusion mode ; Start extrusion from both T0 and T1 simultaneously T1 ; Select extruder 1 (T1) G1 E4000 F300 ; Extrude continuously from T1 T0 ; Select extruder 0 (T0) G1 X0 Y0 Z0.2 F1200 ; Move to starting position G1 X10 Y0 E10 F140 ; Move to (10,0), extrude 10mm with T0 G1 X10 Y10 E20 F140 ; Move to (10,10), extrude 20mm with T0 G1 X0 Y10 E30 F140 ; Move to (0,10), extrude 30mm with T0 G1 X0 Y0 E40 F140 ; Move to (0,0), extrude 40mm with T0
As I'm making my own custom gcode, I'd like to see how I'm supposed to organize the .gcode file. Would you have any other examples?
Thanks for your light!
Tim
-
@Timothee-Leblond I am not aware of M605. Where did you pick that up?
If you want to command both extruders at once and make them extrude at the same time, create a tool that is mapped to both extruders, select it, and run something like
G1 E12:34
to command 12mm of movement for the first extruder and 34mm for the second one.In case you want to have the second extruder extruding while the first one does something else, have a look at the docs for multiple motion systems: https://docs.duet3d.com/en/User_manual/RepRapFirmware/Multiple_motion_systems
-
@chrishamm Thank for your answer!
I found that command on RepRap a while back but apparently it's not used anymore according to this post: https://forum.duet3d.com/topic/20073/duet3-new-idex-setup
What do you mean exactly by a tool that is mapped for both extruders? Can you give me an example of your config.g?
Let me explain. I have 2 extruders mounted on the same carriage - thus, they will follow the same path. However, these extruders are actually working at different rates which is the reason why I'd like to control them indepedently (only for extrusion commands).
Additionaly, one of them is set to extrude the same amount of material than the printing path length so the extrusion value is known in advance. i.e if my path is 4000mm long, extrusion will be E4000. That's why I'm wondering if I could have one unique command like T1 G1 E4000 F100 at the beginning and In the meantime being able to control the other extruder T0?
Thank you!
-
@Timothee-Leblond Well, I don't know if you have a mixing nozzle or two individual ones. But the configtool lets you generate the corresponding commands easily, see https://configtool.reprapfirmware.org. Each section has a "Preview" option to see what commands are required for the corresponding configuration. If you assign two extruders to one tool and select that (e.g.
T0
), then you can specify a mixing ratio using M567 and indeed command both extruders like so:config.g:
M563 P0 ... D0:1 ; define tool 0 M567 P0 E1:1 ; set mixing for both extruders to 100% and 100%
and to extrude
T0 G1 X100 Y100 F3000 G1 X150 Y150 E40 F600
-
I have a specific mixing nozzle. The problem is that E values for the second extruder are not calculated through my slicer. So I don't have an E value for each G1 command... I only know the amount as it should be equal to my path length.
If I use the mixing tool, can you tell me if my following theory is correct? I designed a path that is 4720mm long. After slicing, the total amount of material extruded by E1 is E94. E2 should in theory extrude 4720mm of my second material. The gcode contains 670 G1 commands. This means E1 should extrude E0.14 per steps and E2 around E7 per steps. This gives me a ratio of 0.02:1. Does it seem right? If yes, is it the ratio I should indicate in my M567 command?
Please note that both extruders have different steps-per-mm.
Thank you for your help,
-
@Timothee-Leblond I have a couple printers with mixing extruders. In your last example with a mixing ratio of 0.02:1 Your printer will take the E value from the running gcode and you will get a total extrusion of 1.02 from a single nozzle. Not much different than setting the extrusion multiplier in the slicer to 1.02 on a normal printer. You might want to keep the total of all the extruder motors = to 1.00 when you add them both up in your M567 so that your commanded total extrusions are exactly what the running gcode specified.
If you have set the E-steps correctly on each motor then total extrusion should be accurate to what is commanded in the running gcode.
You can set M567 0.02:0.98 in the gcode file, in a macro, or in the command line as the print is running and it will change.
I don't recommend a setting one or the other motor at 0.00 as the motor at 1.00 will try to push some filament back up the unused side and could cause a blockage similar to heat creep.
I set both extruders to 0.50:0.50 in config.g just in case I accidentally send a print job without specifying the mix ratio.; Tools M563 P0 D0:1 H1 F1 S"Dual" ; define tool 0 G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C M567 P0 E0.50:0.50 ; set mixing ratios for tool 0 Dual
Geoff