ショップページへ

Dynamixelシリーズ一覧

特徴 anchor.png

X330-series.png
  • ストールトルク 0.93N•m(at 5V 1.8A)
  • 不感帯なし(0~360°)、非接触位置センサによる12ビット分解能の位置フィードバック
  • TTLによる高速通信
  • 一般的なPID制御による位置決め制御・速度制御
Page Top

仕様 anchor.png

Page Top

同梱内容 anchor.png

型式・名称等数量備考
本体1-
Robot Cable-X3P 180mm (JST-JST)1-
ボルトナットセット1式-
Page Top

基本仕様 anchor.png

商品番号BTX157
モータコアレスブラシDCモータ
ストールトルク0.69N•m (at 3.7V 1.34A)
0.93N•m (at 5V 1.8A)
1.1N•m (at 6V 2.15A)
無負荷回転数59rpm (at 3.7V)
81rpm (at 5V)
97rpm (at 6V)
減速比1/180.62
最大動作角度位置決め制御時:0~360°(12ビット分解能),Endless Turn
電源電圧範囲3.7~6.0V (Recommended 5V)
動作温度範囲-5~+70℃
重量18g
コマンドシグナルデジタルパケット
プロトコル半二重非同期通信 8-1-N
リンク方式TTL Multi Drop(daisy chain type Connector)
ID数253 (0~252)
通信速度9.6k,57.6k,115.2k,1M,2M,3M,4Mbps
フィードバック位置, 速度, 温度, 電流, 電源電圧
動作モード速度, 位置, 拡張位置, 電流, 電圧
材質ケースフロント・ミドル・バック:エンプラ
ギアピニオンを除きエンプラ
認証ce.pngfcc.png

Page Top

寸法・3Dデータ anchor.png

Page Top

コネクタ anchor.png

  • 本体背面の側面2カ所に配置
  • 電源と通信用信号ラインが接続
    X330_Connector.png
Page Top
3pin (TTL版) anchor.png
  • TTL I/F
    TTL_IF.png
  • 電源と通信用信号ラインが接続
    Pats NameJST Parts Number
    基板用ヘッダーB3B-EH
    ハウジングEHR-3
    ターミナルSEH-00x
    B3B-EH.png
    端子番号信号名
    1GND
    2VDD
    3TTL Signal
Page Top

基本的な固定方法 anchor.png

X330_assembly.png

Page Top

使用するにあたり anchor.png

Page Top

ケーブルの種類 anchor.png

旧来のDynamixelシリーズとは形状が異なりますので、旧来のI/Fボード等を使用する際は付属のMOLEX-JSTタイプのケーブルを使用します。
勘合しないヘッダーとハウジング同士を強引に接続させることは絶対にしてはなりません。

Page Top

配線 anchor.png

様々な配線方法が考慮されていますので、用途に応じた方法を選択します。

 %80, E148_DXL_connect.png

なお、電源が供給された状態での配線作業は絶対に避けて下さい。

Page Top

電源の投入 anchor.png

配線を終え電源を投入すると、正常であればDynamixelの背面上部に装備された赤色のLEDが0.5秒点滅した後消灯します(ホストからLEDの点灯指示等が無いものとする)。
通信を行っていないにもかかわらず電源投入時にLEDが常時消灯ないし常時点灯した場合は、何らかの重大な問題が生じている可能性があります。まず電源を切り、配線方法やケーブル、電源装置を確認して下さい。
LEDが一定周期で点滅し続ける場合は、Dynamixel自身が何かしらの異常を検出した時です。

Page Top

通信プロトコルについて anchor.png

Dynamixel(スレーブ)自らが勝手にデータを送信することは無く、別途用意されるPC等(マスターないしホスト)から送信されるデータをDynamixelが受信した際にのみデータを返信するといったマスタースレーブ方式を採用しています。また、予め決められた電文に従った(プロトコル)電文にのみ応答します。さらに、その1回分の電文をパケットと言います。

