Issues with pressure advance since RRF 3.4
-
@Phaedrux ok have 3.3.0 on MB and Toolboard. Now I test with is on is off extruder on MB and the same with Toolboard
-
3.3.0 PA 0.045 Extruder onToolboard
3.3.0 PA 0.045 Extruder on Mainboard
3.4.4 PA 0.045 Extruder on Toolboard with IS
3.4.4 PA 0.045 Extruder on Toolboard without IS3.4.4 Extruder on Mainboard with IS and without IS look the same
Printed clockwise.
Outer walls, inner walls, bottom layer and top layer all at 200mm/s.
First layer with 90mm/s .
The part is 2mm high with the dimensions 40x40mm.
Layer height is 0.2mm.; Drive direktion M569 P0.1 S0 D2 H20 V2000 ; X physical drive 0.1 goes backwards M569 P0.2 S0 D2 H20 V2000 ; Y physical drive 0.2 goes backwards M569 P0.0 S1 D2 ; Z1 physical drive 0.0 goes forwards M569 P0.4 S1 D2 ; Z2 physical drive 0.4 goes forwards M569 P0.3 S1 D2 ; Z3 physical drive 0.3 goes forwards M569 P0.5 S0 D2 ; (free) physical drive 0.5 goes forwards M569 P20.0 S1 D2 ; E physical drive 0.0 Driver0 tool goard goes forwards ; Motor mapping and steps per mm M584 X0.1 Y0.2 Z0.0:0.4:0.3 E20.0 ; set drivers mapping M350 X16 Y16 Z16 I1 ; configure microstepping 1/16 with interpolation M350 E16 ; configure microstepping 1/16 M92 X80.40 Y80.40 Z800.00 E705.485 ; set steps per mm ; Drive currents M906 X1300 Y1300 Z950 E900 ; set motor currents (mA) M906 I80 ; motor idle factor in per cent M84 S120 ; set idle timeout ; Acceleration and speed M566 X1800.00 Y1800.00 Z90.00 E3000.00 P1 ; set maximum instantaneous speed changes (mm/min) M203 X30000.00 Y30000.00 Z900.00 E15000.00 ; set maximum speeds (mm/min) M201 X6000.00 Y6000.00 Z100.00 E1800.00 ; set accelerations (mm/s^2) M201.1 Z40.00 ; Homimg smooth ACC ; Accelerometer M955 P20.0 I10 S1344 R10 ; R12 Accelerometer 20:0 type LIS3DH with orientation 10 samples at 1344Hz with 10-bit resolution ; PA, IS ; At config-override.g
-
@Heartleander81 thanks a lot!
@gloomyandy does this help now?
-
@Argo I'm not sure it does. From what I can see there is not any significant difference between with and without a toolboard, nor is there any difference between 3.3 and 3.4 (when IS is off). The only thing I can see is that there may be some interaction between IS and PA. At least that's my take on the pictures, perhaps others see something different? My understanding is that the advice is to tune PA after you have selected a value for IS, so in this case perhaps a different PA value would remove the differences between the with and without IS cases....
The odd thing is that I'm not sure that any of the above tests shows the same degree of bulging corner seen in the sample posted here: https://forum.duet3d.com/post/297824 Which seems a little strange.
-
The problem is that the Pa is already increased in the pictures. I used to always use a Pa of 0.035.
In the pictures you can see with 0.045 Pa that the walls open in front of the corner but the corner is still sticking out. No longer at a 45° angle but in the direction of travel.
If I remember correctly without PA they stand out at a 45° angle. -
@Heartleander81 Could you edit your previous post (the one with the 4 photos) and either add your config.g file or add details of acceleration, jerk, max speed etc. Also what speed did you set in the slicer for the various walls and infill?
Also what was the print direction when printing those tests? I'm guessing it was clockwise with the seam at the bottom left corner?
-
@gloomyandy
That's right, the Z seam is on the bottom left.Is Edit with Config.g data
-
I just flashed RRF 3.4 beta 2 as this is the first beta that mentions input shaping and I assume PA has been rewritten for input shaping.
-
Yup, that does not surprise me. I‘m also getting similar results with RRF 3.3 / 3.4 - IS on / off.
So what would be the next step to find the issue?
-
I can reduce the corners by going very high with the retract and detract. Before I consciously noticed this for the first time, I had PETG 0.2mm with 20mm/s retract. Now if I go to 60 or even 80mm/s the corners get smaller.
Also, the corners get smaller when I slice at <60mm/s.
I've already tried a lot, like reducing values with ACC and Jerk, but all without success.
If I didn't have to run so many cables to my Toolhead, I would swap my Board to rule out that it's the Hardware. Because I have a Board as a replacement on which the Klipper is flashed as a test. -
You mean replace the mainboard or the toolboard?
We already had someone test with and without the toolobard. Results were the same. -
@Argo I've reviewed the posts in this thread and so far I think we have had the following theories....
- It is a new problem introduced with 3.4 (but going back to 3.3 seems to produce the same prints).
- It is a problem caused by using a toolboard (but using the same extruder etc. directly attached to the control board produces the same prints).
- Infill and possibly other perimeter lines causing the bulge, perhaps also issues with extrusion rates. I don't think this one ever got investigated fully.
- Various other examples of bulging corners, but unfortunately no examples showing a better print with the same hardware setup but a different configuration/firmware.
Don't get me wrong obviously some of the prints have bulging corners, but to some extent 3D prints always have and the trend towards faster speeds and accelerations have tended to make this worse. PA and the like can try and improve things, but I'm not sure it can ever fix the problem completely. I also suspect that the use of more outer perimeters (in the past 2 was common, these days 4 seems to be used a lot) may be contributing a little here as a small bulge in each one accumulates, but that is just speculation on my part.
Unfortunately unless someone that is seeing the problem can come up with a setup that demonstrates the issue with one firmware/configuration but does not have it with another when using identical hardware, filament etc. (and that setup can be used to test any changes, debug builds etc.) then I'm not sure how to move things forward. @jay_s_uk has been running various test prints with both RRF and Klipper trying to reproduce things but I don't think he has been able to see any real difference (when using similar speeds/accelerations etc.). I've also tried a bunch of things and have not been able to come up with a test case.
If folks think that this is a problem with RRF PA and that other firmware (Marlin/Klipper) does a better job (again with the same hardware and similar speed acceleration, flow rate etc.). Then perhaps they can post examples of that?
-
@Argo
I have a Duet 3 6hc running on Klipper. But I can't test it because otherwise I would have to lay 13 cables to the print head and unfortunately I don't have the time to do so. -
I've found a work around for the issue.
Super slicer has this fancy feature called "Between extrusion role change G-Code".
So I've added the following code for PLA:
{if extrusion_role=~/ExternalPerimeter/};[extrusion_role] ; ExternalPerimeter M572 D0 S0.080 ; Pressure Advance {elsif extrusion_role=~/Perimeter/};[extrusion_role] ; Perimeter M572 D0 S0.080 ; Pressure Advance {elsif extrusion_role=~/OverhangPerimeter/};[extrusion_role] ; OverhangPerimeter M572 D0 S0.080 ; Pressure Advance {elsif extrusion_role=~/InternalInfill/};[extrusion_role] ; InternalInfill M572 D0 S0.05 ; Pressure Advance {elsif extrusion_role=~/TopSolidInfill/};[extrusion_role] ; TopSolidInfill M572 D0 S0.05 ; Pressure Advance {elsif extrusion_role=~/SolidInfill/};[extrusion_role] ; SolidInfill M572 D0 S0.05 ; Pressure Advance {elsif extrusion_role=~/BridgeInfill/};[extrusion_role] ; BridgeInfill M572 D0 S0.05 ; Pressure Advance {elsif extrusion_role=~/GapFill/};[extrusion_role] ; GapFill M572 D0 S0.05 ; Pressure Advance {elsif extrusion_role=~/Skirt/};[extrusion_role] ; Skirt M572 D0 S0.05 ; Pressure Advance {elsif extrusion_role=~/SupportMaterial/};[extrusion_role] ; SupportMaterial M572 D0 S0.05 ; Pressure Advance {elsif extrusion_role=~/SupportMaterialInterface/};[extrusion_role] ; SupportMaterialInterface M572 D0 S0.05 ; Pressure Advance {elsif extrusion_role=~/ThinWall/};[extrusion_role] ; ThinWall M572 D0 S0.05 ; Pressure Advance {else};[extrusion_role] ; Unknown generic handling M572 D0 S0.05 ; Pressure Advance {endif}
Result are strong infill and sharper corners.
The "solution" feels like a hammer though
But at least I can use the printer again for functional parts. -
@Argo That's interesting. So basically you are using a different PA value for perimeters to everything else? Do you have a picture of a part using this?
Hmm just a thought is the speed or acceleration used for perimeters different to the rest of the model?
-
Speeds
Acceleration
For testing purposes I already tried printing everything with one speed and acceleration setting. I really tried almost everything to find out what's wrong
Somewhere in this thread I did also post some examples of prints with too much PA which ended up in incomplete infill lines but nicer corners.Here is the result with the extrusion role gcode:
It's still far from perfect. The bottom left corner is still bulging. I think it's because it takes a short bit of time until the gcode is processed (buffer maybe?). The bottom left corner is always the starting point after the infill is being printed. The other corners are somewhat ok.
For the example I used PA of 0.05 for everything except perimeter which used PA of 0.09. Quite the difference... -
@Argo I was wondering if perhaps there might be some scope for speed or (given how you have things set) acceleration based PA... So basically allowing the firmware to dynamically vary the PA settings based upon some other element of the print process...
In respect of that lower left corner does adding M400 before the PA change for perimeters help?
-
Good idea, I’ll try the M400 command tomorrow.
As for acceleration based PA. Does this maybe relate to the issue?
https://forum.duet3d.com/topic/28533/pressure-advance-and-variable-flow-ratio -
I could only find out with firmware 3.3.0 that, for example, my Z-axis ran softer with the same jerk and ACC and not as hard as with 3.4.x Maybe you should look in the direction of the braking behavior? If I get it in time I will flash my Z axis again to 3.3.0 and then film it again with 3.4.x.
-
Unfortunately M400 does not help.
I also found a another issues that comes with high PA values for external perimeter:The marked area is where the seam is. This is expected with a PA value of 0.08 - 0.09 but needed for nice sharp corners.
Result with PA 0.05 (everything except perimeter) and PA 0.085 for perimeter with M400 usage. Bottom left corner is still bulging:
At least we see now what effect pressure advance has with different settings at the same printed object.
Maybe a post processing script might improve the quality even further with a logic that analyzes the gcode file for sharp corners so that the high PA value isn’t used for all perimeter segments (to prevent defects at round sections) but only for sharp corners.