Back to page

− Links

 Print 

BTX030B Dynamixel AX-12A :: Besttechnology

knowledge:BTX030B Dynamixel AX-12A

Table of contents
    • 特徴
    • 仕様
      • 同梱内容
      • 基本仕様
      • 寸法
        • CADデータ
      • 各機能詳細
        • コネクタ
          • 3pin (TTL版)
      • 基本的な固定方法
    • 使用するにあたり
      • 配線
      • 電源の投入
      • 通信プロトコルについて
      • シリアルI/Fについて
        • TTL
      • IDについて
      • ボーレートについて
      • コントロールテーブルとは
      • 動作モードについて
    • Dynamixel通信プロトコル
    • コントロールテーブル

ショップページへ[1]

Dynamixelシリーズ一覧[2]

特徴 anchor.png[3]

www.besttechnology.co.jp_q00129q4e3f7216c242f.png
  • ストールトルク 1.5N•m(at 12V 1.5A)
  • 動作範囲300°、10ビット分解能の位置フィードバック
  • TTL I/F対応
  • コンプライアンス付き位置決め制御
Page Top

仕様 anchor.png[4]

Page Top

同梱内容 anchor.png[5]

名称数量備考
本体1
ネジ・ナットキット1
Robot Cable-3P 180mm1
フレーム1F2
フレーム1F3
ワッシャ1
ブッシュ1
Page Top

基本仕様 anchor.png[6]

商品番号BTX030B
ストールトルク1.5N•m (at 12V, 1.5A)
無負荷回転数59rpm (at 12V)
減速比1/254
モータコアドモータ
出力軸動作範囲位置決め制御時:0~300°(10ビット分解能), Endless Turn
電源電圧範囲9~12V (Recommended 11.1V)
動作温度範囲-5~+70℃
重量54.6g
コマンドシグナルデジタルパケット
プロトコル半二重非同期通信 8-1-N
リンク方式TTL Multi Drop(daisy chain type Connector)
ID数254 (0~253)
通信速度8k~1M bps
フィードバック位置, 速度, 温度, 負荷, 電源電圧
材質ケースエンプラ
ギアピニオンを除きエンプラ
認証ce.pngfcc.pngz

Page Top

寸法 anchor.png[7]

  • 本体
    BTX030B-dim.png
  • F2
    BTX030B-F2.png
    BTX030B-bush.png
  • F3
    BTX030B-F3.png
Page Top

各機能詳細 anchor.png[11]

Page Top
コネクタ anchor.png[12]
Page Top
3pin (TTL版) anchor.png[13]
Page Top

基本的な固定方法 anchor.png[17]

フレームにより以下の様な構成が可能です。

  • F2
    BTX030B-F2fix.png
  • F3
    BTX030B-F3fix.png
Page Top

使用するにあたり anchor.png[18]

Page Top

配線 anchor.png[19]

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

DXHUB[21]とDynamixelを接続する場合は、Robot Cable-X3P 180mm (Convertible)が別途必要です。

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

Page Top

電源の投入 anchor.png[22]

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

Page Top

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

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

DX_PacketProcess.png

Dynamixelシリーズには2種類の通信プロトコル(1.0と2.0)が存在し、本品はその2種類に対応しています。

Page Top

シリアルI/Fについて anchor.png[24]

Page Top
TTL anchor.png[25]

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

TTL_COMM.png
Page Top

IDについて anchor.png[26]

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

RS485_MX_DifferentID.png

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

Page Top

ボーレートについて anchor.png[27]

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

Page Top

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

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

Page Top

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

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

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

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

Page Top

Dynamixel通信プロトコル anchor.png[30]

Dynamixel DX/RX/EX/AX/MXシリーズ共通の通信プロトコルです。また、Dynamixel XシリーズでプロトコルをV1に切り替えた際にも適用されます。

Table of contents
    • 基本的な情報
      • ID
      • コントロールテーブル
      • パケット通信
    • パケット詳細
      • インストラクションパケット
      • ステータスパケット
    • インストラクション詳細
      • PING
      • READ
      • WRITE
      • REG WRITE
      • ACTION
      • RESET
      • SYNC WRITE

