Tool Free Macro not Working



  • So I’ve been working on a multimaterial system for my large format printer for a couple months now. I’m finally at a point where I can start doing a little testing, but I’ve been having issues with my TFreeX.g macros.
    My system is setup similarly to the Prusa MMU2.0. I’m using my second extruder drive as a feeder/extruder which feeds a filament to the print head. I could potentially have as many filaments loaded as my slicer will handle, or as many as I can fit on my printer. After the selected material has been fed, the main extruder takes over as a direct drive extruder. So there’s only one heating element, fan, extruder, etc.
    My TPreX.g and my TPostX.g seem to work fine, but when I run my TFreeX.g macros it skips some very important part of the macros. I’m not sure why. I’m curious if the problem lies in the fact that I have multiple tools defined to use the same heater and extruder.
    I’m not in a good place to post my macros right now, but later today I will try to include them here so everyone can see what’s supposed to happen.



  • I'm also working on such filament mux, with multiple tools using the same heater, and I didn't have this problem. Could you share your tfree macro, and tell us what commands are skipped?



  • @fma 2_1543699733866_tpre0.g 1_1543699733866_tpost0.g 0_1543699733865_tfree0.g

    Here are my tfree, tpost, and tpre files. The files for my other tools are the same with adjusted x coordinates.

    ; tfree0.g
    ; called when tool 0 is freed
    G0 X164.5 Y55 ; Bring print head to front of tool 0 position
    G1 F250 E-50 ; Retract filament from print head
    G1 F300 Y28 ; Apply pressure to filament
    G1 F1500 E-900:-900 ; Retract filament to filament selector
    G0 Y33 ; Release pressure on filament
    G1 F6000 Y55 ; Move print head away from filament selector

    The TFree file skips pretty much everything between The first line of gcode and the last. Instead of moving in to activate the filament selector, retracting the filament, and moving back, the print head moves in, and then immediately moves back. It's just skillping all of the traction moves.

    Just a note, my printer is configured to use relative extrusion.



  • Is your heater at the correct temp? How did you define your heaters and tools?



  • @fma each tool is defined to use the same heater. It would make sense that if my temp wasn’t reached then it would skip the extrusion moves, but my TPost macros work fine. Each extrusion move works as intended. It’s just the TFree I have issues with. Also, wouldn’t that throw an error statement? When i try to just make a normal extrusion move I get an error if my temp is too low.


  • administrators

    This line:

    G1 F1500 E-900:-900 ; Retract filament to filament selector

    will only work if the tool has been configured as a 2-filament mixing extruder.



  • @dc42 the tools are set to use both extruders. One motor is my true extrusion motor, the other is a separate feed motor that feeds the filament up a Bowden tube to the main extruder. The TPost macro uses similar commands and both motors are driven without issue.


  • administrators

    @wcj97 said in Tool Free Macro not Working:

    @fma 2_1543699733866_tpre0.g 1_1543699733866_tpost0.g 0_1543699733865_tfree0.g

    Here are my tfree, tpost, and tpre files. The files for my other tools are the same with adjusted x coordinates.

    ; tfree0.g
    ; called when tool 0 is freed
    G0 X164.5 Y55 ; Bring print head to front of tool 0 position
    G1 F250 E-50 ; Retract filament from print head
    G1 F300 Y28 ; Apply pressure to filament
    G1 F1500 E-900:-900 ; Retract filament to filament selector
    G0 Y33 ; Release pressure on filament
    G1 F6000 Y55 ; Move print head away from filament selector

    The TFree file skips pretty much everything between The first line of gcode and the last. Instead of moving in to activate the filament selector, retracting the filament, and moving back, the print head moves in, and then immediately moves back. It's just skillping all of the traction moves.

    Just a note, my printer is configured to use relative extrusion.

    Can you try to pin this down? Is the problem that commands to move the extruder are not working in tfree? Are any error messages produced?

    You can and should put M83 in your tfree.g file, before any G1 E commands. The absolute/relative extrusion state will be restore when the macro completes.



Looks like your connection to Duet3D was lost, please wait while we try to reconnect.