(转自“服务器BMC”公众号)BMC芯片的功能——风扇控制
但Fach信号并不是把这2个周期都输出,而是只取其中一个周期的某个边沿(通常是上升沿或下降沿),所以Fach信号方波的2个周期时间就是电机转子转动一圈的时长。关于PWM对风扇的控制,我想应该是通过PWM控制内部MOS的开关来调节风扇的输入电压,类似于开关电源的方法来控制输入给电机的电压值,电压越高对应的转速越快。其原理是在风扇转子旁边布置了一个霍尔传感器,当电机转动的时候,电机转子的磁体经过霍尔传

炎炎夏日,坐在桌子前就流汗,拼夕夕9.9元包邮的小风扇离不开手。但好景不长,上周被孩子摔坏了。本着勤俭持家的优良传统,利用周末时间拆开小风扇,反而修好了。看着9.9的小风扇做工粗糙、用料简单,我想到了服务器风扇。服务器的风扇控制也是BMC功能之一。
服务器的风扇大多数是直流电机控制,通过PWM信号来控制风扇的转速。一般有以下几种:
-
3线式接口:3线式接口包含了电源线(+12V)、地线(GND)和信号线(PWM)。这种接口类型的风扇可以通过控制信号线来调整风扇的转速。最简单的方式,信号线也最少。
-
4线式接口:PWM信号是输出控制风扇的,但实际无法知道风扇的状态。这就出现了4线式接口,包含了电源线、地线和信号线,另外还加入了一根传感器线(TACH/FG)。传感器线用于监测风扇的转速,并将数据反馈给主板。这也是常见的方式。

-
5线式接口:5线式接口和4线式接口类似,除了电源线、地线、信号线和传感器线外,还加入了一根数据线(DATA)。数据线可以用于传输风扇的相关参数和状态信息。
-
6线式接口:6线式接口是在5线式接口的基础上再增加了一根控制线(CTRL)。控制线可以用于通过外部设备或软件控制风扇的转速。
好像5线式接口和6线式接口见得不多。
电源和GND线不用说了,主要了解一下PWM和Tach:
PWM信号:风扇的转速控制一般是通过PWM来控制的,频率一般为25K到50K,占空比从10%到100%可调。PWM引脚的输入匹配电路如下图所示。从图中可以看出在风扇内部上是将输入端电平匹配到了3.3V,因此默认情况下风扇都是满速转的。关于PWM对风扇的控制,我想应该是通过PWM控制内部MOS的开关来调节风扇的输入电压,类似于开关电源的方法来控制输入给电机的电压值,电压越高对应的转速越快。

TACH信号:全称是Tachometer,转速表的意思,一些说明书里也被称为FG(Frequency Generator)信号。Tach信号输出的是一个频率可变的方波信号。其原理是在风扇转子旁边布置了一个霍尔传感器,当电机转动的时候,电机转子的磁体经过霍尔传感器时,输出一个高电平,经过信号处理后输出一个方波。

风扇一般是由转子和定子组成的:
转子: 由永磁体和扇叶组成,是旋转部分。
定子: 由线圈绕组和铁芯组成,是固定部分,产生驱动转子的旋转磁场。
很多直流风扇是四极风扇,即如下图的“4极转子”。风扇电机每转一圈,霍尔传感器会检测到 2个完整的电周期(因为每个电周期对应1个极对,2极对=2个电周期)。但Fach信号并不是把这2个周期都输出,而是只取其中一个周期的某个边沿(通常是上升沿或下降沿),所以Fach信号方波的2个周期时间就是电机转子转动一圈的时长。因此,电机转速rpm=freq*60/2。这些都可以在BMC程序中计算得到。当然不同的风扇,转子和定子的比例不同,需要不同比例PWM信号和Fach信号。一般来说,多转子的效率高,单转子的成本低。

搞清楚了硬件上的东西,那就剩下软件上的事情了。有朋友跟我讲,服务器风扇控制看似简单,但实际上是很有学问的,类似电梯控制,在效率和功耗之间有很多算法考虑:
最普通的就是PWM控制,占空比越大,转速越高,简单方便。后来又有了PID(比例-积分-微分)算法,动态调整 PWM 输出,结合温度偏差的比例、积分、微分运算实现精准温控。
而针对复杂环境,现在又引入智能化控制管理技术:模糊控制基于经验规则(如“温度高则提速”),无需精确数学模型,抗干扰性强;神经网络控制(如 BP-PID)利用机器学习动态优化 PID 参数,提升高精度温控响应速度(如 AI 芯片散热);多风扇协同控制通过状态矩阵或 AI 算法(如双重 Q 网络)协调负载分配,避免冲突,可用于数据中心等大型系统。
研究了一天,发现小小的散热风扇存在着大学问。我相信风扇控制未来融合 AI 与实时数据(如 LSTM 预测 + 模糊 PID),在智能化、低噪声、高可靠等方面还有很多可以深入研究的。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)