ESP-WROOM-02で抵抗けちって動かなかった件

More than 3 years have passed since last update.


はじめに

最初のATコマンドを通すまでえらい苦労したのでなにかの参考になればと思います。


結論

途中の迷走した経緯は後で書く(長文)として、いきなり結論書いておきます。

3.3Vから抵抗1本でプルアップ必要な端子に接続していましたがこれでは動作しませんでした。

WROOM02_3.PNG

このようにプルアップ必要な端子それぞれに抵抗を接続しプルアップしたところ動作しました。

WROOM02_4.PNG

ここから下はつらつらと動かすまでの迷走を書いていますので、興味のない人はすっ飛ばしてください。


動かすまでの道のり

twitterとかをつらつら眺めているとちょくちょくESP-WROOM-02が話題に上がっていました。

ちょっと調べると安いしすぐ動きそうだしということで、SwitchScienceさんにESP-WROOM-02ピッチ変換済みモジュール《フル版》を発注しすぐ届きました。

(ついでにmbedボードとUSB-Serial-FTDIも買っておきました。)

はんだ付けは得意なのでピンヘッダーをちゃつちゃっとはんだ付けし、Webに上がっている先人の方々の配線図を見ながらブレッドボード上に組み立てます。


1. Mbedから3.3Vをとり、TXD,RXDも制御する -> 敗退

mbedから3.3V出ているのでこれでESP-WROOM-02動かせばいいやと思い接続。また送信受信はmbedで115200bpsでシリアル通信するプログラムを書きました。

ドキドキしながらmbed USB接続します。

TeraTerm立ち上げて AT[CR]

あれ?なにも出ないぞ???...お、GNDつなぐのを忘れてた。mbedとESP-WROOM-02のGNDつないで再度トライ。あれやっぱりダメだ。配線を何回も確認しますが問題なし。mbedのところでTXDとRXDをループさせるとちゃんとTeraTermで応答が帰るのでmbedのプログラムは問題なし。さてどうするか。


2. USB-Serial-FTDIから3.3Vをとり、TXD,RXDも制御する -> 敗退

mbedと相性が悪いのかな~と思い、USB-Serial-FTDIとWROOMつないでみました。

しかし...動きません。

USB-Serial-FTDIのところでループバックさせるとTeraTermで応答が帰ってきます。

ESP-WROOM-02なんか壊したかなぁと思始めました。念のため端子電圧見てみようとテスターでWROOMの端子を当たっていくとなんとなく電圧が不安定です。USB-Serial-FTDIのIC仕様書見るとあまり電流とれないようです。

ググると「ESP-WROOM-02は結構電流食うのでしっかりした電源じゃないとダメ」のような情報を発見しました。


3. USB-Serial-FTDIから5.0Vをとり3端子レギュレータで3.3Vへ、TXD,RXDも制御する -> 敗退

手持ちの0.5A位とれる3端子レギュレータがあるのでそれを使うことにしました。

USB-Serial-FTDIのジャンパーピンを変えるとVCCに3.3Vでなく5Vが出てきます。

レギュレータを使うようにブレッドボード線を変えてトライします。

でもでも...動きません。

一応オシロでTXD,RXD見てみるかと調べると、あれTXD,RXDが5Vになってる???

USB-Serial-FTDIの回路図とデータシート見直して判明。ジャンパー設定を5VにするとVCCだけ5Vになると思い込んでいたのですが、TXD,RXDのインターフェースも合わせて5V I/Fになるのでした。

壊したかもしれん。


4. USB-Serial-FTDIから5.0Vをとり3端子レギュレータで3.3Vへ、mbedでTXD,RXDを制御する -> 敗退

とりあえず電源はこのままで、TXD,RXDを3.3Vにするためにmbedへ。

完全に迷走状態です。この組み合わせにしてもやっぱり動きません。

もうダメかも。と思いつつオシロでいろいろ触ってました。

あれ?電源に妙にノイズが載ってるな???。いくらなんでも大きすぎるだろ。

(実際はもっとバラバラとノイズ載ってました。)

WROOM02_5.PNG

で、プルアップしている端子も触っていくと

なんじゃこりゃー、発振してる!。対策せにゃ。

(実際はもっとめちゃくちゃになまってました。)

WROOM03_6.PNG


5. USB-Serial-FTDIから5.0Vをとり3端子レギュレータで3.3Vへ、mbedでTXD,RXDを制御する。プルアップ抵抗をプルアップ端子ごとに分離 -> 勝利

これはプルアップした端子同志でなにか悪影響してるに違いない。ということでプルアップ端子ごとに抵抗を配置するようにしてトライ。

AT[CR]

OK

おおっつ、帰ってきました。

いろいろATコマンドを入れてみましたが問題無いようです。ヤッター(^^)/


まとめ


  • 電源はしっかりしたものを使いましょう。

  • 抵抗はケチらず1プルアップに1本を配置しましょう。

  • オシロスコープは必須です。一家に一台(^^)。