Disabling filament retraction?
-
@Timothee-Leblond dont use g10/g11 or set M207 to 0
-
@jay_s_uk So far I don't have any G10/G11 but I have M207 S0 and it is not working. It keeps retracting.
-
@Timothee-Leblond then its not a firmware retraction issue
-
@Timothee-Leblond said in Disabling filament retraction?:
I'm not using any slicer, I've a custom script in Grasshopper that transforms a path into Gcode.
Thats why I'd like to know how to configure retraction. Do you know what command should I use?M209 is not working in RRF although it was on Marlin.
Best,
Can you share one of these gcode files?
I'm not really clear on what you're trying to do.
-
What I want to do is preventing the printer to retract the filament during printing.
In my previous printer under Marling I had put a M209 command which would do the job blocking the retraction.
But since M209 is not enabled in RRF, the printer is retracting a small amount of filament at every G1 commands (motors briefly turns counterclockwise).PS: my printer is not extruding filament but this is for the example.
Here is a sample of my gcode:
; - START GCODE - M82 ; Absolute extrusion G302 P0 S0 ; Allow cold extrusion G28 ; home G92 E0 ; Reset Extruder G1 Z50 F3000 ; Move z up little to prevent bed scratching G0 F600 ; set travel speed to first point M207 S0 ; disable retract in Relative mode G1 X20 Y30 Z3 F1000 G1 X20 Y180 Z3 F240 E2 G1 X24 Y180 Z3 F240 E0 G1 X24 Y30 Z3 F240 E2 ; - END of START GCODE - G1 F240 X438.02 Y1006.24 Z1 E0 G1 F240 X438.02 Y1023.2 Z1 E0.339338 G1 F240 X438.02 Y1040.17 Z1 E0.678676 G1 F240 X438.02 Y1057.14 Z1 E1.018014 G1 F240 X438.02 Y1074.11 Z1 E1.357352 G1 F240 X438.02 Y1091.07 Z1 E1.69669 G1 F240 X438.02 Y1105.21 Z1 E1.979472 ; - END GCODE - M140 S0 M104 S0 M107 G91 ;Relative positionning G1 E-2 F1000 ;Retract a bit G1 E-2 Z0.2 F1000 ;Retract and raise Z G1 X5 Y5 F1000 ;Wipe out G1 Z10 ;Raise Z more G90 ;Absolute positionning G1 X0 Y0 ;Present print
-
@Timothee-Leblond absolute extrusion is a bad idea as internally in RRF it gets converted to relative.
-
@Timothee-Leblond said in Disabling filament retraction?:
G1 E-2 F1000 ;Retract a bit
G1 E-2 Z0.2 F1000 ;Retract and raise ZSo your gcode contains the above, which could produce a huge retraction as your extruder will be operating in absolute mode. The G91 you have in your code will not be setting the extruder into relative mode, as per the comment in the G91 documentation: "RepRapFirmware uses M83 to set the extruder to relative mode: extrusion is NOT set to relative using G91"
Presumably if you do not want those commands you can stop your custom script from generating them?
Other than that I don't see any retractions. All of the moves between "END of START GCODE" and "END GCODE" seem to be moving the (absolute) position of the E axis forwards. None of those commands will perform a retraction.
Given the above it is not really very clear what it is you want to do? Do you want to prevent all movement of the E axis?
-
@gloomyandy @jay_s_uk @Phaedrux
Alright, I found the issue, and you're all absolutely right. Apparently, when using absolute extrusion mode, an E value too small reset the extruder and so it comes back in its original position (before the command) which create retractation-like movements.
So I gave it a try. When E<0.1, it is more likely that it happens. When I use values like E0.2, it works without retracting.
@jay_s_uk Do you think I should remove M82 in my gcode?
@gloomyandy You're absolutely right, I just removed the G1 E-2 command at the end and stoped generating it. -
@Timothee-Leblond The absolute extrusion command make the extruder go to the E value so when you have E2 on one line and E0 on the next the extruder retracts 2mm of filament when it executes the second line.
Use G83 to set the extrusion to relative and then the first line will extrude 2mm and the second line will extrude 0mm.
-
@Timothee-Leblond use M83 instead of M82 at the start of your code. Then the E values in your G1 commands will be relative extrusions, which I think is what you were expecting.
-
@dc42 Worked! Thank you!