Page Top

アイテム一覧 anchor.png

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

Page Top
0~1: Model Number anchor.png

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

Page Top
2: Version of Firmware anchor.png

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

Page Top
3: ID anchor.png

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

Page Top
4: Baudrate anchor.png

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

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

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

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

動作角の範囲です。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

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

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

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

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

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

Page Top
16: Status Return Level anchor.png

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

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

Page Top
17: Alarm LED anchor.png

対応するビットを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

対応するビットを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
Page Top
22~23: Up Calibration anchor.png

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

Page Top
24: Torque Enable anchor.png

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

Page Top
25: LED anchor.png

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

ValueDescription
0消灯
1点灯

Page Top
26: CW Compliance Margin anchor.png
Page Top
27: CCW Compliance Margin anchor.png
Page Top
28: CW Compliance Slope anchor.png
Page Top
29: CCW Compliance Slope anchor.png

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

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

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

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

Velocity [rpm] = Value * 0.111 [rpm]

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

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

Page Top
34~35: Torque Limit anchor.png

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

Page Top
36~37: Present Position anchor.png

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

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

Page Top
38~39: Present Speed anchor.png

出力軸の現在の角速度です。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

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

Bit15~11109~0
Value0DirectionLoad

Direction = 0 : CCW, Direction = 1 : CW

Page Top
42: Present Voltage anchor.png

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

Page Top
43: Present Temperature anchor.png

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

Page Top
44: Registered Instruction anchor.png

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

Page Top
46: Moving anchor.png

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

Page Top
47: Lock anchor.png

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

Page Top
48~49: Punch anchor.png

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

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

Page Top
Endless Turn anchor.png

CW Angle LimitCWW 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


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-09-07 (Thu) 00:58:18 (JST) (745d)