ついにガチのロボットモータを手に入れた
ー ROBSTRIDE 05 ー

Home > 電子工作 > ついにガチのロボットモータを手に入れたー ROBSTRIDE 05 ー
すき 0
うんこ 0

ついにHomeMadeGarbageがガチのロボットモータを購入しましたよ。

 

いろいろおいじりしたので報告します。

 

AudiostockでBGM・効果音を販売中!

ROBSTRIDE 05

ROBSTRIDE 05 は遊星ギアとコントローラが一体となったロボット向けQDD (quasi-direct drive) モータです。

この手のモータもだいぶ手ごろとなり既存のロボット用サーボとの価格差が縮まっています。
ホビーユースへの敷居がかなり低くなってきております。

そこであまり裕福でない HomeMadeGarbage もこの度 購入させていただきました。

 

おいじり

 

モータのほかに簡易な説明書とコネクタが同梱されておりました。

CAN通信

早速 CAN通信で ROBSTRIDE 05 のIDでも覗き込んでやろうと思います。

 

CAN通信はコントローラボードを介してM5Stack ATOMで実施 (電源は15V 印加)

 

 

しかし、見慣れないビット数の信号が帰ってきて調べてみたところ ROBSTRIDE 05 の CAN 通信は
拡張フォーマット (29bit) というものを使っていることが分かりました。

 

途方に暮れつつネットをさまようとマニュアルを発見できました。

こちらにプロトコルも明記されていましたので、以後これをもとに解析を進めました。

 

CAN ID

早速マニュアルのプロトコルをもとにIDをゲットして かつIDを変更できるコードを作成 。

といってもマニュアルをChatGPTにつっ込んでコードを生成してもらっただけです。

 

CAN通信はESP32のTWAI (Two-Wire Automotive Interface) ドライバを使用

CANボードの接続は以下で実施
 TX:IO 25
 RX:IO 21

シリアルコマンド “G” でID表示 (GET_ID = 0x00)
 デフォルトのモータIDは 0x7F (127) でした。

シリアルコマンド “S <hex>” でID変更 (SET_ID = 0x07)
 <hex>:0x00~0x7F

 

エンコーダ値

CAN IDを取得してROBSTRIDE 05 と会話ができるようになったので
エンコーダ値を取得してみます。

 

シリアルコマンド “G” でID表示 (GET_ID = 0x00)
 デフォルトは 0x7F (127)

シリアルコマンド “P <hz>” でモータ機械角 [rad]、回転速度 [rad/s] 表示 
 <hz>:1〜500Hz  デフォルト 50Hz

シリアルコマンド “S” でエンコーダ表示停止

動作

 

回転角制御

ついに回転位置を指定してROBSTRIDE 05 を回します。

 

シリアルコマンド “G” でID表示 (GET_ID = 0x00)
 デフォルトは 0x7F (127)

シリアルコマンド “L <rad_s>” で回転速度 [rad/s] 上限値設定

シリアルコマンド “A <deg>” 回転位置指定

動作

 

姿勢制御モジュール

ROBSTRIDE 05と私との距離がおもくそ縮まったのでサクッと姿勢制御モジュールにしてみました。

 

ATOM Matrixを用いて内蔵IMUの姿勢情報やモータ回転速度を検知して倒立してます。

 

QDD (準ダイレクトドライブ)とはよく言ったもので、トルクはもちろんのこと応答も素晴らしいです。

これができてしまえば ROBSTRIDE 05と私はすでに一心同体であると言えます。

 

おわりに

ここではガチ ロボットQDDモータ ROBSTRIDE 05 を入手し動作を楽しみました。

動かし方はおおむね理解できましたので、さらに制御ループのパラメータ調整などの細かいところも確認していきたいと考えています。

それではまた

コメントはこちらから

メールアドレスが公開されることはありません。コメントのみでもOKです。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください