回路設計

ESP8266 (ESP-WROOM-02開発ボード) 電源問題

更新日:

Wifi通信を構築するに辺り、手軽に扱える事で人気なWifiモジュールです。
国内の電波法に対しても、技術適合済みなので認証も取得されています。
つまり、入手したらすぐに使えるものということになります。

Arduino IDEを用いて、Arduinoスケッチを書き込んで使えるので、
最近の流行りに倣った環境が用意されていますし、電子工作を趣味とする方々にも人気がある様です。

今回、私が使用したのは、スイッチサイエンス社のものでRev.4となります。
動作確認程度になりますが、任意のデータをネットへUPする様なシステムを作って確認をしてみたところ、
動作が不安定な状態が存在する事があり、調査原因究明に時間を割いた経緯があります。

まず、動作としては以下のイメージになります。

 1.任意データ用意(適当な数値で良いと思います)
        ↓
 2.任意データをWifiルーター経由でネットワークにUP

この動作を一定間隔で繰り返す様なプログラムを作って動作させてみます。

概ね難なく動作するのですが、何度かに一度といった頻度で、
モジュールを起動した直後から、Wifi送信されない状態に陥る事が分かりました。
送信されない現象が発生した場合、以降は再起動しない限りウンともスンとも言いません。

私が確認する限りですが、30%ぐらいの頻度で発生しており、無視するには厳しい再現性頻度と思います。
この起動直後にデータ送信しない現象は、以降で説明する原因によるものでした。

巷の情報をググってみますと、似通った現象に対して問題定義や原因究明の情報があります。
私も例外ではなく該当する部分もありますが、ピンポイントでの原因としては参考にして頂けるかもしれません。

まず、ESP-WROOM-02開発ボードの電源入力は5Vになり、
基板上でESP8266に対して3.3Vへレギュレートされて入力されています。

5V入力の方法としては、USB端子を接続して供給 or VBAT端子から供給のどちらかになると思います。
ちなみに、根本でダイオードにてOR接続されているので、誤って両方から供給しても破壊されることはないと思います。

で、この5Vを入力した直後、デバイスが起動 -> Wifi送信(私のプログラム処理)と進んでいくのですが、
そこそこの頻度で、Wifi送信がされない事があるわけです。

** プログラムが原因か?
設計したプログラムに問題があるのかもしれません。
Wifi機能は電力消費が大きいですし、現象発生時は通信されない事から、
Wifi通信や設定に関わる処理を全て削除します。

このままでは、現象発生の確認方法がなくなりますので、
プログラムが動作している事を確認する為に、
シリアル通信で適当なデータを出力させ続けてみます。
この様なプログラムを書き込んで、再現性を確認してみました。

すると・・・。
そこそこの頻度で同様の現象(電源投入後、動作しない)が発生しています。
ここで分かった事は、Wifi機能が原因と断定できないという事です。

また、当初シリアル通信は使用していなかったので、
シリアル通信が原因とも言えないことになります。

となると、プログラム処理を、ほぼ全消去した状態にしても、
発生すると言えそうなので、ハード側の確認に切り替えます。

** 電源ラインがおかしい
プログラムを元に戻して、Wifi送信が出来る状態にしておきます。
細かい信号ラインを確認する前に、電源ラインから確認を進めてみます。
確認はオシロスコープで波形を見ます。まずは5Vから。

あれ、、、現象発生時と正常時の波形が違う。
3.3V電源ラインはどうだろうか。
やっぱり違う。

波形上側の黄色い方が5Vライン、下側の水色が3.3Vライン。
波形左側の台形波形部分が、正常起動できたとき。
波形右側の台形崩れが異常起動の時。

これを見ていると、異常現象発生の際は、
起動時に電源ラインが2V以下まで落ち込んでいる瞬間があります。
これだと、RESETが掛かったり不定動作に至ることも推測されます。

また、5V、3.3V共に同期している事から、
5V入力を改善すれば、3.3Vも安定すると見ました。
そこで、100uFのコンデンサを5Vラインに追加して再度確認。

これでも改善はされません。
なら、一層のこともっと容量の大きなコンデンサをという事で、
470uF×2個を5Vラインに追加して、再度確認。

これでも改善はされません。
ここまでで改善されないとなると、電源入力が不安定なのではなく、
内部デバイスが電源操作している可能性があるのではないかと考え、
ESP-WROOM-02開発ボードの回路図とESP8266の仕様書を拝読。

異常現象は、正常時と比較した際「動作する」or「動作しない」の差があります。
動作する/しないに関係のありそうな設定を焦点に見ていくと、
以下、のピンが関係ありそうです。

 EN:Chip enable pin. Active high.

ESP8266を有効/無効にする為の制御ピンになりますが、
ここがLowに落ちていると動作しない。
ESP-WROOM-02開発ボードの回路上では、10kΩでプルアップされているので、
一見、問題は無さそうな印象。

でも、ESP8266の仕様書では、プルアップ抵抗(R1)と合わせてコンデンサ(C3)も入っている。

コンデンサが無い場合、瞬間的な電源降下に影響を受ける可能性があり得そう。
回路図では0.1uFだが1uFをESP-WROOM-02開発ボード側で追加してみてどうだろう?

 改善された!!

50回ぐらい電源ON ⇔ 電源OFFを繰り返したが全く発生しない。

ここからは推測になるが、モジュール起動後、どこかのタイミングで電力消費の大きな瞬間が存在するのだろう。
恐らく、モジュール内部のWifi機能を起動し始めると、電力消費が大きくなると思われ、
それに伴い電源ラインの降下が発生すると、EN端子への印可電圧が落ちる。

EN端子に対しての降下電圧値や、降下時間が中途半端なので、
モジュール内部でのActive/Non Activeが不定になり、動作しないのではないかと考えている。

今回の調査では、ESP8266のEN端子の扱いが不味いと、
正常起動しない現象がある事がわかり、対策としてはEN端子にパスコンを設けてやる必要がある。

スポンサーリンク

スポンサーリンク

-回路設計

Copyright© 江藤良樹の仕事は物づくり , 2020 All Rights Reserved Powered by STINGER.