Guide to setting up switching dual extruder system 2in-1out



  • I've started a guide to setting up this type of system.

    Please fee free to annotate/edit it, lets see if we can pull together something useful, this system is getting quite popular as its easy and relatively cheap to setup but not always straightforward to see how to do it.

    https://1drv.ms/w/s!Apv79JfGbPIwgvQnUmGxEERZLFEnug

    Perhaps as it coalesces into a coherent document it can be appended to the wiki?



  • Good writeup so far. I was unaware of the m84 trick (let's not talk about what I was doing instead…)



  • David pointed it out to me. Still not totally convinced, it occasionally defaults to T0 and tries to unload the correctly loaded filament.

    Would you consider extending it to include a bit about how to actually do multi coloured printing, as that is quite confusing.



  • You mean slicer settings? It's so slicer dependent… I can take a look when I have some time, though.



  • Thanks. How do you handle the temperature control? Do you use G10 Sx in your start gcode?

    As for the guide - its more the general principles such as having two stl's one for each colour etc.. Principles of prime towers etc..

    I think unlike single colour printing which is (perhaps I've been doing it too long to be objective) reasonably intuitive, multi material printing is baffling with a lot of pitfalls to avoid.



  • I agree on your last statement there!

    I do put this in my startup script:

    G10 P0 S[extruder0_temperature] R[extruder0_temperature]
    G10 P1 S[extruder0_temperature] R[extruder0_temperature]
    M116 P0

    (Obviously the variables are slicer dependent, that's S3D)

    I'll work on something for the guide for how to setup dual colors, keeping it generic.



  • Thanks that all makes sense.


  • administrators

    Thanks for doing this! once its complete I hope we can format it for the wiki and add it there?



  • Yes that the intention. Regarding the issue about the tool switching brought up in the other thread I will attempt to investigate and make a new thread about it if there is an issue. I might just be doing something stupid. I did have M109 S130 T0 in my bed.g as I probe with the nozzle partially heated, but I removed the T0, and was still getting some odd behaviour.



  • Slicing tips for multi-filament printing… I hope this is along the lines of what you were hoping for. If you'd like more specifics or clarification, let me know! Also feel free to trim as much as you want, or make any edits you think are needed.

    Different slicers handle multi-filament printing, so there are no universal setups. Some tips for the more common slicers for filament switching prints:

    Dual color printing is most commonly achieved by printing two separate STL files at the same time, and using one extruder configuration to print each file. On each layer, you'll want to print one color, switch filament, then print the other. Typically when you switch filaments, you also print a prime tower, or purge the filament into a purge zone until the new filament has pushed out the remainder of the old.

    Slic3r: Configure two nozzles in the "Printer Settings Tab". All settings should be identical between the two extruders. Load both of your files, center them on the platter, and then double click on each part and in object settings, select the extruder you want to use. The downside to slic3r is there is no built in prime tower. A workaround is to use a purge zone instead. You'll want to do this in your firmware settings. One potential upside to using a purge zone is you only need to purge on a color change, which may not occur on every layer. This means you don't have to print a prime tower for those layers which wastes filament. (Author note, I did not go far with slic3r due to the lack of a prime tower)

    Cura: In Cura 2.x your printer profile needs to have dual nozzles configured in it. This will add a dual extrusion section where you can enable the prime tower settings, set a prime tower size (20 - 25mm seems to work well), and an X/Y position. Ooze shield adds a nice barrier around your print to keep bits of filament from reaching your print, and is a nice option as well. Once you have all of that set, load in your STL's. One at a time select each STL, then select the "Per Model Settings" and select the extruder you want to print it with. Then in the edit menu, Select all models, and merge them. Then right click on the models and center them on the build plate. More info here:

    Simplify3d: Set up a separate process profile for each extruder. I recommend starting with one profile, define both primary & secondary extruders in both on the Extruder & Temperature tabs, using the primary extruder for all settings on the other tabs. Then make a clone of the profile, and change it so the Secondary extruder is the primary for all tasks on each tab. You'll want to be sure in the additions tab you have your prime pillar & ooze shield settings identical on each of the profiles. You can simply set these both to "All Extruders". Again, a pillar width of 20 - 25mm is a good starting point. To print, load both of your STL's onto the build plate. Shift-click on "Center and Arrange" to center both STL's. Open your profiles, and at the bottom of each profile select the part to print in that color.

    General tips:
    In my startup script, I put the following gcode, which helps make sure temps stay where I want them.
    G10 P0 S[extruder0_temperature] R[extruder0_temperature]
    G10 P1 S[extruder0_temperature] R[extruder0_temperature]
    M116 P0

    Placing your prime pillar in a consistent location (I always use the "north" option in S3D, or straight to the back of the bed in cura) and then doing your filament switch at a location past that helps keep ooze from reaching your print. I move back to the back of my bed, switch filaments, then print the prime pillar.

    Both cura & Simplify3d will occasionally not switch tools in the correct order on some layers. This most often happens when not all layers have all colors. For models where this is the case, a simple hack is to print a small (7.5mm x 7.5mm) hollow cube next to the model to ensure that both colors print on every layer. This tricks the slicer into always switching, though it does use a bit of extra filament. Configure your parts as above, then add the third STL (I have a 7.5mm cube STL I keep ready, and then just resize it in Z to match the model height needed to ensure both colors print on all layers)

    For tool changing itself, each slicer can do a basic "retract & z-lift" to switch. Upon doing so, they then call the firmware scripts tpreX.g, tfreeX.g, tpostX.g. Do the bulk of your filament changes there (the long retraction to clear your Y adapter, and any moves to a purge zone, etc). The exception is Simplify3d allows you do configure a tool change script, which you may find useful.



  • Awesome work. Tony do you think between the setup guide word doc and the printing guides above you have enough material for a wiki page? Shall we leave it to you to integrate the two?



  • I'd like to find a link for each slicer for a how to guide for further reading to add in. That's a very brief overview of each. I'll find some time today to look for those.



  • Guide (word Doc ammended to include Kraegar's info above, and to point out that with this system if you want to print single colour but from the second extruder for convenience of not changing a spool, then you need to run a macro to swap your extruder drives over in your tool definitions as the firmware defaults (by uncommanded tool change) to the lowest number tool to print first.



  • Hi All, reading this thread with interest. I don't have a Y hotend, I'm using a dual fixed head on Cartesian, but some of the above works for both anyway so thought I might throw in my lot.

    I've haven't been all that impressed with the Cura or Slic3r solutions of wipe towers or skirts, they seem to either use vast amounts of extrude or don't do that well at protecting the print from blobs or smears.

    I took the idea of the small tower above and ran 50 or so experiments. The best results I found were to use three mini towers and a cooling wiping cycle. Not that easy to explain in words but here goes.

    Add and configure your main print, then add three wipe towers (10mm x 10mm hollow cubes, but with two bottom layers to increase stickiness) to the print. The separation of each wipe tower in the X direction is the distance between your hotends. Make towers one and two print in extruded 1 material and tower three in extruded 2 material. Make the towers the same height as the main piece.

    Ensure that tower 1 is printed first then the print part with extruded 1 then tower 2 with extruded 1 then tower 3 with extruded 2 then the print part with extruded 2. I couldn't find a way of specifying this in the slicer, but I achieved it by having the three towers sufficiently far away from the main print so that the slicer works on shortest path.

    The next thing was to play with with slice settings and tool change macros( in the slicer). I turned on wipe before retract in the slicer and ensured the minimum retraction distance and minimum extrude before retract were dialled down.

    The tool change macros are essentially
    Before tool change
    Lift head
    Move tool to the centre of tower 1
    Set the tool to standby temp

    After tool change
    Lower the head
    Wait for the tool to reach print temp
    Move relative X9 Y-9

    Effectively this cools the old tool,
    moves that tool to the middle of a tower with other over the next tower. Then heats the new tower and wipes it before returning to the print.

    Don't know if this of any use to anyone, but so far results seem very good.


  • administrators

    Thanks for the explanation, It would be cool if you could post a couple of pictures or a youtube video of it if you have a chance 🙂



  • Done, I know its taken a while, https://www.thingiverse.com/thing:2388496 including a link to a youtube video.


Locked
 

Looks like your connection to Duet3D was lost, please wait while we try to reconnect.