prusa3d / Prusa-Firmware-Buddy

Firmware for the Original Prusa MINI, Original Prusa MK4 and the Original Prusa XL 3D printers by Prusa Research.
Other
1.16k stars 227 forks source link

[ENHANCEMENT] Be able to set minimum and maximum print fan range to override dynamic cooling #4275

Open stur0067 opened 2 days ago

stur0067 commented 2 days ago

Printer model

MK4

Describe the enhancement

If my gcode uses layer-time dependent cooling or dynamic cooling, the gcode constant overrides my manual print fan speed changes. If there was the ability to set a lower-bound and upper-bound (defaulting to 0% and 100%) I could more easily make on-the fly adjustments. For example, If I have to cancel some objects, my layer times might be too short and I'd like to just force a higher fan speed. I can do this by setting the minimum to 60%. Any command in the gcode that tries to issue a fan speed below that value is ignored. This means dynamic cooling or cooling for bridging that request higher fan speeds would still work.

Expected functionality

The forced minimum and maximum print fan values (default of 0% and 100%) would allow better control despite having a g-code that issues many fan speed changes. They could be a separate entry from the normal print fan setting and maybe be called "Print fan speed range forcing".

stur0067 commented 2 days ago

Maybe this should actually be a feature request

Tupson444 commented 2 days ago

In Marlin firmware, there is a feature called Extra Fan Speed that is similar to this idea, but more limited. It allows setting two different fan speeds, e.g. normal printing and bridging, which can both be adjusted during print without resetting every time a new fan command is executed (the gcode file needs to be adapted in order to work).

Your proposal would work even when using dynamic fan speed, and wouldn't need gcode file to be specially prepared for it. But min/max fan speed still wouldn't allow increasing max fan speed (EDIT: it would, by increasing the min speed of course, I just didn't think enough).

How about having a way to generally increase or decrease fan speed (like speed %)? E.g. set "general %" to 110%, and all fan commands will be increased by 10% (capped at max fan speed of course). Although it would be a bit confusing to have two percentages (actual % of the fan and "general" %).

stur0067 commented 1 day ago

Yes, being able to set a delta to apply would be useful and it would preserve dynamic fan speeds having some control. I was under the assumption that the gcode does not provide any information to know why the fan speed is changing (like for bridging). If there is no way to distinguish then you just have to move the minimum fan speed override high enough to get you what you want.

On Thu, Oct 31, 2024 at 7:40 AM Tupson444 @.***> wrote:

In Marlin firmware, there is a feature called Extra Fan Speed that is similar to this idea, but more limited. It allows setting two different fan speeds, e.g. normal printing and bridging, which can both be adjusted during print without resetting every time a new fan command is executed (the gcode file needs to be adapted in order to work).

Your proposal would work even when using dynamic fan speed, and wouldn't need gcode file to be specially prepared for it. But min/max fan speed still wouldn't allow increasing max fan speed.

How about having a way to generally increase or decrease fan speed (like speed %)? E.g. set "general %" to 110%, and all fan commands will be increased by 10% (capped at max fan speed of course). Although it would be a bit confusing to have two percentages (actual % of the fan and "general" %).

— Reply to this email directly, view it on GitHub https://github.com/prusa3d/Prusa-Firmware-Buddy/issues/4275#issuecomment-2449869512, or unsubscribe https://github.com/notifications/unsubscribe-auth/AKYLC3AQSB67YDDCFKWEJ2LZ6IXMDAVCNFSM6AAAAABQ46MK62VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINBZHA3DSNJRGI . You are receiving this because you authored the thread.Message ID: @.***>