先日ラズパイで作成した目覚まし時計が作動しなかった※。
※保険で別の目覚ましをかけてるので遅刻はしてない。
sshログインしようとしたがパスワードを聞かれて入力した段階でConnectionが切断されるという症状を繰り返す。
それでHDMIモニターを繋いでみたところなぜか起動シーケンスが走ってる。なんか再起動されてしまったっぽい。
とりあえずSSH接続できるようになったのでログを確認してみたところ、Undervoltage が大量に発生している。
直接の原因かどうかは分からないけど、ググるとsshログインできなくなるなどの症状も見つかったのでとりあえずこの電圧低下を解消する。
Apr 3 08:10:26 alarm kernel: [666805.526610] hwmon hwmon1: Voltage normalised Apr 3 08:10:32 alarm kernel: [666811.574663] hwmon hwmon1: Undervoltage detected! Apr 3 08:10:38 alarm kernel: [666817.622687] hwmon hwmon1: Voltage normalised Apr 3 08:10:40 alarm kernel: [666819.638723] hwmon hwmon1: Undervoltage detected! Apr 6 07:34:04 alarm kernel: [ 11.679173] hwmon hwmon1: Undervoltage detected! Apr 6 07:35:07 alarm kernel: [ 76.190739] hwmon hwmon1: Voltage normalised Apr 6 07:35:10 alarm kernel: [ 78.206732] hwmon hwmon1: Undervoltage detected! Apr 6 07:35:16 alarm kernel: [ 84.254724] hwmon hwmon1: Voltage normalised Apr 6 07:35:18 alarm kernel: [ 86.270717] hwmon hwmon1: Undervoltage detected! Apr 6 07:53:45 alarm kernel: [ 118.526706] hwmon hwmon1: Voltage normalised Apr 6 07:53:47 alarm kernel: [ 120.542739] hwmon hwmon1: Undervoltage detected!
もともと使っていたのは共立電子産業の5V 4A出力のアダプタ。
出力電流が大きくて良さそうだと思って買ったんだけど、結論から言ってラズパイで使うには電圧の低下が大きくてダメだった。
訂正:真犯人は延長ケーブルだったので訂正。共立電子製のACアダプタは悪くなかった。
thom.hateblo.jp
無負荷時の電圧が5.2V。
ラズパイへの供給電圧を確認する方法だが、GPIOの5V端子とGND端子を測定すれば良さそうだ。この時点で4.8V。
そして目覚ましシステムはUSBバスパワーでスピーカーを鳴らすのでそちらでも電圧降下が考えられる。
USBスピーカー単体を別の5V USBアダプタから給電して電流値を計ってみたところ、ボリューム最大で音楽を鳴らすと0.2~0.5A程度だった。
ラズパイに繋いで音楽を鳴らしたときにどうなるかというと、、本体電圧が4.67Vまで低下。
更に警告音を複数組み合わせたアラームを鳴らすと。。
これはいかん。。無負荷時の5.2Vから比較すると0.7Vも低下してる。
ラズパイは電圧が4.6Vを切るとUndervoltageを出すらしい。様々な理由でコンセント側の電圧変動も供給電圧に影響を与えるそうなので日常的に電圧低下が発生している理由も頷ける。
それで色々ググっていたらラズパイの公式ACアダプターは5.1V表記であることが判明。5.1Vを謳うアダプタというのはかなり珍しいが探せば色々と見つかる。
私が買ったのはこちらのアダプタとUSB-Type CからMicro USBへ変換するアダプタ。
ラズパイ3B+で使うのでMicro USBのアダプタがあればベストだったけど5.1Vで2.5A以上の出力があってMicro USBとなるとAmazonでは良さげなものがみつからず、わざわざ他のサイトに登録して買うのも面倒なのでUSB Type Cのアダプタにした。
まずは無負荷計測してみたところ5.35V。
ちょっと電圧が高すぎる気がするので大丈夫なのか調べてみたところ、公式アダプタも5.36V最大だよっていう情報があった。。
forums.raspberrypi.com
更に調べてみた。以下にラズパイ3に対応した公式アダプタの仕様書がある。
https://datasheets.raspberrypi.com/power-supply/micro-usb-power-supply-product-brief.pdf
ほんとだ。大丈夫そう。
Load regulationというのは負荷変動に対して電圧がどれくらい変動するかという指標。
5.1Vのプラマイ5%だから公式アダプタは4.845V~5.355Vの範囲で動作するということ。
一般的には無負荷時の方が電圧が高いので無負荷5.35Vなら公式と同じだろう。
ラズパイに繋いで同じように計測してみたところ、何も音楽を流さない状態で約5.349V。旧アダプタは同条件で4.83Vだったのでこの時点で0.5V近くのアドバンテージがある。
音楽を再生すると5.32V
アラームを再生すると5.3V
電圧の低下は微々たるものである。ということでこちらのアダプターを採用することにした。
さらにもう1つ嬉しい誤算が。何気なく買ったUSB-CからMicro USBへのアダプタであるが、これまで使っていたものより少しだけ端子が長かったのだ。
実はこれまでのアダプタはラズパイにケースを付けたらケースの厚みで挿し込みが甘くなってしまい、軽く引っ張るだけで抜けてしまう状況だったのだが、この微妙な端子の長さの違いによってしっかりと挿し込めるようになった。
ということでアダプタを変えたらUndervoltage警告は出なくなった。
ただし注意点として、個体によっては無負荷時に5.4V出るものがあるらしいので真似する場合はあくまで自己責任でお願いしたい。
まぁ実際はラズパイ側で5.355Vからバッファは取っているはずなのでそこまで繊細じゃないとは思うけど壊れたと言われても困るので念のため。
終わりに
これまでACアダプタといえば入出力の電圧・電流とプラグ形状だけ見てれば充分と考えていたが、他にもロードレギュレーション、ラインレギュレーションなどの特性があることが分かり勉強になった。
時折、家電などで必ず専用のアダプタを使えっていう指定があるのはどうやらこのためらしい。
特にノートPC等の高額なデバイスを使う際はちゃんと純正のアダプタを使う用にしたい。
以上