基本的な情報 anchor.png[31]

Page Top

ID anchor.png[32]

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

RS485_MX_DifferentID.png

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

Page Top

コントロールテーブル anchor.png[33]

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

Page Top

パケット通信 anchor.png[34]

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

DxProt1.png

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

Page Top

パケット詳細 anchor.png[35]

以後「0x」が付与された英数字は16進数、そうでないものは10進数とみなします。
また、デバイスのコントロールテーブル上のStatus Return Levelによってパケットの有無が異なります。

Page Top

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

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

  • Header
    先頭2バイトは0xFF,0xFFの固定値。
  • ID
    送信先のデバイスのID。0~253(0x00~0xFD)の範囲及び254(0xFE)。
    254のIDは1回のインストラクションパケットで複数のデバイスに対して命令を発効する際に使用。
  • Length
    Instruction以後の全てのバイト数。
  • Instruction
    以下のいずれかのインストラクション。
    InstructionFunctionValueNumber of Parameter
    PINGデバイスの死活確認0x010
    READコントロールテーブルから読み出し0x022
    WRITEコントロールテーブルへ書き込み(即時反映)0x032~
    REG WRITEコントロールテーブルへ書き込み(保留)0x042~
    ACTIONREG_WRITEで保留された値を反映0x050
    RESETデバイスのコントロールテーブルを出荷時の値に初期化0x060
    SYNC WRITE複数デバイスの同一コントロールテーブルへの一括書き込み(即時反映)0x834~
  • Parameter
    Instructionで要求される追加情報(可変長)。
  • Checksum
    計算方法は次の通りです。
    SUM = ~(id + LEN + INS + Param1 + … + ParamN)
    計算された値が255を超えた場合は下位8ビットをSUMとします。
Page Top

ステータスパケット anchor.png[38]

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

  • Header
    先頭2バイトは0xFF,0xFFの固定値。
  • ID
    デバイスのID。
  • Length
    Error以後の全てのバイト数。
  • Error
    パケット処理中に検出されたデバイスの動作状況等。
    BitNameDescription
    7--
    6Instruction Error未定義のインストラクションが指定された、もしくはREG WRITEなしでACTIONが指定された
    5Overload Error指定された最大トルクで現在の負荷を制御できない
    4Checksum Errorインストラクションパケットのチェックサムが正しく無い
    3Range Errorパラメータの設定範囲を超えた
    2Overheating Error内部温度が設定温度を超えた
    1Angle Limit ErrorAngle Limitの範囲外にGoal Positionが指定された
    0Input Voltage Error電源電圧が指定動作電圧の範囲を超えた
  • Parameter
    インストラクションパケットに従った追加情報(可変長)。
  • Checksum
    計算方法は次の通りです。
    SUM = ~(id + LEN + INS + Param1 + … + ParamN)
    計算された値が255を超えた場合は下位8ビットをSUMとします。
Page Top

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

Page Top

PING anchor.png[41]

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

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

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

0xFF 0xFF ...Header
0x01 ...ID
0x02 ...Length
0x01 ...Instruction
0xFB ...Checksum

STAT:ID=1のDynamixelが応答。

0xFF 0xFF ...Header
0x01 ...ID
0x02 ...Length
0x00 ...Error
0xFC ...Checksum

Page Top

READ anchor.png[42]

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

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

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

例)
INST:AX-12A想定。ID=1に対しパラメータにAddress=43(0x2B PresentTemperature), Length=2(0x02)を指定してREADを発行。

0xFF 0xFF ...Header
0x01 ...ID
0x04 ...Length
0x02 ...Instruction
0x2B ...開始アドレス
0x01 ...バイトサイズ
0xCC ...Checksum

STAT:8bit幅で現在のPresentTemperature=32(0x20)の値を返信。

0xFF 0xFF ...Header
0x01 ...ID
0x03 ...Length
0x00 ...Error
0x20 ...DATAs
0xDB ...Checksum

