!!暫定版注意!!

ショップページへ

Dynamixelシリーズ一覧

特徴 anchor.png

dynamixelpro_mainrq.png
  • 連続トルク10.1N•m
  • 低バックラッシュなサイクロイド減速機装備
  • 不感帯なし(0~360°)
  • RS-485 I/Fによる高速通信
  • 一般的なPID制御による位置決め制御・速度制御・トルク制御
Page Top

仕様 anchor.png

Page Top

同梱内容 anchor.png

型式・名称等数量備考
本体1-
Robot Cable-4P 600mm1-
外部電源ケーブル 2P 600mm1-
ボルト1式-
Page Top

基本仕様 anchor.png

商品番号BTX___
連続トルク10.1N•m (at 24V 3.0A)
無負荷回転数33.1rpm (at 24V)
減速比1/251.4
エンコーダ分解能251417ppr
バックラッシュ3.8arcmin
最大動作角度位置決め制御時:0~360°, Endless Turn
標準電源電圧24V
動作温度範囲5~+55℃
重量853g
コマンドシグナルデジタルパケット
プロトコル半二重非同期通信 8-1-N
リンク方式RS-485 Multi Drop(daisy chain type Connector)
ID数253 (ID=0~252)
通信速度9.6k,57.6k,115.2k,1M,2M,3M,4M,4.5,10.5Mb​ps
フィードバック位置, 速度, 温度, 電源電圧, 電流
動作モード電流, 速度, 位置, 拡張位置
材質ケースアルミ
ギアメタル
認証ce.pngfcc.png

[Upload]
Page Top

Dynamixel通信プロトコル 2.0 anchor.png

Dynamixel X及びPROシリーズ共通の通信プロトコルです。また、Dynamixel MXシリーズのファームウェアをV2対応版に書き換えた際にも適用されます。

Page Top

ID anchor.png

Dynamixelでは複数のデバイスを同じネットワークに接続して運用する事を前提としているため、各々のデバイスを区別するためにユニークなID番号を用いる事としています。
また、ホストは任意のIDを持ったデバイスを指定して命令し、指定されたIDに一致したデバイスがそれに応答するといったマスタースレーブ方式を採用しています。

RS485_X_DifferentID.png

なお、複数のデバイスに同じID値が付けられている事は前提としていないため、1つのネットワークに同一IDを持つデバイスが複数存在してはなりません。

Page Top

コントロールテーブル anchor.png

デバイスの情報はメモリマップでとして提供されており、それをコントロールテーブルと称します。
複数の情報はコントロールテーブル上の異なるアドレスに割り当てられており、必要に応じてホストから任意のIDを持ったデバイスの任意のアドレスへアクセスします。

Page Top

パケット通信 anchor.png

ホストとデバイス間は一般的なシリアル通信を行うハードウェアで接続され、パケット単位で処理される共通の通信プロトコルを用いて相互に情報をやりとりします。
ここではホストからデバイスへ送信されるパケットを「インストラクションパケット」、デバイスからホストへ送信されるパケットを「ステータスパケット」と称します。

DxProt1.png

ホストから送信するインストラクションパケットの主な機能はIDの指定とコントロールテーブルの任意のアドレスへのデータの読み書きとなります。そのパケットに対して応答すべきデバイスから返信されるステータスパケットには、ホストから読み出し要求されたコントロールテーブル内のデータや、書き込み要求に対する整合性の結果などが含まれます。

Page Top

パケット詳細 anchor.png

以後16bit幅のパラメータはリトルエンディアン(データの下位バイトから順に格納)で指定するものとし、「0x」が付与された英数字は16進数、そうでないものは10進数とみなします。
また、デバイスのコントロールテーブル上のStatus Return Levelによってパケットの有無が異なります。

Page Top

インストラクションパケット anchor.png

インストラクションパケットはホストからデバイスへ命令するためのパケットです。
パケット構造は以下の通りで、囲み1つが1byteを意味します。例外についてはこちらを参照します。

inst.png
  • Header,Reserved
    先頭4バイトは0xFF,0xFF,0xFD,0x00の固定値。
  • ID
    送信先のデバイスのID。0~252(0x00~0xFC)の範囲及び254(0xFE)。
    254のIDは1回のインストラクションパケットで複数のデバイスに対して命令を発効する際に使用。
  • Length
    Instruction以後の全てのバイト数(16bit幅)。
  • Instruction
    以下のいずれかのインストラクション。
    InstructionFunctionValueNumber of Parameter
    PINGデバイスの死活確認0x010
    READコントロールテーブルからの読み込み0x024
    WRITEコントロールテーブルへの書き込み(即時反映)0x033~
    REG WRITEコントロールテーブルへの書き込み(保留)0x043~
    ACTIONREG WRITEで保留された値を反映0x050
    FACTORY RESETデバイスのコントロールテーブルの値を出荷時デフォルト化0x061
    REBOOTデバイスの再起動0x080
    SYNC READ複数デバイスの同一コントロールテーブルから読み込み0x825~
    SYNC WRITE複数デバイスの同一コントロールテーブルへ書き込み0x836~
    BULK READ複数デバイスの異なるコントロールテーブルから読み込み0x926~
    BULK WRITE複数デバイスの異なるコントロールテーブルへ書き込み0x936~

  • Parameter
    Instructionで要求される追加情報(可変長)。
  • Checksum
    HeaderからParameterまでのチェックサム値(CRC-16-IBM)。
    (X^16+X^15+X^2+1) Polynomial 0x8005
