As you can see from this image I stole from CNC kitchen, Most extruders/hotend combos, even the perfect ones extrude relatively different at various flowrates. As you can see the actual extruded amount varied by 20% from 1mm^3/s to just 11mm^3/s !
it’d be incredible to have a feature that takes 5-10 points on the graph, asks the user to measure the extruded amount and enter their values, and have the firmware mutiply the flowrate by a multiplier depending on the calculated flowrate, I bet this would massively increase surface quality and add precision to the parts.
I encountered a worst case scenario of this when I had a print where every other layer was printed at 15mm/s due to the min layer time, the rest were printed at 40mm/s and it looked absolutely terrible, I fixed this by setting my speed to the same limit everywhere but it was an interesting showcase of this effect, I lost the pictures sadly but I can take a new one if it’s very important.
I wonder how that would interact with pressure advance. Those tests were done with pretty static extrusion pressure, which during normal printing (except vase mode) is a pretty rare occurence.
Hmm, the reason I made this post is that I genuinely do see some layer inaccuracies match up with my prusaslicer’s view of my flowrate on different layers!
tbh I gotta admit, I’m not smart enough to judge things too much. Even this idea wasn’t mine, I was talking to someone on youtube about this and he said “I wish Klipper had a feature to compensate for it” and I was like “that’s a great idea! i’m gonna open a feature request”
Could make sense especially for slippery extruders (like the ender 3 has) but since the actual back pressure is dependent on a lot of factors and changes quite quickly this would likely be pretty complicated and hard to maintain.
This curve would change based on filament, extruder spring tension, hotend temperature, ambient temperature, wear level on the extruder gear, probably even x/y position if using bowden and a lot more that don’t come to mind tight now. Then there is pressure advance which aims to keep the pressure in the nozzle constant but would also cause the backpressure to fluctuate even more.
Given there are extruders that have pretty flat extrusion curves and that don’t slip nearly as much combined with the high complexity of compensating for it it might not be worh it.
With an accurate enough filament flow sensor it might be possible to compensate for some of this but probably only larger errors.
As someone that used a stock ender extruder and tried to print a bit faster I would have liked this feature too, having to tune flow every-time I changed speeds was pretty annoying.
This comment by StrikeEagleCC raises an interested (and related) point that the instantaneous requested/acheived extrusion rate is perhaps also a function of the short-term average extrusion rate.