ESPr Developer 32 ( スイッチサイエンス製 ) を使ってみました

ESP32 ( ESP-WROOM-32 )

ESPr Developer 32 をブレッドボードに挿してみる

では、まず、当ブログで何度も紹介していますが、超お勧めのブレッドボードは以下のものです。

サンハヤト SAD-101 ニューブレッドボード
サンハヤト
¥529(2024/04/25 11:55時点)

改めて、なぜこのボードが良いかというと、左右6列のピンがあるところと、抜き差しの感触が良いというところです。

ESPr Developer 32 を挿した様子はこんな感じです。

ESPr Developer 32 は両側とも2列空きます。
ESP32-DevKitC の場合はこのブレッドボードでも片側1列になってしまいます。
分かりにくいと思いますので別の角度から見ると、2列空いているのが分かると思います。

ブレッドボード上部は意外や意外、ESP32-DevKitC と比べてフリーで使えるピンは2列の違いしかありませんでした。
この2列分の差は大きいですが、外径サイズの差から考えると意外ですよね。

その理由は、ESPr Developer 32 ではリセットボタンのところが、ブレッドボード外へはみ出す為です。
Web上の画像だけでは、ちょっと大きすぎると思ったのですが、実際使ってみると、「そういえばそうか・・・」という感じです。

いかがでしょうか。
このように特殊ピンソケットと、サンハヤトのブレッドボードを組み合わせると、GPIO ピンを両側3列使うことができるんです。
なかなか良いと思いませんか?

実際に OLED ディスプレイや micro SD カードスロットを接続するとこんな感じになります。

意外と載るもんですね。
ブレッドボード上のピンにかなり余裕がありますね。
micro SDカードスロットと 小型 SPI通信 OLEDディスプレイくらいならブレッドボード1枚で十分いけます。
これ以上デバイスが増えたら、ブレッドボードに挿さずに、単体でも使おうと思えば使えますね。

ESPr Developer 32の特徴

では、競争が激しい ESP32 関連ボードの中で、この ESPr Developer 32 の特徴を見てみます。
因みに、私はアマチュアですので、もし間違えていたらコメント等でご連絡いただけると助かります。

電源について

まずは、こういうボードで一番大切な電源を見てみます。
今回のこのボードには、他のボードにはあまり見かけないソフトスタート付きの突入電流対策が施されているとのことです。

当ブログでは以前、ESP-WROOM-32 単体で電源を組んだ時の電流値を測定したことがありました。
ESP-WROOM-32 は リセットや Wi-Fi 動作時に400mA ~ 600mA 電流を吸い込むので、その瞬時電流に対応できる LDO 電源レギュレーターが必要でした。

できるだけ高速応答で大電流に耐えうる LDO を選択すると、その分コンデンサ容量計算が難しくなり、誤った選択をすると突入電流が大きくなり、パソコンのUSBポートやACアダプターを故障させる可能性があるということを述べました。
(以下の記事を参照)

●ESP-WROOM-32 ( ESP32 )の消費電流を電流プローブ無しで測定してみました
●ESP-WROOM-32 (ESP32) の 電流 測定 その2
●ESP-WROOM-32 ( ESP32 ) のUSB電源突入電流(インラッシュカレント)を考える
●ESP-WROOM-32 ( ESP32 ) の保護機能付き電源強化対策の実験

最終的には、電源投入時にコンデンサに充電する時間を緩やかにするソフトスタート機能付きパワースイッチIC を使うと良い傾向が得られたのですが、スイッチサイエンスさんのこの ESPr Developer 32 は正にそのチップを使っているとのことです。

パワースイッチICは、USBハブなどでよく使われているものです。
通常、親切なパソコンのUSBポートの出力側にも付いているらしいですが、安価なパソコンやACアダプターには無いかも知れません。

ESP32 はとてもいろいろなことが出来るので、面白半分に3.3V ラインにいろいろなデバイスを接続してしまうでしょう。
そうすると、電圧を安定させたいがためにコンデンサを追加してしまうこともあると思います。
その場合、USB規格の推奨容量を超えてしまって、さらに突入電流が大きくなってしまうことが考えられます。

そうすると、パソコンのUSBポートを破壊する可能性がありますし、また、ESP32 の最低動作電圧下回る電圧ドロップが起きて、ESP32自体が故障することも有り得ます。

多種多様なUSBデバイスに対応し、なおかつPCを故障させないようにするためには、ソフトスタートはやはり必要と思います。

では、下図をご覧ください。

テキサスインストルメンツ社の TPS 2065 DDBVR というパワーディストリビューションスイッチがあります。
出力1Aで、出力短絡保護機能付きですね。
これが、USB電源接続後、ソフトスタートという機能で電圧を緩やかに5Vまで上げてその後段のコンデンサを充電します。
そうすると、パソコン側から突発的な大電流を出力する必要もなく、USBポートを安全に保つことができます。
これはホントに素晴らしいチップですね。

次に、LDO ( ロー・ドロップ・アウト)電圧レギュレーターを見てみます。
DIODES社の AP7361-33E というのがあります。
データシートによると、2.2V~6V という広い入力電圧範囲ですね。
最低が2.2V というのが大事ですね。
逆流阻止ダイオードで4.7Vくらいになっている上に、USBケーブルが粗悪だったり、長かったりすると大電流で電圧降下が起きて、たちまち3V以下になってしまう場合がありますので、この2.2Vというのはかなり厳選してパーツを選んでいると想像できます。