DX_PacketProcess.png

本品はプロトコル2.0のみに対応しています。

Page Top

TTL I/Fについて anchor.png

DynamixelシリーズのTTL I/Fはシリアル通信を行う際の電気的な仕様の1つです。 1つの信号線で送信と受信を行う半二重を選択しています。

TTL_COMM.png
Page Top

IDについて anchor.png

Dynamixelは出荷時において個体識別用のID(数字)が全て1に設定されいます。その状態のまま1つのネットワークに複数台接続してしまうと、ホストから個々のDynamixelを識別することができないまでか、全てのDynamixelが自分自身への指令と認識してしまいます。そのため、複数台を接続して使用する際は、必ず予め1台ずつ異なるIDを設定しておきます。

RS485_X_DifferentID.png

IDを設定する際は先の識別の問題を回避するためホストが提供するネットワークに1台のみのDynamixelを接続し、複数台のDynamixelが接続されていない状態で作業を行う必要があります。


新たに導入されたSecondary IDは、既存のIDと同じ値を設定する事が前提となります。既存のIDの揮発メモリに書き込みの命令を行った際に、それと同じSecondary IDを持ったDynamixelは同じ書き込みが行われますが応答は返しません。

RS485_X_ShadowID.png

これは特定IDのDynamixelのみへ書き込みを指令するだけで、そのIDと同じSecondary IDを持った複数台のDynamixelを同期して同じ運転を行わせるといった場合に利用できます。

Page Top

ボーレートについて anchor.png

Dynamixelのボーレートは高いほど大量のデータを短時間に送受信できます。しかしながら高いボーレートはケーブルの長さや等の外的要因が相まって、データそのものの信頼性が損なわれる確率が高くなります。
また、複数台のDynamixelを使用する際は、全て同じボーレートに設定しておく必要があります。

Page Top

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

Dynamixel内に用意されたメモリ領域をここではコントロールテーブルと称します。コントロールテーブル中の任意のデータにアクセスする手段として通信プロトコロルが用意されています。
ホストから指定されたIDを持ったDynamixelのコントロールテーブルに対して読み書きを行う事で全てを統括するため、先のIDやボーレートもコントロールテーブル上に配置されています。
コントロールテーブルの詳細は後述の表に示します。

Page Top

動作モードについて anchor.png

Dynamixelは用途に応じて複数の動作モードを選択できます。大きく分けて3つの基本動作を持ちます。

  1. ホーンの角度を制御
    関節を構成する部位等に使用し、指定された角度を維持する。
    本Dynamixelでは「角度」とは言わず「位置」と称し、通常は0~360°の範囲でホーンの位置決めを行う。
    Ctrl_Pos.png
  2. ホーンの回転速度を制御
    車輪を構成する部位等に使用し、指定された回転速度を維持する。
    Ctrl_Velo.png
  3. モータの負荷を制御
    負荷に対してトルクを加える部位等に使用し、指定された負荷を制御する。
    Ctrl_Torque.png

これらの制御の切り替えや制御を行う際の条件の設定は、コントロールテーブル上に配置された様々なパラメータの値を変更することで行います。

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

適用 anchor.png

