Raspberry Pi 5にHAT基板を装着した際のCPU温度計測

[4GPi]:https://mechatrax.com/products/4gpi/
[slee-Pi 3]:https://mechatrax.com/products/slee-pi/
[Pi-protect]:https://mechatrax.com/products/pi-protect/
[Pi-field]:https://mechatrax.com/products/pi-field/
[Pi-field Mini]:https://mechatrax.com/products/pi-field/#relation-mini
[ADPi]:https://mechatrax.com/products/adpi/
[機能拡張モジュール]:https://mechatrax.com/products/
[イプシム]:https://ipsim.net/
[USB-シリアル変換ケーブル]:https://store.mechatrax.com/product.php?id=38
[弊社]:https://mechatrax.com/
[メカトラックス株式会社]:https://mechatrax.com/
[SORACOM]:https://soracom.jp/
[SORACOM Napter]:https://soracom.jp/services/napter/
[SORACOM Harvest]:https://soracom.jp/services/harvest/
[Remote.It]:https://ja.remote.it/
[@hayat00]:https://qiita.com/hayat00
[Raspberry Pi Imager]:https://www.raspberrypi.com/software/
[弊社オンラインストア]:https://store.mechatrax.com/
[Tera Term]:https://ja.osdn.net/projects/ttssh2/
[OSイメージ]:https://mechatrax.com/data/4gpi/
[2段用]:https://store.mechatrax.com/product.php?id=62
[3段用]:https://store.mechatrax.com/product.php?id=63
[メタルケースセット]:https://store.mechatrax.com/list.php?c_id=22
[メタルケースセット（4GPi + slee-Pi 3）]:https://store.mechatrax.com/product.php?id=70

# はじめに
Raspberry Pi 5では性能の向上に伴い、発熱量が増加しています。[Raspberry Piのドキュメント](https://www.raspberrypi.com/documentation/computers/raspberry-pi.html)には下記のような記載があり、thermal throttlingにより自身の発熱でSoCが破損することはないものの、ヒートシンクやファンを使うことでthermal throttlingを防いだり、性能を向上できるとされています。

>Thanks to built-in throttling, heatsinks are not necessary to prevent overheating damage to the SoC. However, a heatsink or small fan can reduce thermal throttling and improve performance. Mount the Raspberry Pi vertically for the best airflow and thus slightly improved heat dissipation.

また、Raspberry PiからRaspberry Pi 5に装着可能な「[Raspberry Pi Active Cooler](https://datasheets.raspberrypi.com/cooling/raspberry-pi-active-cooler-product-brief.pdf)」も発売されており、併用している方も多いのではないでしょうか？

しかし、[弊社]の[4GPi]や[slee-Pi 3]のようなHAT（Hardware Attached on Top）基板をActive Coolerを装着したRaspberry Pi 5に搭載すると、Active CoolerのファンとHAT基板の隙間が狭くなってしまい、性能を十分に発揮できないことが懸念されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3113974/5e78f318-5f46-2878-a4bc-c385574a71b8.png)

そこでActive Coolerを装着したRaspberry Pi 5にHAT基板を搭載し、CPU温度の計測を行いました。

# 機器準備
- Raspberry Pi 5 RAM 2GB ×2台
- Raspberry Pi Active Cooler ×2台
- [slee-Pi 3] ×2台
- ACアダプタ（12V/2A）×2台
- 延長用ピンヘッダ2x20（40P）、基板固定用六角スペーサ（M2.6） ×4本
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3113974/3d026dd3-69a1-38ba-a2a8-6b7bc0f4cc44.png)

上記を使用し、下記のようなスペーサ追加あり/なしの2種類の組み合わせを準備しました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3113974/cd0ba9c7-1eec-ffc6-2cdc-b74ce3687818.png)

CPU温度の計測は1秒ごとに`vcgencmd measure_temp`を実行し、CSVファイルに書き込みました。また、起動直後に`pinctrl FAN_PWM op dl`を実行し、Active Coolerのファンが常に動作するようにしました。

