2.ESP-WROOM-32 ボードの作成
では、ESP-WROOM-32 の自作ボードを組み立てていきます。
まず、最初は下図のように1.27mmユニバーサル基板に組み立てたのです。
しかし、これはお薦めできません!!
裏側はとんでもなく細かくて面倒です!!
何度も挫折しそうになりました。
ハンダ不良や接触不良を起こしやすいですしね。
ちゃんと動作はしましたが、これは失敗作です。
それで良い方法を思いついたのですが、ほぼ同時期にTwitter の とら さんが同じようなことをやっておられました。
それは、1.27mmピンソケットをESP-WROOM-32 に直接ハンダ付けする方法です。
いろいろ考えた結果これが一番簡単な方法ということに落ち着きました。
では、その方法を紹介していきます。
まず、1.27mm ピンソケット(ピンフレーム)を下図の様にニッパでカットしていきます。
1.27mmピッチはあまりに小さいので、1ピンを犠牲にするようにカットしていくしかありません。
次に、ハンダ付けする方向ですが、下図の方向だとESP-WROOM-32 側のピンとピンソケットのピンとの隙間がどうしてもできてしまい、ピンソケットが斜めになって、安定しないのです。
ハンダ付けはこちらの方がやりやすいのですが、残念ながら却下です。
それで、以下の方向だと端子が密着していて、ピンソケットが垂直に板に着地しますので、私はこちらの方が無難だと思いました。
ということで、こちらを採用です。
まず、下図の様に一カ所だけ仮にハンダ付けして、もう一度コテを当てて位置を微調整します。
位置が決まったら、外側からハンダコテを当て、細目の糸ハンダを流し込みます。
コテ先と糸ハンダが十分細くないと辛い作業になります。
拡大鏡は必須です。
あまり上手くないのですが、こんな感じにできました。
かなり細かい作業ですので、覚悟して取り掛かってください。
裏側から見た様子です。
ピンソケットはどうしても少々斜めになってしまいましたが、ヨシとします。
次に、GND端子と3V3端子に0.1uFチップセラミックコンデンサをハンダ付けします。
要するにパスコン(バイパスコンデンサ)ですね。
これは、データシートの回路例でそのように接続するように明記されていたのです。
これもかなり細かい作業になりますが、ピンセットで押さえながらハンダ付けします。
こんな感じです。
以上、ESP-WROOM-32側の工作はここまでです。
3.LDO(ロー・ドロップ・アウト電圧レギュレーター)モジュール作成
次に、大電流対応のLDO 電圧レギュレーター部分を作っていきます。
先にも述べたように、ねむいさんのぶろぐを参照して、アナログデバイセズ社の ADP3338 を選びました。
このブログはいつも参考にしておりますが、検証方法とパーツ選定が素晴らしいです。
ESP-WROOM-32 を使う前に必ず見ておいた方が良いですよ。
ねむいさんのぶろぐによれば、電源立ち上げ突入電流が1.6Aも叩き出しているそうです。
更にリセット時の大電流で3.3Vや5Vラインの電圧降下が尋常じゃないそうです。
そこで、このADP3338 を使うと、1A出力時に電圧降下が0.19V以下だそうです。
驚きのレギュレーターですね。
では、これのデータシートを参考にしながら、モジュールを自作していこうと思います。
今は日本語のデータシートがあるので助かりますね。
まず、下図の様に2.54mmユニバーサル基板をカッターとペンチでカットし、L型ピンヘッダもカットします。
そして、B特性 2uF以上のチップ積層セラミックコンデンサ2個とチップインダクタ2個を用意します。
あと、ここの写真にはありませんが、すずメッキ線か、抵抗の足をカットした余りを用意しておきます。
次に、データシートを参照しながら、以下のように接続します。
チップインダクタはUSBの5Vからのノイズを吸収するためのフェライトビーズです。
データシートにはチップインダクタを使う回路は紹介されていませんが、以下のサイトで回路例として紹介されていました。
では、まず基板上で配置を決め、LDO ADP3338 を下図の様に基板にハンダ付けして、GND部分をすずメッキ線でハンダ付けしていきます。
その際、下図のようにヒートクリップを使うとその先の熱を逃してくれるので、ハンダ付けしやすいです。
次に、2uF以上チップコンデンサやチップインダクタをハンダ付けします。
精密ピンセットを駆使しながら粘り強くハンダ付けしていってください。
L型ピンヘッダは最後にハンダ付けすると個人的には良いと思います。
結果、下図の様になります。
あまりハンダ付け上手くなくてスイマセン。
ADP3338 はデータシートによると上部の3.3V出力端子の接触面積を増やすと放熱が良くなるそうです。必要によって放熱面積を大きくすると良いと思います。
ハンダ付けし終わったら、必ずテスターで導通しているか、ショートしていないか確認してください。
倍率の高い拡大鏡でハンダの確認もした方が良いと思います。
コメント
ソースファイルを使わせていただきました
ありがとうございます(゚∀゚)
https://twitter.com/coppercele/status/842932804115554305
どうぞどうぞ!
ご自由に使ってくださいませ。
お世話になります
あれから色々魔改造したらこんなふうになりましたw
HTTPのGETのパラメータで通信するのは効率悪いんでどうにかしたいですね(´・ω・`)
https://twitter.com/coppercele/status/844599677869682688
スバラシイ!!
これはUDP通信ですか?
スライダーの縦表示もできるんですね。
client.write でjavascript を吐き出していると辛いと思いますので、私の場合はSDカードから吐き出したりしています。
いずれ、SPIFFSもArduino IDE で出来るようになると思うので、そうするとSDカード要らずになるかも知れません。
大変参考になる記事をありがとうございます。
初心者なのでなにか勘違いしているかもしれませんが、ESP32のデータシートを見ると、GPIO2はデフォルトで内部的にプルダウンされているようです。(https://www.espressif.com/sites/default/files/documentation/esp32_datasheet_en.pdfのp.11)
そのため、改めてGNDラインに接続しなくてもよいのではないかと思うのですが、いかがでしょうか。
匿名さん
記事をご覧いただき有難うございます。
私も基本的に素人です。
この記事を作った当初はあまりよく分かっておらず、とりあえず作成した記事でした。
改めて見直すと、確かにプルダウンされていますね。
抵抗を接続しなくても良いと思われます。
今、私はこの記事の様な不安定なESP32環境を使っておらず、もっぱら ESPr Developer 32 や ESP32-DevKitC、M5Stack を使用しています。
電源周りの安定性が難しく、結局のところ開発ボードを使った方が良いという結論に達しています。
ご指摘ありがとうございました。
記事にはコメントを追記しておきます。