M567 Tool-Mixing issues/quirks
-
@chrishamm Thanks for the explanation. Since we do utilize the Filaments config files (but not the load/unload functionality) and are already rebuilding DWC, we just added it to our menu bar and are sorting it through globals and loading the configs through a custom mCode (instead of M701) like so:
M98 P{"/filaments/" ^ param.S ^ "/config.g"} set global.filament = param.S
--
-
-
Have you tried a weak motor as a secondary extruder, one that would miss steps on major resistance?
I have done no serious tests yet, we use 5kg spools and have similar problem. First idea was to use two motors connected to one stepper driver, not to occupy other drivers.
Main extruder use a 200 steps 25mm motor with belt transmission 2:1 and the secondary extruder at the spool is a 400 steps 42mm (I just had it handy) to match gear ratio. Unfortunately the main one is much weaker in this setup. Perhaps it would work with two same sized motors one 200 the other 400 steps.Missing steps is plainly a dirty hack, but in our case providing enough support for the main extruder requires only a gentle push.
Mixing would definitely be a cleaner solution but is it at all possible to use two extruders inline without fighting each other at some point?
-
@duetuser said in M567 Tool-Mixing issues/quirks:
,............ but is it at all possible to use two extruders inline without fighting each other at some point?
One possibility would be to have a "loop" of filament between the two extruders. Extruder A pulls filament out of the loop, and extruder B pulls filament out of the reel into the loop. If you don't want to use mixing to drive the two extruders, you could use some meta commands and conditional code so that say when extruder A has pulled 100mm from the loop, then extruder B pushes 100mm into it.
-
We’ve now successfully run almost three full 10kg mega spools of ABS through our setup.
The way @deckingman explained it is how we are protecting any variance between extruders- there is a split in the PTFE tubing where a variable amount of filament is extended. Once we balanced the e-steps between extruders, little else is done except to verify the extended amount isn’t extending too much as we have it purposely set where the secondary extruder is just a touch faster than the primary.
If we want to reduce how much is extended, we can send M567 P0 E1:0 to switch off the secondary extruder and then M567 P0 E1:1 to turn it back on when it has been reduced.
-
Great, happy to hear it!
What do you mean by "loop"? Is it a physical loop of filament? Where is it placed in the printer?
I've just connected the secondary extruder (42mm NEMA 17), set it to 300 mA, and mixed so it extrudes more than tha main extruder.
We'll see how far it goes -
@duetuser there is a split in the ptfe tubing leading from the spool to the printer.
-
@oozebot So it is a loop. What a nice idea.
-
@oozebot Just a thought, but if you constrained the "loop" such that it was free to expand and contract but not to move sideways, then you could use a micro switch or slotted opto sensor or some such, with an external trigger to automatically adjust the feed of the primary extruder to keep the loop size constant.
-
@deckingman Already thought of that.. If we productize this in some way, that is exactly how we will handle it. But for our current needs, just leaving it loose works fine.
-
I thought I'd share our final solution for this which is working very well. To recap, we are using a secondary LGX extruder at the spool (10kg / 22lb mega-spools) to push the filament to each printer. It's a bit expensive upfront, but removing the load from the primary extruder has allowed us to increase our max mm3/s throughput by ~25%.
The second photo is of the filament loop which resides at each printer. When the filament advances enough to trigger the switch, the ratio on the secondary extruder is slightly decreased, slowing it down. And when the filament retracts enough to disengage the switch, the ratio on the secondary extruder is slightly increased, speeding it up. Works flawlessly!
-
Our solution continues to work well, but sometimes we bypass the secondary extruder when printing with smaller spools of different filament. What we have noticed as that even when the second extruder is "disabled" (using M567 P0 E1:0), the secondary extruder is still retracting/un-retracting when using G10/11 for firmware retraction.
@dc42 - Is this a bug?
-
@oozeBot I'd say it's not a bug but intentional. It's certainly the case with multi input, single nozzle hot ends, that all filaments need to be retracted, regardless of which ones are actually in use according to the mixing ratio. Failure to do so will result in filament being drawn from the unused inputs, rather than the nozzle tip. That's why firmware retraction behaves the way it does. I appreciate that in your particular case, you are using a push-pull arrangement but if firmware retraction was modified such that retraction was based on mixing ratio, then it would bugger things up for those of us with multi-input, single output hot ends. Suggest you modify the tool definition when you want to use a single extruder, rather than modify the mixing ratio.