Page Top

ステータスパケット anchor.png

ステータスパケットはホストから送信されるインストラクションパケットをデバイスが受信した後、その応答としてデバイスからホストへ返信されるパケットです。
パケット構造は以下の通りで、囲み1つが1byteを意味します。例外についてはこちらを参照します。

stat.png
  • Header,Reserved
    先頭4バイトは0xFF,0xFF,0xFD,0x00の固定値。
  • ID
    デバイスのID。
  • Length
    Instruction以後の全てのバイト数(16bit幅)。
  • Instruction
    Statusを意味する0x55の固定値。
  • Error
    パケット処理中に検出されたデバイスの動作状況等。
    BitNameDescription
    7Alert-
    6~0Error No.1:Result Failパケット処理失敗
    2:Instruction Error未定義のインストラクションセット, RegWriteなしでAction
    3:CRC ErrorCRC不一致
    4:Data Range Errorデータの最大・最小値外
    5:Data Length Errorデータ幅の不一致
    6:Data Limit ErrorデータのLimit値外
    7:Accrss Error読出専用・書込専用・ロック中のアドレスへのアクセス

  • Parameter
    インストラクションパケットに従った追加情報(可変長)。
  • Checksum
    HeaderからParameterまでのチェックサム値(CRC-16-IBM)。
    (X^16+X^15+X^2+1) Polynomial 0x8005
Page Top

例外 anchor.png

Header部と一致するデータ列がInstruction~Parameter間に現れる場合は、Header部と一致する全てのデータ列の末尾に0xFDを1byte付与するものとします。
例えば例外処理前のParameterが「0x01 0x02 0xFF 0xFF 0xFD 0x03」の場合、Header部と一致するデータ列を含んでいますので、「0x01 0x02 0xFF 0xFF 0xFD 0xFD 0x03」の様に追加します。データ長が増えるため、実際のパケットも増えた分だけLengthを増やし、最終的に追加したデータを含むパケットのChecksumを計算します。

例1)

INST:ID=1のアドレス634に10バイトのデータ(0xFF,0xFF,0xFD,0xFF,0xFF,0xFD,0xFF,0xFF​,0xFD,0xFF)を書き込む。
0xFF 0xFF 0xFD 0x00 ...Header
0x01 ...ID
0x12 0x00 ...Length
0x03 ...Instruction
0x7A 0x02 0xFF 0xFF 0xFD 0xFD 0xFF 0xFF 0xFD 0xFD 0xFF 0xFF 0xFD 0xFD 0xFF ...Parameter
0xA3 0xE2 ...Checksum

STAT:正常応答
0xFF 0xFF 0xFD 0x00 0x01 0x04 0x00 0x55 0x00 0xA1 0x0C

例2)

INST:ID=1のアドレス634から例1で書き込んだ10バイトのデータを読み出す。
0xFF 0xFF 0xFD 0x00 0x01 0x07 0x00 0x02 0x7A 0x02 0x0A 0x00 0x1E 0xA9

STAT:正常応答
0xFF 0xFF 0xFD 0x00 ...Header
0x01 ...ID
0x11 0x00 ...Length
0x55 ...Instruction
0x00 ...Error
0xFF 0xFF 0xFD 0xFD 0xFF 0xFF 0xFD 0xFD 0xFF 0xFF 0xFD 0xFD 0xFF ...Parameter
0x18 0x99 ...Checksum

Page Top

インストラクション詳細 anchor.png

Page Top

PING anchor.png

特定のIDを持ったDynamixelの存在を確認します。ステータスパケットのパラメータには応答したDynamixelのModel No.とVersion of Firmwareが含まれます。
IDに254を指定してPINGインストラクションを送信すると、ネットワークに存在する全てのDynamixelが順次ステータスパケットを返します。

  • インストラクションパケットのParameter
    なし
  • ステータスパケットのParameter
    Param byte No.Description
    1Model No.
    2
    3Version of Firmware

例)
INST:ID=1にPINGを発行。

0xFF 0xFF 0xFD 0x00 ...Header
0x01 ...ID
0x03 0x00 ...Length
0x01 ...Instruction
0x19 0x4E ...Checksum

STAT:ID=1のXM430-W210-R(Model No.:0x0406, FW Ver.:0x26)が応答。

0xFF 0xFF 0xFD 0x00 ...Header
0x01 ...ID
0x07 0x00 ...Length
0x55 ...Instruction
0x00 ...Error
0x06 0x04 ...Model No.
0x26 ...Version of Firmware
0x65 0x5D ...Checksum

Page Top

READ anchor.png

特定IDのデバイスへアドレス(16bit幅)・バイトサイズ(16bit幅)を指定してコントロールテーブルのデータを読み出します。IDは0~252の範囲が指定できます。

  • インストラクションパケットのParameter
    Param byte No.Description
    1開始アドレス
    2
    3バイトサイズ(N)
    4

  • ステータスパケットのParameter
    Param byte No.Description
    1DATA[0]
    2DATA[1]
    3DATA[2]
    ......
    NDATA[N-1]

例)
INST:XM430-W210想定。ID=1に対しパラメータにAddress=132(0x0084 PresentPosition), Length=4(0x0004)を指定してREADを発行。

