Extruder behaves strangle when disabling pressure advance
dragonn last edited by dragonn
I know this is not a typical user case but I am trying to get PA disabled when doing infill (speeding up the print)
I get the g-codes just fine but I seems that running M572 D0 S0.0 messes something up with the buffered moves. The extruder makes some extremely fast moves when doing infill, I didn't try printing something big if it stops after some time but I think it will
I would try to fix it by my own but I think this lies somewhere deep in the firmware and I don't have such big knowledge of the firmware (yet :D).
Would be nice to get it fixed.
For testing I uploaded a g-code with should show this behavior. 0_1550341807861_20140205_Marvin_KeyChain.gcode
Veti last edited by
just checking. have you tried increasing extruder jerk to counteract the PA slowdown?
@veti sure but I am having a 5:1 geared extruder so I can not go really high because it is starting to losing steps.
I am not surprised that you are having difficulties when changing the pressure advance in the middle of a print. The pressure advance factor is used at various stages in the move pipeline. In order to fix it completely, we would have to include the pressure advance factors for every extruder in the DDA. This would use an excessive amount of RAM.
You could try inserting M400 before each M572 command. This will cause the move pipeline to be flushed. However, a 3:1 geared extruder can handle reasonable amounts of pressure advance without slowing down too much, so I am surprised that 5:1 can't. What value of pressure advance are you using?
If we could identify infill moves, we could flag them as such and disable pressure advance on them. How are you identifying infill moves?
I am running PA from 0.2 to 0.32 and extuder jerk about 400 but my X/Y moves can easily handle much more. Probaly I could improve extruder performance by chaining motor to 1.8 step, I have that in plans.
Storing PA for every move would be not a good idea. But maybe we can make a exception for disabling PA complete? As you said, identify infill moves.
I am using S3D comments for putting custom commands at start of infill or perimeters.
So maybe something like that:
M572 D1; disables PA for all moves after that command G1 X5 Y5 E5 ..... M572 D0; enable PA for all moves after that command.
How much does your extruder slow you down during infill that you hope to gain a speed up from disabling it?
0.32 is a substantial amount of PA and 400 is quite low for extruder jerk. For instance, my Titan aero is 3000, same for acceleration.
I didn't measure it but I am see a big difference when disabling PA, especial when printing small but high objects.
Interesting that you are running Titan with 3000 jerk, for me when I set 1000 it losses so much steps that the print looks like a blocked nozzle. What motor do you have?
Now I am testing with M400 before change PA options. It seems to work just fine Oo
I'm using this motor. https://e3d-online.com/motors-compact-but-powerful-motor
for now I have 42BYGHM810 and I am planing to change to 42BYGHW811.
M400 causes some blobs on prints but I have an ugly idea, the problem is that I need only to run M400 when changing PA but I ran on/off it before every "feature" so that blob happens when I go from inner to outer perimeter.
Not sure it this is in any way acceptable to be merged. On one side it isn't a perfect solution for my problem, on other hand applying it would have complete no effect on normal users.
And it need to be applied to option without D parameter too, but I didn't care for testing about it.
On my list to consider.
zerspaner_gerd last edited by zerspaner_gerd
When changing pressure advance, movement is stopped momentarily to avoid sudden under- or over-extrusion (https://forum.duet3d.com/topic/9140/extruder-behaves-strangle-when-disabling-pressure-advance/10)
Does the above with version 2.03beta3 work?
What exactly was changed?
What do I have to write to disable it for the infill.
To activate completely normal
M572 D0 S0.6write?
Found the same problem as dragonn, then depraved my idea again.
P.S .: I have two extruders
In 2.03beta3, when you change pressure advance it waits for all moves in the pipeline to complete, then sets the new pressure advance, then carries on with the next move.
zerspaner_gerd last edited by
waits for all moves in the pipeline to complete,
this results in a different disadvantage?