Use 2nd extruder only for a print not working
I'm using the Lotmaxx SC-10 Shark with dual extruders and a single nozzle.
I can't figure out how to get it to print only with the 2nd extruder. The test gcode (traffic cone) worked fine but now I want to just print using the colour in the second extruder (T1) and cannot get it to work. In octoprint when switching tools it responds correctly and extrudes/retracts from the correct extruder but not in my gcode. I'm using PrusaSlicer 2.2.0
It doesn't heat up the extruder and even if I preheat it it wither extrudes nothing or tries to extrude from T0 instead of T1 despite declaring T1 at line 32.
RE: Use 2nd extruder only for a print not working
Can’t guarantee anything but the best way to debug these is for you to attach the project file you are having trouble with, as that will contain the model and all your other settings. Just save the project (3mf file) and then zip it up and attach it. Must be zipped for the forum to accept it.
Does the shark have 2 extruder or is it a dual feed into 1 hot end ? It’s not a printer I’m familiar with.
RE: Use 2nd extruder only for a print not working
It is dual feed into a single hotend (y hotend).
Hopefully this helps
RE: Use 2nd extruder only for a print not working
You mention you have some traffic cone example gcode that works. Can you attach that so I can see what your printer firmware needs to make it work please.
RE: Use 2nd extruder only for a print not working
Here it is:
LS_bicolor-Traffic warning post
They provided this gcode on the SD card, it was sliced in cura.
RE: Use 2nd extruder only for a print not working
You do see that you put the T1 *after* the prime lines in your start g-code, right? So the prime lines will likely always be printed with T0.
RE: Use 2nd extruder only for a print not working
Yes I noticed that, the T1 is inserted automatically by prusa slicer and even when I put it in manually before my heat up and prime line it doesn't work.
RE: Use 2nd extruder only for a print not working
Id noticed that in the project. Ive been looking at alternative startup and end gcode for him but I'd really like that example that worked so I can see what a working gcode file contains.
Personally Id try
Start Gcode
M190 S[first_layer_bed_temperature]; set and wait for bed temperature
M104 S[first_layer_temperature_0] T0 ; set extruder final temp
M104 S[first_layer_temperature_1] T1; set extruder final temp
M109 S[first_layer_temperature_0] T0; Wait for nozzle temperature
M109 S[first_layer_temperature_1] T1; Wait for nozzle temperature
G28 ;Home, G28L to ABL
G92 E0 ;Reset Extruder
G1 Z4.0 F3000 ;Move Z Axis up
G1 X10.1 Y20 Z0.28 F5000.0 ;Move to start position
G1 X10.1 Y200.0 Z0.28 F1500.0 E15 ;Draw the first line
G1 X10.4 Y200.0 Z0.28 F5000.0 ;Move to side a little
G1 X10.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line
G92 E0 ;Reset Extruder
G1 Z2.0 F3000 ;Move Z Axis up
End Gcode
G91 ;Relative positionning
G1 E-2 F2700 ;Retract a bit
G1 E-2 Z0.2 F2400 ;Retract and raise Z
G1 X5 Y5 F3000 ;Wipe out
G1 Z10 ;Raise Z more
G90 ;Absolute positionning
M104 S0 T0; Set Nozzle temperature to zero
M104 S0 T1; Set Nozzle temperature to zero
M140 S0; Turn bed heating off
G0 X0 Y200; dispaly print
M107; turn off fans
M84 ; disable motors
That should at least heat up the extruder to the correct filament temp and turn them off afterwards.
I was playing with it and I set the 2 filaments for extruder 1 & 2 to use different temps so I could see the difference and with the gcode changes for start the output gcode had the following in -
; 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
; first layer extrusion width = 0.42mm
M201 X9000 Y9000 Z500 E10000 ; sets maximum accelerations, mm/sec^2
M203 X500 Y500 Z12 E120 ; sets maximum feedrates, mm/sec
M204 P1500 R1500 T1500 ; sets acceleration (P, T) and retract acceleration (R), mm/sec^2
M205 X10.00 Y10.00 Z0.20 E2.50 ; sets the jerk limits, mm/sec
M205 S0 T0 ; sets the minimum extruding and travel feed rate, mm/sec
M107
;TYPE:Custom
M190 S51; set and wait for bed temperature
M104 S200 T0 ; set extruder final temp
M104 S201 T1; set extruder final temp
M109 S200 T0; Wait for nozzle temperature
M109 S201 T1; Wait for nozzle temperature
G28 ;Home, G28L to ABL
G92 E0 ;Reset Extruder
G1 Z4.0 F3000 ;Move Z Axis up
G1 X10.1 Y20 Z0.28 F5000.0 ;Move to start position
G1 X10.1 Y200.0 Z0.28 F1500.0 E15 ;Draw the first line
G1 X10.4 Y200.0 Z0.28 F5000.0 ;Move to side a little
G1 X10.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line
G92 E0 ;Reset Extruder
G1 Z2.0 F3000 ;Move Z Axis up
G21 ; set units to millimeters
G90 ; use absolute coordinates
M83 ; use relative distances for extrusion
T1
M104 S201 ; set temperature
; Filament gcode
; LAYER_CHANGE
RE: Use 2nd extruder only for a print not working
So far this is working! I did have to add a T1 at the start of my custom gcode. Do you know of a way to add a line such as
M109 S[first_layer_temperature_0]
But for T like T[first_layer_extruder] maybe? This is the last thing to make it work fully automatically I think.
RE: Use 2nd extruder only for a print not working
Can’t remember the placeholder off hand but there are ones for current and next tolls iirc. I’ll try and find where I saw it later. Also it looks like your posts were in the wait queue which happens with new accounts so I didn’t see the traffic cone one until now. I’ll take a look at that too and see if I can see anything.
RE: Use 2nd extruder only for a print not working
Found it - https://github.com/prusa3d/PrusaSlicer/wiki/Slic3r-placeholders-(a-copy-of-the-mauk.cc-page) might be some useful info in there.
M104 S[first_layer_temperature_[current_extruder]] might work for you but apparently cant be used in start gcode as at that point the printer doesn't have a current extruder. I should think that once you have set an extruder though that you can use it.
RE: Use 2nd extruder only for a print not working
Yes -though I think you can also manually fudge it since the filament parameters are an array you can index into so you could explicitly call out some form of "temperature_variable[<Tool#>]"
RE: Use 2nd extruder only for a print not working
Handy! I'm gonna play around with this and report back. I thing the easiest way would be to just make another printer profile just for the second extruder alone. I'm stil gonna see if I can figure it out though.
Thanks so much for your help!
RE: Use 2nd extruder only for a print not working
Hi. After a few years of having the SC-10 I finally decided to try and use the bicolor feature and have met the same fate. Thing is I do know what the problem is, problem is its unfixable unless I find the part. The printer should have come with a hardware driver that you have to place in the mainboard underneath. The problem is it never came with this driver and without it the second motor and temp readout wont register or work. They sent it on another package and I can't find it. Or buy it anywhere.
RE: Use 2nd extruder only for a print not working
Since you posted recently and still have this problem, I'll add my start gcode. I'm looking for a solution that I don't have to edit when I add third and fourth tools and that won't preheat the tools that aren't being used, but I bet this will improve once Prusa XL toolchangers start shipping.
; Variables found at https://help.prusa3d.com/article/list-of-placeholders_205643 M104 S{first_layer_temperature[initial_extruder]} T{initial_extruder} ; preheat initial extruder M104 S{first_layer_temperature[1]} T1; preheat second extruder M190 S[first_layer_bed_temperature] ; wait for bed temp ; ############# HOMING ############# G28 ; Home all axes BED_MESH_PROFILE load="default" T{initial_extruder} G1 Z1 M109 S{first_layer_temperature[initial_extruder]} T{initial_extruder}; finish heating extruder G90 ; absolute movement ;Prime the extruder G92 E0 ; reset extruder to 0 G1 F200 E3 ; prime extruder G92 E0 ; reset extruder G0 Z0.3 X10 Y200 F5000 ; get ready to draw a line G0 E10 Y180 F300 ; draw a little line G92 E0 ; reset extruder
And my toolchange gcode just switches to the next tool and updates the temperature on it. Tool Change G-Code:
T{next_extruder} M104 S{temperature[next_extruder]} T{next_extruder}; preheat next extruder
Hope that helps!