0xFF 0xFF 0xFD 0x00 ...Header
0x01 ...ID
0x07 0x00 ...Length
0x02 ...Instruction
0x84 0x00 ...開始アドレス
0x04 0x00 ...バイトサイズ
0x1D 0x15 ...Checksum

STAT:32bit幅で現在のPresentPosition=3677(0x00000E5D)の値を返信。

0xFF 0xFF 0xFD 0x00 ...Header
0x01 ...ID
0x08 0x00 ...Length
0x55 ...Instruction
0x00 ...Error
0x5D 0x0E 0x00 0x00 ...DATAs
0x7C 0x9C ...Checksum

Page Top

WRITE anchor.png

特定IDのデバイスへアドレス(16bit幅)・データ(任意バイト数)を指定してコントロールテーブルへ書き込みます。IDは0~252の範囲と254が指定でき、254を指定した場合はステータスパケットが返りません。

  • インストラクションパケットのParameter
    Param byte No.Description
    1開始アドレス
    2
    3DATA[0]
    4DATA[1]
    5DATA[2]
    ......
    N+2DATA[N-1]

  • ステータスパケットのParameter
    なし

例)
INST:XM430-W210想定。ID=1に対しパラメータにAddress=116(0x0074 GoalPosition), Data=999(0x000003E7 32bit幅)を指定してWRITEを発行。

0xFF 0xFF 0xFD 0x00 ...Header
0x01 ...ID
0x09 0x00 ...Length
0x03 ...Instruction
0x74 0x00 ...開始アドレス
0xE7 0x03 0x00 0x00 ...DATAs
0xF0 0x65 ...Checksum

STAT:正常時の返信。

0xFF 0xFF 0xFD 0x00 ...Header
0x01 ...ID
0x04 0x00 ...Length
0x55 ...Instruction
0x00 ...Error
0xA1 0x0C...Checksum

Page Top

REG WRITE anchor.png

特定IDのデバイスへアドレス(16bit幅)・データ(任意バイト数)を指定してコントロールテーブルへ書き込む点ではWRITEインストラクションと同じですが、その後ACTIONインストラクションが実行されない限りコントロールテーブルへ反映されません。IDは0~252の範囲と254が指定でき、254を指定した場合はステータスパケットが返りません。
なお、REG WRITEを受信したデバイスは、コントロールテーブル上のアイテムRegistered Instructionを1にし、ACTIONインストラクションを待機中である事を示します。

  • インストラクションパケットのParameter
    Param byte No.Description
    1開始アドレス
    2
    3DATA[0]
    4DATA[1]
    5DATA[2]
    ......
    N+2DATA[N-1]

  • ステータスパケットのParameter
    なし

例)
INST:XM430-W210想定。ID=1に対しパラメータにAddress=104(0x0068 GoalVelocity), Data=200(0x000000C8 32bit幅)を指定してREG WRITEを発行。

0xFF 0xFF 0xFD 0x00 ...Header
0x01 ...ID
0x09 0x00 ...Length
0x04 ...Instruction
0x68 0x00 ...開始アドレス
0xC8 0x00 0x00 0x00 ...DATAs
0xAE 0x8E ...Checksum

STAT:正常時の返信。

0xFF 0xFF 0xFD 0x00 ...Header
0x01 ...ID
0x04 0x00 ...Length
0x55 ...Instruction
0x00 ...Error
0xA1 0x0C...Checksum

Page Top

ACTION anchor.png

REG WRITEインストラクションで待機中のデバイスのコントロールテーブルを更新します。IDは0~252の範囲と254が指定でき、254を指定した場合はステータスパケットが返りません。
ACTIONを受け取ったデバイスはRegistered Instructionが1であれば0になりますが、0であったデバイスはエラーを返します。

  • インストラクションパケットのParameter
    なし
  • ステータスパケットのParameter
    なし

例)
INST:ID=1に対しACTIONを発行。

0xFF 0xFF 0xFD 0x00 ...Header
0x01 ...ID
0x03 0x00 ...Length
0x05 ...Instruction
0x02 0xCE ...Checksum

STAT:Registered Instructionが1であった場合の正常時の返信。

0xFF 0xFF 0xFD 0x00 ...Header
0x01 ...ID
0x04 0x00 ...Length
0x55 ...Instruction
0x00 ...Error
0xA1 0x0C...Checksum

Page Top

FACTORY RESET anchor.png

特定IDのデバイスを出荷時の状態にします。IDは0~252の範囲と254が指定でき、254を指定した場合はステータスパケットが返りません。

  • インストラクションパケットのParameter
    Param byte No.Description
    10x01:IDのみ対象外とする
    0x02:IDとBaudrateのみ対象外とする
    0xFF:全てを対象とする

  • ステータスパケットのParameter
    なし

例)
INST:ID=1に完全なFACTORY RESETを発行。

0xFF 0xFF 0xFD 0x00 ...Header
0x01 ...ID
0x04 0x00 ...Length
0x06 ...Instruction
0xFF ...Parameter
0xA6 0x64 ...Checksum

STAT:正常時の返信

0xFF 0xFF 0xFD 0x00 ...Header
0x01 ...ID
0x04 0x00 ...Length
0x55 ...Instruction
0x00 ...Error
0xA1 0x0C

Page Top

REBOOT anchor.png

特定IDのデバイスを再起動します。IDは0~252が指定できます。

  • インストラクションパケットのParameter
    なし
  • ステータスパケットのParameter
    なし

例)
INST:XM430-W210想定。ID=1へREBOOTを発行。

0xFF 0xFF 0xFD 0x00 ...Header
0x01 ...ID
0x03 0x00 ...Length
0x08 ...Instruction
0x2F 0x4E ...CheckSum

STAT:正常時の返信

0xFF 0xFF 0xFD 0x00 ...Header
0x01 ...ID
0x04 0x00 ...Length
0x55 ...Instruction
0x00 ...Error
0xA1 0x0C...Checksum

Page Top

SYNC READ anchor.png

Parameterにアドレス(16bit幅)・バイトサイズ(16bit幅)・複数のID指定した1回のインストラクションパケットで、指定されたIDのデバイスのコントロールテーブルからデータを順次読み出します。
インストラクションパケットのIDは254固定、パラメータ内のIDは重複しない0~252の範囲をとります。
個々のデバイスはインストラクションパケットのパラメータで指定されたIDの順にREADと同様のステータスパケットで順次応答しますが、何らかの理由により応答しないデバイスがあった場合は、それ以後に指定された全てのデバイスは応答を中止します。

  • インストラクションパケットのParameter
    Param byte No.Description
    1開始アドレス
    2
    3バイトサイズ(N) (1以上)
    4
    51stデバイスのID (0~252)
    62ndデバイスのID (0~252)
    73rdデバイスのID (0~252)
    ......

  • ステータスパケットのParameter
    Param byte No.Description
    1DATA[0]
    2DATA[1]
    3DATA[2]
    ......
    NDATA[N-1]

例)
INST:XM430-W210想定。パラメータにアドレス=132(0x0084 PresentPosition), サイズ=4, ID=1,2を指定してSYNC READを発行。

0xFF 0xFF 0xFD 0x00 ...Header
0xFE ...ID(254固定)
0x09 0x00 ...Length
0x82 ...Instruction
0x84 0x00 ...開始アドレス
0x04 0x00 ...バイトサイズ
0x01 0x02 ...IDs
0xCE 0xFA ...CheckSum

STAT:正常時の返信

ID=1が現在のPresentPosition=3677(0x00000E5D 32bit幅)の値を返信。
0xFF 0xFF 0xFD 0x00 0x01 0x08 0x00 0x55 0x00 0x5D 0x0E 0x00 0x00 0x7C 0x9C
ID=2が現在のPresentPosition=1538(0x00000602 32bit幅)の値を返信。
0xFF 0xFF 0xFD 0x00 0x02 0x08 0x00 0x55 0x00 0x02 0x06 0x00 0x00 0x64 0x1A

Page Top

SYNC WRITE anchor.png

Parameterに共通のアドレス(16bit幅)・共通のバイトサイズ(16bit幅)・複数のIDと各データを指定した1回のインストラクションパケットで、複数のデバイスのコントロールテーブルへ書き込みます。
インストラクションパケットのIDは254固定、パラメータ内のIDは重複しない0~252の範囲をとります。

  • インストラクションパケットのParameter
    Param byte No.Description
    1開始アドレス
    2
    3バイトサイズ(N) (1以上)
    4
    51stデバイスID (0~252)
    6DATAa[0]
    7DATAa[1]
    ......
    N+5DATAa[N-1]
    N+62ndデバイスID (0~252)
    N+7DATAb[0]
    N+8DATAb[1]
    ......
    2*N+6DATAb[N-1]
    2*N+73rdデバイスID (0~252)
    2*N+8DATAc[0]
    2*N+9DATAc[1]
    ......
    3*N+5DATAc[N-1]
    .........

    例)

    0xFF 0xFF 0xFD 0x00 ...Header
    0xFE ...ID(254固定)
    0x11 0x00 ...Length
    0x83 ...Instruction
    0x74 0x00 ...開始アドレス
    0x04 0x00 ...バイトサイズ
    0x01 0xD2 0x04 0x00 0x00 ...1st ID, DATAs
    0x02 0x80 0x0D 0x00 0x00 ...2nd ID, DATAs
    0xF4 0x4E ...Checksum

Page Top

BULK READ anchor.png

ParameterにID・アドレス(16bit幅)・バイトサイズ(16bit幅)を複数指定した1回のインストラクションパケットで、指定されたIDのデバイスのコントロールテーブルからデータを順次読み出します。
インストラクションパケットのIDは254固定、パラメータ内のIDは重複しない0~252の範囲をとります。
個々のデバイスはインストラクションパケットのパラメータで指定されたIDの順にREADと同様のステータスパケットで順次応答しますが、何らかの理由により応答しないデバイスがあった場合は、それ以後に指定された全てのデバイスは応答を中止します。

  • インストラクションパケットのParameter
    Param byte No.Description
    11stデバイスID (0~252)
    2開始アドレス
    3
    4バイトサイズ (1以上)
    5
    62ndデバイスID (0~252)
    7開始アドレス
    8
    9バイトサイズ (1以上)
    10
    113rdデバイスID (0~252)
    12開始アドレス
    13
    14バイトサイズ (1以上)
    15
    .........

  • ステータスパケットのParameter
    Param byte No.Description
    1DATA[0]
    2DATA[1]
    3DATA[2]
    ......
    NDATA[N-1]

例)
INST:XM430-W210想定。パラメータに、ID=1,アドレス=144(0x0090 PresentInputVoltage),サイズ=2と、ID=2,アドレス=132(0x0084 PresentPosition),サイズ=4を指定してBULK READを発行。

0xFF 0xFF 0xFD 0x00 ...Header
0xFE ...ID(254固定)
0x0D 0x00 ...Length
0x92 ...Instruction
0x01 0x90 0x00 0x02 0x00 ...1st ID, アドレス, サイズ
0x02 0x84 0x00 0x04 0x00 ...2bd ID, アドレス, サイズ
0x1C 0x23 ...CheckSum

STAT:正常時の返信

ID=1が現在のPresentVoltage=151(0x0097 16bit幅)の値を返信。
0xFF 0xFF 0xFD 0x00 0x01 0x06 0x00 0x55 0x00 0x97 0x00 0xCF 0x29
ID=2が現在のPresentPosition=1538(0x00000602 32bit幅)の値を返信。
0xFF 0xFF 0xFD 0x00 0x02 0x08 0x00 0x55 0x00 0x02 0x06 0x00 0x00 0x64 0x1A

Page Top

BULK WRITE anchor.png

ParameterにID・アドレス(16bit幅)・バイトサイズ(16bit幅)・データを複数指定した1回のインストラクションパケットで、指定されたIDのデバイスのコントロールテーブルへ書き込みます。
インストラクションパケットのIDは254固定、パラメータ内のIDは重複しない0~252の範囲をとります。

  • インストラクションパケットのParameter
    Param byte No.Description
    11stデバイス aID (0~252)
    2開始アドレス
    3
    4バイトサイズ(Na) (1以上)
    5
    6DATAa[0]
    7DATAa[1]
    8DATAa[2]
    ......
    Na+5DATAa[Na-1]
    Na+62ndデバイス bID (0~252)
    Na+7開始アドレス
    Na+8
    Na+9バイトサイズ(Nb) (1以上)
    Na+10
    Na+11DATAb[0]
    Na+12DATAb[1]
    Na+13DATAb[2]
    ......
    Na+Nb+10DATAb[Nb-1]
    .........

例)
INST:XM430-W210想定。パラメータに、ID=1・アドレス=112(0x0070 ProfileVelocity~)・サイズ=8・ProfileVelocity=10(32bit幅)・GoalPosition=2048(32bit幅)と、ID=2・アドレス=80(0x0050 PositionDGain)・サイズ=6・PositionDGain=0(16bit幅),PositionIGain=0(16bit幅)・PositionPGain=800(16bit幅)を指定してBULK WRITEを発行。

0xFF 0xFF 0xFD 0x00 ...Header
0xFE ...ID(254固定)
0x1B 0x00 ...Length
0x93 ...Instruction
0x01 0x70 0x00 0x08 0x00 0x0A 0x00 0x00 0x00 0x00 0x08 0x00 0x00 ...1st ID,アドレス,サイズ,DATAs
0x02 0x50 0x00 0x06 0x00 0x00 0x00 0x00 0x00 0x20 0x03 ...2nd ID,アドレス,サイズ,DATAs
0x63 0xE8 ...CheckSum

Page Top

コントロールテーブル anchor.png

!!暫定版注意!!

Page Top

アイテム一覧 anchor.png

AddressItemAccessDefault ValueType/Range
0Model NumberR-uint16
1
2Model InformationR0uint32
3
4
5
6Version of FirmwareR?uint8
7IDR/W (NVM)1uint8
0~252
8BaudrateR/W (NVM)1uint8
0~7
9Return Delay TimeR/W (NVM)250uint8
0~254
10(reserve)R-uint8
11Operating ModeR/W (NVM)3uint8
0~16
12(reserve)R-uint8
13Homing OffsetR/W (NVM)0int32
14
15
16
17Moving ThresholdR/W (NVM)50uint32
0~2147483647
18
19
20
21Temperature LimitR/W (NVM)80uint8
0~100
22Max Voltage LimitR/W (NVM)400uint16
0~400
23
24Min Voltage LimitR/W (NVM)150uint16
0~400
25
26Acceleration LimitR/W (NVM)32767uint32
0~2147483647
27
28
29
30Torque LimitR/W (NVM)-uint16
31
32Velocity LimitR/W (NVM)-uint32
0~2147483647
33
34
35
36Max Position LimitR/W (NVM)-int32
37
38
39
40Min Position LimitR/W (NVM)-int32
41
42
43
44External Port Mode 1R/W (NVM)0uint8
0~3
45External Port Mode 2R/W (NVM)0uint8
0~3
46External Port Mode 3R/W (NVM)0uint8
0~3
47External Port Mode 4R/W (NVM)0uint8
0~3
48ShutdownR/W (NVM)58(0x3A)uint8
0~63
49Indirect Address 1R/W (NVM)634uint16
64~661
50
51Indirect Address 2635
52
53,54
~
555,556
Indirect Address 3
~
Indirect Address 254
636
~
887
557Indirect Address 255888
558
559Indirect Address 256889
560
561(reserve)R-uint8
562Torque EnableR/W0uint8
0~255
563LED REDR/W0uint8
0~255
564LED GREENR/W0
565LED BLUER/W0
566
~
585
(reserve)R-uint8
586Velocity I GainR/W-uint16
0~32767
587
588Velocity P GainR/W-uint16
0~32767
589
590
~
593
(reserve)R-uint8
594Position P GainR/W-uint16
0~32767
595
596Goal PositionR/W-int32
Min Position Limit~Max Position Limit
-‭2147483648‬~‭2147483647‬
597
598
599
600Goal VelocityR/W0int32
-Velocity Limit~Velocity Limit
601
602
603
604Goal TorqueR/W0int16
-Current Limit~Current Limit
605
606Goal AccelerationR/W0uint32
0~Acceleration Limit
607
608
609
610MovingR0uint8
611Present PositionR-int32
612
613
614
615Present VelocityR-int32
616
617
618
619
~
620
(reserve)R-uint8
621Present CurrentR-int16
622
623Present Input VoltageR-uint16
624
625Present TemperatureR-uint8
626External Port Data 1R/W-uint16
627
628External Port Data 2
629
630External Port Data 3
631
632External Port Data 4
633
634Indirect Data 1R/W0uint8
635Indirect Data 2
636Indirect Data 3
637
~
887
Indirect Data 4
~
Indirect Data 254
888Indirect Data 255
889Indirect Data 256
890Registered InstructionR0uint8
891Status Return LevelR/W2uint8
0~2
892Hardware Error StatusR0uint8
  • データ幅が16bitないし32bitのアイテムはリトルエンディアン(データの下位バイトから順に格納)。
  • Accessに(NVM)とあるアイテムは不揮発メモリとなっており、電源を切っても値が保持される。また頻繁な書き換えは想定されていないため、書き換えは必要最低限にとどめること。
  • Accessに(NVM)とあるアイテムとIndirect Addressを変更する場合は、Torque Enalbeが0でなくてはならない。
  • (reserve)はシステムで予約され、読み出した値に有効性はない。また、書き込みを行ってはならない。
  • Default Valueは出荷時ないしファクトリーリセットを行った際の値。又、ファームウェアのバージョンによって値が変更される場合がある。
