M567 Tool-Mixing issues/quirks
-
Thought I would add my experience, as I have been using tandem extruders for a few months. I have a laser filament monitor on the feed side of an orbiter 1.5, which initially was used via a 800mm bowden. This was a big improvement on my basic kossel printed extruder. When the orbiter 2 became available, it was feasible to use a direct drive, and as the two extruders have the same motor and drive gear, I just added the orbiter 2 to the effector end of the bowden tube and used both extruders. This gave a very noticable increase in the sharpness of prints.
The effect on the laser filament monitor readings was interesting - over 9 prints ranging from ~6000 to~12000mm filament, the orbiter 1.5 alone gave 24 to 149 as the mean minimum and maximum figures. With the orbiter 2 direct drive added, the figures were 84 to 117, highly statistically significant reductions, particularly for the minimum value. There was no significant change in the monitor measurement of total extrusion compared to the extruder value.
for those wanting to try this setup, I used
M569 P3 S0 ; Drive 3 goes backwards - changed for orbiter 1.5
M569 P4 S0 ; Drive 4 goes backwards - orbiter 2.0
M350 E16:16 I1
M906 E850:850 I10 ;current for orbiters
M567 P0 E1.00:1.00 ; set mix ratio
M92 E620:620 ; Set extruder steps per mm orbiters
M572 D0:1 S0.04 ;pressure advance extruder 0 and 1I suspect that some of the issues discussed above are not coming into play on my simple single extruder system. I print at up to 200mm/sec with a 0.4 nozzle without a problem. The orbiters have opposing almost semicircular drive grooves which barely cut the filament, so I do not think the first extruder affects the second in this respect. I think I should maybe do some more formal testing to check out some of my assumptions (thank you @deckingman)
-
I appreciate everyone's input. @deckingman - I will perform a few tests with adjusting e-steps instead of mixing ratio and report back.
One oddity I just noticed is that the toolboard is reporting a higher voltage than the mainboard, even though they are both connected to the same power supply. @dc42 - I wonder if this could have anything to do with the variation? From B122:
mainboard:
Supply voltage: min 0.1, current 24.2, max 24.4
toolboard:
VIN voltage: min 24.5, current 24.8, max 25.0
-
This post is deleted! -
@herve_smith said in M567 Tool-Mixing issues/quirks:
i personally think that is going to an nearly impossible task without throwing exhorbanant amounts of time, money and resources at the problem.
@herve_smith Appreciate the input but we had this up and running on the first day. Our KISS solution is a simple split in the PTFE tubing and purposely advancing the filament off the spool 5cm at the beginning of the print. As long as the variance isn't negative where the 5cm gap is closed, there is no issue. All we are now trying to do is minimize the variance - which has already been calculated at 2.2%.
However, we are curious as to why there is a variance in the first place. It is not the extruder or the motor as swapping the two results in the same issue. Thanks
-
-
@oozebot said in M567 Tool-Mixing issues/quirks:
One oddity I just noticed is that the toolboard is reporting a higher voltage than the mainboard, even though they are both connected to the same power supply. @dc42 - I wonder if this could have anything to do with the variation?
The VIN voltage reading uses the 3.3V supply on the board as the voltage reference. So variations in the 3.3V supply voltage will affect the VIN reading. ADC gain and offset errors will also cause small variations.
-
@oozebot said in M567 Tool-Mixing issues/quirks:
Can you answer why selecting Filaments is disabled when mixing is enabled? I suspect deckingman is right but could it be considered to be optionally enabled for our use case? Thanks
That's one for @chrishamm.
-
@dc42 - we just did considerably more testing and would like your thoughts. We determined that the secondary extruder (at the spool) is operating as expected. It is the primary extruder, connected to the toolboard (within our heated chamber), that is under-extruding!
At room temp, the extruder connected to the toolboard calibrated at 814 e-steps. With the chamber at 70c, it calibrated at 826 e-steps.
This was all sparked by the difference in VIN between the room temp 6HC and the ~70c toolboard reported by B122 in my previous post. And I believe it finally explains why we've been calculating our e-steps higher than almost everyone else using an LGX extruder.
mainboard:
Supply voltage: min 0.1, current 24.2, max 24.4
toolboard:
VIN voltage: min 24.5, current 24.8, max 25.0
@chrishamm - since we are already rebuilding DWC, we can just re-enable Filaments for our use case unless you know a reason why that might break?
-
@oozebot the VIN voltage is not the reason for the change. The steps generated by the extruder are independent of VIN. The motor current is also independent of VIN, unless you are extruding very fast and the required motor voltage exceeds the VIN voltage.
What I think is happening is that at 70C the filament is softer, so the filament flows a little more as it is being extruded, which means that the back pressure from the hot end will cause a greater increase in the steps per mm.
-
@dc42 Thanks. Your explanation makes more sense as the extruder itself is also at 70c..
This 'revelation' has finally resolved one of the last pieces in dialing in our machines with various materials as we can now recommend e-steps along with the other settings.
We'll consider this closed. I just ran a ~2 hour print and the two extruders are now almost entirely in sync.
-
@oozeBot The Filaments option is disabled when multiple extruders are mapped to a single tool because it isn't obvious what extruder drive should be used for filament mapping. If you have a 3-in-1 hotend with four tools (e.g T0 = custom mixing, T1 = E0, T2= E1, T3 = E2) you can use the
M563 L
parameter to specify the extruder drive to control (e.g. forT1
->M563 P1 H1 D0 L0
). Note thatM703
only configures the filament of the mapped extruder drive; it cannot deal with multiple filaments (yet). -
@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!