Pressure advance weird behaviour in 3.4
Hello. Im trying to print now using 3.4 stable on my duet3, SBC config.
I have been dealing with this issue since yesterday: print start but no filament comes out after the first path. Just drops. I thought there was a jam. It is not that. I can manually extrude perfectly.
I dont see any slicer issues (same config as always , Im using superslicer)
So I watched carefully: print start, extruder starts to extrude but looks like after every extrusion movement there is a retraction, so filament is always in the same place, it does not advance.
My pressure advance value is 0.05 (it is a direct extruder). My retraction is only 1 mm.
But the th slicer in the gcode is not inserting retraction movements where I see them, si I guess the firmware is doing this.
Is there anything new on 3.4 I didnt noticed on the documentation? ay change on how to use it?
Have you tried disabling pressure advance to see if it actually alters what you're seeing?
Can you post your config.g?
Stephen6309 last edited by
@tinchus In SuperSlicer check to see Printer Settings->Width & Flow>Flow Ratio, make sure Bridge is set to 100%. Mine somehow got set to 1% and only the first layer extruded.
engikeneer last edited by
@tinchus are you using relative or absolute extruder moves? Could be the slicer is outputting relative extrusion amounts but you have a rogue absolute command in there?
@phaedrux I will post later the config, I dont have it right now. But I think I have crushed agains a very weird bug...
This is what I found: I desabled pressure advance (I doubled check M572 reports a value of CERO before print starts and the M572 values on the slicer start gcode were removed). The same gcode was ran and the same problem was there. So I still wanted to be sure this was not a cable problem, so I paused the print (from the interface). My printhead went to one side as expected, then I extruded 10mm of filament (using the interface). Th filament came out without problem. Then I pressed RESUME, the printing resumed and the problem desapeared!
I cancelled the print, and ran the print again, without doing anything, and the problem was there again. I let it run a little more, problem was still there. I paused the print again, extruded some filament, resumed the print, and the problem desapeared again..
@stephen6309 My bridge setting is 85%. I checked that and it is still 85%,but I dont have any bridges on the first layer. Why should that affect my extrusion in this way?
@engikeneer I use relative all the time. I have the M83 command set on my config.g file, I have it also on my start gcode, and I have set the slicer to use relative extrusion, so I have 3 time set relative extrusion jajajajaj
oliof last edited by
That sounds mostly like a mechanical problem with flow. Maybe you retract too much after the prime line?
CCS86 last edited by
Until you post a gcode file that has the issue, everyone is just guessing.
Stephen6309 last edited by
@tinchus I have no idea on why the extruder just stopped. When I did a print the had bridging, that print went fine until it need to bridge and it didn't do and successfull briding, the hotend was taking a long time to advance. I then checked that setting, set it to default, and the stopping of the stepper motor stopped occuring.
@phaedrux Here it is the config.g:
G90 ; Home virtual
M83 ; relative extr
M669 K0 ;
;Definición de ejes
M569 P0.0 S1 D2 ;
M569 P0.1 S0 D2 ;
M569 P0.2 S1 D2 ;
M569 P0.3 S1 D2 ;
M569 P0.4 S1 D2 ;
M569 P0.5 S0 D2 ;
M584 X0.0 Y0.1 Z0.2:0.3 E0.4:0.5 ;
M350 X16 Y16 Z16 E16:16 I1;
M92 X320 Y320 Z1600 E428.25:428.25 ;
M566 X200.00 Y200.00 Z300.00 E500:500 P0 ;
M203 X12000.00 Y12000.00 Z340.00 E2400.00:2400.00 ;
M201 X980 Y980 Z200 E1500.00:1500.00 ;
;M204 P100 T100 ;
M906 X4400 Y2000 Z1000 E900:900 I50 ;
M84 S300 ;
;Distancia de cada eje
M208 X0 Y0 Z0 S1 ;
M208 X400 Y400 Z406 S0 ;
;Definición de Endstops
M574 X1 S1 P"!io1.in" ;
M574 Y1 S1 P"!io0.in" ;
M574 Z2 S2 ; Endstop Z Min.
; Sensado Z
M558 P5 C"^!io3.in" H5 F120 T18000 ;
G31 P500 X-7.5 Y-27 Z3.03 ;
M557 X15:330 Y10:330 S35:30 ;
M308 S0 P"temp0" Y"thermistor" T100000 B4138 A"chamber" ;
M950 H0 C"out7+out8" T0 ;
; M307 H0 R0.31 C284.700:284.700 D130 S0.9 V0 B0 ;
M307 H0 A11 C99000 D2000 B1 ; Bang bang mode since PID dont work in 3.4
M141 P0 H0 ;
M143 H0 S205
M308 S1 P"temp1" Y"thermistor" T500000 B4723 C1.19622e-7 ; configure sensor 1 as thermistor on pin temp1
M950 H1 C"out1" T1 ; create nozzle heater output on out1 and map it to sensor 1
M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
M308 S2 P"temp2" Y"thermistor" T500000 B4723 C1.19622e-7 ; configure sensor 2 as thermistor on pin temp2
M950 H2 C"out2" T2 ; create nozzle heater output on out2 and map it to sensor 2
M307 H2 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
M563 P0 D0 H1 ;define tool 0/ Definición del hotend 1
G10 P0 X0 Y0 Z0 ;set tool 0 axis offsets/
G10 P0 R0 S0 ;set initial tool 0 active and standby
M563 P1 D1 H2 ;define tool 1/
G10 P1 X-60 Y0 Z-2.05 ;set tool 1 axis offsets/
G10 P1 R0 S0 ;set initial tool 1 active and standby temperatures to 0C
M207 S6 R0.2 F1800 ;firmware retraction/ 6mm de retracción,
; movimiento relativo en extrusores/ es la segunda vez que se llama, revisar si es necesario
M950 S0 C"0.out9" ; servo "0" in pin out9/
M280 P0 S1650 ; move servo for T1 up default position
; M376 H30
M143 S450 ; set max temp to 450 degrees for T0
M143 H2 S450 ; set max temp to 450 for T1
M950 J0 C"^io8.in" ;
M581 P0 R0 T0 ; Assigment of the emergency stop/
M950 P5 C"out3" ; assign gpio port 5 to out3 for buzzer.
; M671 X0:350 Y175:175 S3 ; set 2 probing points to correct any possible tilted bed
; Seguridad de cierre
; M591 D1 P1 C"io5.in" S1 ;
M950 J6 C"io5.in" ;
M581 P6 T2 S0 R1 ; set trigger2.g to be excuted if door opened while printing
M950 J7 C"io6.in" ; define top lid pin stop
M581 P7 T3 S0 R1 ; set trigger3.g to be excuted if door opened while printing
M671 X350:0 Y175:175 S5 ; set 2 probing points to correct any possible tilted bed
; hat chamber fan
M308 S5 P"temp3" Y"thermistor" T100000 B4138 A"hat_chamber" ;
M950 F2 C"out4" T5
M106 P2 L70 H5 T43:47
; stall detection for loose steps
; M915 F1 R3 S7 X Y
M501 ; load saved parameters from non-volatile memory
T0 ; select first tool 0
@oliof definetely not a mechanical problem. I changed the cables, I tested the extruder motion, Mnaually extruding from interface shows no problem. And As my description above, I can repeat the problem.
@ccs86 this the gcode wich I used to write the description above. This gcode start failing and as soon as I pause the print and resume, everything goes normal. I have uploaded only the first layer
[dualtest4.zip](Invalid file type. dualtest4.gcode
gloomyandy last edited by
@tinchus I had a quick look at your gcode file. I see lots of retractions inserted by the slicer, what makes you think they are not there? The gcode file invokes: /macros/loaded_material and also seems to perform a tool change between T0 and T1 (and it looks like it switches back again). This means folks will need to see the macro file "loaded_material" and also your tpre0.g, tpost0.g, tfree0.g, tpre1.g, tpost1.g, tfree1.g so that they can check what exactly is happening at the start of the print. Also if you have a start.g file you should probably post that. You also mentioned that your retraction is only 1mm but the supplied gcode file has the following in it:
G1 E-0.9 F1500 G1 Z1.2 F18000 G1 E-5.1 F1500 G1 X97.434 Y110.037 F18000 G1 Z0.2 G1 E6.5 F1500 ; custom gcode: tcr_rotated_gcode
Which looks like a total retraction of 6mm followed by a 6.5mm extrusion. This could easily cause a jam with many hot ends. Finally looking at the gcode it seems to contain a lot of very short extrusions, I wonder if this is correct (might be worth checking your settings or looking at other gcode files you have printed in the past) or could be contributing to the problem?
@gloomyandy I dont see th retraction you are talking about. The retractions I can see should be there since they are end of paths.
But the problem Im talking about can be seen right at the beginning, in the wipe tower the problem start. And if we look at the code:
; CP WIPE TOWER FIRST LAYER BRIM START
G1 X96.977 Y109.580 F7000
G1 Y135.908 E2.4068 F2100
G1 X127.805 E2.8182
G1 Y109.580 E2.4068
G1 X96.977 E2.8182
G1 X96.520 Y109.123 F7000
G1 Y136.365 E2.4904 F2100
G1 X128.262 E2.9018
G1 Y109.123 E2.4904
G1 X96.520 E2.9018
; CP WIPE TOWER FIRST LAYER BRIM END
We can see there the extrusion, they are all positive and in relative mode, and the re is no retraction at all there in the code. But I can visually see retractions when looking the print. So they have to come from firmware
That looks like a fairly high extrusion rate. Perhaps you're just seeing the extruder falter and click back?
I've never heard of Smart3dSlicer before. Have you tested with a different slicer yet to see if it's related to that?
gloomyandy last edited by
@Tinchus There is a retraction both before and after that gcode, in particular that second retraction is very large -5.1mm...
G1 E-0.9 F1500 G1 Z1.2 F18000 G1 E-5.1 F1500 G1 X97.434 Y110.037 F18000 G1 Z0.2 G1 E6.5 F1500 ; custom gcode: tcr_rotated_gcode ;HEIGHT:0.200000 ;TYPE:Wipe tower ;WIDTH:0.500000 ;------------------------------------- ; CP WIPE TOWER FIRST LAYER BRIM START G1 X96.977 Y109.580 F7000 G1 Y135.908 E2.4068 F2100 G1 X127.805 E2.8182 G1 Y109.580 E2.4068 G1 X96.977 E2.8182 G1 X96.520 Y109.123 F7000 G1 Y136.365 E2.4904 F2100 G1 X128.262 E2.9018 G1 Y109.123 E2.4904 G1 X96.520 E2.9018 ; CP WIPE TOWER FIRST LAYER BRIM END ;----------------------------------- ; custom gcode end: tcr_rotated_gcode G1 E-0.9 F1500 G1 Z1.2 F18000 G1 X88.713 Y102.35 G1 Z0.2 G1 E0.9 F1500
Are you saying you are seeing retractions during the printing of the wipe tower?
But anyway as I have said before you really need to provide all of the other gcode files that are involved in printing that file if you want folks to be able to understand exactly what is happening. At the moment we only have a part of the picture...
A video of the print in action can tell us a lot too.
@gloomyandy Sure. Here are the files:
tpre1.g tpre0.g tpost1.g tpost0.g tfree1.g tfree0.g
Regarding the retractions: yes. I see extrusion and it looks like for every extrusion there is a retraction following it. So basically the filament is all the time going forward and barkward. And as I said: the same gcode, if I pause extrude, and then resume, continues the print with no problem
@Phaedrux I have new information and a "solution", but I think the problem is a bug, since this was not happening on 3.3.
As you saw, I have at the beginning of my config.g and M83 command (actually by error, Y have also another M83 near the end of it, so it is called twice)
That should be enough for stating that I want to use relative extrusion, since I have triple checked my slicer configuration (wich has not changed since I was using 3.3 firmware). My slice has the "use relative extrusion" option activated.
But there was a small change on my start gcode: My start gcode had at the very beginnign an M83 command. Recentrly I was cleaning the code, and since the config.g had M83 and the slicer was using the relative extrusion command, I decided to remove the M83 command.
I have edited the above gocode, I added an M83 at the begginig of it and the problem is solved!
So the thing to investigate would be: why the M83 in the config.g of the printer is not being used. I have checked againg all the other config files and there are not absolute extrusion commands that could override the M83 (Actually I have never used absolute extrusion in my life).
SO problem is solved, just adding an M83 at the beggining of the start gcode, but question remains: why the M83 in the config.g is not being used...
Thanks all for the help
Can you check whether a particular input is set to relative or absolute extrusion by looking in the 'inputs' section of the OM? This way we could see if it's getting set correctly at startup and how it changes or not when the print is started with or without your change to the start gcode.
@phaedrux What input are you interested in? I have from 0 to 11, and under name of each one of them none says "extruder"