ページへ戻る

− Links

 印刷 

MX Series Control table のソース :: Besttechnology

knowledge:MX Series Control tableのソース

« Prev[3]  
TITLE:MX Series Control table
**適用 [#q973e381]
DynamixelプロトコルV1版ファームウェア Ver.36以降を搭載した以下のDynamixelに共通するコントロールテーブルです。
-MX-12W
-[[MX-28R/MX-28T/MX-28AR/MX-28AT>MX-28]]
-[[MX-64R/MX-64T/MX-64AR/MX-64AT>MX-64]]
-[[MX-106R/MX-106T>MX-106]]

**アイテム一覧 [#x4eb66a5]
|=''Address''|=''Item''|=''Access''|=''Reset Value''|=''Range''|h
|CENTER:|LEFT:|CENTER:|CENTER:|CENTER:|c
|0|BGCOLOR(beige):[[Model Number>#ta493b6c]]|R|-|uint16|
|1|~|~|~|~|
|2|BGCOLOR(beige):[[Version of Firmware>#x2b21b74]]|R|-|uint8|
|3|BGCOLOR(seashell):[[ID>#afcb4273]]|R/W (NVM)|1|uint8&br;0~253|
|4|BGCOLOR(seashell):[[Baudrate>#r27c0a5d]]|R/W (NVM)|34&br;(MX-12Wのみ1)|uint8&br;0~254|
|5|BGCOLOR(seashell):[[Return Delay Time>#z6a035d0]]|R/W (NVM)|250|uint8&br;0~254|
|6|BGCOLOR(seashell):[[CW Angle Limit>#h4561931]]|R/W (NVM)|0|uint16&br;0~4095|
|7|~|~|~|~|
|8|BGCOLOR(seashell):[[CCW Angle Limit>#u752e406]]|R/W (NVM)|4095|uint16&br;0~4095|
|9|~|~|~|~|
|10|BGCOLOR(seashell):[[Drive Mode>#rd7fa695]]|R/W (NVM)|0|uint8&br;0~3|
|11|BGCOLOR(seashell):[[Highest Limit Temperature>#eae67652]]|R/W (NVM)|80|uint8&br;10~99|
|12|BGCOLOR(seashell):[[Lowest Limit Voltage>#l2901ded]]|R/W (NVM)|60|uint8&br;50~250|
|13|BGCOLOR(seashell):[[Highest Limit Voltage>#sf36842f]]|R/W (NVM)|160|uint8&br;50~250|
|14|BGCOLOR(seashell):[[Max Torque>#m8848974]]|R/W (NVM)|1023|uint16&br;0~1023|
|15|~|~|~|~|
|16|BGCOLOR(seashell):[[Status Return Level>#mc2f793d]]|R/W (NVM)|2|uint8&br;0~2|
|17|BGCOLOR(seashell):[[Alarm LED>#q8d97e3d]]|R/W (NVM)|36|uint8&br;0~127|
|18|BGCOLOR(seashell):[[Alarm Shutdwon>#y219e63a]]|R/W (NVM)|36|uint8&br;0~127|
|19|BGCOLOR(silver):(reserve)|R|-|uint8|
|20|BGCOLOR(seashell):[[Multi Turn Offset>#f95fb07c]]|R|0|int16&br;-24576~24576|
|21|~|~|~|~|
|22|BGCOLOR(seashell):[[Resolution Divider>#hceb4e38]]|R|1|uint8&br;1~4|
|23|BGCOLOR(silver):(reserve)|R|-|uint8|
|24|BGCOLOR(lightcyan):[[Torque Enable>#ae42664f]]|R/W (NVM)|0|uint8&br;0~1|
|25|BGCOLOR(lightcyan):[[LED>#j0f1ab3d]]|R/W (NVM)|0|uint8&br;0~1|
|26|BGCOLOR(lightcyan):[[D Gain>#z76ef779]]|R/W|0&br;(MX-12Wのみ8)|uint8&br;0~254|
|27|BGCOLOR(lightcyan):[[I Gain>#n47ffacd]]|R/W|0|uint8&br;0~254|
|28|BGCOLOR(lightcyan):[[P Gain>#l6ed04c6]]|R/W|32&br;(MX-12Wのみ8)|uint8&br;1~254|
|29|BGCOLOR(silver):(reserve)|R|-|uint8|
|30|BGCOLOR(lightcyan):[[Goal Position>#i10660fa]]|R/W|[Addr36]value|uint16/int16&br;0~4095/-28672~28672|
|31|~|~|~|~|
|32|BGCOLOR(lightcyan):[[Moving Speed>#s3139326]]|R/W|0|uint16&br;-1023~1023|
|33|~|~|~|~|
|34|BGCOLOR(lightcyan):[[Torque Limit>#l9afa11c]]|R/W|[Addr14]value|uint16&br;0~1023|
|35|~|~|~|~|
|36|BGCOLOR(beige):[[Present Position>#v2f847df]]|R|?|uint16&br;|
|37|~|~|~|~|
|38|BGCOLOR(beige):[[Present Speed>#qeda324a]]|R|?|uint16&br;|
|39|~|~|~|~|
|40|BGCOLOR(beige):[[Present Load>#j002f18d]]|R|?|uint16&br;|
|41|~|~|~|~|
|42|BGCOLOR(beige):[[Present Voltage>#r74e7fb8]]|R|?|uint8&br;|
|43|BGCOLOR(beige):[[Present Temperature>#i9d8fe30]]|R|?|uint8&br;|
|44|BGCOLOR(beige):[[Registered Instruction>#oc452a69]]|R/W|0|uint8&br;0~1|
|45|BGCOLOR(silver):(reserve)|R|-|uint8|
|46|BGCOLOR(beige):[[Moving>#vc953eee]]|R|0|uint8&br;|
|47|BGCOLOR(lightcyan):[[Lock>#ib2c369f]]|R/W|0|uint8&br;0~1|
|48|BGCOLOR(lightcyan):[[Punch>#edd9e980]]|R/W|32|uint16&br;0~1023|
|49|~|~|~|~|
|50&br;~&br;67|BGCOLOR(silver):(reserve)|R|-|uint8|
|68|BGCOLOR(lightcyan):[[Current>#vfbc0b35]]|R|?|uint16&br;0~4095|
|69|~|~|~|~|
|70|BGCOLOR(lightcyan):[[Torque Control Mode Enable>#v4678328]]|R/W|0|uint8&br;0~1|
|71|BGCOLOR(lightcyan):[[Goal Torque>#b7f047a6]]|R/W|0|uint16&br;0~2047|
|72|~|~|~|~|
|73|BGCOLOR(lightcyan):[[Goal Acceleration>#z3b818ed]]|R/W|0|uint8&br;0~254|
-データ幅が16bitないし32bitのアイテムはリトルエンディアン(データの下位バイトから順に格納)。
-Accessに(NVM)とあるアイテムは不揮発メモリとなっており、電源を切っても値が保持される。また頻繁な書き換えは想定されていないため、書き換えは必要最低限にとどめること。
-Accessに(NVM)とあるアイテムとIndirect Addressを変更する場合は、Torque Enalbeが0でなくてはならない。
-(reserve)はシステムで予約され、読み出した値に有効性はない。また、書き込みを行ってはならない。
-Default Valueは出荷時ないしファクトリーリセットを行った際の値。又、ファームウェアのバージョンによって値が変更される場合がある。

**各アイテムの詳細 [#hd8e7c4e]
***0~1:Model Number [#ta493b6c]
モデルナンバーです。各モデルには以下の固有値が割り当てられます。
| Model Name | Value |h
| MX-12W | 0x0168 |
| MX-28 | 0x001D |
| MX-64 | 0x0136 |
| MX-106 | 0x0140 |

***2:Version of Firmware [#x2b21b74]
ファームウェアのバージョンです。

***3: ID [#afcb4273]
各Dynamixelを特定するための固有の値で0~253の範囲で設定します。同一ネットワーク中のDynamixelには各々異なるIDが要求されます。

254はBroadcast IDとし、全てのDynamixelへパケットを送信する際に使用します。

***4:Baudrate [#r27c0a5d]
通信速度を決める分周値で、通信速度は次式で導かれます。~
Baudrate[bps]=2000000 / (value + 1)~

主なBaudrate~
| value | Actual Baudrate[bps] | Specified Baudrate[bps] | Error[%] |h
| 1| 1000000.0| 1000000| 0.000|
| 3| 500000.0| 500000| 0.000|
| 4| 400000.0| 400000| 0.000|
| 7| 250000.0| 250000| 0.000|
| 9| 200000.0| 200000| 0.000|
| 16| 117647.1| 115200| -2.124|
| 34| 57142.9| 57600| 0.794|
| 103| 19230.8| 19200| -0.160|
| 207| 9615.4| 9600| -0.160|
※ホストとのボーレートの誤差は±2%以下が要求されます。

なお、MXシリーズのみ以下の値の時にイリガルなボーレートが割り当てられていますので注意が必要です。
| value | Baudrate[BPS] |h
| 250 | 2250000.0|
| 251 | 2500000.0|
| 252 | 3000000.0|
| 253 | 3500000.0※|
| 254 | 4000000.0※|
※MX-64,MX-106のみ

***5:Return Delay Time [#z6a035d0]
インストラクションパケットが送られた後、ステータスパケットを返すまでの待ち時間を設定します。~
単位は2[usec]です。

***6~7:CW Angle Limit [#h4561931]
***8~9:CCW Angle Limit [#u752e406]
Jointモード時のDynamixelの動作角度範囲を設定します。Goal Positionは以下の範囲にある必要があります。~
CW Angle Limit <= Goal Position <= CCW Angle Limit~
Goal Positionが動作角のリミットを越えると、Angle Limit Errorが起こります。

なお、設定値に応じてDynamixelの動作モードが変わります。
-CW Angle Limit < CCW Angle Limit時~
Jointモードとなり、出荷時の位置決め制御となります。
-CW Angle Limit = CCW Angle Limit = 0~
[[Wheelモード>#m81274a2]]になります。
-CW Angle Limit = CCW Angle Limit = 4095~
[[Multi Turnモード>#m8457ffc]]になります。

***10:Drive Mode [#rd7fa695]
※MX-106のみ~
デュアルモードにおけるマスタ/スレーブ、及び回転方向を設定します。

| Bit | 機能 | 設定 |h
| 7~2 | - | - |
| 1 |マスター/スレーブ選択 | 0:マスタ, 1:スレーブ |
| 0 |回転方向選 | 0:順方向, 1:逆方向 |

****マスター/スレーブ選択ビット [#x1127b7a]
スレーブに設定されたDynamixelは、マスターに設定されたDynamixelと同期化用ケーブルで接続すると、マスタに設定されたDynamixelと同期したポジションに自動的に動作します。
1つの関節に対し2つのDynamixelを使用する事で、トルクアップが期待できます。

同期化ケーブルの接続によりスレーブの回転方向が変わり、黒い線を並列に接続した場合は順方向に、クロスして接続した場合は逆方向に回転します。

#ref("dual.png");

****回転方向選 [#n0bc4bd0]
0の場合は0~360°の範囲を4095~0のGoal Position、1の場合は0~360°の範囲を0~4095 のGoal Positionで位置決め制御を行います。

***11:Highest Limit Temperature [#eae67652]
Dynamixelの動作温度の上限です。Dynamixelの内部温度がこの値より高くなるとOverheating Errorが起こります。値は℃です。

***12:Lowest Limit Voltage [#l2901ded]
***13:Highest Limit Voltage [#sf36842f]
Dynamixelの動作電圧の上限と下限です。現在の電圧(Address42)が指定した範囲から出ると、Input Voltage Errorが起こります。値は実際の電圧の10倍です。例えばAddress12が80なら、電圧の下限は8Vに設定されます。

***14~15:Max Torque [#m8848974]
Dynamixelの最大トルク出力です。この値が0に設定されるとDynamixelはトルクがかかっていないFree Runモードになります。EEPROM(Address14, 15)とRAM(Address34, 35)の2つに最大トルクが定義されます。電源を入れるとEEPROMの最大トルク値がRAMの最大トルク値にコピーされます。DynamixelのトルクはRAM(Address34, 35)の値によって制限されます。

***16:Status Return Level [#mc2f793d]
Dynamixelが返すステータスパケットの措置を設定します。
| Value | 処理 |
| 0 |PINGインストラクションパケットのみに応答|
| 1 |PING及びREAD_DATAインストラクションパケットのみに応答する|
| 2 |全てのインストラクションパケットに応答する|

***17:Alarm LED [#q8d97e3d]
対応するBitが1に設定されると、その要因発生時にステータスLEDが点滅します。要因が解消するとLEDは2秒後に消灯します。
| Bit | 要因 |h
| 7 |-|
| 6 |Instruction Error|
| 5 |Overload Error|
| 4 |Checksum Error|
| 3 |Range Error|
| 2 |Overheating Error|
| 1 |Angle Error|
| 0 |Input Voltage Error|

***18:Alarm Shutdown [#y219e63a]
対応するBitが1に設定されると、その要因発生時にDynamixelのTorque Limit(Address34~35)を0にします。復帰する際はTorque Limit(Address34~35)を再設定する必要があります。
| Bit | 要因 |h
| 7 |-|
| 6 |Instruction Error|
| 5 |Overload Error|
| 4 |Checksum Error|
| 3 |Range Error|
| 2 |Overheating Error|
| 1 |Angle Error|
| 0 |Input Voltage Error|

***20~21:Multi Turn Offset [#f95fb07c]
[[Multi Turnモード>#m8457ffc]]時のオフセット位置を調整します。~
この値が真の位置フィードバックに加算され、[[Present Position>#v2f847df]]に現れます。

***22:Resolution divider [#hceb4e38]
位置の分解能を設定します。~
真の位置フィードバック値を本値で乗じた値が[[Present Position>#v2f847df]]に現れます。

***24:Torque Enable [#ae42664f]
最初に電源を入れるとDynamixelはTorque Free Run(ゼロトルク)になります。Address24に1を設定するかゴールポジションが設定されるとトルクが有効になります。

***25:LED [#j0f1ab3d]
1が設定されるとLEDが点灯し、0が設定されると消灯します。

***26:D Gain [#z76ef779]

***27:I Gain [#n47ffacd]

***28:P Gain [#l6ed04c6]

MXシリーズはPID制御を行います。P Gainは比例、I Gainは積分、D Gainは微分ゲインで、いずれも値の範囲は0〜254です。
#ref(pidcontrol_.png,70%)
Kp=(P Gain)/8~
Ki=(I Gain)*1000/2048~
Kd=(D Gain)*4/1000~

***30~31:Goal Position [#i10660fa]
Dynamixelの出力角の位置を設定します。0(0x000)~4095(0xfff)の設定値に対し、出力軸は0°~360°の範囲で動作します。
#ref(DxCntTable2.png)

[[Multi Turnモード>#m8457ffc]]時はそのモードに従います。

***32~33:Moving Speed [#s3139326]
出力軸がGoal Positionへ動く時の速度で、単位は約0.114rpmです。~
0に設定すると速度制御を無視し、モータの最大速度で運転します。~
1023に設定すると約117.07rpmで運転します。~

[[Wheelモード>#m8457ffc]]時は10bit目が回転方向を意味します。

| Bit15~11 | Bit10 | Bit9~0 |h
| 0 | Turn Direction | Speed |
Sing = 0 : CCW, 1 : CW

***34~35:Torque Limit [#l9afa11c]

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

***36~37:Present Position [#v2f847df]
出力軸の現在の角度です。Goal Positionと同様0(0x000)~4095(0xfff)の値に対し、0°~360°を表します。

[[Wheelモード>#m8457ffc]]では総回転角度を表します。

***38~39:Present Speed [#qeda324a]
出力軸の現在の角速度です。
ビット10は回転方向を表します。

| Bit15~11 | Bit10 | Bit9~0 |h
| 0 | Turn Direction | Speed |
Trun Direction = 0 : CCW, Trun Direction = 1 : CW

***40~41:Present Load [#j002f18d]
操作するDynamixelの負荷の大きさです。10bit目が負荷の向きを表します。
| Bit15~11 | Bit10 | Bit9~0 |h
| 0 | Load Direction | Load |
Load Direction = 0 : CCW Load, Load Direction = 1 : CW Load

***42:Present Voltage [#r74e7fb8]
現在のDynamixelに供給されている電圧です。値は実際の電圧の10倍です。例えば、10Vは100(0x64)と表します。

***43:Present Temperature [#i9d8fe30]
Dynamixelの内部温度(℃)です。

***44:Registered Instruction [#oc452a69]
REG_WRITEコマンドでインストラクションが格納されたとき1が設定され、ACTIONコマンドによって格納されたインストラクションが完了したら0が設定されます。

***46:Moving [#vc953eee]
Goal Positionが更新され、Dynamixelが目標位置へ移動している間に1となります。

***47:Lock [#ib2c369f]
1が設定されるとAddress24からAddress35以外のエリアが書き換え不能となります。ロックを解除する方法は、電源を切る以外にありません。

***48~49:Punch [#edd9e980]
操作時にモータに供給される最小の電流です。初期値は0x20に設定されていて、最大値は0x3ffです。

***68~69:Current [#vfbc0b35]
現在の電流値です。
単位は4.5mAです。

値が2048より大きい場合は+方向に、2048より小さい場合は-方向に電流が流れている事を意味します。
#ref("mx_current.png");

***70:Torque Control Mode Enable [#v4678328]
※MX-64及びMX-106のみ~
0が設定されるとトルク制御モードが停止し位置決め制御ないしエンドレスターンが使用できます。~
1が設定されるとトルク制御モードが開始され、位置決め制御ないしエンドレスターンが使用できなくなります。~
トルク制御モードは位置及び速度制御を行わずにGoal Torqueで指示された値でのみ運転します。

***71~72:Goal Torque [#b7f047a6]
※MX-64及びMX-106のみ~
トルク制御モード時のトルクを指定します。単位は4.5mAです。~
0~1023の範囲でCCW方向、1024~2047の範囲でCW方向にトルクを指示します。なお、Torque Limit以上の値は出力されません。

***73:Goal Acceleration [#z3b818ed]
目標加速度で、単位は 8.583 deg/sec^2 です。Goal Positionが更新された際のメカニカルなショックを抑止する場合に設定します。~
0に設定すると加速度制御を行いません。また、加速度制御を行う場合は、Goal Speedを0以外の値に設定する必要があります。

**Wheelモード [#m81274a2]
Address 6(0x06)~9(0x09)のCW Angle LimitとCCW Angle Limitを0に設定するとWheelモードになります。車輪として使用する際にこのモードに設定します。~
~
Moving Speedの設定
| Bit15~11 | Bit10 | Bit9~0 |h
| 0 | Turn Direction | Speed Value |
Trun Direction = 0 : CCW, Trun Direction = 1 : CW

Present Positionは車輪の総回転角度を表します。
値はCCW方向に回転すると減少、CW方向に回転すると増加し、積算されます。値が0を下回ると65535になり、65535を超えると0になります。

**Multi Turnモード [#m8457ffc]
Address 6(0x06)~9(0x09)のCW Angle LimitとCCW Angle Limitを4095に設定するとMulti Turnモードになります。通常の位置決め制御時の範囲である-180°~180°を超えて、-2520°~2520°の位置決め制御を行う際にこのモードに設定します。~

Goal Positionの設定
| Bit15~0 |h
| Gola Position -28672~28672 (符号付16bit整数) |

« Prev[3]