ファームウェア Ver.44以降を搭載した以下のDynamixelに共通するコントロールテーブルです。

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
9Return Delay TimeR/W (NVM)250uint8
0~254
10Drive ModeR/W (NVM)0uint8
0~255
11Operating ModeR/W (NVM)3uint8
0~16
12Secondary(Shadow) IDR/W (NVM)255uint8
0~255
13Protocol VersionR/W (NVM)2uint8
14
~
19
(reserve)R-uint8
20Homing OffsetR/W (NVM)0int32
-1044479~1044479
21
22
23
24Moving ThresholdR/W (NVM)10uint32
0~1023
25
26
27
28
~
30
(reserve)R-uint8
31Temperature LimitR/W (NVM)-uint8
0~100
32Max Voltage LimitR/W (NVM)-uint16
33
34Min Voltage LimitR/W (NVM)-uint16
35
36PWM LimitR/W (NVM)885uint16
0~885
37
38Current LimitR/W (NVM)-uint16
39
40Acceleration LimitR/W (NVM)32767uint32
0~32767
41
42
43
44Velocity LimitR/W (NVM)-uint32
45
46
47
48Max Position LimitR/W (NVM)4095uint32
0~4095
49
50
51
52Min Position LimitR/W (NVM)0uint32
0~4095
53
54
55
56External Port Mode 1R/W (NVM)3uint8
0~3
57External Port Mode 2R/W (NVM)3uint8
0~3
58External Port Mode 3R/W (NVM)3uint8
0~3
59
~
62
(reserve)R-uint8
63ShutdownR/W (NVM)-uint8
0~63
64Torque EnableR/W0uint8
0~1
65LEDR/W0uint8
0~1
66
~
67
(reserve)R-uint8
68Status Return LevelR/W2uint8
0~2
69Registered InstructionR0uint8
70Hardware Error StatusR0uint8
71
~
75
(reserve)R-uint8
76Velocity I GainR/W-uint16
0~16383
77
78Velocity P GainR/W-uint16
0~16383
79
80Position D GainR/W-uint16
0~16383
81
82Position I GainR/W-uint16
0~16383
83
84Position P GainR/W-uint16
0~16383
85
86
~
87
(reserve)R-uint8
88Feedforward Acceleration GainR/W0uint16
0~16383
89
90Feedforward Velocity GainR/W0uint16
0~16383
91
92
~
97
(reserve)R-uint8
98Bus WatchdogR/W0int8
-1~127
99(reserve)R-uint8
100Goal PWMR/W-int16
-PWM Limit~PWM Limit
101
102Goal CurrentR/W-int16
-Current Limit~Current Limit
103
104Goal VelocityR/W-int32
-Velocity Limit~Velocity Limit
105
106
107
108Profile AccelerationR/W0uint32
0~32767
109
110
111
112Profile VelocityR/W0uint32
0~32767
113
114
115
116Goal PositionR/W-int32
Min Position Limit~Max Position Limit
-1048575~1048575
117
118
119
120Realtime TickR-uint16
121
122MovingR0uint8
123Moving StatusR0uint8
124Present PWMR-int16
125
126Present Current​/Present LoadR-int16
127
128Present VelocityR-int32
129
130
131
132Present PositionR-int32
133
134
135
136Velocity TrajectoryR-
137
138
139
140Position TrajectoryR-
141
142
143
144Present Input VoltageR-uint16
145
146Present TemperatureR-uint8
147
~
151
(reserve)R-uint8
152External Port Data 1R/W-uint16
153
154External Port Data 2R/W-uint16
155
156External Port Data 3R/W-uint16
157
158
~
167
(reserve)R-uint8
168Indirect Address 1R/W224uint16
64~661
169
170Indirect Address 2225
171
172,173
~
218,219
Indirect Address 3
~
Indirect Address 26
226
~
249
220Indirect Address 27250
221
222Indirect Address 28251
223
224Indirect Data 1R/W0uint8
225Indirect Data 2
226Indirect Data 3
227
~
248
Indirect Data 4
~
Indirect Data 25
249Indirect Data 26
250Indirect Data 27
251Indirect Data 28
252
~
577
(reserve)R-uint8
578Indirect Address 29R/W634uint16
64~661
579
580Indirect Address 30635
581
582,583
~
628,629
Indirect Address 31
~
Indirect Address 54
636
~
659
630Indirect Address 55660
631
632Indirect Address 56661
633
634Indirect Data 29R/W0uint8
635Indirect Data 30
636
~
659
Indirect Data 31
~
Indirect Data 54
660Indirect Data 55
661Indirect Data 56
  • データ幅が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