# アイドリング状態での計測
スペーサ追加あり/なしのそれぞれでRaspberry Pi 5を起動し、特に何も操作をせず、アイドリング状態で1時間稼働しました。CPU温度の計測結果は以下の通りでした。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3113974/569cb812-681c-ee1b-a473-b5bcf6dd11ba.png)

スペーサ追加なしの方がCPU温度が若干高くなる結果が得られました。Active CoolerとHAT基板との隙間が狭いため、Active Coolerのファンによるエアフローが十分に働いていないことが予想されます。
30分以降の平均値を比較すると、**スペーサ追加あり: 29.9℃/なし: 31.4℃**となり、1.5℃程度の差が生まれるようです。 

# CPUに負荷をかけた状態での計測
続いて、起動直後に`yes > /dev/null &`を4回実行し、CPUに負荷をかけた状態でCPU温度の計測を行いました。なお、実行中はCPUの使用率が常に100%となっていました。計測結果は以下の通りでした。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3113974/226a572c-11fa-9c54-39e5-cef76cfc50cc.png)

アイドリング時と比べて、温度の差がより顕著となりました。30分以降の平均値を比較すると、**スペーサ追加あり: 44.3℃/なし: 49.8℃**となり、5℃以上の差が生まれる結果となりました。

# HAT基板のサイズによる影響
これまでの計測で使用した[slee-Pi 3]はラズパイと比べると長辺方向が短いサイズとなっています。しかしHAT基板の中には弊社の[4GPi]のようにラズパイと同じサイズのものもあるかと思います。
![サイズ比較.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3113974/fb89b8e3-6dff-dd6d-4b0b-ef005113c2ef.png)

そこで、スペーサを追加せず、HAT基板との隙間を狭くした状態で、Active Coolerを装着したRaspberry Pi 5に[slee-Pi 3]もしくは[4GPi]を搭載し、CPUに負荷をかけた状態で1時間稼働し、CPU温度の計測を行いました。
計測結果は稼働後30分以降の平均値で、**slee-Pi3を搭載: 48.2℃/4GPiを搭載: 50.4℃**となりました。基板サイズにより、Active Coolerのファンによるエアフローに影響があることが予想されます。

続いて、[4GPi]を[Raspberry Pi M.2 HAT+](https://www.raspberrypi.com/products/m2-hat-plus/)に入れ替えて、同様にCPU温度の計測を行いました。計測結果は稼働後30分以降の平均値で、**slee-Pi3を搭載: 50.5℃/M.2 HAT+を搭載: 48.2℃**となりました。
[M.2 HAT+](https://www.raspberrypi.com/products/m2-hat-plus/)は[slee-Pi 3]と比較して、部品点数が少なく、スリットがあることや、ピンヘッダ部に隙間ができることもあり、よりActive Coolerのファンによるエアフローが良く働いたものと思われます。また、[slee-Pi 3]のCPU温度が[4GPi]との比較時よりも高くなっていますが、これは計測時の室温によるものと思われます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3113974/63a3e4cd-b04b-4261-be64-89e74953db27.png)


# まとめ
今回の計測により以下のことが分かりました。
- アイドリング状態のCPU温度の平均値は、スペーサ追加あり: 29.9℃/なし: 31.4℃となり、1.5℃程度の差が生まれた。
- CPU負荷を100%とした状態でのCPU温度の平均値は、スペーサ追加あり: 44.3℃/なし: 49.8℃となり、5℃以上の差が生まれた。
- ラズパイ大のHAT基板と、ラズパイより長辺が短いHAT基板で比較すると、ラズパイ大のHAT基板を搭載した方がCPU温度の平均値が高くなった。また、スリット等のあるHAT基板ではよりCPU温度の平均値が低くなった。

Raspberry Pi 5を使用する際の参考になれば幸いです。