RRF 2.03 pressure advance causes 20% overextrusion
-
@jschall said in RRF 2.03 pressure advance causes 20% overextrusion:
@Edgars-Batna That's why I went to the logic analyzer, because I knew it would just be constantly dismissed as a mechanical issue if I didn't remove everything mechanical from the equation.
Forgot to mention that my observations also indicated that there's not enough CPU to keep up with tiny moves + PA on the Duet 2. This was also why I stopped debugging.
As for using Bowden, yeah, sort of "forget it". BUT, this issue is not limited to Bowden. As far as I could tell there is no way to completely avoid the issue, but resolution (and in turn the CPU usage) makes it worse.
It is possible that some trivial printers out there sort of work, but, the same way as my prints were dismissed as "not real", I'll just pretend those people don't exist either.
-
DC42 has added this to the list to investigate.
-
@Phaedrux said in RRF 2.03 pressure advance causes 20% overextrusion:
DC42 has added this to the list to investigate.
I am waiting for the results from @jschall on RRF 3.1.1.
-
Oh man, this update process is not working...
There just aren't clear instructions anywhere...
So, I've uploaded Duet2and3Firmware-3.0.zip, and clicked yes when it asked if I want to update. It complained about missing iap4e.bin, but it updated the web control to be very pretty. I searched around for any clear documentation, didn't find any, and assumed that I needed to rename Duet2CombinedIAP.bin to iap4e.bin and upload it. I did that.
Now I still have a very pretty web control, but it just won't update the firmware to 3.0. No error messages whatsoever. What is the actual process to do this?
-
Duet Web Control 2.0.4
RepRapFirmware for Duet 2 WiFi/Ethernet version 2.03 running on Duet WiFi 1.02 or later + DueX5
WiFi firmware version 1.23 -
Got it. Had to find iap4e.bin from a really old firmware release. Had to find out about this by googling a forum post. I'm sorry, but what the heck? Why not document this in the release notes, or just put the file in the release bundle? Jeez, that's really bad.
-
@jschall said in RRF 2.03 pressure advance causes 20% overextrusion:
Got it. Had to find iap4e.bin from a really old firmware release. Had to find out about this by googling a forum post. I'm sorry, but what the heck? Why not document this in the release notes, or just put the file in the release bundle? Jeez, that's really bad.
It is in the release bundle. iap4e.bin is included in the .zip file updates for RRF 2.05.1, 2.05, 2.04, and some earlier releases.
-
@dc42 said in RRF 2.03 pressure advance causes 20% overextrusion:
It is in the release bundle. iap4e.bin is included in the .zip file updates for RRF 2.05.1, 2.05, 2.04, and some earlier releases.
It is not in Duet2and3Firmware-3.0.zip
-
@Phaedrux said in RRF 2.03 pressure advance causes 20% overextrusion:
Update to 2.05.1 to get on recent code.
Post your config.g.
I did suggest you update to 2.05.1 first.
The issue of missing IAP files does come up and should be better addressed in the documentation. I'll see what I can do about that.
-
Currently running the test on RRF3.1.1. It is with x16 microstepping+interpolation, but I'll do a new control test with no PA as well.
-
Where the heck in the code are the reverse pins written?
Also my logic analyzer keeps failing.
-
Found it.
-
Got the logic analyzer to work... It is very picky about USB ports.
fwd_count 10734771
rev_count 8650049
net_count 2084722
mm 2638.8886083 changes on this one:
- RRF 3.1.1, prior tests were at 2.03
- x16 microstepping, prior tests were at x8
- 100% speed, prior tests were at 200% speed
- Unplugged the extruder stepper and plugged in an identical stepper so I wouldn't have to listen to the gears make noise.
File is supposed to be 2545.00 mm + 15mm of priming, so this print was within 3% - pretty decent, but there's still a bug.
I am reverting the speed change and testing, and then I'll revert the microstepping change if it doesn't go back up to nasty overextrusion.
-
Just a thought, for a next generation path following algorithm, what I would do is:
- Segment the toolpath into linestrings in which the angles between the lines are less than some threshold (such as 30 degrees)
- Smooth those segments, using maybe a series of cubic splines (long lines may need to be split up into shorter lines first).
- Compute the speed curve along the segment such that tangential and radial acceleration is limited and such that the extruder can keep up with pressure advance. Each segment starts at zero speed and pressure and ends at zero speed and pressure.
"Jerk" (bad choice of term) becomes unnecessary. Corners below the angle threshold are rounded smoothly, without ringing or asymmetry. The printer will come to a brief stop at sharp corners above the angle threshold, thus making them as sharp as possible.
A lot of this could be done (and may have to be done) in a preprocessing step.
-
RRF 3.1.1, 200% speed, x16 microstepping, 1.0 PA:
fwd_count 12180087
rev_count 10084959
net_count 2095128
mm 2652.060759 -
Starting test: RRF 3.1.1, 200% speed, x8 microstepping, 1.0 PA
This one should be apples-to-apples to the tests on RRF 2.03.
-
RRF 3.1.1, 200% speed, x8 microstepping, 1.0 PA
fwd_count 6073637
rev_count 5024835
net_count 1048802
mm 2655.194937So this is not terribly huge overextrusion, I could try printing with this. There's still a bug.
-
@jschall said in RRF 2.03 pressure advance causes 20% overextrusion:
Just a thought, for a next generation path following algorithm, what I would do is:
- Segment the toolpath into linestrings in which the angles between the lines are less than some threshold (such as 30 degrees)
- Smooth those segments, using maybe a series of cubic splines (long lines may need to be split up into shorter lines first).
- Compute the speed curve along the segment such that tangential and radial acceleration is limited and such that the extruder can keep up with pressure advance. Each segment starts at zero speed and pressure and ends at zero speed and pressure.
"Jerk" (bad choice of term) becomes unnecessary. Corners below the angle threshold are rounded smoothly, without ringing or asymmetry. The printer will come to a brief stop at sharp corners above the angle threshold, thus making them as sharp as possible.
That's similar to what I have planned. A disadvantage is that the existing effect whereby the perimeters of holes are always under-sized would be made a little worse.
-
@jschall said in RRF 2.03 pressure advance causes 20% overextrusion:
The printer will come to a brief stop at sharp corners above the angle threshold, thus making them as sharp as possible
it will be interesting to see if PA can compensate for the large blob seen when stopping briefly at corners. Currently sharp corners are slightly rounded because the printer does not come to a complete stop - but they are smooth, where as when the print hed has to be raised (e.g. to the next z level, there is a visible Z "seam".
Maybe this is better off combined with jerk for angles > than the smoothing process works on.
-
@dc42 said in RRF 2.03 pressure advance causes 20% overextrusion:
That's similar to what I have planned. A disadvantage is that the existing effect whereby the perimeters of holes are always under-sized would be made a little worse.
Holes are undersized because of the low resolution meshes. I generally export my STLs with higher resolution.
I did this real quick, based on wikipedia's python example of catmull-rom splines. The yellow line is the spline drawn through only the provided points, and the blue line is the spline when additional control points are added to limit the length of curved sections. It shouldn't cause holes to undersize - if anything it will make them better.