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

ESP32につないだDCモーターとサーボモーターをM5Stackのスライダーで制御

DCモーター、サーボモーターPWM

 

前回、M5StackのスライダーでESP32のDCモーターをPWM制御させてみました。↓

 

今回は、DCモーター+サーボモーターを制御させてみます。

M5Stackに2つスライダーを用意しているので、左側の縦向きのスライダーをDCモーター、右側の横向きのスライダーをサーボモーターの制御として使用します。

 

 

初めに

概要

UDP通信でM5Stackのスライダーの値をESP32に転送し、ESP32は受信した値に応じて各モーターを制御します。

M5Stack ⇒ UDP ⇒ ESP32 ⇒ モーター

左側のスライダーは前回と同様DCモーターの制御、上にスライドで正転、下にスライドで後転、真ん中辺りで停止とします。

右側のスライダーはサーボモーターの制御で、左いっぱいが0度、中央が90度、右いっぱいを180度とします。

 

構成

・ESP32

・M5Stack core2

・DCモーター

・DCモータードライバ

・サーボモーター

・ブレッドボード、ジャンピングワイヤ

 

 

プログラム

クライアント側、M5Stack core2(micropython)

前半は過去記事で解説しているので割愛します。

Slider2のレンジを40~115としているのは、ホビー用サーボモータは、約 40〜115 のデューティを必要とし、77 を中心値としている為です。(0度~90度~180度に近い動きとなります。)

メインループでDCモーターとサーボモーターのスライダーの値をESP32に転送しています。

 

サーバー側、ESP32(micropython)

PWM制御のため、DCモーターには5KHz、サーボモーターには50Hzを定義しています。

ループ内では随時M5Stackからスライダーの値を受信し、DCモーターとサーボモーターの制御を行っています。

 

 

完成

2つのモーターを制御できています。↓

 

次回はステアリング付のラジコンキットを改造し、ESP32を載せてM5Stackのスライダーで操作できるラジコンを完成させたいと思います。

 

 

 

コメントを残す

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