ESP32でミニカーを作る #6 ミニカーの動きの実装と電源の見直し(おおたfab 電子工作初心者勉強会)

ESP32

おおたfabさんでは電子工作初心者勉強会を定期的に開催しています。

前回はミニカーのESP32マイコンに接続した超音波センサーで障害物を検知して停止することができました。今回はミニカーとして前後左右、左右回転の動きを実装し、課題だったマイコンの電源の見直しを行います。

ミニカーの動きを実装する

これまでミニカーの動きは左方向と右方向しかなく、それを繰り返すことでジグザク走行を行っていました。通常考えられるミニカーの動きをすべて実装しておきます。

まず考えられる動きを表にまとめました。

これに従って実装していきます。なお、参加者からOLEDで距離を棒グラフで表示したプログラムを提供いただきました。GFXのライブラリを活用しているものです。このプログラムもミニカー本体のプログラムに組み込むことで、OLEDの表示がリッチになりました。

実装したプログラムは以下のようになりました。サンプルとしてメインルーチンからそれぞれの動きを実行するようにしています。

ソースコードはこちら(esp32_mouse2_move_to_4_direction_and_rolate.ino)

マイコン電源の見直し

これまでに実験で課題となっていたのがマイコンの電源です。単三電池2本から昇圧してUSB 5Vを出力する簡易充電器を使用してUSBコネクタから供給していましたが、実際に動かしていると電源が不安定で急にマイコンが停止し制御不能になることが見受けられました。実はXIAO ESP32にはリポバッテリーを接続することができるのですが、実験中にショートしてしまった場合は危ないので、乾電池でまとめたいところです。秋月電子のページを見ていたところ006P電池に直接取付ができる5V安定化電源キットがありました。

006P安定化電源モジュールキット(5V出力): キット一般 秋月電子通商-電子部品・ネット通販
電子部品,通販,販売,半導体,IC,LED,マイコン,電子工作006P安定化電源モジュールキット(5V出力)秋月電子通商 電子部品通信販売

これなら取り扱いが簡単です。これをミニカーに実装することにしました。

XIAO ESP32C6に外部電源を接続する場合は5Vの端子から供給すればよいようです。ただしマニュアルには以下の記述があります。

5V – これはUSBポートからの5V出力です。電圧入力としても使用できますが、外部電源とこのピンの間に何らかのダイオード(ショットキー、信号、電力)を配置する必要があります。アノードをバッテリーに、カソードを5Vピンに接続してください。

逆流防止のダイオードが必要です。これは手持ちの1N4148を使いました。

汎用小信号高速スイッチング・ダイオード 1N4148 100V200mA: 半導体 秋月電子通商-電子部品・ネット通販
電子部品,通販,販売,半導体,IC,LED,マイコン,電子工作汎用小信号高速スイッチング・ダイオード 1N4148 100V200mA秋月電子通商 電子部品通信販売

次の図のように接続することにしました。

新しいマイコン電源の実装

この新しいマイコン電源をどのように実装するかを試行錯誤して最終的にはブレッドボードとモーター用バッテリーボックスの間に挟むように取り付けることにしました。この配置だと電源スイッチが少し操作しにくいのですが、電源基板が金属部分に触れてしまうことを防ぐことができます。

これでミニカーのハードウェアは完成しました。最後に両面テープでアクリル板に固定して落下しないようにしておきました。

2台で動かしてみましたが、同じプログラムなのに動きが違います。どうやらモーターの配線で極性が合っていないようです。次回見直したいと思います。

次回

ハードウェアはほぼ完成したので、今後はソフトウェアでどこまで自律走行ができるかを試してみます。次回はこのミニカーが袋小路を脱出することを考えてみます。

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