Page Top

各アイテム詳細 anchor.png

Page Top
Model Number/Model Information anchor.png

モデル固有の値を保持します。異なる種類のDynamixelを混在して使用する際の個体識別などに使用できます。

Model NameValue
H54-200-S500-R54024(0xD308)
H54-100-S500-R53768(0xD208)
H42-20-S300-R51200(0xC800)
M54-60-S250-R46352(0xB510)
M54-40-S250-R46096(0xB410)
M42-10-S260-R43288(0xA918)
L54-50-S290-R38176(0x9520)
L54-50-S500-R38152(0x9508)
L54-30-S400-R37928(0x9428)
L54-30-S500-R37896(0x9408)
L42-10-S300-R35072(0x8900)

Page Top
Version of Firmware anchor.png

内蔵されるCPUに書き込まれたプログラムのバージョンです。ファームウェアの更新を行った際に合わせて自動的に変更されます。

Page Top
ID anchor.png

各Dynamixelを特定するための固有の値で0~252の範囲の数値で設定します。同一ネットワーク内に存在するDynamixelには各々異なるIDが要求されます。

Page Top
Baudrate anchor.png

通信する際のボーレートです。ホストとDynamixelのボーレートは一致させなくてはなりません。

ValueBaudrate [bps]
09600
157600
2115200
31000000
42000000
53000000
64000000
74500000
810500000

Page Top
Return Delay Time anchor.png

インストラクションパケットが送られた後、ステータスパケットを返すまでの待ち時間を設定します。
ホストにおいて半二重のバス制御のタイミングに合わせて調整しますが、DXHUBを使用する限りでは0を設定しても問題ありません。

Delay Time [us] = Value * 2 [us]
Page Top
Operating Mode anchor.png

動作モードを選択します。Valueに記載が無い値は予約済みのため、指定してはなりません。
なお、電流センサを搭載しないデバイスは一部のモードが選択できません。

ValueModeDescription
0Torque Control Mode電流制御。位置及び速度制御は行わない。
1Velocity Control Mode加減速度制御制御。位置及びトルク制御は行わない。
3Position Control Mode加減速度制御付き位置制御。加減速度制御も可。GoalPositionはMin Position Limit~Min Position Limitの制御範囲に制限。
4Extended Position Control Mode加減速度制御付き拡張位置制御。GoalPositionの範囲が拡大され、符号付き32bitの範囲まで対応。Position Limitは無視される。

Page Top
Homing Offset anchor.png

この値が真の現在位置に加算されPresent Positionに反映されます。オフセット位置をホスト側では無くDynamixel側に持たせる際に使用します。
※L42-10-S300-Rは未装備

Position [deg] = Value * 360 [deg] / Resolution

ModelResolution for 1 revolution
H54-200-S500-R501923
H54-100-S500-R501923
H42-20-S300-R303750
M54-60-S250-R251417
M54-40-S250-R251417
M42-10-S260-R263187
L54-50-S290-R207692
L54-50-S500-R361384
L54-30-S400-R288395
L54-30-S500-R316384
L42-10-S300-R4096

Page Top
Moving Threshold anchor.png

Present Velocityの絶対値とこの値を比較した結果がMovingに示されます。

Velocity [rpm] = Value * VelocityScalingFactor [rpm]

ModelVelocity Scaling Factor[rpm]
H54-200-S500-R1/501.923
H54-100-S500-R1/501.923
H42-20-S300-R1/303.750
M54-60-S250-R1/251.417
M54-40-S250-R1/251.417
M42-10-S260-R1/257.019
L54-50-S290-R1/288.461
L54-50-S500-R1/501.923
L54-30-S400-R1/400.550
L54-30-S500-R1/501.923
L42-10-S300-R1/303.8

Page Top
Temperature Limit anchor.png

