はしもとの自作マウス研修

回路設計の最後、ESP32周りの回路 – はしもとの自作マウス研修 Part18

はしもとの自作マウス研修

はしもとの自作マウス研修一覧

こんにちは!はしもとです。
前回は、LEDの抵抗値を適切に計算してインジケータの回路設計を行いました。
普段あまり深く考えずに抵抗値を決めているときがあったので、これを機に理解を深められてよかったです。

今回は、ESP32周りの回路を設計していきます。

ESP32をマイクロマウスで使う理由

理由はWi-Fi通信機能を使いたいからです。エンコーダや赤外線センサの情報をSTM32からESP32に送り、それらの情報をESP32のWi-Fi通信を使ってWEBブラウザ上に表示し、マウスの現在状態を可視化することでデバッグをしやすくできればと考えています。

ESP32とSTM32とのWi-Fi通信の具体的な方法は事前に確認済みです。
下記のブログにまとめています。
ESP32を使ってSTM32のWi-Fi通信① – はしもとの自作マウス研修 Part6
ESP32を使ってSTM32のWi-Fi通信② – はしもとの自作マウス研修 Part7

回路設計

ESP32まわりの回路

実際に設計した回路はこちらです。
今回はESP32をWi-Fiモジュールとして使い、センサ値の送受信やモータ制御などには使わないため、限られたピンしか使用していないです。具体的にどのように使うかというとは、ファームウェアをESP32に書き込んで、UARTピンを使ってSTM32と通信します。このあたりは過去のブログに詳細を書きました。

次に、今回使用したピンと用途についてです。

  • UART x 2
    • STM32との通信用
    • ファームウェア転送用
  • VDD/GND
    • 電源供給用
    • 電源3.3Vに取り付けるパスコンは、ESP32 Module Micro USB 5V&USB-UARTに書かれたESP32 Module(下図)を参考にしました

      https://dl.espressif.com/dl/schematics/esp32_devkitc_v4-sch.pdf

  •  EN
    • リセットボタン
      このボタンを押すことでESP32を再起動させることができます
    • 上記のデータシートのESP32 Moduleを参考に、EN端子にプルアップ抵抗を付けます
  • Boot

ソフト書き込み回路

ソフト書き込み回路全体

以前のブログでは、ESP-WROOM-32開発ボードと開発用PCを超小型USBシリアル変換モジュールやUSBケーブルを使って接続し、書き込みツールを使って、ESP32にファームウェアの書き込みを行なっていました。

マウス基板に実装するESP32でも同様のことができるように、ソフト書き込み用の回路設計を行いました(下図)。
次に機能ごとに回路の解説を行います。

USB-Serial変換回路

ソフト書き込み用スイッチ回路

shotaさんの回路を参考にしました。

  • 手動ソフト書き込み用のスイッチ回路

    • ”ESP32まわりの回路”の章で紹介したEN/Bootピンをスイッチを使って手動で切り替えることでソフトの書き込みを行う
  • 自動ソフト書き込み用のスイッチ回路

    • 先程の手動切り替えの場合、Bootボタンを押した状態でENを押す必要があり、ソフトを書き込むために2つのスイッチを操作しないといけないので、少し手間がかかります
    • そこで、USBシリアル変換IC FT232RLから出力されるDTR(Data Terminal Ready)とRTS(Request To Send)を使って、BootとENのON/OFF制御をすることで自動でソフトを書き込めるようにします
    • DTR信号は、ESP32が「電源が入ってポートが開かれているかどうか」を通信相手に示すための信号です
      RTS信号は、ESP32が「受信バッファに十分な空きがあり、データの受け入れ可能かどうか」を通信相手に示すための信号です
    • この回路の詳細は、ESP8266にDTRとRTSで自動書き込みをする – プログラミングな日々 – DTRとRTSを使ったリセット回路に詳しく書かれています

まとめ

今回は、ESP32周りの回路設計について書きました。
使用するピン機能が少なかったので、設計する回路はSTM32と比較するとかなり少なく済みました。また、自動ソフト書き込み用のスイッチ回路のところでは、DTRやRTSの存在すら知らなかったので、勉強になりました。

ここまでで、自分が行なった回路設計は以上となります。
次回からは、これらの設計した回路を実際の基板上に配置するための基板設計について書いていけたらと思います。

それではまた〜!

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