Page Top

WRITE anchor.png[43]

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

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

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

例)
INST:AX-12A想定。ID=1(0x01)に対しパラメータにAddress=30(0x1E GoalPosition), Data=512(0x0200 16bit幅)を指定してWRITEを発行。

0xFF 0xFF ...Header
0x01 ...ID
0x05 ...Length
0x03 ...Instruction
0x1E ...開始アドレス
0x00 02 ...DATAs
0xD7 ...Checksum

STAT:ID=1のDynamixelが応答。

0xFF 0xFF ...Header
0x01 ...ID
0x02 ...Length
0x00 ...Error
0xFC ...Checksum

Page Top

REG WRITE anchor.png[44]

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

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

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

例)
INST:AX-12A想定。ID=1に対しパラメータにAddress=30(0x1E GoalPosition), Data=200(0x00C8 16bit幅)を指定してREG WRITEを発行。

0xFF 0xFF ...Header
0x01 ...ID
0x05 ...Length
0x04 ...Instruction
0x1E ...開始アドレス
0xC8 0x00 ...DATAs
0x0F ...Checksum

STAT:ID=1のDynamixelが応答。

0xFF 0xFF ...Header
0x01 ...ID
0x02 ...Length
0x00 ...Error
0xFC ...Checksum

Page Top

ACTION anchor.png[45]

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

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

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

0xFF 0xFF ...Header
0x01 ...ID
0x03 ...Length
0x05 ...Instruction
0xF6 ...Checksum

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

0xFF 0xFF ...Header
0x01 ...ID
0x02 ...Length
0x00 ...Error
0xFC...Checksum

Page Top

RESET anchor.png[46]

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

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

例)
INST:ID=0にRESETを発行。

0xFF 0xFF ...Header
0x00 ...ID
0x02 ...Length
0x06 ...Instruction
0xF7 ...Checksum

STAT:正常時の返信

0xFF 0xFF ...Header
0x00 ...ID
0x02 ...Length
0x00 ...Error
0xFD

Page Top

SYNC WRITE anchor.png[47]

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

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

    例)
    INST:AX-12A想定。ID=0へGoalPositionを16(0x0010),GoalSpeedを336(0x0150)、ID=1へGoalPositionを544(0x0220),GoalSpeedを864(0x0360)、ID=2へGoalPositionを48(0x0030),GoalSpeedを368(0x0170)、ID=3へGoalPositionを544(0x0220),GoalSpeedを896(0x0380)を指定してSYNC WRITEを発行。

    0xFF 0xFF ...Header
    0xFE ...ID(254固定)
    0x18 ...Length
    0x83 ...Instruction
    0x1E ...開始アドレス
    0x04 ...バイトサイズ
    0x00 0x10 0x00 0x50 0x01 ...1st ID, DATAs
    0x01 0x20 0x02 0x60 0x03 ...2nd ID, DATAs
    0x02 0x30 0x00 0x70 0x01 ...3rd ID, DATAs
    0x03 0x20 0x02 0x80 0x03 ...4th ID, DATAs
    0x12 ...Checksum

Page Top

コントロールテーブル anchor.png[48]

Table of contents
    • 適用
    • アイテム一覧
      • 各アイテム詳細
        • 0~1: Model Number
        • 2: Version of Firmware
        • 3: ID
        • 4: Baudrate
        • 5: Return Delay Time
        • 6~7: CW Angle Limit
        • 8~9: CCW Angle Limit
        • 11: Highest Limit Temperature
        • 12: Lowest Limit Voltage
        • 13: Highest Limit Voltage
        • 14~15: Max Torque
        • 16: Status Return Level
        • 17: Alarm LED
        • 18: Alarm Shutdown
        • 20~21: Down Calibration
        • 22~23: Up Calibration
        • 24: Torque Enable
        • 25: LED
        • 26: CW Compliance Margin
        • 27: CCW Compliance Margin
        • 28: CW Compliance Slope
        • 29: CCW Compliance Slope
        • 30~31: Goal Position
        • 32~33: Moving Speed
        • 34~35: Torque Limit
        • 36~37: Present Position
        • 38~39: Present Speed
        • 40~41: Present Load
        • 42: Present Voltage
        • 43: Present Temperature
        • 44: Registered Instruction
        • 46: Moving
        • 47: Lock
        • 48~49: Punch
        • Endless Turn

