Close



Results 1 to 10 of 10
  1. #1
    Technologist
    Join Date
    Oct 2016
    Posts
    133

    My multi-color/-material printers

    I've been tinkering with multi-material printing for few years now. My first printer capable of multiple materials was my FrankenCube beefed up up the Prometheus System. FrankenCube is originally a 3D Systems Cube 2, which has been heavily modified (rebuilt is perhaps a better word) and currently sports Duet 2 Wifi, 7" PanelDue, Prometheus v2 hotend and 4 Prostruders, enabling 4 colors/materials. The printer is in a stable state of will-be-finished-later so wiring etc. is messy.
    The Prometheus System was from a Kickstarter campaign and originally supported only two materials. It seems the original Prometheus System is still available: https://www.distechautomation.com/pr...metheus-system.

    IMG_20190121_203442.jpg2018-11-07 17.36.52.jpg2018-11-07 17.37.10.jpg

    Prometheus a single nozzle-multi extruder setup and if I'm not mistaken, the first actual commercial offering. Prusa came along with their MMU around same time, but MMU is tied to their own printer, Prometheus instead being a kit that you can mount to your printer. Today at least MMU2S can be used on other machines, mainline Marlin supports it, but even Duet/ReprapFirmware has been hacked to work with it.

    After a while of tinkering with the original Prometheus I went to 4x version. The changes needed were a 4x feeder part (https://www.thingiverse.com/thing:3807101) and a way to control more than 2 extruders when the board only supports 2. Luckily a solution had already been figured out by marlinkimbra.it: https://www.marlinkimbra.it/?p=280. The setup needs a 8-port relay (example https://www.amazon.com/SainSmart-101.../dp/B0057OC5WK), some wire, 5V, ground and 3 pins from controller board to control the relay.
    I've used Marlin and ReprapFirmware to control the relay; on Marlin, some code changes were needed, on RRF it's just few extra lines to tool change gcode files.
    See Duet forum for more detailed post about the FrankenCube: https://forum.duet3d.com/topic/7592/...=1595193566063
    Some pictures along the way of tuning the Prometheus: https://drive.google.com/open?id=19-...GbK8JzFg3tGf9o
    2017-08-27 11.15.04.jpg2018-06-13 18.40.49.jpg

  2. #2
    Technologist
    Join Date
    Oct 2016
    Posts
    133

    Tronxy X5S

    My other printer that I modified for multi-material printing is a Tronxy X5S-2E that I bought mostly because I wanted a corexy-machine and a printer project to build on. Didn't want a fully working machine, more like a base to build on. Still the printer printed suprisingly well without any mods, but there were some real problems:
    - the X5S-2E model has a E3D Cyclops clone which is a 2-in 1-out mixing hotend. The hotend kinda works, but out of the box it leaked from multiple places and didn't feed too well with PLA, I had to beef up the default extruders with planetary gearboxes. I managed to block the leaks mostly, but switched to E3D V6 in the end, but I did some mixing prints. Might revisit the hotend some day...
    - the belts weren't aligned which caused the print dimensions to get skewed going to the edges. That's a known problem with the earlier versions of the X5S and there are custom parts available to fix that.
    - Z-axis implemented with two separate stepper motors that can move independently when not powered, what could go wrong... had to do manual adjustment quite a lot, until I designed a single Z-motor mod: https://www.thingiverse.com/thing:3612257 based on other similar mods
    - some other minor issues that I've fixed along the way. I have replaced quite a lot of the original parts with mod parts and now the printer prints quite nicely.
    - replaced the original board with Duet Maestro and 7" PanelDue
    IMG_20200723_212337.jpgIMG_20200723_212403.jpgIMG_20200723_212346.jpgIMG_20200723_212357.jpgIMG_20200723_212408.jpg

    Currently the printer has 6 extruders (https://www.thingiverse.com/thing:3813628) beefed up with belted reduction (https://www.thingiverse.com/thing:3091980). The extruders use Bondtech gears (ahem Aliexpress Bondtech gears). They do seem to work ok, although the gears might be bit better quality if they were original Bondtech gears (more on these later). They are a lot cheaper though so there's that.

    Wiring needs to be taken care of. I need to redo the wiring from Duet to the relay, currently there's a resistor hack to get the Duet signal levels to work with the relay. I need to replace that with a decoder chip. Also general wire cleanup has been due for a while.

    The extruders are mounted on a extra frame I did using Dollo3D extrusion parts. The reason for this is that it reduces the bowden length a bit and mounting all those extruders to the frame might have been cumbersome.

    The relay board I'm using with this printer is a Sainsmart 16-port relay. With that I could control 9-extruders and taking the Maestro's second extruder driver, total of 10 extruders.

    The feeder part for 6 filaments works, but it is a bit bulky and I don't like how it bends the PTFE-tube going to the hotend. Might change that at some point.

    More pictures here: https://drive.google.com/open?id=1Ay...uEHLzl5vQdy5H_
    Last edited by spegelius; 07-24-2020 at 02:59 AM.

  3. #3
    Technologist
    Join Date
    Oct 2016
    Posts
    133
    On software side, for slicing multi-color or -material prints I use PrusaSlicer, Simplify3D and KISSlicer, depending of the models. Different slicers do some things differently, like how support material is assigned to extruders so with some models there's a some experimentation needed. Usually I use KISSlicer, with that assigning extruders to models is quite straightforward. PrusaSlicer is a also a good alternative and has better control over what extruders to use for different parts. S3D has a nice wizard for multi-color printing, but sadly it works only with 2-extruders. And the profile system is a bit hard to master, especially if printing different materials with different temps etc.

    2019-12-07 16.29.13-1.jpg2019-12-07 16.29.02.jpgIMG_20200724_105015.jpgIMG_20200724_103718.jpg2019-03-17 20.56.37.jpg

    When I started this multi-material journey, none of the slicers supported a single nozzle/multi extruder setups. Sure they all have the custom tool change gcode section, but with this single nozzle/multi-extruder hw it's limited with functionality. Getting the retractions right is hard and needs constant updating. The original Prometheus instructions were for Cura 1.4x and involved custom gcode and positioning a custom brim model to correct place on the bed where the custom gcode did the purge movements. Janky but it did work, but I didn't like Cura at the time so I went to explore altenatives right away.

    After tuning the custom gcode on multiple slicers, I decided to write my own post-processing software called filaswitch: https://github.com/spegelius/filaswitch. Basically what it does it adds the tool change gcode to sliced files. A purge tower is added or optionally purge bucket is supported. Currently it works with S3D, PrusaSlicer, KISSlicer and Cura.

    Today PrusaSlicer has a quite good support for single nozzle/multi extruder setups due to MMU units. In the beginning with MMU it was somewhat locked to Prusa printers, but with some hacking I did some prints sliced with it. Now it should work more readily with other printers too, but I haven't tested the latest version yet. With filaswitch I use quite specific tool change movements for better filament tips which aren't available in PrusaSlicer.
    PrusaSlicer does have some interesting features like purging to a separate model which saves material. One of the downsides of single nozzle/multi extruder setups is the need to do a purge when changing filament. The amount of purge can quite big, especially if printing small model with lots of colors. It's a good idea to print many pieces of the same model in one go because the purge amount is still the same since the tool changes happen per layer, not model.

  4. #4
    Technologist
    Join Date
    Oct 2016
    Posts
    133
    I'm currently battling some jamming issues with the Tronxy. I had to reprint some of the idler levers of the extruders and suddenly the tool changes are very finicky. Part of the problem is some small clearance issues on the levers due to the clone Bondtech gears not being equal, some of them have deeper grooves where the teeth are thus requiring the idler to close more. Also since the Bondtech gears are geared, the gearing itself doesn't allow the gears to close enough for good grip if the groove is too deep. Should have bought real Bendtech gears... not sure if I should just order the real gears. Couple of the filament change failure seemed to be due to lack of grip from the extruder so definitely can't rely on these. They do work ok for normal printing, but the filament change movements do require dome extra grip and torque, especially if the filament tips aren't perfect.

    Another part of the failing tool changes might be the elevated temperature in the room during summer. The filament tips are more stringy, which eventually clogs the feeder part. I hope I can get that sorted out with tweaking the tool change gcode. Swapping filament to hotend isn't simply pulling one out and feeding another, the filament tends to stretch and have those wispy strings. Also the tip swells a bit when cooling so it might be simply too big to fit to the throat. And all this is quite random, a print could go well for an hour and then there's one single failed tool change which either fails the print by jamming in the feeder or leaves a gap due to missed layer.

    Here's a couple tips that could be better, but usually feed ok. Also a picture of print that has parts missing due to failed tool changes. MMU2S apparently has a feature to detect failed filament changes which is a good feature. OTOH if the failures happen at this rate, it basically means babysitting the machine quite long, for example this print with 6 colors would probably taken 2 days or so, multicolor printing is slow.
    Attachment 14891Attachment 14892Attachment 14893
    Last edited by spegelius; 07-24-2020 at 01:23 PM.

  5. #5
    Engineer
    Join Date
    Jul 2016
    Location
    South Florida, USA
    Posts
    719
    Add AutoWiz on Facebook
    Thank you for sharing the pictures. I really like your core xy 6 filament rig.

  6. #6
    Technologist
    Join Date
    Oct 2016
    Posts
    133
    Thanks, I'm quite happy how ii has evolved so far. The print quality is also quite good after all the work put into it.

    Took apart the extruders and did some comparison between the gears. Seems there's 2 types of gears, the ones with shallower groove don't have a bewel on the top gears and generally seem better quality. The other type seem to have some smaal variances in the depth of the groove which isn't good of course. Also they seem to have already started to show some wear on the top gears, which suggests that the metal is subpar. Well not that suprising when getting them cheap. Also I ordered them in multiple patches, partly because the first order didn't have correct parts and had to reorder more gears.
    IMG_20200724_191752.jpgIMG_20200724_192642.jpgIMG_20200724_192718.jpgIMG_20200724_193150.jpg

    I matched the gears as best as possible. Also since I'll probably replace at least the worse gears, I used a Dremel to deepen the idler side gears top teeth, making the gears mesh bit closer. Didn't touch the better ones, though. Probably just made things worse and the gears will wear out even faster. But wanted to experiment a bit.

    While I had the extruders apart, I noticed that the idler arms isn't a perfect fit for the gears and had to file away a bit to make the idler close fully. Either my modeling is a bit off, or ABS has shrunk enough to cause this. Now the idler arms close fully and the grip seems a lot better. So in the end the gears weren't the main problem.

    Time to do a test print and hope the tool changes work this time. Just don't know what to print, don't want to start a long print. A 6 colored Benchy? Haven't done that before...

  7. #7
    Technologist
    Join Date
    Oct 2016
    Posts
    133
    Well it seems I've entered the multimaterial hell once again; can't get reliable tool changes due to stringing that eventually clogs the feeder. After at least 7 tries I gave up, I decided not to spend my summer vacation debugging this crap.
    So after fixing the extruders the problem manifested only later than usual. To combat the stringing, I lowered the tool change temperature to 190C. I usually print PLA @205C so now each time there's a tool change, the hot end will cool down to 190C before doing the tool change. This adds some extra time to each tool change, so the already long print is getting even longer, now up to 20h for simple 6-color benchy.
    The temperature reduction did help quite a lot, the print progressed about to around 50% completion whereas before it usually failed around 20%.
    Also the print quality is not very good in general. I'm using S3D for this print so that needs to be tuned too.
    IMG_20200727_131425.jpgIMG_20200727_131431.jpg

    This was found inside the feeder after investigating the latest fail. Also a crappy filament tip that most likely will cause a feed failure
    IMG_20200727_131307.jpgIMG_20200727_131530.jpg

  8. #8
    Technologist
    Join Date
    Oct 2016
    Posts
    133
    Also the amount of waste material with 6-colors vs. the actual result is quite ridiculous. Here's all the purge material accumulated in 4 days of failed benchies. I'm using a purge bucket (or chute since it doesn't have a bottom) so all the purge just falls to the ground. The inital idea was to have a buckett, but the amount of purge material with 6 colors will fill it up quite fast.
    IMG_20200727_130154.jpgIMG_20200727_130201.jpg

  9. #9
    Engineer
    Join Date
    Jul 2016
    Location
    South Florida, USA
    Posts
    719
    Add AutoWiz on Facebook
    Can you please share screenshot(s) of your start, end, and toolchange gcode for your 6 color printer?

  10. #10
    Technologist
    Join Date
    Oct 2016
    Posts
    133
    Sure, here's what I'm using in S3D. Mostly nothing specific to multi-material printing, only the comment tags to mark start and end scripts, for filaswitch usage.

    Start gcode
    Code:
    ; START SCRIPT START
    M83  ; extruder relative mode
    G10 P0 R[extruder0_temperature] S[extruder0_temperature]; set extruder temp
    G10 P1 R[extruder0_temperature] S[extruder0_temperature]; set extruder temp
    G10 P2 R[extruder0_temperature] S[extruder0_temperature]; set extruder temp
    G10 P3 R[extruder0_temperature] S[extruder0_temperature]; set extruder temp
    G10 P4 R[extruder0_temperature] S[extruder0_temperature]; set extruder temp
    G10 P5 R[extruder0_temperature] S[extruder0_temperature]; set extruder temp
    M190 S[bed0_temperature] ; wait for bed temp
    G28 ; home
    M116  ; wait all temps
    M572 D0:1 S0.0 ; disable pressure advance
    ; START SCRIPT END
    End gcode
    Code:
    ; END SCRIPT START
    G4 ; wait
    G91; relative positioning
    G1 E-3.2 F2000
    G10 P0 R0 S0 ; cool down
    G10 P1 R0 S0 ; cool down
    G10 P2 R0 S0 ; cool down
    G10 P3 R0 S0 ; cool down
    G10 P4 R0 S0 ; cool down
    G10 P5 R0 S0 ; cool down
    M140 S0 ; turn off heatbed
    M107 ; turn off fan
    G1 Z5 F1500
    G90 ; absolute positioning
    G1 X0 Y300; home X axis
    M84 ; disable motors
    ; END SCRIPT END
    Tool change script in S3D is empty, S3D adds the Tx command automatically.

    This is the actual tool change gcode that is added by filaswitch and saved to a new file. This replaces every Tx command in the S3D gcode file.
    Code:
    ; PURGE START
    G1 Z4.0000 F960; z-hop
    G1 X204 Y10 F10000; move to purge bucket
    G1 X204 Y0 F10000; move to purge bucket
    G10 P0 R190 S190
    G10 P4 R190 S190
    M116 P4
    G1 E10.0000 F540; prepurge/ramming
    G1 E-25.0000 F540; rapid retract
    G4 P3500.0; cooling period
    G1 E20.0000 F1500; long retract
    G1 E-35.0000 F1500; long retract
    G1 E-155.0000 F2000; long retract
    G1 E-5.0000 F1500; long retract
    T4; change tool
    G1 E5.0000 F500; feed
    G1 E165.0000 F2000; feed
    G1 E20.0000 F1500; feed
    G1 E5.0000 F300; feed
    G1 E74.9381 F153; purge
    G1 E10.0000 F80; slow purge
    G10 P4 R205 S205
    G10 P0 R205 S205
    G4 P3000; ooze pause
    G1 E-5.5000 F2100; retract
    G90; absolute positioning
    G1 X249 Y0 F5000; move from purge bucket
    G1 X210 Y0 F5000; move from purge bucket
    G1 X249 Y0 F5000; move from purge bucket
    G1 X210 Y0 F5000; move from purge bucket
    G1 X249 Y0 F5000; move from purge bucket
    G1 X249 Y20 F5000; move from purge bucket
    G1 X204 Y20 F5000; move from purge bucket
    M83; relative E
    G92 E0; reset extruder position
    ; PURGE END

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •