Solved Issues with dual extrusion and Prusaslicer with Duet 2
-
So I recently get my dual extrusion machine up and running, and im having some issues with prusaslicer and duet not playing nice and im not sure why.
For now I'm only using one extruder at a time, but im still having issues that i feel i have only band-aided for now.When I set the extruder to #2, it begins to heat up extruder #1, unless I preheat extruder #2 before uploading the gcode. I believe this has something to do with the active/standby/off positions but im not sure.
This is my current fix in the start gcode, although I'm pretty sure it won't work for when i need to use both extruders during a print.M140 S[first_layer_bed_temperature] ; set bed temp T[initial_tool] ; G10 P[initial_tool] S[first_layer_temperature] ; M190 S[first_layer_bed_temperature] ; wait for bed temp M109 S[first_layer_temperature] ; wait for extruder temp
Can someone help me figure this out?
-
For me, it "just works", no special start up G-Code.
Do you have the printer setup in the slicer set to show two extruders?
-
@Danal Yes I do.
-
And when loading the STLs (or whatever) to print, you load two of them, and Prusa prompts you to assign them to multiple extruders, and all that Jazz?
-
Also, to see if it helps, this is the startup of a file generated by that setup:
; generated by PrusaSlicer 2.0.0+win64 on 2020-03-28 at 00:35:34 ; ; external perimeters extrusion width = 0.45mm ; perimeters extrusion width = 0.45mm ; infill extrusion width = 0.45mm ; solid infill extrusion width = 0.45mm ; top infill extrusion width = 0.40mm ; external perimeters extrusion width = 0.45mm ; perimeters extrusion width = 0.45mm ; infill extrusion width = 0.45mm ; solid infill extrusion width = 0.45mm ; top infill extrusion width = 0.40mm M73 P0 R606 M107 M190 S60 ; set bed temperature and wait for it to be reached M104 S215 T0 ; set temperature M104 S215 T1 ; set temperature M109 S215 T0 ; set temperature and wait for it to be reached M109 S215 T1 ; set temperature and wait for it to be reached G21 ; set units to millimeters G90 ; use absolute coordinates M83 ; use relative distances for extrusion T0 ;BEFORE_LAYER_CHANGE G92 E0.0 ;0.3 G1 E-2.00000 F2400.00000 M73 P0 R606 G1 Z0.300 F7800.000 ;AFTER_LAYER_CHANGE ;0.3 G1 X123.847 Y112.481 G1 E2.00000 F2400.00000 G1 F1800 G1 X126.618 Y111.154 E0.14773 G1 X129.349 Y110.131 E0.14028 G1 X134.156 Y108.554 E0.24331
-
currently i have not tried a dual extrusion print, i'm just working on using the "secondary" extruder, and not the default. I set the printed piece to extruder 2.
-
@Turbo said in Issues with dual extrusion and Prusaslicer with Duet 2:
currently i have not tried a dual extrusion print, i'm just working on using the "secondary" extruder, and not the default. I set the printed piece to extruder 2.
Got it. That should also work...
What do you get that is the dual version of this:
M190 S60 ; set bed temperature and wait for it to be reached
M104 S215 T0 ; set temperature
M104 S215 T1 ; set temperature
M109 S215 T0 ; set temperature and wait for it to be reached
M109 S215 T1 ; set temperature and wait for it to be reached -
@Danal generating the gcode for mine shows it doesn's define a tool in the m104 codes. /could that be it? i dont want to have to manually change the start gcode every time i change extruders, as i have one .4 nozzle and one .5 nozzle.
the start gcode should still be handling temps correct?
; generated by PrusaSlicer 2.2.0+win64 on 2020-03-29 at 19:11:58 UTC ; ; external perimeters extrusion width = 0.56mm ; perimeters extrusion width = 0.56mm ; infill extrusion width = 0.56mm ; solid infill extrusion width = 0.56mm ; top infill extrusion width = 0.50mm ; first layer extrusion width = 0.60mm M107 M280 P3 S160 I1 ; Alarm Release and Push-Pin UP M572 D0 S0.8 M572 D1 S0.8 ;Pressure Advance M572 ; D# = Extruder # ; S = K Value (0.2 is start point tune up or down from there (current bowden length about 600mm)) ;M104 S210 ; set extruder temp M140 S60 ; set bed temp T1 ; temp fix G10 P1 S210 ; temp fix M190 S60 ; wait for bed temp M109 S210 ; wait for extruder temp G28 ; Home Printer G29 ; run bed compensation script G1 X10 Y10 Z0.3 F3600 ; Move to front left corner G92 E0 ; zero extruded length G1 E10 F300 ; purge blob G92 E0 ; zero extruded length G1 X10 Y110 E20 F1800 ; purge line G92 E0 ; zero extruded length G1 E-2 F800; ;End of Start.gcode G21 ; set units to millimeters G90 ; use absolute coordinates M83 ; use relative distances for extrusion T1 ; Filament gcode G1 Z0.300 F15000.000 G1 E-2.40000 F1200.00000 G1 X132.692 Y77.794 F15000.000 G1 E2.40000 F1200.00000 G1 F1800.000
-
I just tried a single STL, with the extruder "overriden" as shown below. It properly generated everything for Tool1 (Toll 0 is the first, Tool 1 the second, etc). In particular:
M107
M190 S60 ; set bed temperature and wait for it to be reached
M104 S215 T1 ; set temperature
M109 S215 T1 ; set temperature and wait for it to be reached
G21 ; set units to millimeters
G90 ; use absolute coordinates
M83 ; use relative distances for extrusion
T1I take it that is not what you are seeing?
-
@Danal correct. No Tool defining in the gcode for the temps, unless i add it manually. Is your temp gcode part of your start gcode or is it auto generated?
-
It shows up. My "start gcode" box on the printer settings tab is blank.
How are you 'convincing' the slicer to print the one STL on the second extruder? Same as the screenshot above?
-
@Danal Yep. although i think you just helped me solve it. you have no temps in the start gcode? thats where mine differs. ill try removing it and see what happens
-
I don't see a set bed temp in your gcode either. Is it further down?
M190
-
@Danal line 26 has bed temp
-
Got it. I just missed it with my eye, somehow.
Hmmm.... Let me upgrade to the latest release, I'm on 2.0.0 right now. Be a min or two...
-
Okay so deleting The temps from the start gcode solved it I believe. I have a print running right now, but ill try it afterwards, but the gcode reflects the fix.
-
Good. I'm still going to install 2.2, just because
-
@Danal Okay so deleting it kinda fixed it but not really. It does auto add the code for the tool requested, but will try to print before the extruder is up to temp. I dont know why.
-
adding an M109 S[first_layer_temperature] cause it to heat up the wrong extruder
-
Adding an M116 seems to have done the trick, however, i get an error message saying that tool 0 didnt move because it never got up to temp, possibly because it is set as active by default (although im not using is to why even prompt me?), and the second extruder only gets set to active when the standalone T1 command is executed in gcode. I would leave it, but i dont want an error message every print, as it concerns me.