適用 anchor.png[49]

以下のDynamixelに共通のコントロールテーブルです。

Page Top

アイテム一覧 anchor.png[55]

Dynamixelの機能及び設定は次のメモリマップ上に1バイトないし2バイト(リトルエンディアン)のアイテムとして割り当てられ、インストラクションパケットを使用して操作します。
2バイトに渡るアイテムは1つのインストラクションパケットにおいて同時に書き込まれる必要があります。

AddressItemAccessDefault ValueRange
0Model NumberR-uint16
1
2Version of FirmwareR?uint8
3IDR/W (NVM)1uint8
0~253
4BaudrateR/W (NVM)34
(AXシリーズは1)
uint8
0~254
5Return Delay TimeR/W (NVM)250uint8
0~254
6CW Angle LimitR/W (NVM)0uint16
0~1023
7
8CCW Angle LimitR/W (NVM)1023uint16
0~1023
9
10(Reserved)--uint8
11Highest Limit TemperatureR/W (NVM)80uint8
10~99
12Lowest Limit VoltageR/W (NVM)60uint8
50~250
13Highest Limit VoltageR/W (NVM)190uint8
50~250
14Max TorqueR/W (NVM)1023uint16
0~1023
15
16Status Return LevelR/W (NVM)2uint8
0~2
17Alarm LEDR/W (NVM)0x24uint8
0~127
18Alarm ShutdwonR/W (NVM)0x24uint8
0~127
19(reserved)--uint8
20Down CalibrationR?uint16
21
22Up CalibrationR?uint16
23
24Torque EnableR/W0uint8
0~1
25LEDR/W0uint8
0~1
26CW Compliance MarginR/W1uint8
0~254
27CCW Compliance MarginR/W1uint8
0~254
28CW Compliance SlopeR/W32uint8
1~254
29CCW Compliance SlopeR/W32uint8
1~254
30Goal PositionR/W[Addr36]valueuint16
0~1023
31
32Moving SpeedR/W0uint16
0~2047
33
34Torque LimitR/W[Addr14]valueuint16
0~1023
35
36Present PositionR-uint16
37
38Present SpeedR-uint16
39
40Present LoadR-uint16
41
42Present VoltageR-uint8
43Present TemperatureR-uint8
44Registered InstructionR0uint8
0~1
45(reserved)--uint8
46MovingR0uint8
47LockR/W0uint8
0~1
48PunchR/W32uint16
0~1023
49
  • データ幅が16bitのアイテムはリトルエンディアン(データの下位バイトから順に格納)。
  • Accessに(NVM)とあるアイテムは不揮発メモリとなっており、電源を切っても値が保持される。また頻繁な書き換えは想定されていないため、書き換えは必要最低限にとどめること。
  • Accessに(NVM)とあるアイテムとIndirect Addressを変更する場合は、Torque Enalbeが0でなくてはならない。
  • (reserve)はシステムで予約され、読み出した値に有効性はない。また、書き込みを行ってはならない。
  • Default Valueは出荷時ないしファクトリーリセットを行った際の値。又、ファームウェアのバージョンによって値が変更される場合がある。
Page Top

各アイテム詳細 anchor.png[56]

Page Top
0~1: Model Number anchor.png[57]

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

Page Top
2: Version of Firmware anchor.png[58]

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

Page Top
3: ID anchor.png[59]

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

Page Top
4: Baudrate anchor.png[60]

通信速度を決める分周値で、通信速度は次式で導かれます。

Baudrate[bps] = 2000000[bps] / (Value + 1)

主なBaudrate

