esp-wroom-02 の wdt reset の不具合発生

esp-wroom-02 に 秋月電子のGPS みちびき(AE-GYSFDMAXB) を繋げて、テストしてみよう
と思って、暫く振りに、 esp-wroom-02 を USB-SERIAL 経由で電源を繋げてみたが、
うんとも、スントも動かない。

以前は、普通に動作していたのにどうしたのか?

仕方がないので、Arduino IDE を使って、WiFi Http Server の適当なスケッチをかきこんで、
PCのSerial Terminal からで Serial Print の情報をみたいたら、途中までプログラムが動いて、
そのご、しきりに ダンプ を吐き出しているみたいです。

Strat webserver_sample_2              <- これは、スケッチのプログラム名
Connectting to elecom2g-XXXXX           <-  WiFi ホストへ接続
.....    <-  従来は、ここで、少ししたら、繋がっていたが、今は、下記のエラーを吐き出しちょります。


ets Jan 8 2013,rst cause:4,boot mode:(3.6)

wdt reset
load 0x4010f00,len 1384, room 16
tail8
chksum 0x2d
csum 0x2d
.
.
ここからは、ダンプを吐き出してずっと繰り返し。

 

インターネットで検索したら、同じようなトラブルになっている人が、色々な
対応方法を書き込んでいたので、一応それを試してみました。

1. watch dog のタイマーを、loop の中でリセットする.....
2.Vcc と GND の間に コンデンサーを入れる。
3.電源容量が適切かチェックする。   <--  多分これが一番正解ではないかと、おんちゃんは、思いますが、電源容量が足りないとすれば、USB-Serial の電源容量をチェックしないといけないが、
そうなると FT-232RL とかを買い替えないといけなくなるが?それは困った。

 

結論から言えば、Audino IDE の
ツール->
ボード:"Generic ESP8266 Module" の場合のオプションで、
Flash Frequency "80MHz"  ->  "40Mhz"
に少なくしたら以前の儘のプログラムで旨く動きました。


おんちゃんが思うに、以前は、同じプログラムが、
ツール->Flash Frequency "80MHz"  でも問題なく動いていたので、

1. USB-Serial(3.3V) の電圧か、電流容量が少し下がっている。 <-- これが正解では?
2.esp-wroom-02 が少しへたって来たか?

のどちらかでは、なかろうか?  と言う結論に至りました。


その後、又再発しました。

試しに、デバッグ表示を出すようにして、実行したら

Serial.setDebugOutput(true); <-- こいつを入れてデバッグ表示をしたら、
//set static ip part
WiFi.config(IPAddress(192,168,1,90), IPAddress(192,168,1,1), IPAddress(255,255,255,0));
WiFi.begin(ssid, password);

結果は、

Strat webserver_sample_2 2015.10.12 updates!

Connecting to elecom2g-XXXXX
scandone
f 0, .......Fatal exception 0(IllegalInstructionCause):
epc1=0x4021b6eb, epc2=0x00000000, epc3=0x00000000, excvaddr=0x00000000, depc=0x00000000

Exception (0):
epc1=0x4021b6eb epc2=0x00000000 epc3=0x00000000 excvaddr=0x00000000 depc=0x00000000

思うに、 Flash メモリーがポンコツで、Arduino IDE で、プログラムを書き込んだりしていると、
ゴミが出来るのが問題の様な気がします。

ですが、その後、
FT232-RL(3.3V供給)の時、ESP-ROOM-02 動作時 の 3V3-GND 間の電圧を測ったら、2.2V しか
ありませんでした。

ですので、ESP-ROOM-02 の 3V3端子へは、 外部USB電源(5V)からレギュレータ(3.3V)を介して供給して、
FT232-RLは、電圧を 3.3V の儘にして、Tx,Rx端子 に接続しました。

この状態で、ESP-ROOM-02 の動作時の、3V3-GND 間の電圧は、3.23V になりました。

これで、全て、うまく動作しました。


ちなみに、Arduino-IDE の設定は、元に戻しました。
ツール->
  Flash Mode : "QID"
  Flash Frequency : 80MHz

ちなみに、おんちゃんの ESP-WROOM-02 のフラッシュメモリーサイズは、

esptool.py --port COM4 flash_id

で確認したら、4M サイズでした。
やれやれでした。

P.S.
esptool.py と言うツールがあるのを、今回知りました。
それは、今回のトラブルの副産物となったぞね。


そのあと、気になったので、
ESP8266-WROOM-02 の 3V3 端子での電流をテスターで測ってみました。

ESP-WROOM-02-G`PS-2017.10.21-1l.jpg

1.Wi-Fi で アクセスポイントに接続して、GPSみちびき(GYSFDMAXB)  から Serial 通信でデータを受け取ったのを、USB-Serial で PC へ転送するプログラムですが、これを稼働させた状態で
3V3 端で測定したら、80mA 位。

注) GPSみちびき(GYSFDMAXB) 5V への供給は、含まれません。

2.プログラムの書き込みリセットで、待ち状態では、85mA。

3.Arduino IDE から プログラムの書き込み中は、当初 85mA 、途中 多くて 95mA、一番最後に
一瞬ですが、106mA 、124mA がながれていました。

FT232-RL の電源容量はどの位か?
FT232-RLで 3.3V 供給時に、 3V3 -GND端の電圧が、2.2V 位だったので、
へたって、相当少なくなっているのかもしれません。

その後、FT232RL は、供給電流を増やせるとの事です。
FTDI のサイトから FT_Prog をダウンロードして、Windows10 にインストールして、FT__Progを起動して、
1) 虫メガネアイコンをクリックして、現在のFT232-RLの設定を読み込んで、
USB Config Descriptor の Max Bus Power 90 -> 500 mA に変更して、
2) イナズマ アイコン(Program Devices) を実行して、簡単にできました。

おんちゃんの場合は、 ディフォルトが、 90mA だったので、500mA に増やしました。
Max は、500mA との事です。以上。(2018.10.1)

このブログ記事について

このページは、おんちゃんが2017年10月20日 00:39に書いたブログ記事です。

ひとつ前のブログ記事は「PIC32MX250F128B Harmony の USB Host Mouse の利用 #3」です。

次のブログ記事は「esp-wroom-02(ESP8266) の Wi-Fi Lanがよく切れる件です。 」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

カテゴリ

ウェブページ

サイトナビ