@AndyE3D
Hi, thank you for sharing this alternative method for calibrating the non-linear extrusion with the MFM based on quadratic regression. In any case, your macro looks quite clean and well thought out.
It seems that the macro collects the errors only once, without reevaluating the applied coefficients. Based on my experience, I can say that this approach is insufficient to achieve good values that result in an error of less than 1% across the entire speed range. That’s why I follow this process with my macro:
The minimum extrusion distance for the measurements should be at least twice as long as the melting zone.
First, I collect the errors.
I discard speeds with errors greater than 10%, as corrections would require at least a 20% adjustment, which is not feasible due to slip and grinding.
I calculate the coefficients using least squares.
I apply the coefficients.
I test whether the errors are within acceptable limits.
If the errors are within limits, I finish.
If not, I adjust the speed values based on the corrected errors (e.g., an error of 2.5% at 2 mm/sec).
I recollect errors with the adjusted speeds (e.g., 2.05 mm/sec).
I recalculate the coefficients.
I apply the coefficients again.
I test if the errors are within limits.
If the errors are within limits, I finish.
If not, I drop the fastest speed and repeat the process.
Regarding your concerns about die swell or foaming, I can clarify that this is simply an extrusion multiplier in the slicer or filament profile when the non-linear extrusion is calculated using that method.
I am excited to see where the development of the MFM will lead.
Btw. you can find the latest macro of my MFM calibration at https://github.com/Meltingplot/BigPrint/blob/duet-3.5.3-sbc/duet-config/macros/meltingplot/filament-extrusion-calibration