Firmware retraction question



  • Lately, I have been experiencing some blobs after printing with my mixing hotend (e3d cyclops). It is known that for mixing hotends, it is beneficial to use firmware retraction, as you can retract from all inputs to take the pressure away.

    So my setup looks like this (RRF 3.1.1, Duet 2 Maestro):

    M563 P0 D0:1 H1 F0 S"MIDDLE_LEFT"                               ; define tool 0
    M567 P0 E1:0                                                    ; set mixing ratios for tool 0
    

    Lately, I have introduced an additional restart length:

    M207 P0 S2.1 F3000 T3000 R0.1 Z0                                ; firmware retraction settings
    M207 P1 S2.5 F3000 T3000 R0.3 Z0                                ; firmware retraction settings
    

    Now to the question:
    When firmware retraction is done, does the additional unretract length apply to all drives involved in the tool?
    If yes, this would be bad, as I am - at each G10+G11 - start to mix in another color. This could explain the behavior I am seeing.
    If not, I need to look somewhere else...

    Thanks!



  • @Wurstkarton It applies per tool.

    Quote from the wiki

    "In RRF 3.01 and later, if a P parameter is provided then only the retraction parameters for the specified tool will be set. In other cases, the new retraction parameters will apply to all tools."

    A tool consists of combinations of heaters and extruders so by implication, anything which affect a tool, affects all drives assigned to that tool.

    So in your example above. the second M207 which has P1 will apply to Tool1 but if you only have a single Tool defined (M563 P0...) then it won't do anything.

    If you define different tools for the different colours (same drives but different mixing ratios) then you can use different M207 values for each tool.

    Edit. I would also add that for mixing hot ends, it is essential to retract all filaments concurrently (rather than being just beneficial) because if you don't, filament will be drawn from one of the other inputs, rather than the nozzle tip.



  • @deckingman I understand that and I have 6 tools in total defined (I just copied a single tool for illustration, maybe I should have only put a single M207 command there for better understanding). This is not the question.

    The question is not about the P parameter, but the R parameter. Does the R parameter affect all drives involved for the respective tool?
    If yes, you will unintentionally mix a different color into your current tool.



  • @Wurstkarton Yes. All parameters that are used in M207 apply to that tool and drives are assigned to tools. So it will apply to all drives.

    The rationale for using extra length on the un-retract is that the hobbed bolt might grind the filament away slightly during the retraction, so the filament diameter would be reduced when the un-retract happens. Given that all filaments are retracted together, then it makes sense that they should all be un-retracted the same way.

    If extra length unretrcat was applied to a single drive but not the others, then there is a risk that some of that additional unretracted filament would contaminate one of the other inputs. But because extra length is applied to all filaments, then the pressure is balanced (the same for all inputs) and the extra length will be forced out of the nozzle, rather than back up into one of the other inputs.

    So the opposite of your hypothesis is true.



  • @deckingman said in Firmware retraction question:

    @Wurstkarton Yes. All parameters that are used in M207 apply to that tool and drives are assigned to tools. So it will apply to all drives.

    Thanks for this. Now I know that I must refrain from using the additional unretract length.

    The rationale for using extra length on the un-retract is that the hobbed bolt might grind the filament away slightly during the retraction, so the filament diameter would be reduced when the un-retract happens. Given that all filaments are retracted together, then it makes sense that they should all be un-retracted the same way.

    What do you do if you have extruders that behave differently? I am inclined to say that this is not the full picture why you would apply an additional unretract length. It could also be that you do not have oozing under control (and may never have depending on the material and hotend that you use). In that case, it may make sense to "refill" your nozzle with the lost material according to your mixing ratio.

    This could be something for a change request: Apply additional unretract length according to mixing ratio (when you specify an additional parameter in the M207)

    Anyways. Now that I know how it behaves, I can also do that in my gcode with a script.



  • @Wurstkarton said in Firmware retraction question:

    What do you do if you have extruders that behave differently?

    Change extruders for some decent ones that all behave the same 🙂


Log in to reply