ESP-WROOM-02のDeepSleepでかなり痛い目を見たので電源関係について調べた
以下はその結果
|
画像はただのイメージ/安定化電源 |
○USB2.0からの電源供給について
・ホストとネゴシエーションするまでは100mAまでしか保証されない
(500mA引っ張れるかもしれないし、引っ張れないかもしれない)
・Y字ケーブルで1.0A(500mA+500mA)引っ張り出せる保証は無い
(片方としかネゴシエーションしないので)
・充電用ケーブル(D+とD-を短絡)は
デバイス側にホストが充電器であることを判別させるため
・デバイス側が判別に使っていなければ無意味
・これでPCに接続してしまうと危険
(デバイスはホストから大電流を引っ張れるものとして動作するため)
・PCは隣接する2ポート単位で電流管理を行っている場合がある
→この場合は片方に何も接続しなければ1.0A引っ張りだせる(だせてしまう)場合がある
○三端子レギュレータについて
・
熱によって特性が大きく変わる(放熱板をつけるのはこのため)
→発熱すると引き出せる電流値が下がる
・定格電流はこれを加味している
→コールドスタートの場合に定格以上の電流を引き出せる(場合がある)
(そして動作による発熱で引き出せる電流はどんどん落ちていく)
・過電流により発熱、焼損があるため過電流絶対ダメ/定格死守
○USB-TTL変換機(FT232RL使用)のVCC3.3V出力について
・スイッチサイエンスの
FTDI USBシリアル変換アダプターなど
(FT232RLのリファレンス回路が元ネタなのでどこの製品もほぼ一緒)
・FT232RLの3.3V出力をそのまま外に引っ張り出してるだけ
・FT232RLのデータシートによると
・内蔵レギュレータで3.3V作ってるけど目的は3.3Vが必要な内部ブロックのため
・3.3V最大電流50mAの電源として外部回路にも使ってよい
とのこと
・普通の3.3V電源のノリで使ってはダメ
|
スイッチサイエンスのUSB-TTL変換機 |
○ArduinoUnoの3.3V出力について
・ここの電流値は規格化されていない
・リビジョン/互換機によって使ってるレギュレータがまちまち
・ArduinoUnoRev3ではLP2985-33DBVRを使っており
最大電流150mA(レギュレータ側データシートより)とのこと
○わかったこといろいろ
・PCのUSBポートから電源供給するのはリスクあり
どうしてもやるならUSB充電器からの方がよい
・三端子レギュレータのヒートシンクを舐めてた
電流をどれだけ引っ張るか、どれだけ発熱するかを考慮して使うべき
・FT232RLを使ったUSB-TTL変換機の3.3V出力は信じられない
5V出力の方はUSBからのパススルーなのでややこしい
ジャンパ切り替えで
・5V500mA(FT232RLの使用分考えず)
・3.3V50mA
が同じVCCポートから出力されるというトラップとしか思えない仕様
(※データシートには明記してある)
あれはオマケなんだと覚えておかないととんでもないことになる
・Arduinoの3.3V出力はESP8266を使うには微妙に足りない
通常動作時はいけそう
起動とかスリープ明けにコケそう