USB-up-to-1.2ARaspberry Pi Model B+では、4つのUSBポート合計で600mAまで流すことができるようになりました。600mAを越えるとリミッターが働いてしまい、それ以上流すことができなくなってしまうのですが、実は設定を変更することで最大で1.2Aまで流すことができるようになっています。

今回はUSBポートの最大出力を1.2Aに増やす実験を行います。

【設定方法その1
/boot/config.txt に以下の2行を追加してRaspberry Piを再起動する
max_usb_current=1
safe_mode_gpio=4

【設定方法
その2
GPIO 38にHIGHを出力する
echo 38 > /sys/class/gpio/export
#sleep 1  ←Permission deniedになる場合はコメントを外す
echo out > /sys/class/gpio/gpio38/direction
echo 1 > /sys/class/gpio/gpio38/value
echo 38 > /sys/class/gpio/unexport

どちらの方法でもかまいません。これにより600mAでかかっていたリミッターの値が、1.2Aまで上がります。2つめの方法ではGPIO 38にHIGHを出力していますが、GPIO 38がリミッターの制御に使われている特殊なポートようです。ちなみにGPIO 38にLOWを出力するとリミッターは元に戻ります。

DSCN7825


【実験結果】設定前(max 600mA)
4.85V - 0.00A 未接続時
 ↓
4.51V - 0.28A
 ↓
4.20V - 0.64A
 ↓
これ以上出力不可(PWR点滅)

【実験結果】設定後(max 1.2A)
4.14V - 0.70A
 ↓
3.95V - 0.90A
 ↓
3.68V - 1.20A
 ↓
3.57V - 1.30A
 ↓
これ以上出力不可(PWR点滅)

このように、設定を変更しただけでUSBポートに出力できる電流値の上限を増やすことができました。もちろんRaspberry Piの電源には、本体+USBポートの分の電流が流れますので、より大きな出力ができるACアダプタが必要になります。今回の実験ではiPad用のACアダプタを使用しました。