Raspberry Pi4 30mm FAN Mount

Raspberry Pi4をしばらく使ってみて、PC並みにサクサク動作するところは満足できてますが、ある程度時間の掛かるコンパイルなどすると、CPU温度が78℃程度まで上がってしまいます。

Pi3までファンレスで使ってましたが、触れないくらいCPUが熱くなるのは気になるし、80℃越えすると自動的にクロックダウンして、パフォーマンスが落ちます。そこで、手持ちの30mmファンを1個取り付けるマウントを作成してみます。

センサーなど取り付ける予定なので、ユニバーサル基板を切り取って作成することにしました。

ファンマウントの設計

まずは肝になる部分の寸法で大まかにPi4をモデリングします。不要と思われる箇所は省略しています。使用したCADはいつものFusion360です。

![pi4_fan_mount_001](httpi4_fan_mount_001

30mmファンの外形モデルを配置します。CPUの付近を風冷する感じで、割と適当に配置。

![pi4_fan_mount_001](httpi4_fan_mount_001

20mmのプラスチック製のスペーサでギリギリ干渉しなさそうです。固定するネジ穴、GPIO、カメラのフラットケーブル(たぶん使わないモニタも)の位置もとりあえず穴を空ける予定。

![pi4_fan_mount_001](httpi4_fan_mount_001

図面化。これを実寸で印刷して、基板に張り付けてカットします。ネジ穴さえズレてなければさほど問題にはならないでしょう。

![pi4_fan_mount_001](httpi4_fan_mount_001

制作

LD3007MSと記載された30x30x7.8㎜の5Vファンです。amazonではなく、Aliexpressで購入。ピンに直接させるタイプです。ケーブルは2本なので速度変更できないです。やるなら回路組む必要があります。

![pi4_fan_mount_001](httpi4_fan_mount_001

ユニバーサル基板

![pi4_fan_mount_001](httpi4_fan_mount_001

図面を印刷して、両面テープで貼り付けた状態。ここから頑張って切り抜きます。

![pi4_fan_mount_001](httpi4_fan_mount_001

リューターやドリルで切断穴あけしていきます。最初から2.54mmピッチで穴が空いていて、微妙にずれているとドリルが滑ってずれてしまうのが難点。

![pi4_fan_mount_001](httpi4_fan_mount_001

切断した状態。とりあえずFANを取り付けてみた。

![pi4_fan_mount_001](httpi4_fan_mount_001

Pi4に取り付けてみた状態。 当たり前だが、Fusion360で設計したモデルと同じである。
![pi4_fan_mount_001](httpi4_fan_mount_001

GPIOのV5とGNDに取り付けて電源ON。ファンの回転数の調整ができないのが残念。※ファンが爆音で速度調整できない場合は、V3.3に接続するなどして調節する。

![pi4_fan_mount_001](httpi4_fan_mount_001

CPUに負荷をかけてCPU温度を確認する。

簡単にCPUの指定したコアを100%にする方法。Pi4は4コアなので4を指定して全部100%にする。

openssl speed -multi 4

まずはFANを止めた状態。どんどん温度が上がっていって80℃を超えます。内部的なリミッターでおそらくクロック調節して80℃付近をウロウロしている状態。危険なのでほどほどで終了。基板全体が熱をもってヨロシクない状態です。

> vcgencmd measure_temp
temp=81.0'C

CPU稼働率を100%のまま、ファンをV3.3で稼働させて温度を測定。(V5は爆音だったのでV3.3にした)

> vcgencmd measure_temp
temp=48.0'C

CPU稼働率をほぼ0%にして、アイドル状態のときのCPU温度。ほぼ体温並みに落ちる。

> vcgencmd measure_temp
temp=35.0'C

良いサイト

https://qiita.com/naohiro2g/items/0d75fe6daf82546619b1

温度連続表示

>  while true; do vcgencmd measure_clock arm ; vcgencmd measure_temp; sleep 1; done

CPUいじめ

yes > /dev/null &
yes > /dev/null &
yes > /dev/null &
yes > /dev/null &
yes > /dev/null &
yes > /dev/null &

CPUいじめ終了

> killall yes
-->