G-code for only "Filament Extrusion" without moving nozzle
-
I need to extrude filament in a fixed amount for a certain time by the 3D printer without moving the nozzle to any axis.
I have applied the code like this(mentioned below) but as soon as I run the code, the nozzle stops.
What's the problem with my code?
Is there any instance of a modified G-code to meet my need?
Thanks in advance.
Code-
G21 ; set units to millimeters
M104 S200 ; set temperature
M106
M109 S200 ; wait for temperature to be reached
G90 ; use absolute coordinates
G92 E0
M82 ; use absolute distances for extrusion
G1 Z0.0 F5.000
G1 Y1.000 E0.0100000
G1 Y1.000 Z0.00 E1.00000 F2.000
G1 Y1.000 Z0.00 E1.00000 F2.000
G1 Y1.000 Z0.00 E1.00000 F2.000
G1 Y0.000 Z0.00 E1.00000 F2.000
G1 Y0.000 Z0.00 E1.00000 F2.000
G1 Y0.000 Z0.00 E1.00000 F2.000
G92 E0
M107
M104 S0
M107
G91
G90 -
You are using M82 which is absolute, as noted in the comment.
You have G1 command with E0.01 which will "move" the extruder to position 0.01
Then you have a G1 command with E1.00 which will "move" the extruder to position 1.00
The next five G1 commands with E1.00 don't "move" the extruder since it is already at position 1.00
And you should not need to include the Y and Z parameters unless you want to change the Y and Z position.
Try using M83 which is relative.
A G1 E1 command should extrude 1 mm.
A G1 E100 command should extrude 100 mm.
Frederick
-
@fcwilt thanks.
How about this?
G21 ; set units to millimeters
M104 S200 ; set temperature
M106M109 S200 ; wait for temperature to be reached
G90 ; use absolute coordinates
G92 E0
M83G1 E1.00000 F2.000
G1 E1.00000 F2.000
G1 E1.00000 F2.000
G1 E1.00000 F2.000
G1 E1.00000 F2.000
G1 E1.00000 F2.000
G1 E1.00000 F2.000
G1 E1.00000 F2.000
G1 E1.00000 F2.000
G1 E1.00000 F2.000
G1 E1.00000 F2.000
G1 E1.00000 F2.000
G92 E0M107
M104 S0
M107
G91
G90 -
https://forum.duet3d.com/topic/28401/g-code-for-only-filament-extrusion-without-moving-nozzle
Same question in 2 places, and 3 minutes between posting them... damn I thought I am the impatient guy -
That should work but is there a reason for twelve G1 E1.00 commands instead of one G1 E12.00 ?
Frederick
-
@fcwilt Yes, it is working.
Yes, I am looking for the least amount of extrusion.
What will happen if I do not insert F in the code? -
@boa Sorry, I did not understand while posting. However, thanks a lot for your answer. It is working
-
@asif-istiak said in G-code for only "Filament Extrusion" without moving nozzle:
What will happen if I do not insert F in the code?
It should use the F value from the last command where F was included.
Frederick
-
@fcwilt Thank you
-
@fcwilt Hi, is there any modification of code to make the extrusion to the slowest speed?
G21 ; set units to millimeters
M104 S200 ; set temperature
M106M109 S200 ; wait for temperature to be reached
G90 ; use absolute coordinates
G92 E0
M83G1 E12.00000 F2.000
G92 E0
M107
M104 S0
M107
G91
G90 -
@asif-istiak said in G-code for only "Filament Extrusion" without moving nozzle:
@fcwilt Hi, is there any modification of code to make the extrusion to the slowest speed?
The slowest speed? I guess that would be determined by the type of variable used to hold the F value. It's a floating point number but I have no idea what the precision is.
@dc42 would be the one to answer that question.
Frederick
-
You can use
M203 I
to specify a lower minimum speed. The default minimum speed is 30mm/min which is already quite slow.https://docs.duet3d.com/User_manual/Reference/Gcodes#m203-set-maximum-feedrate
How slow do you need it to go?
@asif-istiak said in G-code for only "Filament Extrusion" without moving nozzle:
G1 E12.00000 F2.000
12mm at 2mm/min will take 24 minutes to complete. Is that what you're expencting?
-
@phaedrux thanks for the answer. But, I am expecting the ''lowest'' extrusion rate from the nozzle which will run for 30min without moving. May I have your suggestion on that?
-
@asif-istiak said in G-code for only "Filament Extrusion" without moving nozzle:
will run for 30min without moving.
I'm not sure what you mean by this.
If you want to run slower than 30mm/min you will need to set the minimum speed manually by changing your M203 command in config.g to include an
I
value. For example,M203 I1
would give you 1mm/min. -
@phaedrux I just need to extrude the filament; in that time the nozzle will not move to any axis.
And, the rate of the extrusion will be the least
-
ok... I'm still confused by what you're actually trying to accomplish.
-
@asif-istiak said in G-code for only "Filament Extrusion" without moving nozzle:
@phaedrux I just need to extrude the filament; in that time the nozzle will not move to any axis.
And, the rate of the extrusion will be the least
Well the smallest value you can specify is I1 in the M203.
Frederick
-
@phaedrux I want to make fiber from that not any 3D printed object
-
@fcwilt So, is that like this?
G21 ; set units to millimeters
M104 S200 ; set temperature
M106M109 S200 ; wait for temperature to be reached
G90 ; use absolute coordinates
G92 E0
M83G1 M203 I1 E15.00000 F2.000
G92 E0
M107
M104 S0
M107
G91
G90 -
@asif-istiak said in G-code for only "Filament Extrusion" without moving nozzle:
@fcwilt So, is that like this?
G21 ; set units to millimeters
M104 S200 ; set temperature
M106M109 S200 ; wait for temperature to be reached
G90 ; use absolute coordinates
G92 E0
M83G1 M203 I1 E15.00000 F2.000
G92 E0
M107
M104 S0
M107
G91
G90No. M203 is typically in your config.g file.
if the M203 already has the I parameter change the existing value to 1.
If the M203 doesn't already have the I parameter just add it with the value of 1.
Then re-boot the printer or reset the Duet to cause the new config values to take effect.
Frederick