ValueActual Baudrate[bps]Specified Baudrate[bps]Error[%]
11000000.010000000.000
3500000.05000000.000
4400000.04000000.000
7250000.02500000.000
9200000.02000000.000
16117647.1115200-2.124
3457142.9576000.794
10319230.819200-0.160
2079615.49600-0.160

※ホストとのボーレートの誤差は±2%以下が要求されます。

Page Top
5: Return Delay Time anchor.png[61]

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

Delay Time [us] = Value * 2 [us]
Page Top
6~7: CW Angle Limit anchor.png[63]
Page Top
8~9: CCW Angle Limit anchor.png[64]

動作角の範囲です。Goal Positionは以下の範囲に設定する必要があります。
CW Angle Limit <= Goal Position <= CCW Angle Limit
Goal Positionが動作角のリミットを越えると、Angle Limit Errorが起こります。

CW Angle Limit及びCCW Angle Limitを両方0に設定するとEndless Turnモードになります。

Page Top
11: Highest Limit Temperature anchor.png[65]

Present Temperatureがこの値を超えるとOverheating Errorの該当ビットがONになります。

Temperature [degC] = Value * 1 [degC]
Page Top
12: Lowest Limit Voltage anchor.png[66]
Page Top
13: Highest Limit Voltage anchor.png[67]

Present Voltageがこの値の範囲を超えるとInput Voltage Errorの該当ビットはONになります。

Voltage [V] = Value * 0.1 [V]
Page Top
14~15: Max Torque anchor.png[68]

最大出力トルクの初期値です。起動直後にこの値がTorque Limitへコピーされ、以後使用されません。
単位は最大出力に対する割合です。Max Torqueが512なら最大出力対比約50%、1023なら100%が出力の上限となります。

Page Top
16: Status Return Level anchor.png[69]

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

ValueInstruction to respond
0Ping
1Ping, Read
2Ping, Read, Write, Reg Write, Reset

Page Top
17: Alarm LED anchor.png[70]

対応するビットを1に設定すると、エラーが発生した時にステータスLEDが点滅します。
すべてのビットのOR論理演算に従って動作します。例えば0x05が設定されていたら、Input Voltage ErrorかOverheating Errorが起こったときにLEDが点滅します。

BitNameDescription
7--
6Instruction Error未定義のインストラクションが指定された、もしくはreg_writeなしでactionが指定された
5Overload Error指定された最大トルクで現在の負荷を制御できない
4Checksum Errorインストラクションパケットのチェックサムが正しく無い
3Range Errorパラメータの設定範囲を超えた
2Overheating Error内部温度が設定温度を超えた
1Angle Limit ErrorAngle Limitの範囲外にGoal Positionが指定された
0Input Voltage Error電源電圧が指定動作電圧の範囲を超えた
Page Top
18: Alarm Shutdown anchor.png[71]

対応するビットを1に設定すると、エラーが発生した時にTorque Limitを0に設定し、モータの出力を遮断します。
エラーが発生した後、正常状態に戻ってもTorque Limitは0が維持されますので、Torque Limitに値を再設定する必要があります。

BitNameDescription
7--
6Instruction Error未定義のインストラクションが指定された、もしくはreg_writeなしでactionが指定された
5Overload Error指定された最大トルクで現在の負荷を制御できない
4Checksum Errorインストラクションパケットのチェックサムが正しく無い
3Range Errorパラメータの設定範囲を超えた
2Overheating Error内部温度が設定温度を超えた
1Angle Limit ErrorAngle Limitの範囲外にGoal Positionが指定された
0Input Voltage Error電源電圧が指定動作電圧の範囲を超えた
Page Top
20~21: Down Calibration anchor.png[72]
Page Top
22~23: Up Calibration anchor.png[73]

ポテンショメータの誤差を補うのに使用されるデータです。ユーザは変更できません。

Page Top
24: Torque Enable anchor.png[74]

電源を入れた時、出力軸はフリーの状態です。Torque Enableを1に設定するとトルクが有効になります。 Goal Positionを指定した場合も1になります。

Page Top
25: LED anchor.png[75]

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

ValueDescription
0消灯
1点灯

