ESP-WROOM-02を使ってみる3 -そんな電源で大丈夫か-

20161231追:
ESP-WROOM-32ではさらにとんでもない自体に!!1!!!
20161231追:



2か月くらい前にESP-WROOM-02の紹介記事を2点書きました。それを多くの方が
紹介してくださったおかげで閑古鳥が鳴いていたこのぶろぐのアクセスも東海自然
歩道攻略時のころ
の全盛期まで盛り返し私もモチベもムクムク盛り返しております♥

多くの人の目に触れるとなると当然質問も多く頂くのですが「電源投入しても
文字列がずっと垂れ流されるだけでコマンドが全く反応しない
or最初は上手く
動いてたのに急にずっと文字列(orゴミデータ)が垂れ流しになった!ESP8266が
壊れたぞ!
」という不具合についての相談を多く受けるようになりました。

●文字列がダーッっと…
共通項は「文字列(orゴミデータ)が連続して垂れ流されて制御不能になる」です。
結論から言うとESP-WROOM-02に供給する+3.3Vの電流容量不足で起こる現象
なのですが、そのプロセスは以下のようになります。

1.電源投入or外部リセット

2.ESP8266のPOR/外部リセットのイニシャライズ
 (このあたりで文字列(デバッグメッセージ)が吐かれる模様)

3.電気喰いのRF部起動

4.電力消費過多で3.3Vがすぐドロップ

5.3.3Vラインがドロップして2.0V付近になるとESP8266リセット状態になる

6.少したってからLDOの保護機能等が解除で3.3V回復

7."2."に戻る

デバッグメッセージがダーと吐かれた直後にリセット掛かってまたデバッグメッセージが…
を繰り返すので"文字列が吐かれ続けて壊れた"ように見えるわけです。



ねむいさん愛用の秋月さんのXbee用のゲタ基板は150mAのLDOが乗っかっています
がESP8266の電源としてこれを使っていると上記のように2.0V近くまでおもいくそ
ドロップしてリセット->その後負荷が軽くなるので回復->また落ちるを繰り返して
しまいます。
根性があるLDOだと最初は最大定格越えても耐えられるのですが使ってるうちに
段々へばってきて上のサイクルを繰り返し、仕舞にEOSで完全に死んでしまいます。



そんなわけでねむいさんは電流容量1AのぱわふりゃーなLDO換装して多少の
電流の過渡応答にびくともしない最強に強まった電源に満足(LT1963A持ってくるまでも
ありません)でした。

したはずでした・・・!






勿論今回はこれだけで終わるわけではなく、皆さんの設計の参考として実際どれ
くらいの電流を消費しているのかを調べてみました。


ねむいさんのXbeeゲタ基板に+3.3Vの電圧と電流を測定できるように加工をして
電源投入直後や投入後の挙動別に各波形を見ていきます。
各種パラメータはもちろんすべてデフォルトの購入時のままです。
ESP-EROOM-02においては購入時のデフォルトはフルパワーです。


電源投入直後


↑の+3.3Vの立ち上がり時の拡大


リセット直後


RF出力時

ぱわふりゃーなLDO使ってるくせになんで3.3Vが思いきりドロップしてんだYO!
答えろYO!という突込みは後で解説することにしてRF出力時は平均280mA(ピーク値
は350mA以上)バリバリに使いまくっているのが分かると思います。
またリセット直後も40mSecもの間200mA以上(ピーク350mA強)ゴリゴリ消費しています。

ご覧の通り+3.3Vラインに供給する電流容量の事を忘れてESP-WROOM-02を使って
いると大きな電圧ドロップによる不安定な動作に悩まされ続けることになります。
しっかりオシロスコープ使って波形測定して確認する癖付けましょうね…。

ハードウエアの設計に慣れた人ならこんなの事前にオシロで電源ラインの波形を
観測して足回りをしっかり固めておいて当然の基本の"き"なのですが…
ねむいさんの懸念はライトユーザーの方たちがこの問題に引っかかり先に進めなく
なってしまうことです。

プロトタイピング用ボードはハードウエアの差異を隠ぺいしてソフトウエア作りに
集中できるようにするために元となるハードウエアはかなりタフに作りこまれています。
ていうかそうなるべきです。全ては信頼の元に成り立っているのです。

でも残念ながらそうなってないのばっかりですのでこれを機にしっかりオシロ
スコープ使って電圧波形くらいは確認する癖をつけましょうね…。


大事な事なので2度言いました。


