M592 Non-Linear Extrusion values for higher speed printing
-
Hi all,
I'm finally getting round to configuring non-linear extrusion for my Voron hotend. I'm using a 0.5mm CHT nozzle.
These are the values I measured when requesting 100mm extrusion:
1mm/s 100mm
2mm/s 100mm
3mm/s 100mm
4mm/s 100mm
5mm/s 100mm
6mm/s 98.2mm
7mm/s 97.0mm
8mm/s 94.4mm
9mm/s 94.4mm
10mm/s 91.6mm
11mm/s 87.3mm
12mm/s (Skipping) 77.5mmAs you can see, at up to 5mm/sec, as far as I can measure, I'm getting 100mm when I request 100mm to be extruded.
I have input the values from 1-10mm/s into @Alex-cr's Excel sheet
The curve dips between 1 and 4, which isn't ideal.
My only concern is that looking through old posts from 2018, I can only see people testing from about 1-6mm/s. For me this wouldn't give a useful curve.
I have a few questions.
Are the values I need in M592 on the right hand side of the sheet under A and B? 0.012493 and 0.0020845?Should I omit 1-4mm/s and start at 5mm/s?
Does this excel sheet still function correctly when not starting at 1mm/s?
Will this cause the curve to be extrapolated down to 0mm/s and end up underextruding at very slow speeds?
Thanks in advance for any help!
-
I've now realised the correct values for A and B are above the graph. I have slightly edited the first values which caused the dip from 1-4.
I have now pasted
M592 D0 A0.5123 B0.1295
into my config file.I did try to test with my magnetic filament monitor using
M591 D0
to get a filament monitor report. But I have just realised that the reading for length extruded are showing the values that are requested rather than measured. See the bold text in the report below.Duet3D rotating magnet filament monitor v4 on pin io0.in, enabled, sensitivity 25.42mm/rev, allow 1% to 900%, check printing moves every 0.1mm, version 4, mag 131 agc 68, measured sensitivity 26.16mm/rev, min 76% max 163% over 180.0mm
(These aren't the settings I use to monitor for errors during printing. I made a macro to measure as accurately as possible for this use.)
Is there any way to get measured values from the magnetic filament monitor? I couldn't find anything in the GCode dictionary or in the Duet's object model.
I feel there is a lot of wasted potential in the magnetic filament monitor for use in troubleshooting.
-
So I've just tried manually measuring the amount of extrusion using this macro:
G28 G1 X0 Y0 Z30 F110000 M83 M400 M291 S3 R"Extrusion test" P"Press OK to start test" ;G1 X100 F10000 G1 X100 E100 F300 M400 M291 S3 R"Measure extrusion" P"Measure filament taken at 5mm/sec extrusion, then press OK" G1 X0 E100 F360 M400 M291 S3 R"Measure extrusion" P"Measure filament taken at 6mm/sec extrusion, then press OK" G1 X100 E100 F420 M400 M291 S3 R"Measure extrusion" P"Measure filament taken at 7mm/sec extrusion, then press OK" G1 X0 E100 F480 M400 M291 S3 R"Measure extrusion" P"Measure filament taken at 8mm/sec extrusion, then press OK" G1 X100 E100 F540 M400 M291 S3 R"Measure extrusion" P"Measure filament taken at 9mm/sec extrusion, then press OK" G1 X0 E100 F600 M400 M291 S3 R"Measure extrusion" P"Measure filament taken at 10mm/sec extrusion, then press OK" G28
I am getting huge over-extrusion at 5mm/s. I measured it at 118mm when requesting 100mm.
I forgot to mark the filament for 6mm/s.
At 7m/s I extruded 115mm.
Anyone know what I've done wrong here? I can see that the values are far too high on the graph.
-
I've managed to get things to work despite my lack of maths skills.
I used another Excel sheet that was posted, but it only seems to work when inputs from 1-5mm/s are input. https://forum.duet3d.com/post/55528
By trial and error, I input values which created a curve that fit my extrusion as best as possible.
I was able to do this by editing the graph display to show extrapolated data beyond 5mm/s.
My final extrusion values when I input the data to my config file were:
1mm/s 100.3mm
2mm/s 100.3mm
3mm/s 99.2mm
4mm/s 100mm
5mm/s 99.1mm
6mm/s 99.4mm
7mm/s 99.1mm
8mm/s 98.3mm
9mm/s 98.3mm
10mm/s 98.1mmI'm pretty happy with that. It's not the most elegant solution, but hopefully this might help someone else in the future.
-
@Threepwood It's been a while, when I worked with curve discussion.
My take on this is: you have to adjust the coordinates (y-axis) to be zero where the highest speed without underextrusion is.
Otherwise you'll always see underextrusion where it should be perfect.example: from 1-3mm/s no underextrusion
put the value for 4mm/s in the first line of the spreadsheet ; 5mm/s in the second and so forthThe resulting curve will have no correction at 3mm/s.
Then switch off the extrusion correction below 3mm (macro, daemon.g? )