そして、300mA の電流で 150mV の電圧ドロップ、1A で 0.5V の電圧ドロップとあります。
ESP32 の最低動作電圧は2.2 V ですから、3.3V ラインに 1A 流れたとしても 0.5V ドロップで、2.8V と許容範囲です。

私が調べたところによると、ESP-WROOM-32 単体のWiFi 使用時のみの瞬時最大動作電流は 600mA 程だったので、特に問題無い範囲と思われます。
ただ、最大1A のレギュレーターなので、いろいろなデバイスを接続してしまうことを考えると、この電圧ドロップ範囲は結構ギリギリの運用のような気がします。
アナログデバイセズの ADP3338 のように、1A で 190mV しか降下しない LDO がベストなのですが、コストと保護機能を優先したのでしょう。
価格にすると10倍くらいの差がありますからね。

また、このレギュレーターは出力側の2.2 μF 以上のセラミックコンデンサーで安定すると書かれています。
今時の電解コンデンサ不要のレギュレーターですね。
セラコンは素早い応答性で、瞬時の電圧降下でも電流を供給できる長所があるので、それ専用のレギュレーターを使うことは高速CPU 基板には必須でしょうし、基板スペースの点でも有利ですね。

そして、大事なのは、電流制限機能や、サーマル(熱)シャットダウンなどの保護機能がついていることです。
商品にする場合、これは不可欠な機能ですね。
電子工作の場合、どんな使われ方するか分かりませんから・・・。

さて、では、ESP32-DevKitC の場合はどうなのでしょうか。
当然、ソフトスタートなどのチップはありません。
LDO レギュレーターは現在、 NCP1117 です。

データシートによると、電流制限機能やサーマルシャットダウン機能はあるようです。

電流については、1A を超える出力が出ますが、800mA の場合、なんと1.2V もドロップアウト(電圧降下)してしまうとのことです。
これは、3.3V ラインの場合、2.1V まで下がってしまうことになります。
これはいただけませんね。
やはり、こういう高機能マイコンの場合は大電流でもできるだけドロップしない LDOを選ぶべきと思います。
ただ、このチップは安価なので、コストを考えると仕方ないのかも知れません。
その分、3.3V ラインには結構な容量のコンデンサがあちこちに積んでありますので、この LDO の欠点をカバーしているかのように見えます。
ESP32-DevKitC の場合、USB規格の総容量を優に超えていますが、これって、大丈夫なのかな・・・?

USBシリアル変換について

ESP32-DevKItC では、 USBシリアル変換チップは CP2102 を使っています。
これは、Windows PC と相性が良くないという情報がありました。

確かに、今まで私の Windows10 パソコンでは、ESP32-DevKitC でArduino IDE スケッチ書き込みは 115200bps でないと自動遷移書き込みできませんでした。

「自動遷移書き込み」とは、Boot やリセットスイッチを押さなくても、Arduino IDE 画面の書き込みを実行するだけで、自動で書き込みモードに遷移して ESP-WROOM-32 のフラッシュへ書き込める機能のことです。

良く参考にさせていただいているDeko さんの記事 では、ESPr Developer 32 ならば 3,000,000bps の速度で書き込めるとあります。
ESP32_DevKItC の CP2102 の場合は 1,500,000 までは可能ですが、FTDI社の FT231XS ならばもっと速度が出るとのことです。

そこで、私は ESPr Developer 32 に期待してしまいました。
しかし、やっぱりボタンを押さずに自動で115200 より上の書き込みはできませんでした。
電源起動時の最初だけ、たまにボタンを押さずに自動遷移書き込みができる程度でした。

USBケーブルを長いのから短いもの、また、高品質のものから低品質のものまでいろいろ試しましたが、あまり変わりませんでした。

ただ、Flash [ Boot] ボタンを押したまま書き込みをすれば、2,000,000まではできました。

押し続けているという点でいえば、ESPr Developer 32 のスイッチは指にやさしいですね。
ESP32-DevKitC ではボタンが小さくて指が痛くなります。

自動遷移しない原因は良く分かりませんが、おそらく、私のパソコンのUSB ポートのチップが粗悪なのか、または故障しているのではないかと考えられます。
やはり、USBポートについても大手メーカー製パソコンの方が信頼性あるのかな・・・と勝手に思っています。

シリアル送受信 LED インジケーター

ESPr Developer 32 には、ESP32-DevKitC には無い、シリアル送受信用の LED インジケーターが付いています。
こんな感じです。

発売初期のバージョンにしては、適度な明るさで私的には丁度良いです。
初期の ESPr Developer ( ESP8266 ) は眩し過ぎたりしましたが、改良されてリビジョンがアップする度に良くなっていきました。
そのノウハウが生きていると思います。
ESP32-DevKItC の電源LED 表示は私にはちょっと眩し過ぎます。

このシリアルインジケーターは ESP32-DevKitC には無いのですが、パソコン画面を見なくても、Arduino IDE のシリアルモニターに出力されていることが分かり、ハングアップしていないことが確認できて、あると便利なものです。

コメント

タイトルとURLをコピーしました