Jump to content

Many filaments, one nozzle: The Demultiplexer


Recommended Posts

Posted · Many filaments, one nozzle: The Demultiplexer

At Open Bionics, we've been experimenting with automatically changing the filament in the hotend. The goal was a solution which could accept as many different filaments as we could control off the board, with only one hotend. In theory it wouldn't require complicated parts, and could be highly expandable.

The idea was to withdraw the current filament from the hotend, and push another one in, extrude that, and repeat.

IMG_7015.thumb.JPG.a0ecf54afbca6a30629688d9393d3dff.JPG

We used a "tight" demultiplexing part, where the filaments were fully enclosed by bowden tube for as much time as possible. This part screwed onto the top of the U2 head. The filaments slided through easily, although some chamfering with a knife was needed on the inside of the receiving bowden tube to enable a smooth transition.

IMG_7017.thumb.JPG.d5b5f04324e0b31728dc968357881d8b.JPG

Withdrawing the filaments (we are experimenting with PLA and ninjaflex) caused significant stringing on the withdraw - which blocked the bowdens. We experimented with different withdrawal rates, and temperatures. We found some success with double and triple "dipping" techniques - where instead of pulling the filament straight out, it was dipped back into the hot end, and then withdrawn again, to detach the string. A similar technique is used in industrial cake decorating robots! We managed to develop dipping techniques for both plastics which avoided any stringing, and produced the most consistent head. However, even our best attempt was temperamental - one day it would work, the next not... The dipping process was implemented by altering the Tool Change Command in Cura.

We gave up feeding flexible filament through a bowden, and switched to the Flex3drive (a direct drive). This posed a problem with our technique: the flex3 could only withdraw filament as far as just above its gripper wheel, meaning we could extrude extremely well, but couldn't change filament. We developed the idea of using bowden extruders simply to change the filament, with the flex3drive providing the actual extrusion force. We had some success with pushing through the bowden, and then switching to the flex3 and getting it to grab the filament and push it through - but again, it was temperamental. Ideally both steppers would be pushing at the same time to get a good grab, but the firmware mods were taking too long... Worth noting that the you need to disable the bowden stepper whilst the flex3 is extruding (this is a firmware bodge) - it is strong enough to pull through the disabled stepper (but not enabled!). Even when this is done, the filament tends to build up tension and then ping through, leading to an inconsistent extrude volume. Further difficulty is added by the e_steps being different between the drives, so no easy electronics fix there.

The upside to using the flex3 is that the filament path behind the flex3 doesn't have to be fully enclosed. We used an "open" demultiplexer part, where the deformed filament heads are stored when unused. This avoids the heads getting stuck in tight bowden tube (the bowden down to the flex3 was drilled out to 3.5mm). This part was very easy to make - and works well. It also eliminates compression in the filament between the drivers because of the open section.

IMG_7019.thumb.JPG.3aa7f63aa78150bc8479fbca1f9a4668.JPG

IMG_7020.thumb.JPG.03dca1f4288f0478381bd059ad7a17d8.JPG

IMG_7022.thumb.JPG.468252543e8387611c0c8bff22fdf5ee.JPG

So... we made some progress with this technique. However, there were too many points of uncertainty introduced: the strings, the flex3 grabbing the filament, the tension between extruders, clogging in the demultiplexers. We concluded that it's a road fraught with difficulty! On paper it works, but printers will be printers.

Would be very interested to hear if you've managed to get this to work!

TLDR:

- Retracting filaments from hotend causes strings - difficult to get rid of

- Need to use flex3 to consistently extrude flexible filament

- Difficult firmware mods to get flex3 to grab filament from bowden tube

- Filament changes are very slow

- Poor synchronisation between extruders leads to inconsistent extrude volume

- Don't try this at home!

IMG_7015.thumb.JPG.a0ecf54afbca6a30629688d9393d3dff.JPG

IMG_7017.thumb.JPG.d5b5f04324e0b31728dc968357881d8b.JPG

