M567 Tool-Mixing issues/quirks
-
@norder We appreciate your insight but there are factors at play that make this the simplest solution. Specifically, the spools live in a large heated chamber that holds 12 mega-spools and feed six printers each. They are also some distance away from the printers they feed. Our Bondtech LGX extruders can handle this, but will begin to skip if you try to print must faster than ~80mm/s with a .6mm nozzle at .5mm layer height x .75mm extrusion width. Our printers are capable of printing much faster, and our initial testing with this push/pull system proves it, so to us it is worth the additional cost of a second extruder per machine for our farm - if we can get the extruders to sync up.
-
@oozebot M221 extrusion override values are set per extruder. See the documentation, https://docs.duet3d.com/en/User_manual/Reference/Gcodes#m221-set-extrude-factor-override-percentage.
-
@dc42 Thanks. Luckily, it turns out if you don't include in a D value (which I wasn't), it updates both extruders - so that wasn't the issue. Further testing this afternoon has included recalibrating the e-steps on both extruders and several prints with extrusion factor set to 100% for both extruders.
Right now I can tell you that the secondary extruder is extruding 2~3% more than the primary extruder. Currently, I am testing:
M567 P0 E1.00:0.98
I will let it run for 15 minutes or so and check the gap between the two PTFE tubes to see how much its grown and continue to narrow down the variance.
I can find no reason for this difference and have combed through every setting that could seemingly affect it.
-
@oozebot I can see a couple of possibilities:
- @deckingman said:
This is just a guess but if the extruders are identical, and if the extruder nearer the filament is pulling more than the second extruder near the hot end, then it might be that the marks from where the first extruder has gripped the filament effectively reduce the diameter of the filament for the second extruder so you might need to adjust the steps per mm.
Have you checked whether the filament coming out of the first extruder is significantly longer than the filament going in to it?
- The second extruder has to fight significant back pressure, which the first extruder doesn't. The will increase the required steps/mm of the second extruder. It's the reason that we support nonlinear extrusion in RRF.
-
@dc42 Perhaps that's it - I wouldn't have thought it could compress / elongate the filament ~2% but it makes sense. Adjusting the mixing ratio a few percent appears to be a completely reasonable solution. I'm almost embarrassed to admit I didn't think of that earlier, but then again, I had never even read about mixing before last night.
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
-
@oozebot I'm on my phone right now so can't easily send a link but if you look at the documentation for the filaments feature, it specifically states that it's for exactly one extruder per filament. That's why I've never used it nor seen the button you described. So that feature would need a re-write for your specific use case. I'm not a writer of code but I would imagine that might be difficult to do because it requires checking if the mixing ratio is exactly 1:1 and then in that case only, controlling both extruders rather than just one.
-
@oozebot Also, if you do end up adjusting something to compensate for filament compression, I'd suggest you do it by adjusting the steps per mm for one or other extruder, rather than adjusting the mixing ratio. It shouldn't be too difficult to do. Simply use filament that has already been through the first extruder rather than fresh filament to adjust the steps per mm for the second extruder. It's probably not compressing the filament as such but rather the first extruder leaves "bite marks" so the second extruder grabs the filament using those same bite marks, rather than on the OD. You'll likely have to change the calibration for different filament types.
-
@oozebot
You will still have to match the extruder for printing to the extruder for unwinding.
A simple filament change triggers a new asynchrony.
Therefore, the extruder responsible for unwinding must not damage the filament by leaving small injuries from the feed rollers (thus stretching it).The YouTuber Jón Schone from the Proper Printing channel has constructed an extruder that does not convey the filament with toothed metal wheels as usual, but very gently with the help of two toothed belts.
I think this type of extruder would not damage the filament as it unwinds so that it becomes longer or there could be problems with abrasion from the second extruder.Here is a video about his "Experimental Extruder" from his channel.
He has made more videos about the extruder, so feel free to browse his playlist.Google Translate
--- Original Text ---Man wird weiterhin den Extruder für das Drucken an den Extruder für das Abrollen anpassen müssen.
Ein einfacher Filamentwechsel löst eine neue Asynchronität aus.
Daher darf der Extruder der für das Abrollen zuständig ist, das Filament nicht beschädigen indem es kleine Verletzungen von den Förderrollen hinterlässt (wodurch es in die Länge gedrückt wird).Der YouTuber Jón Schone vom Kanal Proper Printing hat einen Extruder konstruiert der das Filament nicht wie üblich mit verzahnten Metallrädern fördert sondern ganz schonend mit Hilfe zweier Zahnriemen.
Ich denke diese Art von Extruder würde das Filament beim abrollen nicht beschädigen so das es länger wird oder es durch den zweiten Extruder zu Problemen mit dem Abrieb kommen könnte.Hier ist ein Video über seinen "Experimental Extruder" von seinem Kanal.
Er hat mehr Videos zu dem Extruder gemacht, also gerne mal in seiner Playlist umschauen. -
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?