Bed raising in between tool changes

Discussion in 'Getting Started' started by jwalker55, Jul 2, 2020.

  1. jwalker55

    jwalker55 Member

    Joined:
    Jun 11, 2020
    Messages:
    4
    Likes Received:
    0
    I'm still in the early stages of commissioning my build and haven't done an actual real print yet, but I have the machine fully built and what I feel like is most of the config complete. One thing I've noticed is that during a print (dry run with no filament or heat), when a tool change happens, after the tool is dropped off and the head moves out, the bed will raise to what looks like about Z0 or just above, then move over and grab the next tool, then move back down. I'm struggling to figure out what's causing it to do that. Maybe i'm blind, i'm not sure! Duet 3 RRF 3.1.1

    I'm using Steve Cregan's PrusaSlicer config bundle from here: https://github.com/StevenCregan/Slicer-Profiles

    When I change tools manually via the gui with no print running, it doesn't seem to do that. Below are my tool change macros for T0 (the other tools are the same) and some relevant gcode from PrusaSlicer. Also, here is a video of what i'm referring to (right around the 3 sec mark):



    tpre0.g
    Code:
    ; tpre0.g
    ; called before tool 0 is selected
    
    M98 P"/macros/Coupler - Unlock"    ; unlock Coupler
    
    M564 S0 ; allow movement outside the normal limits
    
    G1 X-160.5 Y100 F50000            ; move to location
    G1 Y115 F50000                    ; move in
    G1 Y143.2 F2500                    ; collect
    
    M98 P"/macros/Coupler - Lock"    ; close Coupler
    
    ;WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING!
    ;if you are using non-standard length hotends ensure the bed is lowered enough BEFORE undocking the tool!
    G91
    G1 Z10 F1000
    G90
    
    G1 Y50 F4000                    ; move out
    
    M208 Y66                        ; set Y max for this tool
    M564 S1                         ; apply the normal limits again
    
    tfree0.g
    Code:
    ; tfree0.g
    ; called when tool 0 is freed
    
    G91
    G1 Z4 F1000                            ; drop the bed
    G90
    
    M564 S0                                ; allow movement outside the normal limits
    
    ;M98 P"purge.g"                        ; purge nozzle
    
    G53 G1 X-160.5 Y50 F50000            ; move to location
    G53 G1 Y115 F50000                    ; move in
    G53 G1 Y143.2 F5000
    
    M98 P"/macros/Coupler - Unlock"        ; open coupler
    
    M106 P2 S0                            ; fan off
    
    G53 G1 Y75 F50000                    ; move Out
    
    M564 S1                                ; apply the normal limits again
    A snippet of gcode generated by PrusaSlicer during a tool change
    Code:
    G1 X-24.969 Y22.282 E0.02195
    G1 Z0.950 F7800.000
    ; Filament-specific end gcode
    ; Run custom tool change G-code
    ; Run tool change as expected
    ;M98 P"purge_left.g" ; Purge extruder
    T-1     ; Drop off tool
    M106 S1 ; Set part cooling fan based on filament profile
    T1      ; Pick up next tool
    M116 P0 ; wait for extruder to reach temp
    ;M98 P"prime_left.g" ; Prime extruder
    ; Filament-specific start gcode
    G1 E-4.80000 F3000.00000
    G1 X28.687 Y22.832 F7800.000
    G1 Z0.350
    G1 E4.70000 F1200.00000
    G1 F1800.000
    G1 X29.055 Y22.874 E0.03366
     
  2. dc42

    dc42 Well-Known Member

    Joined:
    Aug 16, 2016
    Messages:
    450
    Likes Received:
    204
    I think it's because the slicer is generating T-1 to unload the old tool explicitly before doing T1 to load the new tool. This is unusual, it should just generate T1. The T-1 command causes RRF to remove the Z offset of the old tool, ready to do some moves with no tool loaded.
     
  3. jwalker55

    jwalker55 Member

    Joined:
    Jun 11, 2020
    Messages:
    4
    Likes Received:
    0
    Hmm interesting. Thanks for that info. I'll take a deeper look at my prusaslicer config.
     

Share This Page