XC330-M0771190(0x4A6)
XC330-M2881200(0x4B0)
XC330-M1811200(0x4B0)
XC330-M2881240(0x4D8)
XC330-T1811210(0x4BA)
XC330-T2881220(0x4C4)
XL430-W2501230(0x4CE)
2XL430-W2501090(0x442)
XC430-W150/XC430-T150BB1070(0x42E)
XC430-W240/XC430-T240BB1080(0x438)
2XC430-W2501160(0x488)
XM430-W2101030(0x406)
XH430-W2101010(0x3F2)
XH430-V2101050(0x41A)
XD430-T2101011(0x3F3)
XM430-W3501020(0x3FC)
XH430-W3501000(0x3E8)
XH430-V3501040(0x410)
XD430-T3501001(0x3E9)
XW430-T2001280(0x500)
XW430-T3331270(0x4F6)
XM540-W1501130(0x46A)
XH540-W1501110(0x456)
XH540-V1501150(0x47E)
XM540-W2701120(0x460)
XH540-W2701100(0x44C)
XH540-V2701140(0x474)
XW540-T1401180(0x49C)
XW540-T2601170(0x492)
Page Top
Version of Firmware anchor.png

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

Page Top
ID anchor.png

各Dynamixelを特定するための固有の値で0~252の範囲の数値で設定します。同一ネットワーク内に存在するDynamixelには各々異なるIDが要求されます。
なお2XLや2XCシリーズは1つのデバイスであってもネットワーク上では2個のDynamixelとみなされるため、設定しようとする対象のID番号はもう一方のID番号と同じ値を設定することができません。

Page Top
Baudrate anchor.png

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

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

Page Top
Return Delay Time anchor.png

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

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

回転方向、デュアルジョイント、プロファイル構成を設定します。
回転方向によりはPosition, Velocity, PWMの各指令によるホーンの回転方向が変化します。
デュアルジョイントは2台のDynamixelを同期させてトルクアップする際に使用し、一方をマスターもう一方をスレーブに設定します。※X540シリーズのみ装備
プロファイル構成は位置決め制御時に速度制御を行うか遷移時間制御を行うかを選択します。

BitNameDescription
7常時0
6常時0
5常時0
4常時0
3常時0
2Profile configuration0:Velocity-based Profile
1:Time-based Profile
1Dual Joint0:Master
1:Slavebr;※X540シリーズのみ
0Direction of rotation0:Normal (CCW方向を+、CW方向を-)
1:Reverse (CCW方向を-、CW方向を+)

2台のDynamixelのDual Jointを各々MasterとSlaveに設定し、Dual Joint Connector同士をデュアルジョイントケーブルで接続します。Slaveに設定されたDynamixelはDual Joint Connectorから入力されるMasterからの信号でのみ動作し、Slaveへの制御モード等の設定は一切無視されます。なお、ケーブルの配線方法により回転方向が決定されます。

Dual Joint
MasterSlave
dual_joint_nomal.png
dual_joint_reverse.png

Page Top
Operating Mode anchor.png

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

ValueModeDescription
0Current Control Mode電流制御。位置及び速度制御は行わない。
※XL430,2XL,XC,2XCシリーズは指定不可
1Velocity Control Mode速度制御。位置及びトルク制御は行わない。
3Position Control Mode位置制御。GoalPositionは0~360°の1回転分の制御範囲に制限。
4Extended Position Control Mode拡張位置制御。GoalPositionの範囲が拡大され、最大±256回転まで対応。
5Current-Base Position Control Mode電流制限付き位置制御。GoalPositionの範囲が拡大され、最大±256回転まで対応。
※XL430,2XL,XC,2XCシリーズは指定不可
16PWM Control ModePWMのデューティー比を制御。

Page Top
Secondary(Shadow) ID anchor.png

