风扇转速满转

// 此模板仅供参考,如果不适用可以修改

问题描述

将风扇转速手动设置为100%转速后再设置成自动转速,风扇转速仍然为满转。

日志:

手动设置为100%,风扇逐步满转:

2026-05-09 10:00:32.052345 DevID:0x101, Type:0, ReqId:7, T:55, TarT:53, TarPWM:199, EnvTNum:1, EnvReqId:6, EnvT:18, EnvPWM:63, PIDPWM:199, MaxAllowTemp:60, TarSensorName:Outlet Temp, EnvSensorName:Inlet Temp, FrontSpeed:11520, RearSpeed:9900
2026-05-09 10:00:32.053419 DevID:0x202, Type:0, ReqId:7, T:55, TarT:53, TarPWM:199, EnvTNum:1, EnvReqId:6, EnvT:18, EnvPWM:63, PIDPWM:199, MaxAllowTemp:60, TarSensorName:Outlet Temp, EnvSensorName:Inlet Temp, FrontSpeed:11520, RearSpeed:9900
2026-05-09 10:00:32.054346 DevID:0x303, Type:0, ReqId:7, T:55, TarT:53, TarPWM:199, EnvTNum:1, EnvReqId:6, EnvT:18, EnvPWM:63, PIDPWM:199, MaxAllowTemp:60, TarSensorName:Outlet Temp, EnvSensorName:Inlet Temp, FrontSpeed:11520, RearSpeed:9900
2026-05-09 10:00:32.056237 DevID:0x404, Type:0, ReqId:7, T:55, TarT:53, TarPWM:199, EnvTNum:1, EnvReqId:6, EnvT:18, EnvPWM:63, PIDPWM:199, MaxAllowTemp:60, TarSensorName:Outlet Temp, EnvSensorName:Inlet Temp, FrontSpeed:11520, RearSpeed:9900
2026-05-09 10:00:32.058154 DevID:0x505, Type:0, ReqId:7, T:55, TarT:53, TarPWM:254, EnvTNum:1, EnvReqId:6, EnvT:18, EnvPWM:63, PIDPWM:254, MaxAllowTemp:60, TarSensorName:Outlet Temp, EnvSensorName:Inlet Temp, FrontSpeed:15360, RearSpeed:13200
2026-05-09 10:00:32.059709 DevID:0x606, Type:0, ReqId:7, T:55, TarT:53, TarPWM:254, EnvTNum:1, EnvReqId:6, EnvT:18, EnvPWM:63, PIDPWM:254, MaxAllowTemp:60, TarSensorName:Outlet Temp, EnvSensorName:Inlet Temp, FrontSpeed:15360, RearSpeed:13200
2026-05-09 10:00:32.062319 DevID:0x707, Type:0, ReqId:7, T:55, TarT:53, TarPWM:254, EnvTNum:1, EnvReqId:6, EnvT:18, EnvPWM:63, PIDPWM:254, MaxAllowTemp:60, TarSensorName:Outlet Temp, EnvSensorName:Inlet Temp, FrontSpeed:7680, RearSpeed:6600
2026-05-09 10:00:32.063845 DevID:0x808, Type:0, ReqId:7, T:55, TarT:53, TarPWM:254, EnvTNum:1, EnvReqId:6, EnvT:18, EnvPWM:63, PIDPWM:254, MaxAllowTemp:60, TarSensorName:Outlet Temp, EnvSensorName:Inlet Temp, FrontSpeed:15360, RearSpeed:13200
2026-05-09 10:01:18.907112 DevID:0x101, Type:0, ReqId:7, T:55, TarT:53, TarPWM:200, EnvTNum:1, EnvReqId:6, EnvT:18, EnvPWM:63, PIDPWM:200, MaxAllowTemp:60, TarSensorName:Outlet Temp, EnvSensorName:Inlet Temp, FrontSpeed:11520, RearSpeed:9900
2026-05-09 10:01:18.907813 DevID:0x202, Type:0, ReqId:7, T:55, TarT:53, TarPWM:200, EnvTNum:1, EnvReqId:6, EnvT:18, EnvPWM:63, PIDPWM:200, MaxAllowTemp:60, TarSensorName:Outlet Temp, EnvSensorName:Inlet Temp, FrontSpeed:11520, RearSpeed:9900
2026-05-09 10:01:18.909079 DevID:0x303, Type:0, ReqId:7, T:55, TarT:53, TarPWM:200, EnvTNum:1, EnvReqId:6, EnvT:18, EnvPWM:63, PIDPWM:200, MaxAllowTemp:60, TarSensorName:Outlet Temp, EnvSensorName:Inlet Temp, FrontSpeed:11520, RearSpeed:9900
2026-05-09 10:01:18.909577 DevID:0x404, Type:0, ReqId:7, T:55, TarT:53, TarPWM:200, EnvTNum:1, EnvReqId:6, EnvT:18, EnvPWM:63, PIDPWM:200, MaxAllowTemp:60, TarSensorName:Outlet Temp, EnvSensorName:Inlet Temp, FrontSpeed:11520, RearSpeed:9900
2026-05-09 10:01:18.910752 DevID:0x505, Type:0, ReqId:7, T:55, TarT:53, TarPWM:255, EnvTNum:1, EnvReqId:6, EnvT:18, EnvPWM:63, PIDPWM:255, MaxAllowTemp:60, TarSensorName:Outlet Temp, EnvSensorName:Inlet Temp, FrontSpeed:15360, RearSpeed:13200
2026-05-09 10:01:18.911026 DevID:0x606, Type:0, ReqId:7, T:55, TarT:53, TarPWM:255, EnvTNum:1, EnvReqId:6, EnvT:18, EnvPWM:63, PIDPWM:255, MaxAllowTemp:60, TarSensorName:Outlet Temp, EnvSensorName:Inlet Temp, FrontSpeed:15360, RearSpeed:13200
2026-05-09 10:01:18.911194 DevID:0x707, Type:0, ReqId:7, T:55, TarT:53, TarPWM:255, EnvTNum:1, EnvReqId:6, EnvT:18, EnvPWM:63, PIDPWM:255, MaxAllowTemp:60, TarSensorName:Outlet Temp, EnvSensorName:Inlet Temp, FrontSpeed:7680, RearSpeed:6600
2026-05-09 10:01:18.911369 DevID:0x808, Type:0, ReqId:7, T:55, TarT:53, TarPWM:255, EnvTNum:1, EnvReqId:6, EnvT:18, EnvPWM:63, PIDPWM:255, MaxAllowTemp:60, TarSensorName:Outlet Temp, EnvSensorName:Inlet Temp, FrontSpeed:15360, RearSpeed:13200