Present Temperatureがこの値を超えるとHardware Error Statusの該当ビットがONになり、Shutdownで指定された動作に遷移します。

Temperature [degC] = Value * 1 [degC]
Page Top
Max/Min Voltage Limit anchor.png

Present Input Voltageがこの値の範囲を超えるとHardware Error Statusの該当ビットはONになり、Shutdownで指定された動作に遷移します。

Voltage [V] = Value * 0.1 [V]
Page Top
Acceleration Limit anchor.png

Goal Accelerationはこの値以下に制限されます。

Acceleration [rpm²] = Value * 58000 [rpm²]
Page Top
Torque Limit anchor.png

Goal Torqueの絶対値はこの値以下に制限されます。

Current [mA] = Value * CurrentScalingFactor [mA]

ModelDefault valueRangeCurrent Scaling Factor [mA]
H54-200-S500-R??33000/2048
H54-100-S500-R??
M54-60-S250-R??
M54-40-S250-R??
L54-50-S290-R??
L54-50-S500-R??
L54-30-S400-R??
L54-30-S500-R??
H42-20-S300-R??8250/2048
M42-10-S260-R3000~900
L42-10-S300-R9870~987

Page Top
Velocity Limit anchor.png

Goal Velocityの絶対値はこの値以下に制限されます。

Velocity [rpm] = Value * VelocityScalingFactor [rpm]

モデル毎のVelocity Scaling Factorはこちら

Page Top
Max/Min Position Limit anchor.png

Operating ModeにPosition Control Modeが設定されている時にGoal Positionはこの値の範囲内に制限されます。

Position [deg] = Value * 360 [deg] / Resolution

モデル毎のResolutionはこちら

ModelDefault value
MaxMin
H54-200-S500-R250961-250961
H54-100-S500-R250961-250961
H42-20-S300-R151875-151875
M54-60-S250-R125708-125708
M54-40-S250-R125708-125708
M42-10-S260-R131593-131593
L54-50-S290-R103846-103846
L54-50-S500-R180692-180692
L54-30-S400-R144197-144197
L54-30-S500-R180692-180692
L42-10-S300-R2048-2047

Page Top
External Port Mode 1/2/3/4, External Port Data 1/2/3/4 anchor.png

Modeにて3つのExternal Portをデジタル入出力、もしくはアナログ入力に設定します。

Mode ValueModeDescription
0Analog INPortNへ入力された0~3.3Vの電圧を12bitの分解能でA/D測定しDataNにストア
1Digital OUT
(PushPull)
DataNに0の書き込みでPortNから3.3V、1の書き込みでPortNから0Vを出力
VOH:2.4V, VOL:0.5V
2Digital IN
(PullUp)
PortNへ0Vの入力でDataに0、PortNへ3.3Vの入力でDataに1をストア
VIH:2.3V, VIL:1.0V
PullUp/Down Reg:40kΩ(typ)
3Digital IN
(PullDown)

Page Top
Shutdown anchor.png

この設定とHardware Error Statusの論理積が0以外になると、Torque Enableは0になりモータの出力が遮断されシャットダウン状態に遷移します。以後通常のインストラクションパケットにてTorque Enableを1にする事ができません。

BitName
7常時0
6常時0
5Overload Error
4Electrical Shock Error
3Motor Encoder Error
2Overheating Error
1Motor hall sensor error
0Input Voltage Error

なお、シャットダウン状態から復帰するには発生している障害を排除した後、電源の再投入か、REBOOTインストラクションパケットを受信しなくてはなりません。

Page Top
Torque Enable anchor.png

出力軸をフリーにするか、設定されたOperating Modeに従った制御を開始します。

ValueDescription
0出力軸フリー、制御停止、ロックされたアイテムを解除
1Operating Modeに従った制御開始、NVM及びIndirect Address領域のアイテムロック

Page Top
LED RED/GREEN/BLUE anchor.png

本体に装備された3色のLEDの輝度を設定します。

ValueDescription
0~2550~100%

Page Top
Velocity I/P Gain anchor.png

速度制御演算における各種制御ゲインを指定します。
Operating ModeにVelocity Control Modeが設定されている時に有効です。

DX_CtrlBlock(Velocity).png

Page Top
Position P Gain anchor.png

位置制御演算における各種制御ゲインを指定します。
Operating ModeにPosition Control Mode・Extended Position Control Modeが設定されている時に有効な値です。

DX_CtrlBlock(Position).png

Page Top
Goal Position anchor.png

位置制御の目標値を指定します。
Operating ModeにPosition Control Mode・Extended Position Control Modeが設定されている時に有効で、各Mode毎に指摘できる数値範囲が異なります。

Operating ModeRange
3Min Position Limit~Max Position Limit
4-‭2147483648‬~‭2147483647‬

Position [deg] = Value * 360 / Resolution
DX_PosDir.png

モデル毎のResolutionはこちら

Page Top
Goal Velocity anchor.png

速度制御の目標値を指定します。
Operating ModeにPosition Control Mode・Extended Position Control Mode・Velocity Control Modeが設定されている時に有効な値です。

Velocity [rpm] = Value * VelocityScalingFactor [rpm]
DX_VeloDir.png

モデル毎のVelocity Scaling Factorはこちら

Page Top
Goal Torque anchor.png

トルク制御の目標値を指定します。
Operating ModeにPosition Control Mode・Extended Position Control Mode・Velocity Control Mode・Torque Control Modeが設定されている時に有効な値です。

