Varying nozzle mixing ratio by real time location in a print...
-
Hi All,
I'm planning to use a 3 way diamond hot end to mix normal, lightweight and carbon fibre PLA to locally lighten or reinforce parts.However I want to gradually mix in and out the constituents rather than have abrupt changes as would happen if I drove them from separate models in the slicer.
For the print top and bottom component mating faces I'm planning on using conditional gcode on layer changes to gradually fade in and out reinforcement by changing the mix ratio. I'm fairly sure that'll work fine.
However (keeping it simple to start with) I'd like to be able to also fade mixes within a layer based on where the head is on the X axis, I'm guessing I can look-up object model values for X position but I'm not sure if I can then use that in real time to do the mix changes.
I'm thinking I could possibly introduce a macro based G call between every line of gcode to check where the head is and adjust accordingly, and as long as my segment lengths are short enough I should get a reasonable response.
I'm also guessing an infinite daemon.g running a couple of times a second in the background checking location and changing the mix might be a way to do it, but I'm not sure how that'd impact printer performance.
Now taking it to the next level (no longer simple) ideally within each layer the code would check a 2D mix-matrix array to define mixes based on both X and Y, these would be provided in a CSV. The layer change would know which map to apply between any two print heights and load the appropriate one as an array variable so that it'd only need to be read from the CSV during the relevant layer change.
Can we read from CSV files on the SD card during a print layer change? Am I barking mad???
Anyway, I know this is a little "out there", but if anyone has any constructive thoughts I'm all ears.
All the best,
Barry M -
@CNCModeller As a long term user of mixing hot ends from the Diamond 3 colour, through the 5 colour to my own design 6 input, I can tell you that you face a few problems.
The first is that the Carbon fibre PLA will destroy the nozzle in no time. You might get one print but unlikely that you'll get a second. You need a hardened nozzle (which is one of the reasons I made my own design).
The second is that you'll need to anticipate when the change in mixing ratio translates to a change in what comes out of the nozzle. IIRC, for a 3 colour diamond, you need to extrude about 3 to 5 mm of filament. I used to do this by post processing the gcode file to move the tool change point forward in the file. That often leads to having to segment a move. You'd need to do the same thing with the mixing ratio - i.e have some sort of look ahead mechanism and probably segment a move in order to have the mixing ratio change at the correct point in the print. Even then, it won't be perfect because there is still a transition element of a couple of mm between one mix and the next.
Thirdly, what temperature does the carbon fibre PLA need? - I only have experience of carbon fibre nylon. Bear in mind that the heat breaks on the Diamond are PTFE lined so you are limited to around 220 Deg C.
In summary, changing the mixing ratio between layers is fairly straightforward - you can even do a purge to counteract the transition effect. But changing the mixing ratio at the correct point within a layer is a whole new world of pain (but it can be done if you look at some of my YouTube videos).
-
Thinking about it some more, I'd think that a better approach might be to break the model up into different parts, with each part representing a different mixing ratio. Then define a number of tools with the mixing ratios that you want (you can have up to 50 IIRC) and assign each tool to each part in the slicer. Then you could post process the gcode file to bring the tool change point forward and use the tool change macros to purge the transition part.
Also bear in mind that the bead exiting the nozzle will not be a true mixture of filaments. They get combined but not mixed. So if you mix two filaments 50:50 one half of the bead will be filament (a) and the other half will be filament (b). So if those filaments happen to be different colours, the colour will change depending on where you view the part. The same "stripey toothpaste" effect will apply to your different filament types. So the outer face of one side of the part will be one filament but the outer face of the opposite side will be the second filament.
-
@deckingman thanks for the input. Plenty of food for thought.
I was thinking I'd probably need to go to a hardened nozzle and that would mean making my own hotend. Albeit I'll only be using relatively small quantities of carbon filament in structural locations compared to the amount of normal filament used.
I did think about reworking the diamond to fit a 6mm hardened nozzle and then re-drill the filament paths using the existing ones as a guide but the mixing is an issue for me I really want to blend rather than end up with striped toothpaste.
Will think on this some more.
Many thanks again.
Barry M -
@CNCModeller if you are thinking about mixing I really recommend watching @deckingman's videos and reading his blog. He has put years of work and R&D into this already!
-
@CNCModeller To re-work the Diamond, I think you'd have to braze a lump onto the end, then drill and tap this to take a M6x 1 thread. If you try and tap the nozzle itself, you'd have to screw the nozzle in first, then drill the filament holes which would enter the nozzle half way up the side and at an angle of about 22 deg. Best of luck trying to do that in a hardened nozzle. And of course, you wouldn't be able to change or even re-tighten the nozzle because the holes would no longer line up.
Here is drawing of the Diamond - it's available on the internet so I doubt I'd be infringing on any copyright issues by posting it here.
-
@T3P3Tony said in Varying nozzle mixing ratio by real time location in a print...:
@CNCModeller if you are thinking about mixing I really recommend watching @deckingman's videos and reading his blog. He has put years of work and R&D into this already!
To save time, I can summarise my years of work into one sentence. Yes mixing can kind of be done passively but the volume of molten plastic is such that ooze prevention is just about impossible. Also, a small input on the rigid filament entering the melt chamber does not translate to an equal movement of filament exiting the nozzle. The volume of filament acts a bit like a wet sponge. Meaning that one can't print anything other than simple vases and the like. I suspect the same applies to active mixing given the evidence I've seen which invariably shows simple vases which need little or no retraction and no fine detail.
More recently, I've been experimenting with combining different filament types - i.e. TPU with PLA, and Polypropylene with ABS and Carbon Fibre Nylon. That too is largely a waste of time due to the fact that TPU and Polypropylene don't stick to anything much except themselves.
-
@T3P3Tony said in Varying nozzle mixing ratio by real time location in a print...:
@CNCModeller if you are thinking about mixing I really recommend watching @deckingman's videos and reading his blog. He has put years of work and R&D into this already!
Yeah I've already started to read, definitely a great resource, nice work @deckingman !
-
@deckingman said in Varying nozzle mixing ratio by real time location in a print...:
...
Best of luck trying to do that in a hardened nozzle. And of course, you wouldn't be able to change or even re-tighten the nozzle because the holes would no longer line up.I have a brass & ruby nozzle so was thinking of that approach, I was thinking of soldering the nozzle in before I re drill it. But this still doesn't resolve the lack of mixing issue. So I've parked that idea for now.
-
@deckingman said in Varying nozzle mixing ratio by real time location in a print...:
@T3P3Tony said in Varying nozzle mixing ratio by real time location in a print...:
@CNCModeller if you are thinking about mixing I really recommend watching @deckingman's videos and reading his blog. He has put years of work and R&D into this already!
To save time, I can summarise my years of work into one sentence. Yes mixing can kind of be done passively but the volume of molten plastic is such that ooze prevention is just about impossible. Also, a small input on the rigid filament entering the melt chamber does not translate to an equal movement of filament exiting the nozzle. The volume of filament acts a bit like a wet sponge. Meaning that one can't print anything other than simple vases and the like. I suspect the same applies to active mixing given the evidence I've seen which invariably shows simple vases which need little or no retraction and no fine detail.
More recently, I've been experimenting with combining different filament types - i.e. TPU with PLA, and Polypropylene with ABS and Carbon Fibre Nylon. That too is largely a waste of time due to the fact that TPU and Polypropylene don't stick to anything much except themselves.
@deckingman Thanks for the insight, my prints are mostly complicated vase mode as this makes for cleaner prints and the foaming action of lightweight pla doesn't do retraction at all.
I'm only combining different types of PLA so in essence I'm just mixing the additives. But I do need them to be mixed properly.
More contemplation is required lol.
Many thanks folks!
Barry M -
@CNCModeller said in Varying nozzle mixing ratio by real time location in a print...:
................ I'm only combining different types of PLA ............................
Then here is another little problem that you will encounter............PLA will hydrolyse (become more and more runny) over time when held at print temperature. This will happen with any of the 3 filaments which are not moving forward as the print progresses. So when you do come to use any of those previously unused filaments, if sufficient time has elapsed (a couple of hours or so) the entire contents of that particular melt chamber will get dumped onto the print in one go, then you'll have zero extrusion until that melt chamber gets replenished. PETG does not exhibit the same level of hydrolysis.
Welcome to my world
-
@deckingman that's worth knowing.
I was thinking of keeping all the filaments at least creeping forward as I thought the filament might degrade if held at temperature for extended periods. Sounds like that's true. I'm not worried about the appearance w.r.t. colour and a trace of the other filaments won't make a major mechanical difference.
Thanks again
-
@CNCModeller It depends a bit on the model but generally a couple of percentage points in the mixing ratio is enough to keep the filament moving forward enough to counteract the hydrolysis.
It'll also help with another issue that I haven't yet mentioned, which is that you must use firmware retraction to retract all filaments concurrently - not just the one(s) that is/are "active". If you don't do that and only retract the filaments that you are currently printing with, then when you retract, filaments gets drawn from the other input(s) rather than the nozzle tip effectively giving no retraction. But the issue here is that if you have a lot of retractions, the same portion of those filaments that are not currently in use get retracted and un-retracted and may eventually get worn away. The number of retraction cycles you get before that happens will depend on the extruder type, with a dual hobbed bolt such as the Bondetch BMG doing much better that a single bolt spring loaded roller type such as an E3D Titan. But keeping all filaments moving forward as the print progresses will prevent this from happening.
-
@deckingman said in Varying nozzle mixing ratio by real time location in a print...:
@CNCModeller It depends a bit on the model but generally a couple of percentage points in the mixing ratio is enough to keep the filament moving forward enough to counteract the hydrolysis.
...
The number of retraction cycles you get before that happens will depend on the extruder type, with a dual hobbed bolt such as the Bondetch BMG doing much better that a single bolt spring loaded roller type such as an E3D Titan. But keeping all filaments moving forward as the print progresses will prevent this from happening.Sounds like I'm ok on this front too, I'll be creeping the filament and I'm using a BMG.
Just need to figure out proper mixing... I have some ideas but will need to do testing to see if they are any good.
Many thanks again!
Barry M -
@CNCModeller Good luck! (I mean that sincerely, not sarcastically). The most promising method I found was with a split helical micro-mixer which worked quite well in terms of mixing but only at near constant extruder flow rates for the reasons that I've already stated. A driven "paddle" might work too if you can figure out a way to seal the drive shaft, but again, I suspect it will only work at near constant flow rates for those same reasons. One of my YT followers has bought a commercial design which claims to work but thus far, he hasn't commented on whether the claims live up to expectations. When I get back on my PC, I'll see if I can dig out a link.
-
@CNCModeller
I recently proposed to use a Prusa MMU or enraged rabbit to cut filaments according to the extruded length and feed these pieces of filament through a Bowden tube for printing.
I hope with RRF3.5 we could read the gcode twice. First for cutting, second for printing with the right delay (according to the Bowden tube length) -
@o_lampe said in Varying nozzle mixing ratio by real time location in a print...:
@CNCModeller
I recently proposed to use a Prusa MMU or enraged rabbit to cut filaments according to the extruded length and feed these pieces of filament through a Bowden tube for printing.
I hope with RRF3.5 we could read the gcode twice. First for cutting, second for printing with the right delay (according to the Bowden tube length)@o_lampe that'd be interesting, so potentially we could do look ahead to allow for the delay in mix ratio reaching the nozzle throat?
As an aside I'd also like to drive an axis with the look ahead path approx 2mm in front of the current print location, I'm guessing that'd be possible too with multiple reads?
All cool stuff!
-
@o_lampe said in Varying nozzle mixing ratio by real time location in a print...:
@CNCModeller
I recently proposed to use a Prusa MMU or enraged rabbit to cut filaments according to the extruded length and feed these pieces of filament through a Bowden tube for printing.
..........................That's how the Mosaic Pallette claims to work - no need for a separate MMU. It wouldn't be any good for the OP though as he wants to blend two or more filaments together in various different ratios.
-
@CNCModeller said in Varying nozzle mixing ratio by real time location in a print...:
............. that'd be interesting, so potentially we could do look ahead to allow for the delay in mix ratio reaching the nozzle throat?................
DC did at one time mention that he might implement my post processing method of advancing the tool chnage command within the gcode, into the firmware but he never did. I guess not enough users to justify the time and effort required.
Don't forget that when using any form of look ahead, to advance the tool or mixing ratio change means segmenting a move such that part of the move will use one tool and the second part the other tool.
That commercial design I mentioned which uses a paddle, is the Rencolor DM-10. I had a quick look and it appears that it only mixes two filaments, and the filament path involves 90 degree bends. I don't see how it would be possible to relieve pressure on the nozzle for non-print moves - retractions just won't cut it. The demo video shows a simple vase with no - non print moves and no fine detail as I suspected. But it might be worth a look for what you want to do.
-
@deckingman said in Varying nozzle mixing ratio by real time location in a print...:
That commercial design I mentioned which uses a paddle, is the Rencolor DM-10. I had a quick look and it appears that it only mixes two filaments, and the filament path involves 90 degree bends. I don't see how it would be possible to relieve pressure on the nozzle for non-print moves - retractions just won't cut it. The demo video shows a simple vase with no - non print moves and no fine detail as I suspected. But it might be worth a look for what you want to do.
For anyone interested, Rencolor DM-10:-
https://www.kickstarter.com/projects/56949912/rencolor-dm-10-fdm-color-3d-printer