ESP-WROOM-02搭載移動ロボット - ハード編
はじめに
今回のモチベーションはネットワークにつながる移動ロボットをできるだけ安く、お手軽に作ることです。そのため、ESP-WROOM-32よりも安価なESP-WROOM-02をマイコンとして使うことにしました。また、(ロボット本体にかかる)値段を削るために、開発ボードは買わずにマイコンとUSBシリアル変換モジュール別々で購入しました。結論からいいますと(どんぶり勘定ですが)ロボット本体にかかった値段は4500円くらいです(そのうち車輪やボディーキットやバッテーリーで約3000円もかかりました、、)。制作はそこそこお手軽にできました。USBシリアル変換回路で若干手間取りましたが、それ以外は特に難しくなかったです。
この記事ではESP-WROOM-02を搭載した移動ロボットの作成方法(主にハード面)について説明していきます。後半の記事でMQTTを用いた制御方法を説明します。
ESP-WROOM-02とは
Wi-Fi接続できるESP8266ベースのマイコンボード(技適取得済み)です。Arduinoスケッチを書き込むことができます。同種の類でESP-WROOM-32というものがあります。ESP32ベースのマイコンボード(技適取得済み)で、こちらはWi-FiとBluetoothが利用できます。ESP-WROOM-02と比べると少し高価です。
ESP8266EX(SoC、32bit MCU)を搭載したWiFiモジュールです。SPI、UART、I2C、I2S、IrDA、PWM、GPIO、SDIO、10ビットADコンバータなど、多彩なインターフェースが内蔵されています。TCP、UDPをサポートしています。
数百円で売られており、非常に安価です。
ブレッドボードを使用する場合は、以下のT型基板などが使えます。
回路の作成
今回はユニバーサル基板を用いて回路を作成しましたが、ブレッドボードを用いた方がはんだ付けの作業がない分、楽に作成できます。
部品、機材の価格は2021/05/18現在のものを参照しています。
モーター制御
ESP-WROOM-02とデュアルフルブリッジドライバNJM2670D2を用いて、2つのモーターを制御する回路を作成します。
単価 | 品名 | 個数 | 備考 |
---|---|---|---|
650円 | Wi-Fiモジュール ESP-WROOM-02 DIP化キット | 1 | |
40円 | 丸ピンICソケット(18P) | 1 | ESP-WROOM-02を抜き差しする用 |
300円 | デュアルフルブリッジドライバ NJM2670D2 | 1 | |
--- | 10Kオームの抵抗 | 5 |
ESP-WROOM-02
「ESP-WROOM-02を使ってみる」を参考にさせていただきました。
NJM2670D2
NJM2670は耐圧60Vの汎用Hブリッジドライバ。2個の単相DCモータをドライブできる。
「NJM2670D2 データシート」を参考にさせていただきました。
配線
電源の接続
モーターの接続
USBシリアル変換
パソコンとESP-WROOM-02を接続するためのUSBシリアル変換回路を作成します。ESP-WROOM-02にプログラムを書き込むときに使います。
単価 | 品名 | 個数 | 備考 |
---|---|---|---|
950円 | FT232RL USBシリアル変換モジュール | 1 | |
110円 | USBケーブル USB2.0 Aオス-ミニBオス 1.5m A-miniB | 1 | |
40円 | 丸ピンICソケット(18P) | 1 | ESP-WROOM-02を抜き差しする用 |
60円 | 丸ピンICソケット(24P)600mil | 1 | FT232RL USBシリアル変換モジュールを抜き差しする用 |
10円 | タクトスイッチ(黒色) | 1 | リセットボタン用 |
25円 | 小型スライドスイッチ 1回路2接点 SS12D01G4 | 1 | 実行・書き込みモードの切替用 |
--- | 10Kオームの抵抗 | 5 |
配線
USBシリアル変換モジュールのIO0をプルアップさせると実行モード、プルダウンさせると書き込みモードになります。モードを変更する場合はリセットボタンを押して(RSTをGNDに繋げて)、一度リセットする必要があります。
「パソコンとESP-WROOM-02をUSBシリアル変換で接続する [ATコマンド]」を参考にさせていただきました。
電源
5V(モバイルバッテリー)の電源をレギュレーターで3.3Vに降圧する回路を作成します。5Vはモータードライバの出力側電源として、3.3Vはマイコンの電源やモータードライバのロジック側電源として使用します。
単価 | 品名 | 個数 | 備考 |
---|---|---|---|
130円 | 電源用マイクロUSBコネクタDIP化キット | 1 | モバイルバッテリーからUSB給電する |
100円 | 低損失三端子レギュレーター 3.3V1A TA48033S | 1 | ESP-WROOM-02に3.3Vが必要 |
配線
「TA48033S PDFデータシート」を参考にさせていただきました。
その他機材
単価 | 品名 | 個数 | 備考 |
---|---|---|---|
800円 | ニクロムはんだこて KS-30R(30W) | 1 | ユニバーサル基盤を使用する場合必要 |
210円 | はんだ 0.8mm | 1 | ユニバーサル基盤を使用する場合必要 |
270円 | ブレッドボード EIC-801 | 1 | |
60円 | 片面ガラスコンポジット・ユニバーサル基板 Cタイプ めっき仕上げ (72×47mm) 日本製 | 3 | |
約1600円 | BUFFALOのモバイルバッテリー | 1 | |
1519円 | Aideepen UNO ロボットキット スマートロボットカー、スピードエンコーダー + バッテリーボックス + 65x26mmタイヤ付き | 1 | |
230円 | スズメッキ線(0.6mm 10m) | 1 | ユニバーサル基盤を使用する場合必要 |
組み立て
ネジや結束バンドを用いて部品を固定しました。ジャンパー線で配線してあります。
プログラムの書き込み
ここではArduino IDEを用いて移動ロボットが前進する簡単なプログラムをESP-WROOM-02に書き込んでいきます。
環境
Windows 10 Home
Arduino IDEのインストール
「Arduino IDEのWindows10でのインストール(2020/05/04版)」を参考にさせていただきました。
Arduino IDEのセットアップ
「Arduino IDE で ESP-WROOM-02 にプログラムを書きこむ手順」を参考にさせていただきました。
書き込み
以下のコードをマイコンボードに書き込む
// the setup function runs once when you press reset or power the board
void setup() {
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(12, OUTPUT);
pinMode(13, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(12, HIGH);
digitalWrite(13, HIGH);
}
まとめ
今回はESP-WROOM-02を搭載した移動ロボットを作成し、マイコンを起動させると前進する簡単なプログラムを書き込んでみました。今回のモチベーションはロボットをできるだけ安く、お手軽に作ることでした。結果、ロボット本体の値段は約4500円でした。それなりに費用がかかってしまいましたが、その多くは車輪やボディーやバッテーリーだったので改善の余地はありそうです。USBシリアル変換回路の配線やユニバーサル基盤への実装は少し大変でしたが、全体としてはそこそこお手軽に制作できました。
続き、ESP-WROOM-02搭載移動ロボット - MQTT制御編
参考
- https://www.petitmonte.com/robot/esp_wroom_02_at_command.html
- http://eleclog.quitsq.com/2015/08/esp-wroom-02.html
- https://qiita.com/umi_kappa/items/ac3d37db44a2dcfe71fd
- https://akizukidenshi.com/download/ds/jrc/njm2670.pdf
- https://www.petitmonte.com/robot/esp_wroom_02_at_command.html
- https://akizukidenshi.com/download/ta48033s.pdf
- https://haibara-works.hatenablog.com/entry/2018/12/09/232941
- http://independence-sys.net/main/?p=5322
- https://qiita.com/bluemooninc/items/52978768b15f961907f5
Discussion