IMG_7019.thumb.JPG.3aa7f63aa78150bc8479fbca1f9a4668.JPG

IMG_7020.thumb.JPG.03dca1f4288f0478381bd059ad7a17d8.JPG

IMG_7022.thumb.JPG.468252543e8387611c0c8bff22fdf5ee.JPG

  • Like 3
Link to post
Share on other sites

Posted · Many filaments, one nozzle: The Demultiplexer

Thanks for the write up!

So.. what plans lie ahead of you?

Are you going to continue with the flex3drive, or look for a totally different approach?

What if you could reduce the hot zone above the heater blocks, would that reduce stringing?

@Foehnsturm, since you are the OP on the multihead thread this may be interesting to you as well :)@UltiArjan, @macua85 and @neotko too!

There are multiple roads to rome eh? :)

  • Link to post
    Share on other sites

    Posted · Many filaments, one nozzle: The Demultiplexer

    Interesting write up, I feel printing 2 materials with really different printing specs in the same hot end is not the way to go. Controlling the right temperature, avoiding blockages and prevent pollution of one material into the other will be very hard if not impossible.

    Getting specifics hotends for specific materials will probably be much easier to control. I do think the flex-drive is very interesting for ninjaflex (did you share the design of the Ultimaker2 conversion to flexdrive already somewhere? if not can you please do so?)

    A dual settup like the magnetic heads is working ok, but it needs to become more stable, (my setup still needs frequent monitoring) which is much easier to do when you design a printer specifically for this goal.

    It's not as lightweight as an ultimaker, but a "ready out of the box" example is the BCN3d sigma.

    http://www.bcn3dtechnologies.com/en/catalog/bcn3d-sigma

    A setup like this, with 2 heads mounted on a rail is easy to convert by changing 1 head into a flexdrive.

  • Link to post
    Share on other sites

    Posted · Many filaments, one nozzle: The Demultiplexer

    So.. what plans lie ahead of you?

    Are you going to continue with the flex3drive, or look for a totally different approach?

    What if you could reduce the hot zone above the heater blocks, would that reduce stringing?

    We've got ninjaflex and PLA printing well out of 2 nozzles, as per my post in the Flex3 thread, linked below. This is usable, though not totally reliable (though often bizarre non-recurring errors, such as z-shifts mid way through a 20 hour print...). We've also got a  Diamond Nozzle (discussed below). For now, the yield rates are unsatisfactory, so multi material is going on the back-burner. We'll look into The Palette, or a 3mm Diamond Nozzle, when released. Interchangeable heads plus diamond nozzle would be fantastic (6 filaments!) - but we need to get the individual components working well enough first. This demultiplexing idea is also on hold, until we muster up the courage to try it again!

    I don't see the Flex3drive as mutually exclusive to any solution. I've designed parts to allow it to be mounted on each of the diamond nozzle heatsinks - and it could work on interchangeable heads too. Simply, where there is flexible filament, we're going to need a flex3.

    Reducing the hot zone could work.

    Interesting write up, I feel printing 2 materials with really different printing specs in the same hot end is not the way to go. Controlling the right temperature, avoiding blockages and prevent pollution of one material into the other will be very hard if not impossible.

    We've also been experimenting with the Diamond Nozzle (on a Lulzbot), which has produced decent results printing with PLA and ninjaflex. The temperature difference doesn't seem to be too much of a problem. The main issues have been with the nozzle oozing during the print (both materials), and filament jamming in the bowdens (we're using 3mm filament in a partially drilled out 1.75mm diamond - so not ideal!).

    Getting specifics hotends for specific materials will probably be much easier to control. I do think the flex-drive is very interesting for ninjaflex (did you share the design of the Ultimaker2 conversion to flexdrive already somewhere? if not can you please do so?)

    See here. Will hopefully get the U2 flex3 STLs up soon.

    • Like 1
    Link to post
    Share on other sites

    Posted · Many filaments, one nozzle: The Demultiplexer

    When I was reading your initial post, my mind recalled The Palette kickstarter project. I think we have a thread in here about it, we were curious how it would bond between filaments and maintain the uniform diameter (2.85+/-) to print well.

  • Link to post
    Share on other sites

    Posted · Many filaments, one nozzle: The Demultiplexer

    Have you considered adding any other hardware to the mix? a trimming mechanism that would cut the previous filament at the point where the filament exits the squid thingy or even as far as the ceramic piece. Then throw out a retract command and then when the filament clears the little blue squid looking thingy you could push the new filament through, It wouldn't be very accurate (as far as when the material should change in relation to how far you have printed unless you set up a prime pillar to get rid of that extra stuff) because of the old filament left in the nozzle. and if you were switching from a high temp material to a low temp material it would possibly have an issue extruding the left over high temp material.

  • Link to post
    Share on other sites

    Posted · Many filaments, one nozzle: The Demultiplexer

    Have you considered adding any other hardware to the mix? a trimming mechanism that would cut the previous filament at the point where the filament exits the squid thingy or even as far as the ceramic piece.

     

    That would be the ideal solution. It could either trim off the tails, or cut through the filament itself (there tends to be a deformed section about 12mm long, which has been melted and solidified before the tail, which is normally slightly wider than the filament). You'd probably be best off having a blade which cuts the tail as soon as it exits the hotend, to avoid having tail remnants in the bowdens. That way you don't need to find a way of removing the cut off tails, as there shouldn't be any. Perhaps a disk which can spin, with a hole drilled in it. The filament normally passes through the hole, but to cut the tail, the disk is spun one revolution. It wouldn't necessarily have to be sharp - the hot tail should be cutable by shearing it.

    We thought having a cutting blade was a bit too much mechanical complexity - as well as taking up an extra motor slot.

  • Link to post
    Share on other sites

    Posted · Many filaments, one nozzle: The Demultiplexer

    We thought having a cutting blade was a bit too much mechanical complexity - as well as taking up an extra motor slot.

     

    hmm...you could add some sort of blade near the wipe area ( a serated strait blade) running the length of the front of the printer and make an extra action at the point of tool change to "wipe" back and forth essentially sawing through it. Also If you aren't using the other heater, you could use that connection for a heat based cutting method.

  • Link to post
    Share on other sites

    Posted · Many filaments, one nozzle: The Demultiplexer

    Also If you aren't using the other heater, you could use that connection for a heat based cutting method.

     

    That's an interesting point. I wonder whether it's possible to use that connection to crudely control something (ie. no feedback), such as using a relay to switch on a cutting blade.

  • Link to post
    Share on other sites

    Create an account or sign in to comment

    You need to be a member in order to leave a comment

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now
    • Our picks

      • UltiMaker Cura 5.7 stable released
        Cura 5.7 is here and it brings a handy new workflow improvement when using Thingiverse and Cura together, as well as additional capabilities for Method series printers, and a powerful way of sharing print settings using new printer-agnostic project files! Read on to find out about all of these improvements and more. 
         
          • Like
        • 18 replies
      • S-Line Firmware 8.3.0 was released Nov. 20th on the "Latest" firmware branch.
        (Sorry, was out of office when this released)

        This update is for...
        All UltiMaker S series  
        New features
         
        Temperature status. During print preparation, the temperatures of the print cores and build plate will be shown on the display. This gives a better indication of the progress and remaining wait time. Save log files in paused state. It is now possible to save the printer's log files to USB if the currently active print job is paused. Previously, the Dump logs to USB option was only enabled if the printer was in idle state. Confirm print removal via Digital Factory. If the printer is connected to the Digital Factory, it is now possible to confirm the removal of a previous print job via the Digital Factory interface. This is useful in situations where the build plate is clear, but the operator forgot to select Confirm removal on the printer’s display. Visit this page for more information about this feature.
          • Like
        • 0 replies
    ×
    ×
    • Create New...