ESP-WROOM-32 ラジコンクローラー試作

ESP32の無線基板を使用したラジコンクローラーの紹介です。

コントローラーは、プレステ3のコントローラーとBluetoothで接続しています。

これだけでは、巷のネット記事であふれている試作内容と変わらないのでスタッフブログで紹介するまでもないのですが、単一電源で全てを賄っている点はアピールポイントとなります。

当医院でも販売しているArduino Pro mini用のUSBホストシールドでBluetoothのUSBドングルでPS3のコントローラーと接続した同じような試作と行っておりました。

それぞれのざっくりとした構成です。

ESP32クローラーラジコン構成

  • ESP-WROOM-32基板
  • MX1616Hモータードライバ基板
  • 3.3V昇圧基板
  • 10000uF電解コンデンサー
  • Panasonic eneloop 4本
  • タミヤ 楽しい工作キット

Arduino pro miniクローラーラジコン構成

  • Arduino primini
  • USBホストシールド
  • MP4212 自作モータードライバ
  • 5.0V昇圧基板
  • 47uF電解コンデンサー
  • Bluetoothドングル
  • Panasonic eneloop 4本
  • タミヤ 楽しい工作キット
PS3 ラジコン

MP4212のモータードライバーと5.0V昇圧基板は、1Fに設置しています。

Promini版のラジコンクローラーは、priminiとUSBホストシールドなどが二階建てで、モータードライバ基板も1Fにあったりとやや複雑でした。

今回のESP32のラジコンクローラーは、USBドングルとUSBホストシールドおよびArduino promini部分がESP32基板に集約でき一体化しておりますので、かなり省スペース化ができます。

ということで今回の記事となりました。

ただ、USBホストシールド版と同様にモーターの起動電圧降下による瞬停(ペアリング解除)を防ぐ電源設計が一番の難点でした。というのは、ラジコンを設計された経験があれば以下のような事態に遭遇します。

トイラジコンのような、いわゆる受診のみに特化したラジコンであれば、Bluetoothのようなペアリングは不要であるので、瞬低によるペアリング解除の心配はありません。

ですが、コントローラーとしてPS3のコントローラーを使用する場合は、このペアリング問題を解決しないといけません。

とうことで、コンセプトは、モーター起動時の電圧低下を補間できるように昇圧回路と特大電解コンデンサーで解決します。

ESP32用電源

1.2V * 4本 = 4.8V eneloop → ショットキーバリアダイオード Vf=1.2Vで3.6Vまで降圧します。

この3.6Vは、ESP32の最大定格ギリギリで印加します。

MX1616Hモータードライバ電源

MOSFETのVDDに1.2V * 4本 = 4.8V eneloopの電源をそのまま印加します。

ロジックの制御側のVCCには基板上の高圧抵抗で減圧された電源が印加されます。


恐らくここまでの電源設計は、誰でもできるかとは思いますが、この状態ではモーター起動時に大きい電圧降下を招きESP32が再起動しペアリングが解除されます。

参考までにESP32の3.3Vをモニターした波形が以下です。

低下後、復帰しますが、速度追い付かずペアリングが解除されます。

そこで、USBホストシールド版のラジコンクローラーでも適用した昇圧回路を挿入します。

Vf=1.2Vショットキーバリアダイオード → 3.3V昇圧回路 → ESP32

ですが、これでも昇圧回路の復帰速度が間に合わず瞬低でペアリングが解除されます。

最後に、3.3V昇圧回路の出力側に大きな電解コンデンサーを挿入します。

いろいろ試してみたのですが、10000uFの電解コンデンサーでやっと電圧補償が間に合い瞬低時でもペアリングが解除されなくなりました。



PS3コントローラーとのぺリング方法の事前設定などやノイズ取り用のコンデンサーの使い方などは、もちろんご経験があるという前提という記事となります。

PWMとは?とか、モーターのブラシノイズとは?とか、突入電流とは?という方は、それらを習得してから再度お読みください。