遅刻してごめんなさい。
7日目:https://hackmd.io/@QSzmG9ZlS9acsKsGbpLbvg/ryfVN3NTS
9日目:https://note.com/arm_omoshirokun/n/nf9b3067ce373
背景
以前Raspberrypi3B+経由でinsta360airで撮影したDualFisheye画像をRICOHThetaの形式に変換するソフトを作成し動かしている際に、使用するUSBケーブルによっては実行終了までの時間が2倍くらい違うことに気がついた。
そこで今回は手元にあったUSBケーブル3種類について実行時間がどれくらい変わるのか検証とその時のテスターの値を比べてみることにする。
実験装置
- ラズパイ:RaspberryPi3B+(2019-07-10-raspbian-buster-full)
- テスター1:RT-USBVAC3QC(ラズパイに差すUSBの電源側との間に接続)
- テスター2:OWON B35(ラズパイのTP2、TP5間の電圧を測定)
- USB電源:ECJ-PD45ACQ(5V2.4A出力)
- 安定化電源:MCH-K3010D
- テスト用コード
- USBケーブル(後述)
実験1
アイドル時(電源入れた直後の何もプログラムを走らせないコマンド待受状態)とスクリプト実行時においてテスター1有りの実行時間とテスター1なしの場合の実行速度を3種類のUSBケーブルで比較
千石で買った50円のUSBケーブル
テスター1有り
テスター1 | テスター2 | |
---|---|---|
アイドル時 | 4.89V 0.44A | 4.77V |
実行時 | 4.88V 0.49A | 4.76V |
実行時間(sec) | 79.31349300000001 |
テスター1無し
テスター2 | |
---|---|
アイドル時 | 4.85V |
実行時 | 4.82V |
実行時間(sec) | 32.011504 |
WioLTE同梱のUSBケーブル
テスター1有り
テスター1 | テスター2 | |
---|---|---|
アイドル時 | 4.91V 0.45A | 4.63V |
実行時 | 4.86V 0.50A | 4.60V |
実行時間(sec) | 75.418308 |
テスター1無し
テスター2 | |
---|---|
アイドル時 | 4.88V |
実行時 | 4.87V |
実行時間(sec) | 31.965135 |
HL7800同梱のUSBケーブル
テスター1有り
テスター1 | テスター2 | |
---|---|---|
アイドル時 | 4.94V 0.44A | 4.72V |
実行時 | 4.95V 0.49A | 4.73V |
実行時間(sec) | 81.244389 |
テスター1無し
テスター2 | |
---|---|
アイドル時 | 4.79V |
実行時 | 4.77V |
実行時間(sec) | 78.229005 |
実験2
実験1で電圧と実行時間の関係がいまいち見えてこないので安定化電源で電圧を変えながら実行時間を計測した結果が以下のグラフになる
5.0Vからはじめて4.0Vまで0.1V刻みで電圧を落として計測した。4.0Vを下回ると不安定になってきて3.7V以下でラズパイが落ちたためプロットは4.0V~
またOCも兼ねて5.5Vでの動作もさせてみたそれ以上はICが燃える危険性も考慮して行っていない。
考察
実験1、2の結果からRaspberrypi3B+は電源電圧が4.8V以上でより力を発揮できるように見える。また電源電圧を高めてOCしてもあまり効果がないこともわかる。
今回は参考リンクのモンテカルロ方による計算時間だけを見ているので他の方法で負荷をかけた場合はまた違ってくるかもしれない。
USBケーブルを選ぶ際の指標にケーブルの抵抗値なるものがあるらしいのでこれと電源電圧、引き出し電流の関係性を今後明らかにしていこうと思う。
結論
結論としてラズパイをフルスペックで動かすには良い電源を使いましょう。