2021/12/15 よりサイトリニューアルしました

ESP32でDCモーターとサーボモーターをPWM制御、ステアリング付ラジコンの作成(micropython)

ESP32ステアリングラジコン

 

前回、ESP32でDCモーターとサーボモーターの制御を行いました。↓

 

今回は市販のバギー工作セットにESP32を載せて、ステアリングと前進後退の制御を出来るようにしてみます。

コントローラーは前回と同じく、M5Stack core2のスライダーで行います。

 

 

おおまかな概要

使う物

・ESP32

・M5Stack core2

・DCモーター

・サーボモーター

・ブレッドボード、ジャンパーピン

・バッテリー

・タミヤバギーカークラシックセット

・ステアリング固定部品(3Dプリンターで印刷します)

 

構成

M5Stack ⇒ UDP ⇒ ESP32 ⇒ モーター制御

M5Stackのスライダーの情報をUDPでESP32に転送し、値に応じてESP32がモーターを制御します。左のスライダーでDCモーター、右のスライダーでサーボモーターを制御できるようにします。

市販のバギーセットを組立て後、ESP32を載せます。

ステアリングとサーボモーターの固定には別途部品が必要なので、3Dプリンター等で作成する必要があります。

今回は後述するPCN金沢さんのものを利用させていただきました。ありがとうございますm(__)m

 

 

ステアリング

https://twitter.com/ketunorobio/status/1504988667085049856

サーボモーターとの固定

PCN金沢さまのサイトにて以下のタイムリーな記事を見つけましたので参考にさせて頂きました。

3Dプリンタで ステアリング操舵パーツを作ってみた

なんとSTLデータを公開して下さっていて、ご自由にお使い下さいとのこと。。控えめに言って神です。

PCN金沢さま、ありがとうございますm(__)m

少し改造しましたが、基本的にPCN金沢さまのデータで固定が可能です。素晴らしい。

 

 

プログラム

M5Stack core2(micropython)

バギーカーのギア比だとスピードが出過ぎたので、DCモーターのデューティー比となるスライダーの値を700に下げています。

ステアリングの角度は曲げすぎると本体に当たってしまうので、通常40〜115(0~180度)のデューティー比ところを67~93に狭めています。

この辺りは良い塩梅で調整していただければと思います。

他はほぼ過去記事と同じなので説明は割愛します。

ESP32(micropython)

M5Stackからのスライダーの値が、サーボモーターの場合今回の機構だと反転(右にスライドで左に傾く)するので、それを逆にするために上記のような感じになっています。

それ以外はほぼ過去記事と同じなので説明は割愛します。

 

 

ESP32ステアリング付ラジコン

こんな感じで制御できています。↓

https://twitter.com/ketunorobio/status/1505722496246448131

 

 

 

 

2 COMMENTS

天野洋二

一連の記事随分と参考になりました。今までArudinoでC++で動かせていましたが、今回学習を兼ねてPYTHONを習得しています。今後のご活躍を期待しています。有難うございました。

返信する
ketunorobio

天野さま
はじめして、管理人です。
そう言っていただけると本当に励みになります、こちらこそありがとうございます。m(__)m

返信する

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です