GeeekPi Raspberry Pi 4 DeskPi Pro V2 ケースのFANコントロール
昨日のGeeekPi Raspberry Pi 4 DeskPi Pro V2 ケースのレビューの続きです。
FANがカラカラ音でダメと書いたのですが、ちょっとした工夫で快適に使えるようになりました。
例によって改造話です。
FANの異音の原因
FANコントロールは、PWMで制御している様子。でもそのPWMの周波数が低いのでカラカラ音がでていたようです。
ちゃんと調べていませんが、テスターの交流の周波数表示では約60Hz
いやいや低すぎでしょ!
DCモータの回転数をPWMで制御するときは1~5kHzくらいが多いと思います。キーンという音が聞こえるPWM制御はだいたいこの辺り。もちろん10kHzとか20kHzとかにしても良いです。
試しに定電圧電源で駆動すると、約2Vくらいから静かに回り始めます。カラカラ音は出ません。つまりFANが悪い訳ではなかったのです。
ハードウェア改造
という訳で、PWMの周波数を上げる。。。
ってことはできないため、カラカラ音の原因であるPWM波形をなまらせることにしました。
ご覧のとおり抵抗とコンデンサです。コンデンサの耐圧は10V以上は必須。激しく矩形駆動するためコンデンサの寿命は望めませんが定期交換前提で使うには大丈夫と思います。抵抗値を高くするとFANの最大スピードが落ちてしまうので、とりあえずこの値にしています。
FANのコネクタがJSTのXH 2極を使っているため配線を切らずに、途中に噛ます形で追加できました。
XHコネクタは秋月電子でも売っているメジャーなコネクタです。
早速、deskpi-config コマンドでFANスピードを指定してみます。(ドライバを入れるとdeskpi-config コマンドが使えるようになります。)
25%は、僅かにチキチキ音がでていますが、50%以上ではフォーっと滑らかに回ります。
FANの温度制御
deskpi-config コマンドの「6」を選択すると温度によってFANスピードを調整できます。素晴らしい。
こちらはPWMを0%から100%まで1%刻みで指定できます。
温度も1℃単位。閾値は4つ。
この例では、
30℃以上 PWM 40%
35℃以上 PWM 60%
40℃以上 PWM 80%
45℃以上 PWM 100%
という指定です。グラフにすると以下のようなイメージです。
/etc/deskpi.conf ファイルに記録されますので、一か所だけ数値を変更したいというときはconfファイルを編集してもOKです。
どこまで落とすと異音が出てくるか試したところ30%まではOKで、25%はチキチキ音が僅かに出るという感じでした。FANのバラツキがあるかもしれません。あくまでも私が購入した個体での結果です。
長時間テストするとFANが止まる
これで、運用できるかと思いきゃ、そうは甘くないみたい。
/lib/systemd/system/deskpi.service で起動している /usr/bin/pwmFanControl アプリが数時間でおかしくなりFANが止まってしまうのです。serviceファイルにRestart=always を入れてみたのですがダメでした。アプリが落ちたときはこれでリスタートしてくれるんですけど、プロセスは走ったままなのです。
本格的にDebugするつもりはないのですが、Linuxには良い対処療法があります。
RuntimeMaxSec=300 として強制的に再起動しちゃうという裏技的なヤツ。時間は10分でも30分でも良いとは思いまが今回は300秒=5分で試しました。
/lib/systemd/system/deskpi.service の最終的な状態
[Unit]
Description=DeskPi PWM Control Fan Service
After=multi-user.target
[Service]
Type=simple
RemainAfterExit=no
ExecStart=sudo /usr/bin/pwmFanControl
Restart=always
RuntimeMaxSec=300
[Install]
WantedBy=multi-user.target
赤文字の2行を追加しました。
これで温度に応じてFANスピードを調整してくれるので結構快適になりました。
更なる快適を目指して
あと、/usr/bin/pwmFanControl が1秒ごとに温度を監視してFAN速度を調整するのですが、そんなに頻繁に設定しなくても良いと思い30秒くらいに延ばしました。
方法は、
https://github.com/DeskPi-Team/deskpi/blob/master/drivers/c/pwmControlFan.c
の170行目
sleep(1); を sleep(30);
に変更して、コンパイルするだけ。 ソースコードはhomeのdeskpiディレクトリに展開されています。
コンパイルはソースコードがあるディレクトリに移動したあと
gcc -o pwmFanControl pwmControlFan.c
です。出来上がったpwmFanControl を/usr/bin/pwmFanControl に上書きしてしまえばOKです。
sudo cp -f pwmFanControl /usr/bin/
以上、Pi4 CPU-FANの使い方ノウハウの紹介でした。
21年9月では、約6600円 SSDも内蔵できるお買い得なPi4ケースです。
« お買い得なRaspberry Pi4 ケース 2.5インチ/M.2 SSDも入る | トップページ | スイッチサイエンスにてNorth Fox Digiのお取り扱いが開始 »
「Raspberry Pi」カテゴリの記事
- MotionEyeと余っているラズパイで監視カメラ(2024.11.21)
- 秋の夜長にはRaspberryPi5 RT-linux セルフビルド(2024.10.13)
- 秋の夜長にはRaspberryPi5 64bit版 Sabreberry32 ドライバコンパイル(2024.10.10)
- RaspberryPi 5 の公式OSは32bit版でも64bit?(2024.10.09)
- 秋の夜長にはRaspberry Pi5 64bit カーネル・セフル・ビルド (2024.10.07)
« お買い得なRaspberry Pi4 ケース 2.5インチ/M.2 SSDも入る | トップページ | スイッチサイエンスにてNorth Fox Digiのお取り扱いが開始 »









コメント