设置为自动后:

2026-05-09 10:02:05.958586 DevID:0x101, Type:0, ReqId:7, T:55, TarT:53, TarPWM:201, EnvTNum:1, EnvReqId:6, EnvT:18, EnvPWM:63, PIDPWM:201, MaxAllowTemp:60, TarSensorName:Outlet Temp, EnvSensorName:Inlet Temp, FrontSpeed:11520, RearSpeed:9900
2026-05-09 10:02:05.959398 DevID:0x202, Type:0, ReqId:7, T:55, TarT:53, TarPWM:201, EnvTNum:1, EnvReqId:6, EnvT:18, EnvPWM:63, PIDPWM:201, MaxAllowTemp:60, TarSensorName:Outlet Temp, EnvSensorName:Inlet Temp, FrontSpeed:11520, RearSpeed:9900
2026-05-09 10:02:05.960221 DevID:0x303, Type:0, ReqId:7, T:55, TarT:53, TarPWM:201, EnvTNum:1, EnvReqId:6, EnvT:18, EnvPWM:63, PIDPWM:201, MaxAllowTemp:60, TarSensorName:Outlet Temp, EnvSensorName:Inlet Temp, FrontSpeed:11520, RearSpeed:9900
2026-05-09 10:02:05.960761 DevID:0x404, Type:0, ReqId:7, T:55, TarT:53, TarPWM:201, EnvTNum:1, EnvReqId:6, EnvT:18, EnvPWM:63, PIDPWM:201, MaxAllowTemp:60, TarSensorName:Outlet Temp, EnvSensorName:Inlet Temp, FrontSpeed:11520, RearSpeed:9900

