supermerill / SuperSlicer

G-code generator for 3D printers (Prusa, Voron, Creality, etc.)
4.13k stars 520 forks source link

Fan speed advance doesn't work as intended #4476

Open CuredPrusa opened 1 week ago

CuredPrusa commented 1 week ago

Version 2,5,59,13 when disabling fan advance features speedup/kickstart, all perimeters have fan value as set. But when i put 1 second at speedup and kickstart, it is trying to do the job, but half of the perimeter runs without required speed. Outer perimeter is set to 100%. Top of the tube has outer perimeters only: image Version 2,5,60,0 makes it even worse.

Besides that , "only for overhangs" seems to be reversed. Result: Speed on top of the tube is 25mms to provide a lot of cooling. One side of a model is melted too much. I can't use this feature.

I think there is something wrong when layer is fast, e.g. small perimeters only. On larger perimeters, longer layers, it seems to work fine.

CuredPrusa commented 1 week ago

I think there something about the reset of fan speed advance timer, in my case 1 sec. This is the example of top surface in shape of triangle. Fan settings say top surface should have 100% cooling fan speed. image image

CuredPrusa commented 1 week ago

It seems that 100% kick works also when changing to lower fan speed, that doesn't make sense. In this example first perimeter is 100%, others 70%.

image image

When kick engaged: image image

CuredPrusa commented 1 week ago

Also, I don't see that layers are connected in this function. If layer is ending with 20% of fan speed, I don't see fan advanced speed if next layer is starting with 100%. For example, ending with sparse infill, starting with outer perimeter.

CuredPrusa commented 6 days ago

I have just realized the fan advance speed change is changing speed in advance even if fan is slowing down. That doesn't make any sense. I guess this is the reason of problems I have reported. Slowing down the fan should not be considered in that calculation because slowing is much quicker than speeding up. Also, it would be smart to automatically adapt the speed up timer considering the delta T