Moving extruder motors?



  • I'm currently setting up my files for multi material printing with a single hotend, a y-splitter, 2 extruder motors and a purge bucket.

    I have setup multiple tools that share a heater and have dedicated extruder drives.
    When tfreeN is called, filament is retracted above the y-splitter.
    When tpostN is called, it is loaded into the y-splitter and hotend.

    TfreeN

    M98 Ppurge_bucket.g ; go to purge bucket
    M116 P0 ; wait for heating up
    M98 Punload.g ; Unload to above y-splitter
    

    TpostN

    ; Wait for set temperatures to be reached
    M116 P0
    
    M98 Pload.g ; Load from above y-splitter into hotend
    M98 Ppurge.g ; purge some filament
    

    Now, I want to write the macros that will allow me to unload the filament from above the splitter, all the way out of the extruder. I got this far.

    ; Unload extruder 0
    T-1 ; make sure all tools are deselected
    M302 P1 ; Allow cold extrusion
    ; todo free drive 0
    M302 P0 ; Disable cold extrusion
    

    Now I know that I can allow cold extrusion with M302, but how would I actually move the E0 or E1 steppers? Can I even move them at all without selecting a tool? If I were to select a tool, this would then destroy my workflow from above. These will be bondtech BMG extruders, so I don't really want to do this progress manually.



  • I am using a y-splitter too.
    To un/load my filament from the spool to above the Y-splitter I select the tool to use with the P0 argument in my load/unload macros.
    It activates the tool without running the tool change macros.
    After load/unload is finished I select a non existing tool, T99, with P0 too.

    T1 P0 ; select tool 1 but don't run any tool change macro files
    

    https://duet3d.dozuki.com/Wiki/Gcode#Section_T_Select_Tool



  • @scachi said in Moving extruder motors?:

    I am using a y-splitter too.
    To un/load my filament from the spool to above the Y-splitter I select the tool to use with the P0 argument in my load/unload macros.
    It activates the tool without running the tool change macros.
    After load/unload is finished I select a non existing tool, T99, with P0 too.

    T1 P0 ; select tool 1 but don't run any tool change macro files
    

    https://duet3d.dozuki.com/Wiki/Gcode#Section_T_Select_Tool

    Ah, I forgot about the P0 option thanks. How are you making sure the hotend is heated in tfree?



  • Also, does selecting a negative tool do the same as selecting a noexistant tool? Should I do a T-1 P0 after unloading with T1 P0 or should I do a T99 P0?



  • @devleon said in Moving extruder motors?:

    Also, does selecting a negative tool do the same as selecting a noexistant tool? Should I do a T-1 P0 after unloading with T1 P0 or should I do a T99 P0?

    From the gcodes page:

    Tool number to select. A negative number deselects all tools
    

    I guess when you select a tool number greater than -1 you can run the tool change macros file tfree for tool 99 when switching back to another tool.
    When you select T -1 and change from T-1 to another tool you won't trigger the tool change macro "tfree" of as T-1 is "no real tool", it just deselected all.

    I had tried lowering temperature before unload to get a better tip for the filament.
    I am using an own perl script for slic3r Prusa Edition 1.41.2
    I used a custom tool-change gcode in slic3r that was parsed by my perl script. It lowered the temperature, waited for it to be reached before changing the tool.
    But I couldn't find a temperature/movement/ramming setting that worked for all materials (abs,petg,pla for me) so I am back to simply unload the filament at the printing temperature. I don't need to wait for temperature on tfree.



  • @scachi said in Moving extruder motors?:

    @devleon said in Moving extruder motors?:

    Also, does selecting a negative tool do the same as selecting a noexistant tool? Should I do a T-1 P0 after unloading with T1 P0 or should I do a T99 P0?

    From the gcodes page:

    Tool number to select. A negative number deselects all tools
    

    I guess when you select a tool number greater than -1 you can run the tool change macros file tfree for tool 99 when switching back to another tool.
    When you select T -1 and change from T-1 to another tool you won't trigger the tool change macro "tfree" of as T-1 is "no real tool", it just deselected all.

    I had tried lowering temperature before unload to get a better tip for the filament.
    I am using an own perl script for slic3r Prusa Edition 1.41.2
    I used a custom tool-change gcode in slic3r that was parsed by my perl script. It lowered the temperature, waited for it to be reached before changing the tool.
    But I couldn't find a temperature/movement/ramming setting that worked for all materials (abs,petg,pla for me) so I am back to simply unload the filament at the printing temperature. I don't need to wait for temperature on tfree.

    I see, thanks! Guess I don't really need to do anything for T99, so I'll stick to T-1 P0 for now. I was just wondering if running T-1 P0 will also make sure not run any macros.

    I should also mention that the unload.g also calls ramming.g before moving the filament above the y-splitter, which looks like this. I copied the way it is done during the filament change (m600) in marlin, which leaves good tips. I'll also be moving the filament up and down a couple times in the tube right above the hotend in an effort to keep the diameter small. I'm planning to buy the tighter 1.8mmx4mm tube to go between hotend and y-splitter, but I think if my filament (especially the cheap one) has too big of a diameter, it will get stuck there frequently...

    M117 Ramming
    M82 ; use absolute distances for extrusion
    G92 E0 ; Reset Extruder
    G1 E-13 F1200; retract little slowly
    G4 S5 ; wait 5 seconds to cool
    G1 E0 F3600; unretract
    G1 E8 F3600; extrude
    G1 E-100 F3600; quickly retract as quick as possible
    G1 E-110 F3600; ramming
    G1 E-100 F3600; ramming
    G1 E-110 F3600; ramming
    G1 E-100 F3600; ramming
    G1 E-110 F3600; ramming
    G1 E-100 F3600; ramming
    G1 E-110 F3600; ramming
    G1 E-100 F3600; ramming
    G4 S10 ; wait 10 seconds to cool more
    

    Last edit: I guess I could actually disregard the part below. Seems like M104 Snnn sets the standby and active temperature to the same anyways.

    I guess I also need to set the standby temperature with G10 P[previous_extruder] R[temperature_[previous_extruder]] in the tool change G-Code in slic3r?
    The wiki states

    1. If another tool is already selected, deselect it and set its heaters to their standby temperatures (as defined by the R parameter in the most recent G10 command for that tool)

    Or how else would I make sure that the hotend doesn't cool down? How did your perl script do it?



  • @devleon
    I use the "Filament Density" g/cm³ field to enter a value as the standby temperature per filament type as I am used to it from my earlier printer with two separate tools/heaters/nozzles and I use it now as the initial temperature to soften the filament at the nozzle for probing Z with a precision piezo.

    The main usage of my script it to track the tool set at the start of the print and if it is missing set it to my default one.
    Using Slic3r Prusa Edition 1.41.2 the gcode doesn't contain the starting tool in all cases so I fixed via the script, it also translates the fan gcode to work with my settings.
    You can get the script here and check if it is useful for you: https://drive.google.com/drive/folders/1uOl2hUzCcJHYZljG15EenpiywwpBvULu

    This are my "Start G-code" settings for using the density as standby temp:

    ;slic3r start g-code
    ;my_default_tool=[perimeter_extruder]
    ;my_part_fan=P0
    M115 U3.1.0 ; tell printer latest fw version
    M83 ; extruder relative mode
    ;
    T-1 P0 ; deselect all tools
    G10 P0 S0 R0 ; clear settings of tool 0, rear extruder
    G10 P1 S0 R0 ; clear settings of tool 1, front extruder
    ;
    ;G29 S1; load last heightmap ; not needed atm as my bed is flat enough
    ;
    M140 S[first_layer_bed_temperature_0] ; set bed temp
    G10 P0 S[first_layer_temperature_0] R[filament_density_0] ; set standby temp to filament density
    G10 P1 S[first_layer_temperature_1] R[filament_density_1] ; set standby temp to filament density
    T0 P0; select tool for heating, do not run tool macros
    T1 P0; select tool for heating, do not run tool macros
    T99 P0; select dummy tool to set the previous tool to standby  temp
    ;
    G28 ; home
    ;
    M190 S[first_layer_bed_temperature_0] ; wait for bed temp
    M116 ; wait for all temps to reach
    G28 Z ; home Z again because of bed heating/filament at nozzle
    ;
    ;
    ;my_startgcode_end
    


  • @scachi

    Hello,

    I am aware that this topic is a little old, however I am attempting to get a Y-Splitter to work on my Delta printer and I'm having some problems. I was hoping that someone that has successfully accomplished this task could offer some advice.

    So far I have I printed and installed the Y-Splitter from the Prometheus website and installed the special longer heatbreak. I've also wrote the TFree, TPre & TPost files (initially using the recommended values then using slower values for retraction). I'm experiencing problems when changing filaments. I'm not sure if it's due to:

    1. filament jamming
    2. a flaw in the splitter design which may cause the filament to hang/catch/get caught
    3. The angle/radius that the filament travels above the splitter
    4. The TPre/TFree/TPost files

    Does anyone have suggestions or experience resolving s simliar issue?
    Can this type of setup be made to work consistently?

    I initially used the filament chaning speeds recommended on the prometheus website
    0_1561385241390_IMG_0680.JPG



  • @vacalos I have no experience with the prometheus splitter
    I have used this splitter for some time : https://www.thingiverse.com/thing:3039887 with a e3d clone
    At the moment I am using no splitter as I have a new printer and want to get other stuff done first before playing a round with a splitter again.

    My biggest issue with the splitter was changing the filament. I couldn't get good tips on the filament for PLA at all. It did work reliable with abs only and like 90% with petg. I have tried a lot of different settings to get better filament tips without having to adjust the settings all the time for different materials or brands without success.
    Next time I will build a cutting mechanism into a splitter to get rid of that problem.


 

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