Page Top
26: CW Compliance Margin anchor.png[76]
Page Top
27: CCW Compliance Margin anchor.png[77]
Page Top
28: CW Compliance Slope anchor.png[78]
Page Top
29: CCW Compliance Slope anchor.png[79]

Dynamixelはコンプライアンスを設定することで出力軸に柔軟性を持たせます。グラフはポジションと出力の相関を表し、A~Dは各コンプライアンス値です。

DxCntTable1.png

A : CCW Compliance Slope
B : CCW Compliance Margin
C : CW Compliance Margin
D : CW Compliance Slope
E : Punch

Page Top
30~31: Goal Position anchor.png[80]

出力軸の位置を設定します。出力軸0~300°に対し、0~1023の値を与えます。 Endless Turnモードでは使用しません。

DxCntTable2.png
Page Top
32~33: Moving Speed anchor.png[81]

出力軸が動く際の回転数を指定します。

Velocity [rpm] = Value * 0.111 [rpm]

但し該当モデルの最大回転数以上では動作しません。0に設定すると供給電圧で可能な最大速度になります。

Endless Turnモードで使用する場合はEndless Turn参照。

Page Top
34~35: Torque Limit anchor.png[82]

最大出力の上限値です。 単位は最大出力に対する割合です。Max Torqueが512なら最大出力対比約50%、1023なら100%が出力の上限となります。
電源を入れるとMax Torqueの値を初期値として使用します。

Page Top
36~37: Present Position anchor.png[83]

出力軸の現在位置です。出力軸0~300°に対し、0~1023の値をとります。

Endless Turnモードでは300~360°の間は不定値となります。

Page Top
38~39: Present Speed anchor.png[84]

出力軸の現在の角速度です。10番目のビットは回転方向を表します。

Present Speed [rpm] = Value * 0.111 [rpm]

Endless Turnモードの場合はEndless Turn参照。

Bit15~11109~0
Value0DirectionSpeed

Direction = 0 : CCW, Direction = 1 : CW

Page Top
40~41: Present Load anchor.png[85]

出力に基づいて算出された負荷の大きさです。10番目のビットは負荷の方向です。
単位は最大出力に対する割合です。512ならCCW方向に最大出力対比約50%、1023なら100%の負荷となります。

Bit15~11109~0
Value0DirectionLoad

Direction = 0 : CCW, Direction = 1 : CW

Page Top
42: Present Voltage anchor.png[86]

現在供給されている電圧です。値は電圧(V)の10倍値です。例えば10Vは100となります。

Page Top
43: Present Temperature anchor.png[87]

内部温度(℃)です。例えば30℃は30です。

Page Top
44: Registered Instruction anchor.png[88]

REG_WRITEコマンドでインストラクションが格納されたとき1になり、ACTIONコマンドでインストラクションが完了したら0になります。

Page Top
46: Moving anchor.png[89]

供給された電力で出力軸が回転しているときに1、それ以外は0が設定されます。外力によって出力軸が動いても1にはなりません。

Page Top
47: Lock anchor.png[90]

1を設定するとコントロールテーブルの不揮発エリア(アドレス0~23)が書き換え不能になります。ロックの解除するには電源を入れ直す必要があります。

Page Top
48~49: Punch anchor.png[91]

現バージョンのファームウェアでは使用していません。

操作時にモータに供給される最小の電流です。

Page Top
Endless Turn anchor.png[92]

CW Angle LimitとCWW Angle Limitを0に設定することで、車輪のような役割として使用できるEndless Turnモードになります。Moving Speedで回転速度を指定します。

Endless TurnモードでのMoving Speed及びPresent Speedは、最大出力に対する出力の割合です。512ならCCW方向に最大出力対比約50%、1023なら100%の出力で制御します。負荷の大きさによって回転速度は変わります。

Moving Speedの設定

Bit15~11109~0
Value0Turn DirectionSpeed

Trun Direction = 0 : CCW, Trun Direction = 1 : CW


Last-modified: 2017-08-20 (Sun) 01:53:14 (JST) (2671d) by takaboo