Filament sensor feedback instead of M592 correction?



  • Hi all,

    I have been working on calibrating my E3D Titan Aero for extruder non-linearity, and while it does work and seems to make an improvement it is very filament and temperature dependent.

    So, I was going to start making a library of correction factors for different filaments at different temperatures, but immediately stopped when I realized how long that was going to take and the hassle it was going to be to remember to change those factors for every print I run.

    That got me thinking, there must be a better way...

    Has anyone ever thought of / tried to implement an idler wheel with a hall effect sensor (or any other rotary sensor) on the filament before it gets to the extruder that actually measures the extrusion distance, compares it to the expected value, and tunes the extrusion rate in a closed feedback loop?

    Just a thought.

    Happy printing!



  • Did you ever get any traction with this? I'm contemplating these issues right now and finding myself perplexed why this hasn't been implemented yet. I made a post recently about merging the IR-based filament width monitoring feature from Marlin and was basically shot out of the sky. I could see combining that with this idea could be a powerful combination.

    Devs, hear my prayers!


  • administrators

    Yes it would be possible to calibrate nonlinear extrusion using the filament monitor. This is unfortunately one of many things that I don't have time to implement right now. You could do it semi-automatically like this:

    • Create GCode files to print, that extrude into air at various speeds while also moving the print head in the XY plane.
    • At the start of each file, put the filament monitor in calibration mode (M591 Pn S0).
    • At the end of each file, use M591 Pn to report the calibration parameters, which includes the measured/commanded extrusion percentage.

    You could combine all these files into a single file, using M226 to pause between the sections (which restarts the calibration).


Log in to reply