Movement after tpost - What determines speed ?
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 T0 ; 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.
No idea about that ?
@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).
Thanks for you answer.
Move out is in tpre#.g
; tpre0.g ; called before tool 0 is selected ;Ensure no tool is selected ;T-1 M400 G4 P500 ;if sensors.gpIn.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 ;Collect G1 X-12.1 Y242.5 F2500 ;Close Coupler M98 P/macros/Coupler - Lock ;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 ;Move Out G1 X-12.1 Y150 F4000
and here is tpost#.g
; tpost0.g ; called after tool 0 has been selected M400 G4 P500 if sensors.gpIn.value = 0 ;if the microswitch is not pressed... M291 P"UNPLUG PRINTER or press OK to ignore" R"SHOULD BE LOADED (tpost0)" S2 T0 ;heatup 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...
can be limited by M203, and for short-ish moves M201 and M205 can have a great impact on the achieved speed.
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
to print position
Web control interface says 20mm/s during this movement and that's here I don't understand...
deckingman last edited by deckingman
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 https://duet3d.dozuki.com/Wiki/Gcode#Section_G60_Save_current_position_to_slot
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). https://duet3d.dozuki.com/Wiki/Gcode#Section_G0_G1_Move
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?
deckingman last edited by deckingman
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 !
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.
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