Performance 什么是好的风扇速度算法?
我的扇子有24个速度步。它认为热关机温度为105℃。怠速温度约为75°C。采用温度下限和温度上限并将其除以n步是一个好算法吗 编辑:ATM我使用2个环路,上限为85°C,但在我知道24个速度步之前:Performance 什么是好的风扇速度算法?,performance,Performance,我的扇子有24个速度步。它认为热关机温度为105℃。怠速温度约为75°C。采用温度下限和温度上限并将其除以n步是一个好算法吗 编辑:ATM我使用2个环路,上限为85°C,但在我知道24个速度步之前: error |= ec_read(EC_RTMP, &ec_rtmp); if ( ( ec_rtmp < FAN_UPTHRESHOLD_TEMP && sloop < 0 ) || ( ec_rtmp < FAN_UPTHRESHOLD_TEMP
error |= ec_read(EC_RTMP, &ec_rtmp);
if ( ( ec_rtmp < FAN_UPTHRESHOLD_TEMP && sloop < 0 ) ||
( ec_rtmp < FAN_UPTHRESHOLD_TEMP && sloop == FAN_LOOP ) ||
( ec_rtmp < FAN_UPTHRESHOLD_TEMP && speed_switch == 1 )
)
{
speed_switch = 1;
sloop = FAN_LOOP; // 20 * 10 sec
printk("Temp %dC: disabling fan\n", ec_rtmp);
set_fan_disabled();
queue_delayed_work( my_workqueue, &work_object, FAN_JIFFIES_MS*HZ );
} else
{
speed_switch = 0;
printk("Temp %dC: enable fan\n", ec_rtmp);
set_fan_enable();
queue_delayed_work( my_workqueue, &work_object, 2*FAN_JIFFIES_MS*HZ );
}
error |=ec_read(ec_RTMP,&ec_RTMP);
如果((ec_rtmp<风扇上升阈值<温度和sloop<0)||
(ec_rtmp
<>编辑:我找到了一个很好的源代码:你需要考虑很多因素,首先你不希望风扇在两个不同的步骤之间不断地弹跳,所以一个常见的技巧是只改变一个基于时间间隔的风扇速度,或者如果它比风扇速度最后改变时越过两个边界。 如果你的目标是阻止笔记本电脑变得更热,那么使用一个速度步长表将是最合适的,但这并不理想,可能会让笔记本电脑变得比其他智能设备更热。想象一下,如果风扇的当前热量输出总是比需要的慢一到两个设置。我得到的是,风扇速度应该与温度变化相关,而不是与温度直接相关,但同时不要完全拒绝温度,还需要有一个阈值表,表明当温度超过Y时,风扇的速度必须至少为X 因此,根据时间间隔内的温度增益/损耗(delta)而不是给定时间点的温度来设计系统 还有一点要考虑的是,风扇通常不会在RPM的冷却中线性增加,它们通常遵循一个钟形曲线来提高效率,当它们向峰值冷却效率(VRPM)倾斜时,然后当你走高RPM时,它们就不会像冷却一样有效。您可能会发现,最后10%的风扇转速增加了几分贝,但在散热方面可能没有多大作用 我建议使用最小风扇转速,该转速略低于您通常希望风扇在正常安静条件下运行的转速。而不仅仅是10%,20%,30%。。90%,100%风扇转速,我会说以40%(或您感觉最好的转速)开始,然后在此转速下查看新的怠速温度,然后将其用作增加其余风扇转速的基点
对于这个问题,没有完美的通用解决方案。与您目前对噪音成本的解释相比,您可以根据热量输出得到一些改进。因此,您应该为
quiet
、office
或gaming
配置文件实施不同的设置(大致取决于您在给定情况下的重要性和系统负载)。很像汽车有<代码>运动模式,或者<代码>越野>代码>设置。 你需要考虑很多因素,首先你不希望风扇在两个不同的步骤之间不断弹跳,因此,一个常见的技巧是仅在基于时间的间隔内改变风扇速度,或者如果它跨越了高于风扇速度上次改变时的两个边界
如果你的目标是阻止笔记本电脑变得更热,那么使用一个速度步长表将是最合适的,但这并不理想,可能会让笔记本电脑变得比其他智能设备更热。想象一下,如果风扇的当前热量输出总是比需要的慢一到两个设置。我得到的是,风扇速度应该与温度变化相关,而不是与温度直接相关,但同时不要完全拒绝温度,还需要有一个阈值表,表明当温度超过Y时,风扇的速度必须至少为X
因此,根据时间间隔内的温度增益/损耗(delta)而不是给定时间点的温度来设计系统
还有一点要考虑的是,风扇通常不会在RPM的冷却中线性增加,它们通常遵循一个钟形曲线来提高效率,当它们向峰值冷却效率(VRPM)倾斜时,然后当你走高RPM时,它们就不会像冷却一样有效。您可能会发现,最后10%的风扇转速增加了几分贝,但在散热方面可能没有多大作用
我建议使用最小风扇转速,该转速略低于您通常希望风扇在正常安静条件下运行的转速。而不仅仅是10%,20%,30%。。90%,100%风扇转速,我会说以40%(或您感觉最好的转速)开始,然后在此转速下查看新的怠速温度,然后将其用作增加其余风扇转速的基点
对于这个问题,没有完美的通用解决方案。与您目前对噪音成本的解释相比,您可以根据热量输出得到一些改进。因此,您应该为
quiet
、office
或gaming
配置文件实施不同的设置(大致取决于您在给定情况下的重要性和系统负载)。很像有运动模式
或越野设置的汽车。听起来不像是编程问题。我在谷歌上搜索了两种策略。1是一种基于表格的方法。@Nick,我不同意。操作系统也是专业的