Issues with pressure advance since RRF 3.4
-
@jens55 I was stimulated by your post to try again a gcode script I use to calibrate PA, adapted from a previous post. For me, this seems to work as expected:
It does 4 lines at 20mm/sec, then 4 lines speeding up from 20mm/sec to 100mm/sec and back for each PA setting - I have pictured to speeding up section, where you can clearly see the effect of PA, and confirming the .04 I usually use.
My system is pretty basic - duet2wifi with no SBC running 3.4.4, with mzv IS, single nozzle, direct drive orbiter 2.
-
@Adrian52 should add that the script is adapted from that posted by DonStauffer (https://forum.duet3d.com/user/donstauffer) here
https://forum.duet3d.com/post/250961
I found it quicker without a raft, so made an anchor piece to start the test strips . Apologies to DonStauffer for mangling your script.
; set variables var StartX = -70 var StartY = -25 var LinesPerTest = 4 var LinesBetweenTests = 4 var AnchorLines = 10 var TempBed = 60 var TempTool = 195 var ToolNum = 0 var Ext1 = 0 var Ext2 = 1 var Width = 0.55 var Height = 0.2 var ExFactor = 1.0 var Retract = 1.0 var Prime = 0 ; Before Raft var PALow = 0.0 var PAHigh = 0.07 var PAIncrement = 0.01 var SpeedRaft = 400 var SpeedSlow = 1200 var SpeedFast = 6000 var SpeedTravelXY = 9000 var SpeedTravelZ = 1200 var SpeedRetract = 7200 ; Calculated and Utility Variables var TestCount = 1 + floor((var.PAHigh - var.PALow) / var.PAIncrement + 0.5) var FilFactor = var.ExFactor * var.Width * var.Height / (pi * 1.75 * 1.75 / 4) var PA = var.PALow - var.PAIncrement var Dist = 0 ; PREPARE T{var.ToolNum} M82 ; Extruder Absolute Mode ; Heat Bed and set Hot Ends to Standby M400 M117 "Heat" M140 S{var.TempBed} ; set Bed Temp M568 P{var.ToolNum} S{var.TempTool} A2 ; set Tool Temp M116 H{var.ToolNum + 1} S1 ; Wait for temp G4 S12 ; Delay to Allow for Overshoot M116 H{var.ToolNum + 1} S1 ; Wait for Recovery M116 H0 S1 ; Wait for Bed M400 M117 "Home" G1 Z30 F3000 G30 M400 ;M117 "Anchor" ; Go to StartX - Width *5, StartY G90 ; Absolute G92 E0 G0 E{-var.Retract} F{var.SpeedRetract} G1 X{var.StartX - var.Width * (var.AnchorLines-4) } Y{var.StartY} F{var.SpeedTravelXY} G1 Z{var.Height} F{var.SpeedTravelZ} G91 ; Relative set var.Dist = (2 * var.TestCount * var.LinesPerTest + var.LinesBetweenTests * (var.TestCount - 1)) * var.Width M221 S110 ;set extrusion factor to 110% for anchor while iterations < var.AnchorLines ; Draw anchor Line G0 Y{var.Dist} E{abs(var.Dist) * var.FilFactor} F{var.SpeedRaft} G92 E0 ; Break here if last time if iterations + 1 >= var.AnchorLines break ; Move Over G0 X{var.Width} E{var.Width * var.FilFactor} F{var.SpeedRaft} G92 E0 set var.Dist = -var.Dist G0 E{-var.Retract} F{var.SpeedRetract} ; Retract ; BEGIN TEST PATTERN M400 M117 "Test Pattern" ; Go to StartX, StartY G90 ; Absolute G1 Z{var.Height} F{var.SpeedTravelZ} G1 X{var.StartX} Y{var.StartY} F{var.SpeedTravelXY} G91 ; Relative while iterations < var.TestCount ; set PA set var.PA = var.PA + var.PAIncrement M572 D{var.Ext1} S{var.PA} M572 D{var.Ext2} S{var.PA} echo "PA=",{var.PA} ; Draw Reference Lines while iterations < var.LinesPerTest G0 E0 F{var.SpeedRetract} ; Unretract G0 X140 F{var.SpeedSlow} E{140 * var.FilFactor} G92 E0 G0 E{-var.Retract} F{var.SpeedRetract} ; Retract G1 Y{var.Width} F{var.SpeedTravelXY} G1 X-140 F{var.SpeedTravelXY} ; Draw Test Lines while iterations < var.LinesPerTest G0 E0 F{var.SpeedRetract} ; Unretract G0 X35 F{var.SpeedSlow} E{35 * var.FilFactor} G0 X70 F{var.SpeedFast} E{105 * var.FilFactor} G0 X35 F{var.SpeedSlow} E{140 * var.FilFactor} G92 E0 G0 E{-var.Retract} F{var.SpeedRetract} ; Retract G1 Y{var.Width} F{var.SpeedTravelXY} G1 X-140 F{var.SpeedTravelXY} ; Move to start of next comparison G1 Y{var.LinesBetweenTests * var.Width} F{var.SpeedTravelXY} ; Finish up M400 M117 "Done" G10 P0 S0 ; turn off temperature M140 S0 ;turn off bed heater G28 ; home
-
@Argo I have but I'm awaiting some feedback for I post anything
-
@Adrian52, thanks for posting the script and the results. I will see if I can get that working here!
-
I went back to the original script posted by DonStauffer with the raft and I did see the ever so subtle change in the printout. Interpretation of the test print is difficult but it works better than what my previous script was able to do.
I kept the raft so I could remove the finished print in one piece and examine it clearly. I did have adhesion problems because it's a single line and I am working on adjusting my bed temperature to fix that.
Final verdict: I didn't know what I was doing and pressure advance does in fact work on the CR10 printer. I have not yet tried this on the Jubilee where the extruder is driven off a tool board. Note that this only speaks to PA changing and not necessarily to how effective the PA is in an actual print.
Tests are ongoing ...... -
This post is deleted! -
Update on my conversion to Klipper.
At first the corners didn't look any better than with RRF until I came across a post today that refers to extruder smooth time.
The standard is with Klipper 0.04, which I also use.
Switched to 0.01 and the corners look awesome.
In the article it was said that some extruders can not cope with the smooth time and then you have to get smaller. see my pictures.With smooth time 0.04
With smooth time 0.01
-
@Heartleander81 wow mate what a difference
-
-
@Heartleander81 Can you link that article you mention?
-
@Phaedrux I see some discussions on it at the bottom of Klipper's Kinematics page
https://www.klipper3d.org/Kinematics.htmlSome other pages of interest
https://klipper.discourse.group/t/pressure-advance-smooth-time-on-direct-extruders-with-short-filament-path/1971
https://github.com/Klipper3d/klipper/issues/4442 -
@Heartleander81 said in Issues with pressure advance since RRF 3.4:
@R4ffers oh yes.
@dc42 is there also something like pressure advance smooth time under RRF? A few clippers have the problem with the high smooth time, but those who have problems are mostly DirectDrive extruder users. Maybe that's an approach you can follow.
No, there isn't anything similar. I will look into that Klipper feature.
The reason I have made no progress on this is that while a number of users seem to think that pressure advance doesn't work as well in RRF 3.4 as it did in 3.3, and I am prepared to believe that there may be a difference because the relevant code had to be rewritten to accommodate input shaping, nobody has been able to provide a simple GCode script and machine settings that demonstrate a difference when input shaping is disabled. That includes me - I have compared RRF 3.3 and RRF 3.4 prints.
-
-
So altering the smooth time value did improve your corners and PA alone did not?
-
Hi folks, my guess is OP simply did finer calibrations after update and found out underlying RRF issues regarding PA, Retraction, Extruder steps and acceleration relation... I got similar results (improvements) with Klipper conversion. I did some testing and posted it here earlier.
-
@Argo said in Issues with pressure advance since RRF 3.4:
So altering the smooth time value did improve your corners and PA alone did not?
PA alone didn't make the whole corner look nice. See the picture with the corner sticking out in the direction of travel. Only with the change of smooth time and renewed PA, which was then higher, did the corners become so clean.
-
I see.
I know from another Klipper user that he also only could get nice corners by playing around with the smooth time setting. Pressure advance alone did not help much.
Maybe extruders / hotends are so particular nowadays that we need this setting to get nice corners?
Here is the example from the user I'm talking about:
He has a bowden setup and needed to increase the smooth time in order to get nice corners. PA alone did not the trick.
@dc42
How high are the chances we might get this feature for RRF? I think this might very much help those who are having problems with PA at the moment. -
@Argo ok. Nice test from him. I find for my Hevort 0.02 smooth time and 0.044 PA. Worked nice. I hope my Info can help Duet.
-
@dc42 Hi David,
I have to join this conversation because through my contact to @Heartleander81 i noticed this effect with "round corners" at some of our machines to.
I think this comes with newer firmware and if you made some changes into PA there would be an issue. But how can we test it that it would be helpfull for you?
one of our customers has now contacted us explicitly about this effect and is looking for a solution. I can't compensate for it by increasing the PA value. We've tested a lot here.
Thank you Regards Christian from @CR3D
-
@CR3D said in Issues with pressure advance since RRF 3.4:
But how can we test it that it would be helpfull for you?
-
Find a print where there is a clear visible difference between the effect of pressure advance (e.g. on corners or infill) between RRF3.3 and RRF3.4.4 with the same configuration for both, and no input shaping when running RRF 3.4.4.
-
Edit the GCode file to reduce it to a short print, preferably just 1 or 2 layers.
-
Post that file along with your config.g and other relevant macro files.
-