Two extruders with different steps/mm

  • I thought about a way to have a (non-mixing) multi-material extruder on my big delta printer. Now I wonder if RRF (v3.1.1) supports it the way I would like to build it.

    My idea is to have multiple filament spools (lets say 3 for now), each with a extruder pushing the filament through bowden-tubes. Those bowden tubes join together just above the flying extruder of my printer. The flying extruder is a BMG-dual drive extruder.


    So when printing, with filament from spool A, two extruders have to move. The one at spool A and the flying extruder. But they have to move at different speeds, hence both have different length per step.

    Is there any way to implement this with RRF on a Duet2 (and Duex5)?

  • Moderator

    Yes I think so, if I understand what you're saying correctly, you can setup the extruders with their different steps per mm and then define the tools with the appropriate motors with a 1:1 mixing ratio.

    So let's say the spool extruders are ABC and the geared extruder is G. Your tools would have AG BG CG motors assigned.

    The 1:1 mixing ratio means both motors will advance the same amount of filament based on their individual steps per mm.

  • @Phaedrux

    The idea to implement this non-mixing extruder with a mixing extruder confguration is quite genius. Thank you. So you are suggesting something like this?

    ; define motors and direction
    ; (motors 0...2 for delta axis)
    M569 P3 S0                                   ; geared flying extruder
    M569 P4 S0                                   ; extruder A
    M569 P5 S0                                   ; extruder B
    M569 P6 S0                                   ; extruder C
    M584 X0 Y1 Z2 E3:4:5:6                       ; map motors to axis
    M350 X16 Y16 Z16 E16:16:16:16 I1             ; configure microstepping
    ; [config for motor current, speed, acceleration and jerk go here]
    M92 X80.00 Y80.00 Z80.00 E415.00:120:120:120 ; configure steps per mm
    ; define tools
    M563 P0 S"ExtruderA" D0:1 H0 F0              ; A
    M563 P1 S"ExtruderB" D0:2 H0 F0	             ; B
    M563 P2 S"ExtruderC" D0:3 H0 F0              ; C
    ; definine "mixing"
    M567 P0 E1:1:0:0                             ; Tool 0: drive extruder 0 and 1
    M567 P1 E1:0:1:0                             ; Tool 1: drive extruder 0 and 2
    M567 P2 E1:0:0:1                             ; Tool 2: drive extruder 0 and 3
    ; turn on "mixing"
    M568 P0 S1                                   ; for extruder A
    M568 P1 S1                                   ; for extruder B
    M568 P2 S1                                   ; for extruder C

  • @justus2342 You wouldn't be the first to do something like this, so hold back on calling yourself a genius 🙂

    You need to define 3 different tools so this won't work

    M563 P0 S"ExtruderA" D0:1 H0 F0              ; A
    M563 P0 S"ExtruderB" D0:2 H0 F0	             ; B
    M563 P0 S"ExtruderC" D0:3 H0 F0              ; C

    In the above, you have only defined one tool - the same one 3 times. You haven't posted the rest of your config.g so I can't tell, but normally heater 0 is the bed heater and heater 1 is the hot end heater.

    Try this instead

    M563 P0 S"ExtruderA" D0:1 H1               ; A
    M563 P1 S"ExtruderB" D0:2 H1 	             ; B
    M563 P2 S"ExtruderC" D0:3 H1              ; C 

    The mixing ratios you have look OK and will work if you define the tools correctly.

    Unless you are using a very old firmware (older than 1.19), you don't need the three M568 commands. From the wiki (quote) "If a G1 command for the tool provides just one E value, then the mix ratio defined by M567 will always be used."

  • @deckingman

    Thank you for confirming that this way is the right idea for configuration. I will try to implement it this way.

    Two remarks on your comment:

    • I do not call myself a genius. I called the answer from @Phaedrux genius.
    • Tool numbering was a c&p mistake, I already fixed it 8 minutes prior your post.

  • Moderator

    Definitely hold back on calling me a genius too! 😋