……
2026-05-09 10:44:23.393424 DevID:0x101, Type:0, ReqId:7, T:55, TarT:53, TarPWM:255, EnvTNum:1, EnvReqId:6, EnvT:18, EnvPWM:63, PIDPWM:255, MaxAllowTemp:60, TarSensorName:Outlet Temp, EnvSensorName:Inlet Temp, FrontSpeed:15360, RearSpeed:13200
2026-05-09 10:44:23.394495 DevID:0x202, Type:0, ReqId:7, T:55, TarT:53, TarPWM:255, EnvTNum:1, EnvReqId:6, EnvT:18, EnvPWM:63, PIDPWM:255, MaxAllowTemp:60, TarSensorName:Outlet Temp, EnvSensorName:Inlet Temp, FrontSpeed:15360, RearSpeed:13200
2026-05-09 10:44:23.395667 DevID:0x303, Type:0, ReqId:7, T:55, TarT:53, TarPWM:255, EnvTNum:1, EnvReqId:6, EnvT:18, EnvPWM:63, PIDPWM:255, MaxAllowTemp:60, TarSensorName:Outlet Temp, EnvSensorName:Inlet Temp, FrontSpeed:11520, RearSpeed:9900
2026-05-09 10:44:23.396595 DevID:0x404, Type:0, ReqId:7, T:55, TarT:53, TarPWM:255, EnvTNum:1, EnvReqId:6, EnvT:18, EnvPWM:63, PIDPWM:255, MaxAllowTemp:60, TarSensorName:Outlet Temp, EnvSensorName:Inlet Temp, FrontSpeed:11520, RearSpeed:9900

期望结果

以上日志表示什么意思?

答案内容由AI生成,仅供参考:

总结

:white_check_mark: 结论

  • 当前风扇维持满转是调速系统的正常响应行为,因实际出风温度(55°C)高于目标温度(53°C)
  • 系统通过提高转速来尝试降温,属于 PID自动调速策略的预期动作
  • 并非“手动转自动后未恢复”的功能故障

:stop_sign: 风险提示

  • 长期满转会缩短风扇寿命,增加噪音
  • 需评估是否目标温度设置不合理或散热系统存在瓶颈

:wrench: 建议措施

  1. 评估负载情况下温度控制的合理性
  2. 调整目标温度或优化调速曲线
  3. 检查风道与风扇健康状态
  4. 查看日志中是否存在其他警告或异常事件(如CoolingRequirement冲突)

如需进一步分析,请提供系统负载状态、完整cooling_control.log文件、以及当前CoolingConfig配置内容。

点击此处查看详细分析解答

问题分析:风扇在手动设为100%后切换至自动模式仍保持满转

问题描述

用户将风扇转速手动设置为100%(满速),之后切换回自动调速模式,但风扇仍然保持高转速运行,没有按照预期自动调节。日志显示风扇PWM值维持在255(对应100%转速),前后持续时间较长,且未见下降趋势。


日志解析

从提供的日志信息来看,关键参数的含义如下:

参数 含义
DevID 设备ID,标识各个风扇或风扇板
ReqId 请求ID,相同值代表属于同一次调速请求
T 当前温度(Target Sensor),此处为55°C,监测的是出风口温度
TarT 目标温度,设定为53°C
TarPWM 目标PWM(Pulse Width Modulation)值,控制风扇转速,255为最大值(100%)
EnvT 环境温度(Inlet Temperature),为18°C
EnvPWM 基于环境温度计算的基础PWM值,为63
PIDPWM 最终由PID控制算法输出的PWM值,等于TarPWM
FrontSpeed / RearSpeed 风扇前、后转子的实际转速,单位 RPM

分析过程:

  1. 手动设为100%转速阶段(10:00 - 10:01)

    • 初始TarPWM从199逐步上升到255(对应PWM最大值)
    • FrontSpeedRearSpeed 随之上升,最终部分风扇达到 15360 RPM / 13200 RPM
    • 所有设备ReqId=7,说明是一个统一调速指令
    • 表明系统已成功执行手动满转命令
  2. 切换为自动模式后(10:02开始)

    • TarPWM 仍继续增加至255并持续保持
    • T=55°C(当前温度)高于 TarT=53°C(目标温度),系统判断温度超标,导致PID控制持续输出高PWM以降温
    • 环境温度(EnvT=18°C)较低,但对出风侧温度影响有限
    • 即使切换为自动模式,由于温度未降至目标以下,自动调速逻辑仍维持高转速
  3. 长时间维持满转(至10:44)

    • 超过40分钟,出风口温度仍为55°C
    • 表明散热系统未能有效降低出风温度
    • 自动调速系统仍在试图降温,因此保持最大转速

根本原因分析

