prusa3d / PrusaSlicer

G-code generator for 3D printers (RepRap, Makerbot, Ultimaker etc.)
https://www.prusa3d.com/prusaslicer/
GNU Affero General Public License v3.0
7.7k stars 1.93k forks source link

Feature Request: ramp up layer cooling fan over X layers (or X seconds) #848

Closed tomseffect closed 3 years ago

tomseffect commented 6 years ago

one of the main problems i am still encountering with slic3r PE, even after a lot of tuning - is the "elephant foot" caused by too much cooling (even with the e3d v6 silicone sock and ~30% cooling), especially if perimeters are printed before the infill. what i end up doing, to avoid this elephant foot, is (tediously) manually "ramping up" by sending an M106 command of increasing values (increasing by 10 - i.e M106 S50; M106 S60; M106 S70; and so on) over a period of ~10-20 seconds.

this could be implemented either over a set number of layers (e.g - ramp up over 6 layers) or as i am doing it now but automagically (e.g - ramp up over 20seconds).

Itox001 commented 6 years ago

+1, this would solve the thermal runaway on a lot of powerful cooling setups. The issue where the fan cools the nozzle too much and too fast, the hot end takes a while to catch up so firmware protection kicks in.

bubnikv commented 3 years ago

Fan speed will be ramped up linearly from zero at layer disable_fan_first_layers to maximum at layer full_fan_speed_layer. full_fan_speed_layer will be ignored if lower than disable_fan_first_layers, in which case the fan will be running at maximum allowed speed at layer disable_fan_first_layers + 1.;

Implemented in PrusaSlicer 2.3.0-beta2.