DynamixelのSecondary IDを設定します。Secondary IDは、IDと同様に各Dynamixelを識別するために用いられます。なお、Secondary IDに253以上の値が設定されている場合、Secondary IDは機能しません。

Page Top
Protocol Version anchor.png

プロトコルを選択します。他のシリーズのDynamixelと混在させて使用する際はそのプロトコルに合わせますが、異なるプロトコルを混在させて使用する事はできません。

ValueProtocolDescription
1DXL 1.0AX, DX, RX, MX, EXシリーズと互換
※XL330,XC330シリーズは指定不可
2DXL 2.0X, PROシリーズと互換
20S.BUSFutaba S.BUS (試行的実装)
※XL330,XC330シリーズのみ指定可
21iBUSFlySky (試行的実装)
※XL330,XC330シリーズのみ指定可
22RC-PWMPWM
※XL330,XC330シリーズのみ指定可

  • S.BUS
    • IDの範囲は1~16
    • 位置制御及び速度制御モードに対応
    • 数値範囲は0~2047
      protocol_s_bus_graph.png
  • iBUS
    • IDの範囲は1~14
    • 位置制御及び速度制御モードに対応
    • 数値範囲は0~16383
      protocol_ibus_graph.png
  • RC-PWM
Page Top
Homing Offset anchor.png

この値が真の現在位置に加算されPresent Positionに反映されます。オフセット位置をホスト側では無くDynamixel側に持たせる際に使用します。
真の現在位置とはMulti Turnがoff、Homing Offsetが0、Direction of rotationが0の時のPresent Positionを意味します。

Position [deg] = Value * 360 [deg] / 4095
  • 位置制御かつDual Jointを指定している場合、360度未満の回転はHoming Offsetの有効効な値は-1,024~1,024の範囲になります。
  • Drive ModeのDirection of rotationをReverseに設定しても、Homing Offsetの符号は反転しません。
Page Top
Moving Threshold anchor.png

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

Velocity [rpm] = Value * 0.229 [rpm]
Page Top
Temperature Limit anchor.png

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

Temperature [degC] = Value * 1 [degC]
ModelDefault value
XL330-M07770
XL330-M088
XC330-M181
XC330-M288
XC330-T181
XC330-T288
XL430-W25072
2XL430-W250
XC430-W150/XC430-T150BB80
XC430-W240/XC430-T240BB
2XC430-W250
XM430-W210
XH430-W210
XH430-V210
XD430-T210
XM430-W350
XH430-W350
XH430-V350
XD430-T350
XW430-T200
XW430-T333
XM540-W150
XH540-W150
XH540-V150
XM540-W270
XH540-W270
XH540-H270
XW540-T140
XW540-T260
Page Top
Max/Min Voltage Limit anchor.png

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

Voltage [V] = Value * 0.1 [V]
ModelDefault valueRange
MaxMin
XL330-M077703531~70
XL330-M288
XC330-T181
XC330-T288
XC330-M1811405555~140
XC330-M288
XL430-W2501406060~140
2XL430-W250
XC430-W150/XC430-T150BB1606060~160
XC430-W240/XC430-T240BB
2XC430-W250
XM430-W2101609595~160
XH430-W210
XM430-W350
XH430-W350
XM540-W150
XH540-W150
XM540-W270
XH540-W270
XW540-T140
XW540-T260
XH430-V210300110110~300
XH430-V350
XH540-V150
XH540-V270

Page Top
PWM Limit anchor.png

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

Duty [%] = Value * 100 [%] / 855
Page Top
Current Limit anchor.png

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

