ハロー ブログ

日々のつぶやき @c2c2c2c221

Robiサーボ制御( Bingに聞いてみました)

RS304MDのプロトコルについて説明します。

RS304MDは、TTLコマンド方式とPWM方式の両方に対応したロボット用サーボです12。TTLコマンド方式とは、サーボに対してシリアル通信で指令値を送る制御方式です。PWM方式とは、サーボに対してパルス幅を変えることで電流の時間を変化させる制御方式です。

TTLコマンド方式では、RS304MDは以下のようなプロトコルで通信します3。

ボーレート:115200bps データ長:8bit パリティ:なし ストップビット:1bit フロー制御:なし TTLコマンド方式では、以下のような形式で指令値を送ります3。

開始バイト IDバイト データ長バイト 命令バイト パラメータバイト(複数可) チェックサムバイト
0xFF 0xFF 0x01~0xFE(サーボID) 2~n(データ長) 0x01~0x1F(命令種別) 任意の値(パラメータ) (ID + データ長 + 命令 + パラメータ) の下位8bitの補数

PWM方式では、RS304MDは以下のようなプロトコルで通信します2。

周波数:50Hz サイクル時間:20ms オフセット角度:150° 最小パルス幅:600μs(-90°) 中間パルス幅:1500μs(0°) 最大パルス幅:2400μs(+90°) 以上が、RS304MDのプロトコルについての説明です。

受信したメッセージ. RS304MDのプロトコルについて説明します。 RS304MDは、TTLコマンド方式とPWM方式の両方に対応したロボット用サーボです 。TTLコマンド方式とは、サーボに対してシリアル通信で指令値を送る制御方式です。PWM方式とは、サーボに対してパルス幅を変えることで電流の時間を変化させる制御方式です。 TTLコマンド方式では、RS304MDは以下のようなプロトコルで通信します。

  • ボーレート:115200bps
  • データ長:8bit
  • パリティ:なし
  • ストップビット:1bit
  • フロー制御:なし

TTLコマンド方式では、以下のような形式で指令値を送ります。

開始バイト IDバイト データ長バイト 命令バイト パラメータバイト(複数可) チェックサムバイト
0xFF 0xFF 0x01~0xFE(サーボID) 2~n(データ長) 0x01~0x1F(命令種別) 任意の値(パラメータ) (ID + データ長 + 命令 + パラメータ) の下位8bitの補数

PWM方式では、RS304MDは以下のようなプロトコルで通信します。

  • 周波数:50Hz
  • サイクル時間:20ms
  • オフセット角度:150°
  • 最小パルス幅:600μs(-90°)
  • 中間パルス幅:1500μs(0°)
  • 最大パルス幅:2400μs(+90°)

以上が、RS304MDのプロトコルについての説明です。

詳細情報:

  1. futaba.co.jp
  2. vstone.co.jp
  3. rc.futaba.co.jp

切り替えプロトコルとは、サーボの通信方式をTTLコマンド方式とPWM方式の間で切り替えるためのプロトコルです。

切り替えプロトコルでは、以下のような形式で指令値を送ります。

開始バイト IDバイト データ長バイト 命令バイト パラメータバイト(複数可) チェックサムバイト
0xFF 0xFF 0x01~0xFE(サーボID) 3(データ長) 0x03(命令種別) 0x00~0x01(パラメータ) (ID + データ長 + 命令 + パラメータ) の下位8bitの補数

パラメータが0x00の場合は、TTLコマンド方式に切り替えます。パラメータが0x01の場合は、PWM方式に切り替えます。