:white_check_mark: 风扇未降速的原因是 系统仍处于温度超标状态

  • 目标温度 TarT=53°C,实际温度 T=55°C
  • 智能调速策略(如PID控制) 中,当实际温度高于目标温度时,风扇会持续提高转速直至满足温控目标
  • 只有当温度下降并稳定在目标值以下,且经过迟滞(Hysteresis)处理后,转速才会逐步降低
  • 因此当前“满转”是调速策略的正常行为,而非故障

:magnifying_glass_tilted_left: 潜在问题排查方向:

尽管行为符合逻辑,但长时间无法降温可能存在以下问题:

可能原因 说明
散热能力不足 系统产热过高(如CPU/GPU满载),当前最大风扇转速仍不足以将出风温控制在目标以下
温度传感器故障或偏移 实际温度可能更低,传感器读数偏高导致误判
风道阻塞或风扇效率下降 尽管风扇满转,但实际风量不足,影响散热效果
调速策略配置不当 目标温度(TarT=53°C)设置过低,在当前负载下不现实
温度响应延迟 出风口温度响应滞后,即使风扇提速,仍需要更长时间降温

建议与解决方案

:white_check_mark: 短期建议:

  1. 确认当前系统负载情况

    • 检查CPU、GPU、FPGA等是否处于高负载状态
    • 若负载正常,则目标温度设定可能不合理
  2. 检查目标温度(TargetTemperatureCelsius)设置

    • 当前设置为53°C,是否过低?
    • 可适当调高至 58–60°C,避免长期满转
  3. 查看是否有高温告警或限频事件

    • 检查系统事件日志(SEL)或thermal_mgmt.log,确认是否存在硬件过热触发降频或关机风险
  4. 验证风扇实际性能

    • 检查风扇是否老化、积尘或损坏,导致实际风量不足
    • 查看风扇前后转子是否同步运行

:white_check_mark: 长期优化建议:

  1. 调整调速策略参数

    • 调整 Hysteresis(迟滞量),防止频繁波动
    • 可考虑启用 MPC(Model Predictive Control) 进行预测性调速,避免温度持续超标
  2. 启用温度点备份机制

    • 如主温度点失效或异常,使用备用温度点避免误判
    • 示例配置:
      "BackupTemperatureSensor": "Inlet_Temp",
      "PrimaryTemperatureSensor": "Outlet_Temp"
      
  3. 检查是否存在异常调速策略干扰

    • 检查 AbnormalFan_1, AbnormalFan_2 等异常调速配置
    • 若存在风扇“不在位”或“转速异常”状态,可能触发强制满转
  4. 检查配置持久化与同步

    • 确保 CoolingConfigFanGroupPolicy 等为持久化属性,重启后不会丢失
    • 配置变更后应验证是否已写入PSR(Persistent Storage Region)

总结

:white_check_mark: 结论

  • 当前风扇维持满转是调速系统的正常响应行为,因实际出风温度(55°C)高于目标温度(53°C)
  • 系统通过提高转速来尝试降温,属于 PID自动调速策略的预期动作
  • 并非“手动转自动后未恢复”的功能故障

:stop_sign: 风险提示

  • 长期满转会缩短风扇寿命,增加噪音
  • 需评估是否目标温度设置不合理或散热系统存在瓶颈

:wrench: 建议措施

  1. 评估负载情况下温度控制的合理性
  2. 调整目标温度或优化调速曲线
  3. 检查风道与风扇健康状态
  4. 查看日志中是否存在其他警告或异常事件(如CoolingRequirement冲突)

如需进一步分析,请提供系统负载状态、完整cooling_control.log文件、以及当前CoolingConfig配置内容。

DevID:调速设备Id
Type:调速设备类型,0表示风扇
ReqId:目标调速策略Id(RequirementId)
T:目标调速策略对应器件的温度
TarT:目标调速策略的目标温度
TarPWM:基于当前温度和目标温度通过PID计算出的转速(单位:PWM)
EnvTNum:环温曲线数量
EnvReqId:环温曲线策略id
EnvT:环境温度
EnvPWM:基于环温的转速(单位:PWM)
PIDPWM:下发的转速(环温转速与目标调速转速的较大值)(单位:PWM)
MaxAllowTemp:目标调速满转温度值
TarSensorName:目标调速策略关联传感器名称
EnvSensorName:环温传感器名称
FrontSpeed:前转子转速(单位:rpm)
RearSpeed:后转子转速(单位:rpm)