Current [mA] = Value * CurrentScalingFactor [mA]
ModelDefault valueRangeCurrent Scaling factor [mA]
XL330-M07717500~17501
XL330-M288
XC330-M18123520~23521
XC330-M288
XC330-T1819100~9101
XC330-T288
XL430-W250---
2XL430-W250
XC430-W150/XC430-T150BB
XC430-W240/XC430-T240BB
2XC430-W250
XM430-W21011930~11932.69
XH430-W2106480~648
XM430-W35011930~1193
XH430-W3506480~648
XM540-W15020470~2047
XH540-W150
XH540-V15011880~1188
XM540-W27020470~2047
XH540-W270
XH540-V27011880~1188
XW540-T14020470~2047
XW540-T260
XH430-V2106890~6891.34
XH430-V3506890~689

Page Top
Acceleration Limit anchor.png

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

Acceleration [rpm²] = Value * 214.577

XL330シリーズでは指定できません。

Page Top
Velocity Limit anchor.png

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

Velocity [rpm] = Value * 0.229 [rpm]
ModelDefault valueRange
XL330-M0774450~2047
XL330-M2881620
XC330-M181545
XC330-M288350
XC330-T181510
XC330-T288320
XL430-W2502650~1023
2XL430-W250250
XC430-W150/XC430-T150BB460
XC430-W240/XC430-T240BB306
2XC430-W250275
XM430-W210330
XH430-W210210
XH430-V210230
XM430-W350200
XH430-W350130
XH430-V350135
XM540-W150230
XH540-W150300
XH540-V150230
XM540-W270128
XH540-W270167
XH540-V270128
XW540-T140304
XW540-T260167

Page Top
Max/Min Position Limit anchor.png

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

Position [deg] = Value * 360 [deg] / 4096
Page Top
External Port Mode 1/2/3, External Port Data 1/2/3 anchor.png

Modeにて3つのExternal Portをデジタル入出力、もしくはアナログ入力に設定します。
※X540シリーズのみ装備

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
1常時0
0Input Voltage Error

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

Page Top
Torque Enable anchor.png

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

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

Page Top
LED anchor.png

本体に装備されたLEDを点灯ないし消灯します。

ValueDescription
0消灯
1点灯

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
Registered Instruction anchor.png

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

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を超えた
1-常時0
0Input Voltage ErrorPresent VoltageMax​/Min Voltage Limitの範囲を超えた

Page Top
Velocity I/P Gain anchor.png

速度制御演算における各種制御ゲインを指定します。
Operating ModeにVelocity Control Modeが設定されている時に有効です。
なお、制御ブロック中の各ゲインは、次の算式で示す減じられた値が用いられます。

KvI = (Velocity I Gain) / 65536
KvP = (Velocity P Gain) / 128
DX_CtrlBlock(Velocity).png
Page Top
Position D/I/P Gain, Feedforward Acceleration/Velocity Gain anchor.png

位置制御演算における各種制御ゲインを指定します。
Operating ModeにPosition Control Mode・Extended Position Control Mode・Current-Base Position Control Modeが設定されている時に有効な値です。
なお、制御ブロック中の各ゲインは、次の算式で示す減じられた値が用いられます。

KpD = (Position I Gain) / 16
KpI = (Position I Gain) / 65536
KpP = (Position P Gain) / 128
DX_CtrlBlock(Position).png
DX_CtrlBlock(Cur&Pos).png
ModelDefault Value
Velocity GainPosition Gain
IPDIP
XL330-M077400404000400
XL330-M288160018000400
XC330-M181140010050001200
XC330-M28816005050001100
XC330-T18112004000900
XC330-T28812004000900
XL430-W250100010040000640
2XL430-W250180010020000640
XC430-W150/XC430-T150BB192010000460
XC430-W240/XC430-T240BB192010000700
2XC430-W250192010000700
XM430-W210192010000800
XH430-W210192010000900
XH430-V210192010000800
XM430-W350192010000800
XH430-W350192010000900
XH430-V350192010000800
XM540-W150192010000800
XH540-W150192010000800
XH540-V150192010000800
XM540-W270192010000800
XH540-W270192010000800
XH540-V270192010000800
XW540-T140192010000800
XW540-T260192010000800

Page Top
Bus Watchdog anchor.png

