首页 >>  正文

pwm风扇原理图解

来源:baiyundou.net   日期:2024-09-21

作者:非著名坐家

某种原因导致目前畅网第四版n5105性价比爆棚,比第三版改变不大,也不用期待226比225网卡优秀多少,但数码界流行买新不买旧的道理,因此就和朋友一起趁多多摇到100的优惠就入了第四版n5105实惠版,在此顺道再次感谢朋友军军。

总体而言升级不大,但带来性能升级很明显,而且带来一个系统上优化的槽点,pwm温控形同虚设,(厂家在bios里写死了32度-40度的pwm温控参数,n5105发热不小基本40度-45度之间徘徊,通过pdd商家客服工程师反馈了下厂家人家根本不睬)。这也是本篇水一文,在其他地方找不到的如何在系统层面优化pwm风扇。(本篇基于proxmox ve 7.2,其他环境请自行参考编译与测试)

物理位置

pwm四针温控位置在主板sata供电口旁边(图片左侧黄色sata的旁边sata供电口的旁边) 

基本原理

https://wiki.archlinux.org/index.php?title=Fan_speed_control

参考这个wiki觉得基本可以通用可行,于是上手准备开干。

想必各位使用pve的朋友都安装了lm-sensors用于网页端监控传感器问题。如果没有的朋友可以通过下面命令安装

apt install lm-sensers
\n  


实验前查看pwm风扇转速1288

通过命令sensors可以查看最终效果,(it8613就是文章核心,位于南桥的温控芯片包含pwm控制,默认大家可能没有这一项,可以参考下一章需要先编译下加载支持)

root@pve:~# sensors

it8613-isa-0a30

Adapter: ISA adapter

CPU Fan:     1288 RPM  (min =    0 RPM)

CPU Temp:     +36.0C  (low  = -128.0C, high = +127.0C)  sensor = thermistor

MB Temp:      +38.0C  (low  = -128.0C, high = +127.0C)  sensor = thermistor

PCH Temp:     +38.0C  (low  = -128.0C, high = +127.0C)


acpitz-acpi-0

Adapter: ACPI interface

temp1:        +45.0C  (crit = +119.0C)


coretemp-isa-0000

Adapter: ISA adapter

Package id 0:  +41.0C  (high = +105.0C, crit = +105.0C)

Core 0:        +37.0C  (high = +105.0C, crit = +105.0C)

Core 1:        +37.0C  (high = +105.0C, crit = +105.0C)

Core 2:        +37.0C  (high = +105.0C, crit = +105.0C)

Core 3:        +37.0C  (high = +105.0C, crit = +105.0C)


nvme-pci-0100

Adapter: PCI adapter

Composite:    +32.9C  (low  = -273.1C, high = +82.8C)

                       (crit = +84.8C)


编译支持it8613

参考如下项目github的a1wong(由于大妈限制说不让发github或百度网盘之类的网络连接所以再次欠奉,后续连接奉上或者自行去github的a1wong的it87项目下载下来)

解压后,make安装

cd it87/

make clean

*注:make命令可能这一步会报少一些预加载项,如下安装:

apt update -y

apt -y install dkms make gcc

apt -y install build-essential

apt -y install libelf-dev


根据自己的系统版本号来安装头文件

uname -r

apt search 5.15.39-4

apt install pve-headers-5.15.39-4-pve


然后就可以继续make clean

make

make install

modprobe it87

通过sensors-detect来加载it8613

sensors-detect 

sensors

lsmod |grep it87



优化pwmconfig 

root@pve:~# pwmconfig

#pwmconfig version 3.6.0

This program will search your sensors for pulse width modulation (pwm)

controls, and test each one to see if it controls a fan on

your motherboard. Note that many motherboards do not have pwm

circuitry installed, even if your sensor chip supports pwm.


We will attempt to briefly stop each fan using the pwm controls.

The program will attempt to restore each fan to full speed

after testing. However, it is ** very important ** that you

physically verify that the fans have been to full speed

after the program has completed.


Found the following devices:

   hwmon0 is acpitz

   hwmon1 is nvme

   hwmon2 is it8613

   hwmon3 is coretemp