macsbug氏の記事では各種Arduinoと組み合わせて使用した際の考察がまとめられて
いますのでプロトタイパーな皆様は一読されることをお勧めします。
氏のブログでは+3.3Vを作るLDOにフォーカスして言及されていますが私が以下で
述べるLDOの入力系統(主に+5V)についての考慮も極めて重要です。必ず読んでください!!!


●USBの+5Vは大丈夫か
上で行った+3.3Vの波形がドロップしちゃいけないのにドロップしてる件も調べて
みました。私の使用環境ではUSBの+5VからLDOで落として+3.3Vを作っています。
そんなわけで今度は5Vと3.3Vの波形を比較してみました。


オイー!!!!!!!!!
安物USB2.0ハブ(しかもセルフパワーなのに)元の5Vがおもいくそへばっていたorz

ねむいさんが使ってるLDOはDIODES-ZetexのZLDO1117ですが最大ドロップアウトが
1.2V(1A時)ありますので元が3.8V近くまで落ち込むくらい電流ひいてる状態だと
そりゃ駄目ですわ…。


↑DIODES-Zetex ZLDO1117データシートより引用
さっきの波形はRF送信時の約300mA近く引いてる時の電圧ドロップの波形ですが
グラフのまんまきっかり1V以上のドロップアウトですねorz
いくらぱわふりゃーなLDO積んでいても元のVinが貧弱だとこうなってしまいます。
あとコンデンサの容量を必要以上にむやみやたらに増やして茶を濁すのはねむいさんは
全くお勧めしません。今度は突入電流で素子が破損する危険性が出ますので。


てわけで大電流を引き出せられるセルフパワーなUSB3.0ハブの方に差し直して
測り直してみました。大分マシにまりましたね。
上半身に比べて下半身が貧弱だとやっぱりダメなわけですね〜足回りをしっかり
固めるのはプロトタイピングにこそ重要だと思います。


プロトタイピング用ボードだとUSBの+5Vを電源供給源としてそのまま利用する
場面が極めて多く出てくると思います。
何も考えないで使っているとこういった罠に陥って無駄な時間を費やしてしまい
ます。これを機にオシロスコープを使って電圧波形くらいはいちいち確認して
行く癖をつけておきましょう。


大事なことなので3回言いました。

20151203追:
ねむいさん的にはバッテリ駆動を見据えるならMAXで1A~800mA位の小型高効率
降昇圧DCDCを組みESP-WROOM-02専用の+3.3V電源とすることを提案します。

逆にUSBの+5V電源からだけしか使用するつもりがないならば超低ドロップアウトな
LDOであるADP3338、値が張りますが攻守共に最強のLT1963Aを提案します。
20151203追:





●おまけ
それじゃ他のWifiモジュールってESP-EROOM-02に比べてどんだけ電気喰ってるの?
というわけで手持ちのモジュールも測定してみました。
もちろん技適はばっちり取れてるのをチョイスしてます♥

その1:Xbee WiFi S6B

電源投入直後


↑の+3.3Vの立ち上がり時の拡大
IDDの測定レンジが違うので注意。


リセット直後


RF出力時
IDDの測定レンジが違うので注意。

XbeeWifi S6Bはリセット直後にガッツリ電流もってくようですね・・・負荷の過渡応答性
にすぐれたDCDC持ってこないと製品レベルに落とし込むのは無理だと思います。
ちなみにBが付かないほうのXbeeWifiはなひたふさんですらどうにもできなかった
のでねむいさんが手なずけることは不可能です・・・・そもそもB無し持ってませんし。


その2:GS1011MIC

電源投入直後


↑の+3.3Vの立ち上がり時の拡大
IDDの測定レンジがこれだけ違うので注意。


リセット直後


RF出力時



GS1011MICは今となっては古き世代のモジュールですが瞬間最大電流は低めに
抑えられています。Adhoc等の限定した用途ならば今でも十分に活躍できるモ
ジュールといえるでしょう。

Comments

電源は、同期整流型 DC/DCコン IC が良いと思うです。バッテリー駆動でも降圧型だけで使ってる作例もあります。なぁにインダクタが1つ増えるだけですよ。
中華PMP とか orange pi とかでは、HX1001 や SY8008 が割と使われてます。aliexpress とで、お安く入手可能です。

  • nakamoto
  • 2016/10/23 10:51 AM

nakamoto様はじめまして、ねむいです。

ネタ振りありがとうございます。
お勧め頂いたICではHX1001が回路も単純でよさそうですね。
手に入れたら動作実験して小ネタで公開します。
ただ、中華製ICはぱちもんばっかりなので確実に火遊びになりそうですけど。

Post a Comment








Go to top of page