無通信状態を監視する時間を指定します。
Bus Watchdogが1以上でかつTorque Enableが1である場合、ホストコントローラとDynamixel間の通信間隔を監視します。その間隔が指定時間よりも大きい場合にDynamixelは停止し、Bus Watchdogは-1に変更されます。Bus Watchdog Error状態になると、Goal PWMGoal CurrentGoal VelocityGoal Positionの各アイテムは読み取り専用に変更されます。Bus Wathdogの値を0に変更すると、Bus Watchdog Errorは解除されます。

ValueDescription
0Bus Watchdog無効, Bus Watchdog Error状態を解除
1~127Bus Watchdog有効 (Value * 20[ms])
-1Bus Watchdog Error状態
Page Top
Goal PWM anchor.png

PWMのデューティー比を指定します。
Operating ModeにPWM Modeが設定されている事はもとより、全てのModeにおける制御演算結果はPWMのデューティ比として算出されるため、必ず制御の最終段においてこの値以下にデューティー比が制限されモータへ印加されます。

Duty [%] = Value * 100 [%] / 855
Page Top
Goal Current anchor.png

電流センサを搭載したモデルにおいて電流制御の目標値を指定します。
Operating ModeにCurrent Control ModeもしくはCurrent-Base Position Control Modeが設定されている時に有効な値で、Current-Base Position Control Mode時はPosition D​/I​/P Gain, Feedforward 2nd​/1st Gainに示すブロック図に従って制御されます。

Current [mA] = Value * ScalingFactor [mA]

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

Page Top
Goal Velocity anchor.png

速度制御の目標値を指定します。
Operating ModeにVelocity Control Modeが設定されている時に有効な値で、Velocity I​/P Gaiに示すブロック図に従って制御されます。

Velocity [rpm] = Value * 0.229 [rpm]
Page Top
Profile Acceleration anchor.png

Profileの加速度もしくは加速時間を指定します。
Operating ModeがCurrent Control Modeである時を除くModeに有効です。

Drive ModeのProfile ConfigurationがVelocity-basedの場合、加速度は以下の式で決まります。

Acceleration [rpm²] = Value * 214.577

詳細はProfile Velocityを参照ください。なお0はモータの最大能力で加速します。

Drive ModeのProfile ConfigurationがTime-basedの場合、Profile AccelerationがProfile Velocityの50%を超えると50%に制限されます。

