Raspberry Pi 5にはファンコネクタが存在するRaspberry Pi5のボード上のGPIO 40 ピンとUSBボートの間にコネクタキャップ付きで配置されている。
使用するには、コネクタキャップカバーをはずして、JST-SH PWMコネクタに挿すことで使用できる。
Raspberry Pi財団のActive CoolerやRaspberry Pi Casse for Raspberry Pi 5が紹介されているが、
Geekworm P511-Bなども安価で使いやすい。
Raspberry Pi OSでは自動制御となっており、温度条件に合わせてファンが制御される
Ubuntuなど、他のOSではFan Coolingのモジュールが入っていないのか、自動制御されない。
標準の自動制御仕様
ラズパイ温度 | 回転速度の仕様 |
---|---|
50℃未満 | 0% |
50℃ | 30% |
60℃ | 50% |
67.5℃ | 70% |
75℃ | 100% |
温度低下時は、それぞれのしきい値より5℃下がると、ファン速度が低下する。
参考: Raspberry Pi hardware - Fan cases
Raspberry Pi5のボード温度確認方法
$ vcgencmd measure_temp
Raspberry Pi5のFANコネクタの状態確認
デフォルトの状態
$ sudo pinctrl FAN_PWM
45: a0 pd | lo // FAN_PWM/GPIO45 = PWM1_CHAN3
一時的に停止した場合
$ sudo pinctrl FAN_PWM
45: op dh pd | hi // FAN_PWM/GPIO45 = output
一時的に100%回転した場合
$ sudo pinctrl FAN_PWM
45: op dl pd | lo // FAN_PWM/GPIO45 = output
一時的な制御変更の方法
ファンを停止にする
$ sudo pinctrl FAN_PWM op dh
ファンを100%回転する
$ sudo pinctrl FAN_PWM op dl
ファンの自動制御にもどす
$ sudo pinctrl FAN_PWM a0
自動制御のしきい値変更サンプル
以下の用に設定していくことで、閾値を変更できる。
/boot/firmware/config.txt
#Fan PWM
dtparam=cooling_fan=on
dtparam=fan_temp0=50000
dtparam=fan_temp0_hyst=5000
dtparam=fan_temp0_speed=75
dtparam=fan_temp1=60000
dtparam=fan_temp1_hyst=5000
dtparam=fan_temp1_speed=125
dtparam=fan_temp2=67500
dtparam=fan_temp2_hyst=5000
dtparam=fan_temp2_speed=175
dtparam=fan_temp3=75000
dtparam=fan_temp3_hyst=5000
dtparam=fan_temp3_speed=250
※変更したら再起動を行うこと。
番外)kernel callなどででスピード変更できるのでは?
以下で一時的にスピード変更ができる。ただし自動制御が入った状態では、そのうち勝手に止まる。
$ echo 250 | sudo tee /sys/devices/platform/cooling_fan/hwmon/hwmon2/pwm1
TODO
- 各しきい値のテスト
- FANスピードのモニタリング、可視化