Found the following PWM controls:

   hwmon2/pwm2           current value: 255

   hwmon2/pwm3           current value: 255

   hwmon2/pwm4           current value: 255

   hwmon2/pwm5           current value: 255


Giving the fans some time to reach full speed...

Found the following fan sensors:

   hwmon2/fan2_input     current speed: 1869 RPM

   hwmon2/fan3_input     current speed: 0 ... skipping!


Warning!!! This program will stop your fans, one at a time,

for approximately 5 seconds each!!!

This may cause your processor temperature to rise!!!

If you do not want to do this hit control-C now!!!

Hit return to continue: 


Testing pwm control hwmon2/pwm2 ...

  hwmon2/fan2_input ... speed was 1869 now 0

    It appears that fan hwmon2/fan2_input

    is controlled by pwm hwmon2/pwm2

Would you like to generate a detailed correlation (y)? n


Testing pwm control hwmon2/pwm3 ...

  hwmon2/fan2_input ... speed was 1869 now 1869

    no correlation


No correlations were detected.

There is either no fan connected to the output of hwmon2/pwm3,

or the connected fan has no rpm-signal connected to one of

the tested fan sensors. (Note: not all motherboards have

the pwm outputs connected to the fan connectors,

check out the hardware database on http://www.almico.com/forumindex.php)


Did you see/hear a fan stopping during the above test (n)? n


Testing pwm control hwmon2/pwm4 ...

  hwmon2/fan2_input ... speed was 1869 now 1869

    no correlation


No correlations were detected.

There is either no fan connected to the output of hwmon2/pwm4,

or the connected fan has no rpm-signal connected to one of

the tested fan sensors. (Note: not all motherboards have

the pwm outputs connected to the fan connectors,

check out the hardware database on http://www.almico.com/forumindex.php)


Did you see/hear a fan stopping during the above test (n)? n


Testing pwm control hwmon2/pwm5 ...

  hwmon2/fan2_input ... speed was 1869 now 1869

    no correlation


No correlations were detected.

There is either no fan connected to the output of hwmon2/pwm5,

or the connected fan has no rpm-signal connected to one of

the tested fan sensors. (Note: not all motherboards have

the pwm outputs connected to the fan connectors,

check out the hardware database on http://www.almico.com/forumindex.php)


Did you see/hear a fan stopping during the above test (n)? n


Testing is complete.

Please verify that all fans have returned to their normal speed.


The fancontrol script can automatically respond to temperature changes

of your system by changing fanspeeds.

Do you want to set up its configuration file now (y)? 

What should be the path to your fancontrol config file (/etc/fancontrol)? 

Loading configuration from /etc/fancontrol ...


Select fan output to configure, or other action:

1) hwmon2/pwm2

2) Change INTERVAL

3) Just quit

4) Save and quit

5) Show configuration

select (1-n): 1


Devices:

hwmon0 is acpitz

hwmon1 is nvme

hwmon2 is it8613

hwmon3 is coretemp


Current temperature readings are as follows:

hwmon0/temp1_input      45

hwmon1/temp1_input      33

hwmon2/temp1_input      36

hwmon2/temp2_input      38

hwmon2/temp3_input      38

hwmon3/temp1_input      42

hwmon3/temp2_input      39

hwmon3/temp3_input      38

hwmon3/temp4_input      39

hwmon3/temp5_input      38


Select a temperature sensor as source for hwmon2/pwm2:

1) hwmon0/temp1_input                      7) hwmon3/temp2_input

2) hwmon1/temp1_input                      8) hwmon3/temp3_input

3) hwmon2/temp1_input                      9) hwmon3/temp4_input

4) hwmon2/temp2_input                     10) hwmon3/temp5_input

5) hwmon2/temp3_input                     11) None (Do not affect this PWM output)

6) hwmon3/temp1_input

select (1-n): 6


Enter the low temperature (degree C)

below which the fan should spin at minimum speed (20): 40


Enter the high temperature (degree C)

over which the fan should spin at maximum speed (60): 50


Enter the minimum PWM value (0-255)

at which the fan STOPS spinning (press t to test) (100): t


Now we decrease the PWM value to figure out the lowest usable value.

(每个人的风扇型号不一样,这里可能会有差异,我的是12cm猫扇)