Page Top
Profile Velocity anchor.png
  • Velocity-based Profile時
    Drive ModeのProfile Configurationが0の時にProfileの最大速度を指定します。
    Operating ModeがCurrent Control ModeないしVelocity Control Modeである時を除くModeに有効です。なお、Velocity Control Mode時はGoal Velocityが最大速度として採用されます。
    Velocity [rpm] = Value * 0.229 [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

    適当な加速度と最大速度を設定した上で目標位置を指令する事で、急峻な加速度を伴う位置決め制御による機械的なショックを軽減できます。また、目標位置への到達時間が決まっている場合は、時間から加速度と最大速度を求めて設定する事で対応できます。
    なお、上記波形のt1及びt2は、概ね以下の数式で求められます。
    t1 [ms] = 64 * (Profile Velocity) / (Profile Acceleration)
    もしくは
    t1 [ms] = 64 * (Goal Velocity) / (Profile Acceleration)
    
    t2 [ms] = 64 * Δ(Present Position) / (Profile Velocity)

    また、これらの他に急峻な加速度変化を抑える制御を行っているため、最終的な目標到達時間はt3よりも長くなる場合があります。

  • Time-based Profile時
    Drive ModeのProfile Configurationが1の時にProfileの速度に到達するまでの期間を設定します。
    Operating ModeがCurrent Control ModeないしVelocity Control Modeである時を除くModeに有効です。
    Time [ms] = Value
Page Top
Goal Position anchor.png

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

Operating ModeValue RangeMax Turnover Number
3Min Position Limit~Max Position Limit1
4-1048575~+1048575-256~+256
5

DX_PosDir.png
Position [deg] = Value * 360 / 4096
Page Top
Realtime Tick anchor.png

15ビットのフリーランカウンタで、1ms周期毎にインクリメントされます。

Page Top
Moving anchor.png

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

ValueDescription
0Moving Threshold ≥ |Present Velocity|
1Moving Threshold < |Present Velocity|
もしくはProfileが進行中

Page Top
Moving Status anchor.png

動作中の状況を示します。

BitNameDescription
7-常時0
6-常時0
5Profile Type11:台形速度Profile
10:三角速度Profile
01:矩形速度Profile
00:Step速度Profile 
4
3Following Error位置制御時、位置がProfileに非追従 
2-常時0
1Profile OngoingGoal Positionに基づくProfile進行中
0In-Position位置制御時、目標位置到達

Page Top
Present PWM anchor.png

制御中のPWM出力値です。

Duty [%] = Value * 100 [%] / 855
Page Top
Present Current/Present Load anchor.png

Present Currentは現在モータへ流れている電流で、電流センサを搭載したモデルのみ有効です。

Current [mA] = Value * ScalingFactor [mA]

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


電流センサを搭載しないモデルの場合はPresent Loadが適用され、最大トルクに対する負荷の割合を意味します。

Load [%] = Value * 0.1

センサ等を用いない推定値のため、負荷の方向を知る程度の目的に使用して下さい。

Page Top
Present Velocity anchor.png

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

Velocity [rpm] = Value * 0.229 [rpm]
Page Top
Present Position anchor.png

真の位置からHoming Offsetを除した出力軸の位置です。

本値は次の条件に合致すると1回転以内の絶対位置値にリセットされます。

  • Operating Modeを位置制御モードに変更
  • Position Control ModeでトルクON
  • 電源を再印加
  • REBOOTインストラクションパケットを受信
Position [deg] = Value * 360 [deg] / 4096
Page Top
Velocity Trajectory anchor.png

Profileによって生成された目標速度を逐次示します。
Operating ModeにVelocity Control Mode・Position Control Mode・Extended Position Control Mode・Current-Base Position Control Modeが設定されている時に有効です。

Page Top
Position Trajectory anchor.png

Profileによって生成された目標位置を逐次示します。
Operating ModeにPosition Control Mode・Extended Position Control Mode・Current-Base Position Control Modeが設定されている時に有効です。

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~56)とIndirect Data N(N=1~56)は対になっており、Indirect Address Nに任意のコントロールテーブル上のアドレスXを設定すると、その後Indirect Data Nへアクセスする事はIndirect Address Nに設定されたアドレスXへ間接的にアクセスする事になります。

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

  1. Position P Gainのアドレス84~85をIndirect Address 1~2に書き込み
  2. Goal Velocityのアドレス104~107をIndirect Address 3~6に書き込み
  3. Goal Positionのアドレス116~119をIndirect Address 7~10に書き込み
  4. Present Positionのアドレス132~135をIndirect Address 11~14に書き込み
  5. Present Temperatureのアドレス146~147をIndirect Address 15~16に書き込み

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

DX_Indirect.png

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

なお、XL330シリーズは本領域が以下のとおり縮小されていますので注意が必要です。

XL330 series only
AddressItemAccessDefault ValueType/Range
168Indirect Address 1R/W208uint16
64~227
169
170Indirect Address 2209
171
172,173
~
202,203
Indirect Address 3
~
Indirect Address 18
210
~
225
204Indirect Address 19226
205
206Indirect Address 20227
207
208Indirect Data 1R/W0uint8
209Indirect Data 2
210
~
225
Indirect Data 3
~
Indirect Data 18
226Indirect Data 19
227Indirect Data 20

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: 2024-10-18 (Fri) 16:00:12 (JST) (54d)