[feature request] Air pressure advance



  • So we have this feature that compensates springiness of filament, called "pressure advance".
    How's about we do something like this for cooling?

    The problem: fans take time to spin up and air pressure takes time to advance.
    The solution: look ahead for fan powering up command and power it up early.
    I believe it's better to be done in firmware than hacked into GCODE, because it is machine-specific.

    My case: I found that my fans take about 1.8 seconds to spin up, resulting in PLA bridges sagging in the beginning if I do nothing to my GCODE.
    Yes, it's almost a second before it spins up from 40% to 80% and then some more before it reaches full power.
    It is very much noticeable.



  • Perhaps it is better to implement fan look ahead in the firmware, I don't know. In the meantime, if you use Cura, install one of my builds and there is a setting (Cooling Fan Lag) that controls fan look ahead for feature specific fan speed changes (bridging, skin over support, etc.). You can find my builds at https://www.dropbox.com/sh/s43vqzmi4d2bqe2/AAADdYdSu9iwcKa0Knqgurm4a?dl=0 and they can be installed alongside the UM releases. Please read the README.md at the above location if you wish to give it a go.



  • I think this could be useful, in some situations.

    Another useful lookahead feature that goes hand in hand with this would be temperature change. If a tool has a temperature change (say, from standby to print temp) coming up, the printer could use the model of the heater to pre-heat the tool so that it reaches its temp at approximately the exact moment the tool is needed.



  • I agree, this would be useful!



  • @bot said in [feature request] Air pressure advance:

    I think this could be useful, in some situations.

    Another useful lookahead feature that goes hand in hand with this would be temperature change. If a tool has a temperature change (say, from standby to print temp) coming up, the printer could use the model of the heater to pre-heat the tool so that it reaches its temp at approximately the exact moment the tool is needed.

    Cura has done exactly that for some years now. Don't all slicer's do that anyway?



  • @burtoogle I had no idea that Cura did this. I've been using S3D for years, for better or for worse. S3D does not plan ahead with the temperatures.



  • @burtoogle Cura also does lot things badly, like nonexistent nozzle wipe or just forgetting/resetting some settings while lying about it in the interface.
    It's just too buggy there's no way I can use it and not hate myself every moment I do.
    You can't even change your nozzle width in default profile without duct tape in latest stable version.
    And it is like this for a very long time (since 3.4 or 3.5 IIRC).



  • It would be awesome if it was in the firmware. Already accustomed to having things like pressure advance, retraction, acceleration adjustment etc in the firmware and using some slicer for this would be like giving up air.

    To be entirely honest, most slicers are useless in determining what's good for a machine. They're only good enough to make a path out of a model. The rest, as far as my experience with Duet goes, is better off sitting in the firmware as it's the only one with all the machine parameters.


  • administrators

    One of our plans for Duet 3 is to have a "Read ahead" GCode stream that reads the printing GCode ahead of the main stream and simulates them, looking out for operations coming up that have an associated delay - such as changing the filament mix in a mixing extruder, and switching to a different tool that needs to be heated up. Then the firmware will be able to advance those operations.


Log in to reply