resume redundant extrusion
-
There seems to be additional extrusion when resuming a job, which is not part of what's done by resume.g. It happens at a very different speed (faster), right after the macro has done its thing.
My guesss is some kind of relative/absolute extrusion mixup when returning to the correct gcode position within the job - meaning, the redundant extrusion comes from what is written in the job file itself. Stems from rrf forum topic 416,832302,896231.
For reference, here's my pause/resume.g.
; pause.g
M83 ; relative extruder moves
G1 E-10 F3600 ; retract 10mm of filament
G91 ; relative positioning
G1 Z20 F360 ; lift Z
G1 Y-30 F6000; resume.g
G1 R1 X0 Y0 F6000 ; move XY first to saved pos
G1 R1 X0 Y0 Z5 F6000 ; go to 5mm above position of the last print moveG1 R1 X0 Y0 Z0 F6000 ; go back to the last print move
M400 ; wait for moves to complete
M83 ; relative extruder moves
G1 E10 F300Opening this here due to dc42's advice.
-
Firmware version? Which Duet board?
-
@Phaedrux Duet2Wifi, FW 3.5.4 but also tried with 3.6.0 beta 1.
-
@bugpwr said in resume redundant extrusion:
There seems to be additional extrusion when resuming a job
Can you show a photo of what you mean?
-
@Phaedrux I will make a video later as this huge printer is now printing, but let me try to describe the steps clearer:
- start print
- pause in the middle of the print. wait until paused. 10mm retract occurs as it should. print is now paused.
- resume the print. unretract (extrude) of 10mm happens accordung to resume.g. This has no effect because it was retracted before.
- printer now extrudes another 5 to 15 mm for no reason, very quickly, much quicker than the F rate specification of the respective command in resume.g
- printing resumes with an ugly blob. this happens almost every single resume.
-
@bugpwr Original thread is here: https://reprap.org/forum/read.php?416,832302
Please post your config.g, and the gcode (or a test gcode) that exhibits the problem. Are you pausing in the middle of a long move? Are you using absolute extrusion? Do you have segmentation enabled?
Please could you also test with RRF 3.6.0-beta.2, as this issue may already have been fixed. https://github.com/Duet3D/RepRapFirmware/releases/tag/3.6.0-beta.2
Ian
-
@droftarts hi, sorry it took so long and many thanks for help.
First, answering your questions:
- same with beta2
- no, the pause is not in the middle of a particularly long move. My feeling is that this happens at every pause.
- I could not find any segmentation settings in OrcaSlicer (which I am using)
- from what i see in gcode, the slicer is using relative extrusion
- attaching the gcode of a cube 20x20x20 with 2 walls and some simple infil, that is used in the video
- youtube link at youtu be: c0CzmD-DGdg?si=Dh9AtsguJKMDB1lt to see the phenomenon in action. an overextrusion is clearly heard at 00:26
Here goes config.g:
===================================================
; General preferences
G90 ; send absolute coordinates...
M83 ; ...but relative extruder moves
M550 P"M1 Magrethea"; Emergency stop at E6 - to be replaced with power cut
M950 J6 C"duex.e6stop"
M581 P6 T0 S1 R0; Network
M552 S1 ; connect wifi to internally stored ssid
M586 P0 S1 ; enable HTTP
M586 P1 S1 ; FTP; Drives
M569 P0 S1 ; X ; physical drive 0 goes forwards
M569 P1 S1 ; C
M569 P2 S1 ; this is the dual channel connected to right Z motors
M569 P3 S1
M569 P4 S0 ; E
M569 P5 S0 ;
M569 P6 S0 ;
M569 P7 S0 ; right Y
M569 P8 S1 ; left Y
M584 X0 Y7:8 Z2:5:6 E4 C1 P3 ; set drive mapping; P4=visible axes. right Z motors are on the dual channel driver. 5 is back left, 6 front left
M350 X16 Y16:16 Z16:16:16 E16 C16 I1 ; configure microstepping with interpolation
M92 X80.00 Y100:100 Z1600:1600:1600 E783 C80 ; these are the correct theoretical model. measured with orca calibration
M566 X300 Y300:300 Z10:10:10 E320.00 ;120.00 ; set maximum instantaneous speed changes (mm/min)
M203 X10000.00 Y10000:10000 Z600:600:600 E1200.00 ; set maximum speeds (mm/min)
M201 X6000.00 Y4000:4000 Z100100 E450.00 ; set accelerations (mm/s^2)
M906 X1200 Y900:900 Z1800:900:900 E900 C80 I15 ; set motor currents (mA) and motor idle factor in %. My extruder is rated for 1A
M84 S30 ; Set idle timeout; Axis Limits
M208 X0 Y0 Z0 S1 ; set axis minima
M208 X652 Y430 Z690 S0 ; set axis maxima. z could be 701. X has about 1mm spare, to enlarge, relocate X probe.; Endstops
M574 X2 S1 P"!xstop" ; x stop, sorry for using NO stop. better to reconfigure as NC
M574 Y2 S1 P"ystop+e1stop" ; configured as NC, which is a good thing to do; Filament sensors
;M591 D0 P3 C"e0_stop" S1 ; drive 0, magnetic filament monitor, plug, enable
M591 D0 P1 C"!^e0stop" S1 ; microswitch sensor drive 0, active low, pin, enable; Z-Probe
;M307 H3 A-1 C-1 D-1 ; H7 means E6 (Duex /Expansion). Disable heater so this pin can be used; probably not needed coz it says heater not found
; "You can no longer disable a heater using M307 A-1 C-1 D-1. To use the pin for something else, don't create a heater on that pin."
M950 S0 C"duex.pwm5" ; create servo pin 0 for BLTouch
M558 P9 C"^zprobe.i^H^H^H^Hn" H5 F120 T6000 ; set Z probe type to bltouch and the dive height + speeds
G31 P20 X-31 Y1 Z1.12 ; set Z probe trigger value, offset and trigger height; lower Z means print higher. NOZZLE: 0.5 HF
M375 ; load height map; Heaters
M308 S0 P"bedtemp" Y"thermistor" T100000 B3950 ; configure sensor 0 as thermistor on pin bedtemp. Tnnn (for thermistor sensors) Thermistor resistance at 25C, Steinhart-Hart thermistor model B coefficient
M950 H0 C"!exp.heater4" T0 ; Q0
M140 H0 ; map heated bed to heater 0
M143 H0 S120 ; set temperature limit for heater 0M308 S1 P"e1temp" Y"thermistor" T100000 B3950 ; configure sensor 1 as thermistor on pin e1temp
M950 H1 C"e1heat" T1 ; create nozzle heater output on e1heat and map it to sensor 1
M307 H1 R3.004 K0.380:0.000 D11.29 E1.35 S1.00 B0 V23.9
M570 H1 P20 T20 ; temperature excursion 20, time 20s - abit too long but the PID is annoying
M143 H1 S270 ; set temperature limit for heater 1 to 270C; Fans
M950 F1 C"duex.fan4" Q10 ; create fan 1 on pin fan1 and set its frequency
M106 P1 S1 H1 T45 ; set fan 1 value. Thermostatic control is turned on
M950 F2 C"duex.fan3" Q10
M106 P2 S0 L250 X255 B0.1 H-1 ; set fan 0 value. Thermostatic control is turned off; Tools
M563 P1 D0 H1 F2 S"Right" ; define tool 1, extruder 0, heater 1, fan 2
G10 P1 X0 Y0 Z0 ; set tool 1 axis offsets
G10 P1 R0 S0 ; set initial tool 1 active and standby temperatures to 0CM309 P1 S0.03 ; this is flow/heater power compensation
; Custom settings are not defined
; Miscellaneous
M575 P1 S1 B115200 ; enable support for PanelDue, UART at 115200 baud
M564 H0 ; H1 = forbid movement of axes that have not been homed, H0 = allow movement of axes that have not been homed
M302 P1 ; allow cold extrusionG92 C0 ; nevermind this axis for now
T1 ; default tool is 1
======================================================end of config.g