We will use a slightly greater value as the minimum speed.

    PWM 255 -> 1864 RPM

    PWM 240 -> 1790 RPM

    PWM 225 -> 1695 RPM

    PWM 210 -> 1595 RPM

    PWM 195 -> 1500 RPM

    PWM 180 -> 1394 RPM

    PWM 165 -> 1288 RPM

    PWM 150 -> 1188 RPM

    PWM 135 -> 1090 RPM

    PWM 120 -> 971 RPM

    PWM 105 -> 853 RPM

    PWM 90 -> 732 RPM

    PWM 75 -> 622 RPM

    PWM 60 -> 482 RPM

    PWM 45 -> 350 RPM

    PWM 30 -> 201 RPM

    PWM 28 -> 153 RPM

    PWM 26 -> 0 RPM

OK, using 30


Enter the minimum PWM value (30-255)

at which the fan STARTS spinning (press t to test) (150): 40


Enter the PWM value (0-30) to use when the temperature

is below the low temperature limit (0): 


Enter the PWM value (30-255) to use when the temperature

is over the high temperature limit (255): 



Select fan output to configure, or other action:

1) hwmon2/pwm2

2) Change INTERVAL

3) Just quit

4) Save and quit

5) Show configuration

select (1-n): 4


Saving configuration to /etc/fancontrol...

Configuration saved

root@pve:~# vi /etc/fancontrol 


root@pve:~#  /etc/init.d/fancontrol restart

Restarting fancontrol (via systemctl): fancontrol.service.


再次查看pwm风扇783

root@pve:~# sensors

it8613-isa-0a30

Adapter: ISA adapter

CPU Fan:      783 RPM  (min =    0 RPM)

CPU Temp:     +36.0C  (low  = -128.0C, high = +127.0C)  sensor = thermistor

MB Temp:      +39.0C  (low  = -128.0C, high = +127.0C)  sensor = thermistor

PCH Temp:     +39.0C  (low  = -128.0C, high = +127.0C)


acpitz-acpi-0

Adapter: ACPI interface

temp1:        +45.0C  (crit = +119.0C)


coretemp-isa-0000

Adapter: ISA adapter

Package id 0:  +41.0C  (high = +105.0C, crit = +105.0C)

Core 0:        +38.0C  (high = +105.0C, crit = +105.0C)

Core 1:        +38.0C  (high = +105.0C, crit = +105.0C)

Core 2:        +38.0C  (high = +105.0C, crit = +105.0C)

Core 3:        +38.0C  (high = +105.0C, crit = +105.0C)


nvme-pci-0100

Adapter: PCI adapter

Composite:    +33.9C  (low  = -273.1C, high = +82.8C)

                       (crit = +84.8C)


  

总结

这样猫扇真的很安静,偶尔docker的qinglong大批量运行上升到50度才会转速上升有声音。

后记:闲来无事偶作一篇仅供各位参考。如果本篇能够帮助大家或厂家,欢迎自愿打赏,谢谢。

 


\n    

","force_purephv":"0","gnid":"9f6b9bc4004a5c2a6","img_data":[{"flag":2,"img":[{"desc":"","height":"357","title":"","url":"https://p0.ssl.img.360kuai.com/t0155a75eb0afb6576b.jpg","width":"600"}]}],"original":0,"pat":"art_src_1,fts0,sts0","powerby":"hbase","pub_time":1662982955000,"pure":"","rawurl":"http://zm.news.so.com/776e20bc05a234163de51826db8b6940","redirect":0,"rptid":"a911dbe9f1fe0423","s":"t","src":"什么值得买","tag":[{"clk":"ktechnology_1:nvme","k":"nvme","u":""}],"title":"杂物改造 篇六:畅网第四版N5105如何搞好pwm风扇也适用于第三版N5105

滕斧庄2602电风扇调速方式有几种?调速原理? -
莘艳倩19169325089 ______ 电风扇的调速方法及原理——

滕斧庄2602有行家能介绍PWM智能温控风扇原理吗
莘艳倩19169325089 ______ 根据实际温度来调整风扇的转速当温度较低的时候,风扇的转速也很低,这样噪音就很小了笔记本的温度低于某个值后,风扇直接就停下来,也是为了降低噪音考量的