Current [mA] = Value * CurrentScalingFactor [mA]

モデル毎のCurrent Scaling Factorはこちら

Page Top
Goal Acceleration anchor.png

加速度を指定します。
Operating ModeがTorque Control Modeである時を除くModeに有効です。

Acceleration [rpm²] = Value * 58000 [rpm²]

加速度・目標速度・目標位置の値によって最終的に4種類の軌跡が得られます。位置制御時における設定値による位置と速度のProfileを以下に示します。

ProfileCondition, Waveform
ステップVelocity = 0, Acceleration = don't care
Profile_Step.png
矩形Velocity ≠ 0, Acceleration = 0
Profile_Rectangle.png
三角Velocity ≠ 0, Acceleration ≠ 0
Profile_Triangle.png
台形Velocity ≠ 0, Acceleration ≠ 0
Profile_Trapezoidal.png

Page Top
Moving anchor.png

Present Velocityの絶対値とMoving Thresholdの比較結果を示します。

ValueDescription
0Moving Threshold ≥ |Present Velocity|
1Moving Threshold < |Present Velocity|

Page Top
Present Position anchor.png

真の位置からHoming Offsetを除した出力軸の位置です。
Torque Enableが0の状態ではレンジフローするまで回転に応じた増減をしますが、Torque Enableを1にした瞬間にOperating Modeに依存した値でクリップされます。

Position [deg] = Value * 360 [deg] / Resolution

モデル毎のResolutionはこちら

Page Top
Present Velocity anchor.png

現在の出力軸の回転数です。

Velocity [rpm] = Value * VelocityScalingFactor [rpm]

モデル毎のVelocity Scaling Factorはこちら

Page Top
Present Current anchor.png

現在モータへ流れている電流です。

Current [mA] = Value * CurrentScalingFactor [mA]

モデル毎のCurrent Scaling Factorはこちら

Page Top
Present Input Voltage anchor.png

現在の印加電圧です。

Voltage [V] = Value * 0.1 [V]
Page Top
Present Temperature anchor.png

現在の内部温度です。

Temperature [degC] = Value * 1 [degC]
Page Top
Indirect Address/Data anchor.png

コントロールテーブル上のアドレスを再構成します。
Indirect Address N(N=1~256)とIndirect Data N(N=1~256)は対になっており、Indirect Address Nに任意のコントロールテーブル上のアドレスXを設定すると、その後Indirect Data Nへアクセスする事はIndirect Address Nに設定されたアドレスXへ間接的にアクセスする事になります。

具体的な例として、ホストから頻繁にアクセスしたいアイテムが複数あり、それらが離れたアドレスに配置されていた場合を考えます。通常はそれらアイテム全てをまたぐアドレス範囲のデータをまとめてアクセスするか、個々のアイテムに個別にアクセスするとった手段を執ります。これには本来無用なデータやアクセス回数が強いられるため、通信のトラフィックが上がる要因になるのと、ホスト側のプログラムの負担になります。
ホストから書き込み対象としてPosition P Gain・Goal Velocity・Goal Position、読み出し対象としてPresent Position・Present Temperatureがあった場合、これらをIndirect Data領域に再配置するには以下の手順を踏みます。

  1. Position P Gainのアドレス594~595をIndirect Address 1~2に書き込み
  2. Goal Positionのアドレス596~599をIndirect Address 3~6に書き込み
  3. Goal Velocityのアドレス600~603をIndirect Address 7~10に書き込み
  4. Present Positionのアドレス611~614をIndirect Address 11~14に書き込み
  5. Present Temperatureのアドレス625~626をIndirect Address 15~16に書き込み

以後Indirect Data 1からの連続した624番地にアクセスする事は、再配置したアイテムへ個々に間接的にアクセスした事になります。

DX_Indirect.png

なお、Indirect Addressがデフォルト値のままであれば、Indirect Data領域はユーザ任意のRAM領域として扱うことができます。

Page Top
Registered Instruction anchor.png

Reg Writeインストラクションパケットを受信すると1、その後Actionインストラクションパケットを受信すると0になります。

Page Top
Status Return Level anchor.png

ステータスパケットを返信するインストラクションパケットを選択します。

ValueInstruction to respond
0Ping
1Ping, Read
2Ping, Read, Write, Reg Write, Factory Reset, Reboot, Sync Read, Bulk Read

Page Top
Hardware Error Status anchor.png

様々なフィードバックと内部の制御状態を比較した結果を示します。さらに、この値とShutdownの論理積の結果により動作を継続するか否かを決定します。

BitNameDescription
7-常時0
6-常時0
5Overload Error最大出力で制御できない負荷が継続的に発生した
4Electrical Shock Error電気的に回路が衝撃を受けたり入力電力が不足してモータが正常動作しない
3Motor Encoder Errorエンコーダが正常動作しない
2Overheating ErrorPresent TemperatureTemperature Limitを超えた
1Motor hall sensor errorモータのホールセンサがリミット値を超えた
0Input Voltage ErrorPresent VoltageMax​/Min Voltage Limitの範囲を超えた


Front page   Diff ReloadPrint View   Page list Search Recent changes   RSS of recent changes (RSS 1.0) RSS of recent changes (RSS 2.0) RSS of recent changes (RSS Atom)
Last-modified: 2017-08-23 (Wed) 22:39:19 (JST) (724d)