FUTABA RS303MR, RS304MD, RS306MD
FUTABAのコマンドサーボモーターには上記の3線半二重TTL通信のシリーズと4線RS485方式のものがあります。
このうち3線半二重TTL通信のシリーズについて、ESP32DevkitCと接続して強力なサーボ設定が行えるMADIwriteというツールをつくってみました。
MADIwriteの強力なところ
- 設定通信速度やIDが不明なサーボも一発で復活できます。
- 通信速度を公式の3倍の691,200bpsまで設定可能です。
- ファクトリーリセットが可能です。
- その他のサーボ設定も変更可能です。
使い方
サーボを1個だけ接続し、ソースコードにサーボ設定を書き、ボードに書き込みます。
書き込み後にサーボが動けば成功です。
サーボは+60度→-60度→0度→(休止)→+60度... と繰り返し動くので、回転方向の設定についても目視確認できます。
また0度の時にサーボ線を抜けばセンター出しにもなります。
しくみ
新しい通信速度の設定について、可能性のある通信速度の全種類のについて書き込みとリブートを繰り返すため、書き込み終了時には指定した通信速度になるというからくりです。
ESP32は通信速度が速いため、Arduinoでは難しいサーボの上限までの通信速度設定ができます。(Arduinoでもサーボの高速通信の設定はできますが、設定後の速度にArduinoが追いつけないため戻せなくなります。)
Teensy等でもシリアルやENピンを変更すれば使えると思いますがまだ試していません。
今後
接続中のサーボの全インフォメーションを取得できるようにしようと思っています。
現在はある程度のデータをサーボ自体から読み込み、表示するようにしてあります。