滕斧庄2602cpu风扇转速是如何检测原理的? -
莘艳倩19169325089 ______ 4针风扇比3针风扇多了一个场效应管,它就是调节电流脉冲频率的主要装置.它的工作原理是: 1、CPU内置的温度感应器会收集当前CPU的功耗和温度信息. 2、然后通过相关芯片及PWM(脉宽调节式)电子开关电路对风扇供电的脉冲频率进行调节. 3、最后通过场效应管实现对风扇转速的智能控制. 鲁大师查看风扇转速方法: 1.打开鲁大师主界面,右边就是风扇转速、主板温度等参数. 2.我们也可以单击“鲁大师内存释放器”,也就是那个蓝色的加速球,这样也可以看到风扇转速. 3.还有一个可以找到鲁大师主窗口上的温度监测功能,点进去,就可以看到几项数值,其中就有风扇转速.

滕斧庄2602家用小电风扇的工作原理么?越详细越好 -
莘艳倩19169325089 ______ 工作原理 电风扇的主要部件是:交流电动机.其工作原理是:通电线圈在磁场中受力而转动.能量的转化形式是:电能主要转化为机械能,同时由于线圈有电阻,所以不可避免的有一部分电能要转化为热能. 电风扇工作时(假设房间与外界没...

滕斧庄2602汽车空调中鼓风机调速,详细原理资料有吗?好的加分 -
莘艳倩19169325089 ______ 1.常规的汽车空调中鼓风机调速,采用串电阻的方式,利用回路中阻值的大小来调节电压,达到调节风机转速目的.一般低档位串的阻值大,中档位串的阻值小,高档位不串电阻.这种方式原理比较简单,零部件成本也低,维修方便.但调节范...

滕斧庄2602电脑温度高,风扇声音突然变大.是什么原理 -
莘艳倩19169325089 ______ PWM风扇调节风扇转速是直接从CPU获取温度信息,在风扇上无任何测温装置.根据不同的CPU温度,温控风扇会有不同的转速调节与之对应,并且风扇的转速变化可以做到四级五级,甚至更多,基本上是无极变速的感觉.由于是脉宽信号的实时调节,风扇转速的变化非常灵敏,转速和CPU温度的变化几乎是同步的.第二,PWM风扇在计算机待机的时候,可以保持在一个非常低的转速上.例如原包的Intel风扇,在待机时候,CPU温度在四五十度以下,其转速仅为一千多转,大大降低了运转的噪音.而设计的最高转速,四千多转,只有在CPU温度接近极限温度,即65-67度时候,才会出现.相比传统的温控风扇有着更大的转速控制范围,更好的解决了噪音和性能的问题.

滕斧庄2602pwm风扇还没有接上测速和控速线怎么就开始工作了哪? -
莘艳倩19169325089 ______ pwm需要4针才能实现,四个针分别是 温控/测速/12V/地线,其实只要把电源的两针接上风扇就能转,只是不能测速和温控罢了,很简单的道理.

滕斧庄2602电脑4针智能控速风扇懂的来 -
莘艳倩19169325089 ______ 楼主,品种太多了,现阶段基本上大多数一线的板都支持的!主要注意事项如下: 主板有智能温控的话,都会有个CPU FAN功能,而且都是4针的风扇电源接口的!在主板BIOS中,CPU风扇类型的选择,默认是DC,还有一个是DC下面的PWM...

滕斧庄2602电脑cpu风扇电源怎么插 - cpu风扇的电源线怎么插
莘艳倩19169325089 ______ cpu风扇的电源线怎么插您只要将4针插头拔掉,把新买的这个3针插头插入CPU_FAN处即可,如果风扇不转换另外3个针就可以了,放心用吧.主板cpu风扇电源线插哪里1...

滕斧庄2602CUP风扇为什么有三根线(红黄黑)?
莘艳倩19169325089 ______ 现在来说,有2根(pin)的,3根(pin)的,4根(pin)的风扇 2根(pin)就是电源正负线.3根(pin)的有些是只有其中2根有用,有些是第三根是测速度的 4根(pin)的一般都有测速度功能 以往的风扇都是3pin的,其中的功能是,一个电源...

(编辑:自媒体)
关于我们 | 客户服务 | 服务条款 | 联系我们 | 免责声明 | 网站地图 @ 白云都 2024