SOLVED Movement after tpost - What determines speed ?

  • Hi

    On E3D Toolchanger :

    After tpost#.g execution I get a very slow movement from move out position to print position.

    The speed is really slow and I don't understand why. Here is the gcode at this moment :

    G1 X142.287 Y104.167 Z5.349 F1800
    G1 X142.333 Y104.213 Z5.349 F1800
    G1 X142.333 Y104.213 Z5.349 E-5.0000 F3000
    ; feature dense support
    G1 X142.333 Y104.213 Z5.849 F1500
    G1 X141.465 Y95.436 Z5.849 F21000
    G1 X141.465 Y95.436 Z5.349 F1500
    G1 X141.465 Y95.436 Z5.349 E5.0000 F3000
    G1 X141.936 Y94.965 Z5.349 E0.0145 F1800
    G1 X142.486 Y94.965 Z5.349 E0.0120 F1800

    Thanks by advance !

  • RepRapFirmware for Duet 2 WiFi/Ethernet 3.1.1 (2020-05-19b2)

    I think real question is what drives movement speed between MOVE OUT position from pick up tool procedure to print position.

  • Hi everybody

    No idea about that ?

    Thanks !

  • @sylvain I don't have a tool changer but speed is determined by the feed rate (the "F" parameter in a G1 command). It would probably be a good idea to post your tpost.g file if that is where the problem occurs. My best guess is that there is a G1 with an "R" parameter at the end of your tpost.g to move the print head to the restore point. Either edit or add an F parameter to that command to set the desired feed rate (speed).

  • @deckingman
    Thanks for you answer.

    Move out is in tpre#.g

    ; tpre0.g
    ; called before tool 0 is selected
    ;Ensure no tool is selected
    G4 P500
    ;if sensors.gpIn[0].value = 1  ;if the microswitch is pressed...
    ;	M291 P"UNPLUG PRINTER or press OK to ignore" R"SHOULD BE UNLOADED (tpre0)" S2 T0
    ;Unlock Coupler
    M98 P/macros/Coupler - Unlock
    ;Move to location
    G1 X-12.1 Y200 F50000
    ;Move in
    G1 X-12.1 Y230 F50000
    G1 X-12.1 Y242.5 F2500
    ;Close Coupler
    M98 P/macros/Coupler - Lock
    ;if you are using non-standard length hotends ensure the bed is lowered enough BEFORE undocking the tool!
    G1 Z10 F1000
    ;Move Out
    G1 X-12.1 Y150 F4000

    and here is tpost#.g

    ; tpost0.g
    ; called after tool 0 has been selected
    G4 P500
    if sensors.gpIn[0].value = 0  ;if the microswitch is not pressed...
    	M291 P"UNPLUG PRINTER or press OK to ignore" R"SHOULD BE LOADED (tpost0)" S2 T0
    M116 P0
    ;prime nozzle
    ;M98 Pprime.g
    ;mesh levelling on
    G29 S1
    ;PCF fan on
    M106 P2 S255

    If I put move out in tpost#.g, same issue.

    I don't see any R parameter... 😕

  • @sylvain said in Movement after tpost - What determines speed ?:


    can be limited by M203, and for short-ish moves M201 and M205 can have a great impact on the achieved speed.

  • @sylvain

    So move in is this................

    G1 X-12.1 Y230 F50000 (Feed rate of 50,000 mm/minute or 833mm/sec).

    .............and move out is this

    G1 X-12.1 Y150 F4000 (Feed rate of 4000 mm/minute or 66mm/sec

    So increase the F value for that line.

    BTW, ultimately you probably won't see 50,000 mm/minute in practice unless you have a very high acceleration rate and/or a long move and your M203 value in config g is also set to 50,000 or more.

  • There is no problem on speed you can see in tpre and tpost (OK 50000 is limited by M203), move out is achieved at a descent speed.

    The problem is from move out position

    X-12.1 Y150

    to print position

    Web control interface says 20mm/s during this movement and that's here I don't understand...

    Thanks !

  • @sylvain

    I'm not sure how else to put this. If the move in (G1 X-12.1 Y230 F50000) is fast enough and the move out (G1 X-12.1 Y150 F4000) is too slow, then change the move out to be G1 X-12.1 Y 150 F50000. i.e. change the F4000 to F50000

    (It won't actually attain 50000 mm/minute but it will be faster)

  • I'm probably not clear enough.

    Please see attached picture. The red part is the problem. I don't understand how to increase this speed. I don't understand what drives this speed.


    Perhaps @dc42 could help me to understand what determines speed between move out point (from tool scripts) to print zone ?


  • @sylvain I don't have a tool changer so I can only make informed guesses. When the firmware "sees" a Tn command (tool chnage) it save the XYZ coordinates of the print head - see G60 here

    Your tool change macros will then do whatever is necessary to accomplish the tool change. At the end of that process, the print head needs to move to the position that was saved as the restore point (slot2) when the Tn command was encountered. Usually, that is accomplished by a G1 command with the R parameter - (probably R2 which is slot 2).

    So somewhere at the end of your tool change routine there ought to be a G1 with R parameters to restore the print head to where it was when print was interrupted to do the tool change. It is that move which needs to have the F" value increased.

  • Thanks for your detailed explanation. It's more clear for me on how it works.

    Unfortunately, I don't see any G1 R in tpre#.g or tpost#.g files, as you can see in the code I posted above... So I imagine this "R" is done by firmware ?

    Hum, there's something I'm missing there...

  • You could try adding G1 R2 F4000?

  • Maybe it's in tfree macro?

    Edit. Or more specifically tfree0.g

  • I added G1 R2 X0 Y0 Z0 F21000

    and it works !

    Thanks to everybody !

  • @sylvain said in Movement after tpost - What determines speed ?:


    picking seemingly arbitrary high numbers which you say is limited by M203 might come back to surprise you if you ever change your M203 setting.

  • This is the speed default movement.
    M203 limit is 35000.

  • administrators

    If you don't use a G1 R1 move at the end of tpost#.g then RRF uses a fairly low default speed, because RRF has no way of knowing what is an appropriate travel speed for that tool. So it's best to use an explicit G1 R2 move.

    I use G1 R2 X0 Y0 Z2, then G1 R2 X0 Y0 Z0, then I undo the retraction that I did earlier. Similarly in resume.g with R1 instead of R2.

  • In order to not be limited by max Z speed movement I choose to do :

    G1 R2 X0 Y0 F21000
    G1 R2 Z0 F1500

    Best regards

Log in to reply