11: 2010-11-26 (金) 14:54:45 sho | 現: 2017-09-07 (木) 00:58:18 takaboo | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | TITLE:Dynamixelコントロールテーブル | + | TITLE:Dynamixel Control Table |
**適用 [#u16883a0] | **適用 [#u16883a0] | ||
- | 以下のDynamixelに共通のコントロールテーブルです。ここに記載されないDynamixelのコントロールテーブルとは異なります。 | + | 以下のDynamixelに共通のコントロールテーブルです。 |
+ | -DX-113 | ||
-DX-116 | -DX-116 | ||
-DX-117 | -DX-117 | ||
- | -RX-24F | + | -RX-10 |
- | -RX-28 | + | -[[RX-24F]] |
+ | -[[RX-28>BTX031 Dynamixel RX-28]] | ||
+ | -[[RX-64>BTX029 Dynamixel RX-64]] | ||
-AX-12 | -AX-12 | ||
- | -AX-12+ | + | -[[AX-12+]] |
+ | -[[AX-12A]] | ||
+ | -AX-18F | ||
+ | -[[AX-18A]] | ||
- | **コントロールテーブル [#m54c6bba] | + | **アイテム一覧 [#m54c6bba] |
Dynamixelの機能及び設定は次のメモリマップ上に1バイトないし2バイト(リトルエンディアン)のアイテムとして割り当てられ、インストラクションパケットを使用して操作します。~ | Dynamixelの機能及び設定は次のメモリマップ上に1バイトないし2バイト(リトルエンディアン)のアイテムとして割り当てられ、インストラクションパケットを使用して操作します。~ | ||
2バイトに渡るアイテムは1つのインストラクションパケットにおいて同時に書き込まれる必要があります。 | 2バイトに渡るアイテムは1つのインストラクションパケットにおいて同時に書き込まれる必要があります。 | ||
- | |=~Control Table|||||h | + | |=''Address''|=''Item''|=''Access''|=''Default Value''|=''Range''|h |
- | |=''Address''|=''Item''|=''Access''|=''Initial Value''|=''Range''| | + | |
|CENTER:|LEFT:|CENTER:|CENTER:|CENTER:|c | |CENTER:|LEFT:|CENTER:|CENTER:|CENTER:|c | ||
- | |0 (0x0)|BGCOLOR(silver):[[Model Number>#f9679b00]]|R|-| | | + | |0|BGCOLOR(beige):[[Model Number>#f9679b00]]|R|-|uint16| |
- | |1 (0x1)|~|~|~|~| | + | |1|~|~|~|~| |
- | |2 (0x2)|BGCOLOR(silver):[[Version of Firmware>#c0b99f75]]|R|-| | | + | |2|BGCOLOR(beige):[[Version of Firmware>#c0b99f75]]|R|?|uint8| |
- | |3 (0x3)|BGCOLOR(lightgrey):[[ID>#afcb4273]]|R/W|1|0~253| | + | |3|BGCOLOR(seashell):[[ID>#afcb4273]]|R/W (NVM)|1|uint8&br;0~253| |
- | |4 (0x4)|BGCOLOR(lightgrey):[[Baudrate>#a99cb9a8]]|R/W|34|0~254| | + | |4|BGCOLOR(seashell):[[Baudrate>#a99cb9a8]]|R/W (NVM)|34&br;(AXシリーズは1)|uint8&br;0~254| |
- | |5 (0x5)|BGCOLOR(lightgrey):[[Return Delay Time>#h9279b18]]|R/W|250|0~254| | + | |5|BGCOLOR(seashell):[[Return Delay Time>#h9279b18]]|R/W (NVM)|250|uint8&br;0~254| |
- | |6 (0x6)|BGCOLOR(lightgrey):[[CW Angle Limit>#r26ada5a]]|R/W|0|0~1023| | + | |6|BGCOLOR(seashell):[[CW Angle Limit>#r26ada5a]]|R/W (NVM)|0|uint16&br;0~1023| |
- | |7 (0x7)|~|~|~|~| | + | |7|~|~|~|~| |
- | |8 (0x8)|BGCOLOR(lightgrey):[[CCW Angle Limit>#r26ada5a]]|R/W|1023|0~1023| | + | |8|BGCOLOR(seashell):[[CCW Angle Limit>#r26ada5a]]|R/W (NVM)|1023|uint16&br;0~1023| |
- | |9 (0x9)|~|~|~|~| | + | |9|~|~|~|~| |
- | |10 (0xA)|(Reserved)|-|-| | | + | |10|BGCOLOR(silver):(Reserved)|-|-|uint8| |
- | |11 (0xB)|BGCOLOR(lightgrey):[[Highest Limit Temperature>#pf1cedb0]]|R/W|80|10~99| | + | |11|BGCOLOR(seashell):[[Highest Limit Temperature>#pf1cedb0]]|R/W (NVM)|80|uint8&br;10~99| |
- | |12 (0xC)|BGCOLOR(lightgrey):[[Lowest Limit Voltage>#p813d1f0]]|R/W|60|50~250| | + | |12|BGCOLOR(seashell):[[Lowest Limit Voltage>#p813d1f0]]|R/W (NVM)|60|uint8&br;50~250| |
- | |13 (0xD)|BGCOLOR(lightgrey):[[Highest Limit Voltage>#p813d1f0]]|R/W|190|50~250| | + | |13|BGCOLOR(seashell):[[Highest Limit Voltage>#p813d1f0]]|R/W (NVM)|190|uint8&br;50~250| |
- | |14 (0xE)|BGCOLOR(lightgrey):[[Max Torque>#sa69d1ab]]|R/W|1023|0~1023| | + | |14|BGCOLOR(seashell):[[Max Torque>#sa69d1ab]]|R/W (NVM)|1023|uint16&br;0~1023| |
- | |15 (0xF)|~|~|~|~| | + | |15|~|~|~|~| |
- | |16 (0x10)|BGCOLOR(lightgrey):[[Status Return Level>#fc051727]]|R/W|2|0~2| | + | |16|BGCOLOR(seashell):[[Status Return Level>#fc051727]]|R/W (NVM)|2|uint8&br;0~2| |
- | |17 (0x11)|BGCOLOR(lightgrey):[[Alarm LED>#m1f363e1]]|R/W|0x24|0~127| | + | |17|BGCOLOR(seashell):[[Alarm LED>#m1f363e1]]|R/W (NVM)|0x24|uint8&br;0~127| |
- | |18 (0x12)|BGCOLOR(lightgrey):[[Alarm Shutdwon>#aa4c7882]]|R/W|0x24|0~127| | + | |18|BGCOLOR(seashell):[[Alarm Shutdwon>#aa4c7882]]|R/W (NVM)|0x24|uint8&br;0~127| |
- | |19 (0x13)|(Reserved)|-|-| | | + | |19|BGCOLOR(silver):(reserved)|-|-|uint8| |
- | |20 (0x14)|BGCOLOR(silver):[[Down Calibration>#d4af5057]]|R|?| | | + | |20|BGCOLOR(beige):[[Down Calibration>#d4af5057]]|R|?|uint16| |
- | |21 (0x15)|~|~|~|~| | + | |21|~|~|~|~| |
- | |22 (0x16)|BGCOLOR(silver):[[Up Calibration>#d4af5057]]|R|?| | | + | |22|BGCOLOR(beige):[[Up Calibration>#d4af5057]]|R|?|uint16| |
- | |23 (0x17)|~|~|~|~| | + | |23|~|~|~|~| |
- | |24 (0x18)|BGCOLOR(lightcyan):[[Torque Enable>#m041ac16]]|R/W|0|0~1| | + | |24|BGCOLOR(lightcyan):[[Torque Enable>#m041ac16]]|R/W|0|uint8&br;0~1| |
- | |25 (0x19)|BGCOLOR(lightcyan):[[LED>#k6f31590]]|R/W|0|0~1| | + | |25|BGCOLOR(lightcyan):[[LED>#k6f31590]]|R/W|0|uint8&br;0~1| |
- | |26 (0x1A)|BGCOLOR(lightcyan):[[CW Compliance Margin>#ac00ee58]]|R/W|1|0~254| | + | |26|BGCOLOR(lightcyan):[[CW Compliance Margin>#ac00ee58]]|R/W|1|uint8&br;0~254| |
- | |27 (0x1B)|BGCOLOR(lightcyan):[[CCW Compliance Margin>#ac00ee58]]|R/W|1|0~254| | + | |27|BGCOLOR(lightcyan):[[CCW Compliance Margin>#ac00ee58]]|R/W|1|uint8&br;0~254| |
- | |28 (0x1C)|BGCOLOR(lightcyan):[[CW Compliance Slope>#ac00ee58]]|R/W|32|1~254| | + | |28|BGCOLOR(lightcyan):[[CW Compliance Slope>#ac00ee58]]|R/W|32|uint8&br;1~254| |
- | |29 (0x1D)|BGCOLOR(lightcyan):[[CCW Compliance Slope>#ac00ee58]]|R/W|32|1~254| | + | |29|BGCOLOR(lightcyan):[[CCW Compliance Slope>#ac00ee58]]|R/W|32|uint8&br;1~254| |
- | |30 (0x1E)|BGCOLOR(lightcyan):[[Goal Position>#ee2d2463]]|R/W|[Addr36]value|0~1023| | + | |30|BGCOLOR(lightcyan):[[Goal Position>#ee2d2463]]|R/W|[Addr36]value|uint16&br;0~1023| |
- | |31 (0x1F)|~|~|~|~| | + | |31|~|~|~|~| |
- | |32 (0x20)|BGCOLOR(lightcyan):[[Moving Speed>#i69bf70b]]|R/W|0|0~1023| | + | |32|BGCOLOR(lightcyan):[[Moving Speed>#i69bf70b]]|R/W|0|uint16&br;0~2047| |
- | |33 (0x21)|~|~|~|~| | + | |33|~|~|~|~| |
- | |34 (0x22)|BGCOLOR(lightcyan):[[Torque Limit>#sb02896b]]|R/W|[Addr14]value|0~1023| | + | |34|BGCOLOR(lightcyan):[[Torque Limit>#sb02896b]]|R/W|[Addr14]value|uint16&br;0~1023| |
- | |35 (0x23)|~|~|~|~| | + | |35|~|~|~|~| |
- | |36 (0x24)|[[Present Position>#g40fd002]]|R|?| | | + | |36|BGCOLOR(beige):[[Present Position>#g40fd002]]|R|-|uint16| |
- | |37 (0x25)|~|~|~|~| | + | |37|~|~|~|~| |
- | |38 (0x26)|[[Present Speed>#ra254ee8]]|R|?| | | + | |38|BGCOLOR(beige):[[Present Speed>#ra254ee8]]|R|-|uint16| |
- | |39 (0x27)|~|~|~|~| | + | |39|~|~|~|~| |
- | |40 (0x28)|[[Present Load>#k921f4f9]]|R|?| | | + | |40|BGCOLOR(beige):[[Present Load>#k921f4f9]]|R|-|uint16| |
- | |41 (0x29)|~|~|~|~| | + | |41|~|~|~|~| |
- | |42 (0x2A)|[[Present Voltage>#o9dde163]]|R|?| | | + | |42|BGCOLOR(beige):[[Present Voltage>#o9dde163]]|R|-|uint8| |
- | |43 (0x2B)|[[Present Temperature>#yb6e508c]]|R|?| | | + | |43|BGCOLOR(beige):[[Present Temperature>#yb6e508c]]|R|-|uint8| |
- | |44 (0x2C)|BGCOLOR(lightcyan):[[Registered Instruction>#x5982be7]]|R/W|0|0~1| | + | |44|BGCOLOR(beige):[[Registered Instruction>#x5982be7]]|R|0|uint8&br;0~1| |
- | |45 (0x2D)|(Reserved)|-|-| | | + | |45|BGCOLOR(silver):(reserved)|-|-|uint8| |
- | |46 (0x2E)|[[Moving>#jf0f3fa1]]|R|0| | | + | |46|BGCOLOR(beige):[[Moving>#jf0f3fa1]]|R|0|uint8| |
- | |47 (0x2F)|BGCOLOR(lightcyan):[[Lock>#bb3a2a7c]]|R/W|0|1~1| | + | |47|BGCOLOR(lightcyan):[[Lock>#bb3a2a7c]]|R/W|0|uint8&br;0~1| |
- | |48 (0x30)|BGCOLOR(lightcyan):[[Punch>#f79fd083]]|R/W|32|0~1023| | + | |48|BGCOLOR(lightcyan):[[Punch>#f79fd083]]|R/W|32|uint16&br;0~1023| |
- | |49 (0x31)|~|~|~|~| | + | |49|~|~|~|~| |
+ | -データ幅が16bitのアイテムはリトルエンディアン(データの下位バイトから順に格納)。 | ||
+ | -Accessに(NVM)とあるアイテムは不揮発メモリとなっており、電源を切っても値が保持される。また頻繁な書き換えは想定されていないため、書き換えは必要最低限にとどめること。 | ||
+ | -Accessに(NVM)とあるアイテムとIndirect Addressを変更する場合は、Torque Enalbeが0でなくてはならない。 | ||
+ | -(reserve)はシステムで予約され、読み出した値に有効性はない。また、書き込みを行ってはならない。 | ||
+ | -Default Valueは出荷時ないしファクトリーリセットを行った際の値。又、ファームウェアのバージョンによって値が変更される場合がある。 | ||
- | **各アイテムの詳細 [#bb158fce] | + | ***各アイテム詳細 [#bb158fce] |
- | ***0~1: Model Number [#f9679b00] | + | |
- | モデルナンバーです。 | + | |
- | ***2: Version of Firmware [#c0b99f75] | + | ****0~1: Model Number [#f9679b00] |
- | ファームウェアのバージョンです。 | + | モデル固有の値を保持します。異なる種類のDynamixelを混在して使用する際の個体識別などに使用できます。 |
- | ***3: ID [#afcb4273] | + | ****2: Version of Firmware [#c0b99f75] |
- | 各Dynamixelを特定するための固有のIDナンバーです。同じネットワークの各Dynamixelに異なるIDが必要です。 | + | 内蔵されるCPUに書き込まれたプログラムのバージョンです。ファームウェアの更新を行った際に合わせて自動的に変更されます。 |
- | 0~253まで設定可能。254はブロードキャストIDで全てのDynamixelへパケットを送信する際に使用します。 | + | ****3: ID [#afcb4273] |
+ | 各Dynamixelを特定するための固有の値で0~253の範囲の数値で設定します。同一ネットワーク内に存在するDynamixelには各々異なるIDが要求されます。 | ||
- | ***4: Baudrate [#a99cb9a8] | + | ****4: Baudrate [#a99cb9a8] |
- | 通信速度を決定します。以下の公式で計算します。~ | + | 通信速度を決める分周値で、通信速度は次式で導かれます。~ |
- | Baudrate[bps]=2000000 / (Value + 1)~ | + | Baudrate[bps] = 2000000[bps] / (Value + 1) |
- | 参考値 | + | 主なBaudrate~ |
- | | Value |<| Baudrate [bps] |<| Error※ [%] | | + | | Value | Actual Baudrate[bps] | Specified Baudrate[bps] | Error[%] |h |
- | | (Dec) | (Hex) | (Real) | (Target) |~| | + | | 1| 1000000.0| 1000000| 0.000| |
- | | 1| 0x01 | 1000000.0| (1000000)| 0.000| | + | | 3| 500000.0| 500000| 0.000| |
- | | 3| 0x03 | 500000.0| (500000)| 0.000| | + | | 4| 400000.0| 400000| 0.000| |
- | | 4| 0x04 | 400000.0| (400000)| 0.000| | + | | 7| 250000.0| 250000| 0.000| |
- | | 7| 0x07 | 250000.0| (250000)| 0.000| | + | | 9| 200000.0| 200000| 0.000| |
- | | 9| 0x09 | 200000.0| (200000)| 0.000| | + | | 16| 117647.1| 115200| -2.124| |
- | | 16| 0x10 | 117647.1| (115200)| -2.124| | + | | 34| 57142.9| 57600| 0.794| |
- | | 34| 0x22 | 57142.9| (57600)| 0.794| | + | | 103| 19230.8| 19200| -0.160| |
- | | 103| 0x67 | 19230.8| (19200)| -0.160| | + | | 207| 9615.4| 9600| -0.160| |
- | | 207| 0xCF | 9615.4| (9600)| -0.160| | + | ※ホストとのボーレートの誤差は±2%以下が要求されます。 |
- | 注意: ±3%以下の許容誤差が一般に通信可能な範囲です。 | + | |
- | ***5: Return Delay Time [#h9279b18] | + | ****5: Return Delay Time [#h9279b18] |
- | インストラクションパケットを受信した後、ステータスパケットを返信するまでの時間です。遅延時間は 2u[sec] * Address5 の値です。 | + | インストラクションパケットが送られた後、ステータスパケットを返すまでの待ち時間を設定します。~ |
+ | ホストにおいて半二重のバス制御のタイミングに合わせて調整しますが、[[DXHUB]]を使用する限りでは0を設定しても問題ありません。 | ||
+ | Delay Time [us] = Value * 2 [us] | ||
- | ***6~7: CW Angle Limit [#r2daa6da] | + | ****6~7: CW Angle Limit [#r2daa6da] |
- | ***8~9: CCW Angle Limit [#r26ada5a] | + | ****8~9: CCW Angle Limit [#r26ada5a] |
- | Dynamixelの動作角を設定します。Goal Positionは以下の範囲にある必要があります。~ | + | 動作角の範囲です。[[Goal Position>#ee2d2463]]は以下の範囲に設定する必要があります。~ |
CW Angle Limit <= Goal Position <= CCW Angle Limit~ | CW Angle Limit <= Goal Position <= CCW Angle Limit~ | ||
Goal Positionが動作角のリミットを越えると、Angle Limit Errorが起こります。 | Goal Positionが動作角のリミットを越えると、Angle Limit Errorが起こります。 | ||
- | CW Angle Limit及びCCW Angle Limitを両方0に設定すると[[Endless Turnモード>#j6a51fa3]]になります。 | + | CW Angle Limit及びCCW Angle Limitを両方0に設定すると[[Endless Turn>#j6a51fa3]]モードになります。 |
- | ***11: Highest Limit Temperature [#pf1cedb0] | + | ****11: Highest Limit Temperature [#pf1cedb0] |
- | Dynamixelの動作温度の上限です。Dynamixelの内部温度がこの値より高くなるとOverheating Errorが起こります。単位は℃です。 | + | [[Present Temperature>#yb6e508c]]がこの値を超えるとOverheating Errorの該当ビットがONになります。 |
- | 80より高く設定しないでください。故障の原因となります。 | + | Temperature [degC] = Value * 1 [degC] |
- | ***12: Lowest Limit Voltage [#zb0073ac] | + | ****12: Lowest Limit Voltage [#zb0073ac] |
- | ***13: Highest Limit Voltage [#p813d1f0] | + | ****13: Highest Limit Voltage [#p813d1f0] |
- | Dynamixelの動作電圧の上限下限です。現在の電圧(Address42)が指定した範囲から出ると、Input Voltage Errorが起こります。値は実際の電圧の10倍です。例えばAddress12が80なら、電圧の下限は8Vに設定されます。 | + | [[Present Voltage>#o9dde163]]がこの値の範囲を超えるとInput Voltage Errorの該当ビットはONになります。 |
+ | Voltage [V] = Value * 0.1 [V] | ||
- | ***14~15: Max Torque [#sa69d1ab] | + | ****14~15: Max Torque [#sa69d1ab] |
- | Dynamixelの最大トルク出力のデフォルト値です。Dynamixelの起動直後にこの値がTorque Limitへコピーされ、以後は使用されません。 | + | 最大出力トルクの初期値です。起動直後にこの値が[[Torque Limit>#sb02896b]]へコピーされ、以後使用されません。~ |
+ | 単位は最大出力に対する割合です。Max Torqueが512なら最大出力対比約50%、1023なら100%が出力の上限となります。 | ||
- | ***16: Status Return Level [#fc051727] | + | ****16: Status Return Level [#fc051727] |
- | インストラクションパケットを受けた後にDynamixelがステータスパケットを返すかどうかを決定します。 | + | ステータスパケットを返信するインストラクションパケットを選択します。 |
- | |=''Value''|=''Function''| | + | |CENTER:|LEFT:|c |
- | |=0|PING以外のインストラクションには応答しない| | + | |Value|CENTER:Instruction to respond|h |
- | |=1|READ_DATAだけに応答する| | + | |0|Ping| |
- | |=2|すべてのインストラクションに応答する| | + | |1|Ping, Read| |
- | Broadcast ID(0xFE)を使ったインストラクションの場合は、Valueの値に関わらずステータスパケットを返しません。 | + | |2|Ping, Read, Write, Reg Write, Reset | |
- | 0に設定すると、 | + | ****17: Alarm LED [#m1f363e1] |
+ | 対応するビットを1に設定すると、エラーが発生した時にステータスLEDが点滅します。~ | ||
+ | すべてのビットのOR論理演算に従って動作します。例えば0x05が設定されていたら、Input Voltage ErrorかOverheating Errorが起こったときにLEDが点滅します。 | ||
+ | | Bit | Name | Description |h | ||
+ | |=7| - | - | | ||
+ | |=6| Instruction Error |未定義のインストラクションが指定された、もしくはreg_writeなしでactionが指定された| | ||
+ | |=5| Overload Error |指定された最大トルクで現在の負荷を制御できない| | ||
+ | |=4| Checksum Error |インストラクションパケットのチェックサムが正しく無い| | ||
+ | |=3| Range Error |パラメータの設定範囲を超えた| | ||
+ | |=2| Overheating Error |内部温度が設定温度を超えた| | ||
+ | |=1| Angle Limit Error |Angle Limitの範囲外にGoal Positionが指定された| | ||
+ | |=0| Input Voltage Error |電源電圧が指定動作電圧の範囲を超えた| | ||
- | ***17: Alarm LED [#m1f363e1] | + | ****18: Alarm Shutdown [#aa4c7882] |
- | 対応するBitが1に設定されると、Errorが起こったときにステータスLEDが点滅します。~ | + | 対応するビットを1に設定すると、エラーが発生した時にTorque Limitを0に設定し、モータの出力を遮断します。~ |
- | すべてのビットのOR論理演算に従って動作します。例えば0x05が設定されていたら、Input Voltage ErrorかOverheating Errorが起こったときにLEDが点滅します。エラー状態から正常状態に戻るとLEDは2秒後に点滅を止めます。 | + | エラーが発生した後、正常状態に戻ってもTorque Limitは0が維持されますので、[[Torque Limit>#m041ac16]]に値を再設定する必要があります。 |
- | |=''Bit''|=''Function''| | + | | Bit | Name | Description |h |
- | |=7|-| | + | |=7| - | - | |
- | |=6|Instruction Error| | + | |=6| Instruction Error |未定義のインストラクションが指定された、もしくはreg_writeなしでactionが指定された| |
- | |=5|Overload Error| | + | |=5| Overload Error |指定された最大トルクで現在の負荷を制御できない| |
- | |=4|Checksum Error| | + | |=4| Checksum Error |インストラクションパケットのチェックサムが正しく無い| |
- | |=3|Range Error| | + | |=3| Range Error |パラメータの設定範囲を超えた| |
- | |=2|Overheating Error| | + | |=2| Overheating Error |内部温度が設定温度を超えた| |
- | |=1|Angle Error| | + | |=1| Angle Limit Error |Angle Limitの範囲外にGoal Positionが指定された| |
- | |=0|Input Voltage Error| | + | |=0| Input Voltage Error |電源電圧が指定動作電圧の範囲を超えた| |
- | ***18: Alarm Shutdown [#aa4c7882] | + | ****20~21: Down Calibration [#za300029] |
- | 対応するビットが1に設定されていて、エラーが発生するとDynamixelのトルクがオフになります。~ | + | ****22~23: Up Calibration [#d4af5057] |
- | Alarm LEDとは異なり、Errorが発生した後、正常状態に戻ってもトルクオフの状態が維持されます。復帰するためにはTorque Enable(Address24)を1に再設定しなければなりません。 | + | ポテンショメータの誤差を補うのに使用されるデータです。ユーザは変更できません。 |
- | |=''Bit''|=''Function''| | + | |
- | |=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: Down Calibration [#za300029] | + | ****24: Torque Enable [#m041ac16] |
- | ***22~23: Up Calibration [#d4af5057] | + | 電源を入れた時、出力軸はフリーの状態です。Torque Enableを1に設定するとトルクが有効になります。 |
- | Dynamixelで使用されるPotentiomerterの誤差を補うのに使用されるデータです。ユーザーはこのデータを変更できません。 | + | [[Goal Position>#ee2d2463]]を指定した場合も1になります。 |
- | ***24: Torque Enable [#m041ac16] | + | ****25: LED [#k6f31590] |
- | 最初に電源を入れるとDynamixelはTorque Free Run(ゼロトルク)になります。Address24に1を設定するとトルクが有効になります。 | + | 本体に装備されたLEDを点灯ないし消灯します。 |
+ | |CENTER:|LEFT:|c | ||
+ | |Value|CENTER:Description|h | ||
+ | |0|消灯| | ||
+ | |1|点灯| | ||
- | ***25: LED [#k6f31590] | + | ****26: CW Compliance Margin [#u3d18477] |
- | 1が設定されるとLEDが点灯し、0が設定されると消灯します。 | + | ****27: CCW Compliance Margin [#y5859c4a] |
+ | ****28: CW Compliance Slope [#ubd4963c] | ||
+ | ****29: CCW Compliance Slope [#ac00ee58] | ||
+ | Dynamixelはコンプライアンスを設定することで出力軸に柔軟性を持たせます。グラフはポジションと出力の相関を表し、A~Dは各コンプライアンス値です。 | ||
+ | #ref(DxCntTable1.png,100%) | ||
+ | A : CCW Compliance Slope~ | ||
+ | B : CCW Compliance Margin~ | ||
+ | C : CW Compliance Margin~ | ||
+ | D : CW Compliance Slope~ | ||
+ | E : Punch~ | ||
- | ***26: CW Compliance Margin [#u3d18477] | + | ****30~31: Goal Position [#ee2d2463] |
- | ***27: CCW Compliance Margin [#y5859c4a] | + | 出力軸の位置を設定します。出力軸0~300°に対し、0~1023の値を与えます。 |
- | ***28: CW Compliance Slope [#ubd4963c] | + | [[Endless Turn>#j6a51fa3]]モードでは使用しません。 |
- | ***29: CCW Compliance Slope [#ac00ee58] | + | #ref(DxCntTable2.png) |
- | Dynamixelのコンプライアンスは、コンプライアンスのMarginとSlopeを設定することで定義されます。この特徴は出力軸で衝撃を吸収するのに利用します。下のグラフはそれぞれのコンプライアンス値(A、B、C、Dの長さ)がポジションエラーと適用されたトルクによってどう定義されるかを示します。 | + | |
- | #ref(DxCntTable1.png,90%) | + | |
- | A : CCW Compliance Slope(Address29)~ | + | |
- | B : CCW Compliance Margin(Address27)~ | + | |
- | C : CW Compliance Margin(Address26)~ | + | |
- | D : CW Compliance Slope(Address 28)~ | + | |
- | E : Punch(Address48, 49)~ | + | |
- | ***30~31: Goal Position [#ee2d2463] | + | ****32~33: Moving Speed [#i69bf70b] |
- | Dynamixelの出力角の位置を要求します。0x3ffを設定すると出力軸が300°の位置まで動きます。 | + | 出力軸が動く際の回転数を指定します。 |
- | #ref(DxCntTable2.png,80%) | + | Velocity [rpm] = Value * 0.111 [rpm] |
+ | 但し該当モデルの最大回転数以上では動作しません。0に設定すると供給電圧で可能な最大速度になります。 | ||
- | ***32~33: Moving Speed [#i69bf70b] | + | Endless Turnモードで使用する場合は[[Endless Turn>#j6a51fa3]]参照。 |
- | 出力軸がGoal Positionへ動く時の角速度です。0に設定すると速度調節が適用されない供給電圧で可能な最大の速度になります。 | + | |
- | ***34~35: Torque Limit [#sb02896b] | + | ****34~35: Torque Limit [#sb02896b] |
- | Dynamixelの最大トルク出力のデフォルト値です。この値が0に設定されるとDynamixelはトルクがかかっていないFree Runモードになります。 | + | 最大出力の上限値です。 |
+ | 単位は最大出力に対する割合です。Max Torqueが512なら最大出力対比約50%、1023なら100%が出力の上限となります。~ | ||
+ | 電源を入れると[[Max Torque>#sa69d1ab]]の値を初期値として使用します。 | ||
- | ***36~37: Present Position [#g40fd002] | + | ****36~37: Present Position [#g40fd002] |
- | 出力軸の現在の角度です。 | + | 出力軸の現在位置です。出力軸0~300°に対し、0~1023の値をとります。 |
- | ***38~39: Present Speed [#ra254ee8] | + | [[Endless Turn>#j6a51fa3]]モードでは300~360°の間は不定値となります。 |
- | 出力軸の現在の角速度です。 | + | |
- | ***40~41: Present Load [#k921f4f9] | + | ****38~39: Present Speed [#ra254ee8] |
- | 操作するDynamixelの負荷の大きさです。ビット10は負荷の向きです。 | + | 出力軸の現在の角速度です。10番目のビットは回転方向を表します。~ |
- | | Bit | 15~11 | 10 | 9~0 | | + | Present Speed [rpm] = Value * 0.111 [rpm] |
- | | Value | 0 | Load Direction | Load Value | | + | |
- | Load Direction = 0 : CCW Load, Load Direction = 1 : CW Load | + | |
- | ***42: Present Voltage [#o9dde163] | + | Endless Turnモードの場合は[[Endless Turn>#j6a51fa3]]参照。 |
- | 現在のDynamixelに供給されている電圧です。値は実際の電圧の10倍です。例えば、10Vは100(0x64)と表します。 | + | |
- | ***43: Present Temperature [#yb6e508c] | + | |BGCOLOR(#d0d8e0): Bit | 15~11 | 10 | 9~0 | |
- | Dynamixelの内部温度(℃)です。 | + | |BGCOLOR(#d0d8e0): Value | 0 | Direction | Speed | |
+ | Direction = 0 : CCW, Direction = 1 : CW | ||
- | ***44: Registered Instruction [#x5982be7] | + | ****40~41: Present Load [#k921f4f9] |
- | REG_WRITEコマンドでインストラクションが格納されたとき1が設定され、ACTIONコマンドによって格納されたインストラクションが完了したら0が設定されます。 | + | 出力に基づいて算出された負荷の大きさです。10番目のビットは負荷の方向です。~ |
+ | 単位は最大出力に対する割合です。512ならCCW方向に最大出力対比約50%、1023なら100%の負荷となります。 | ||
+ | |BGCOLOR(#d0d8e0): Bit | 15~11 | 10 | 9~0 | | ||
+ | |BGCOLOR(#d0d8e0): Value | 0 | Direction | Load | | ||
+ | Direction = 0 : CCW, Direction = 1 : CW | ||
- | ***46: Moving [#jf0f3fa1] | + | ****42: Present Voltage [#o9dde163] |
- | Dynamixelが供給された電力で動いているときに1が設定されます。 | + | 現在供給されている電圧です。値は電圧(V)の10倍値です。例えば10Vは100となります。 |
- | ***47: Lock [#bb3a2a7c] | + | ****43: Present Temperature [#yb6e508c] |
- | 1が設定されるとAddress24からAddress35以外のエリアが書き換え不能となります。ロックを解除する方法は、電源を切る以外にありません。 | + | 内部温度(℃)です。例えば30℃は30です。 |
- | ***49~50: Punch [#f79fd083] | + | ****44: Registered Instruction [#x5982be7] |
- | 操作時にモータに供給される最小の電流です。初期値は0x20に設定されていて、最大値は0x3ffです。 | + | REG_WRITEコマンドでインストラクションが格納されたとき1になり、ACTIONコマンドでインストラクションが完了したら0になります。 |
- | ***Endless Turn [#j6a51fa3] | + | ****46: Moving [#jf0f3fa1] |
- | Address 6(0x06)~9(0x09)のCW Angle Limit、CWW Angle Limitを0に設定し、Address 0x20,0x21に以下の通りMoving Speedを設定するとEndless Turnモードになります。車輪のような役割で使用する際にこのモードに設定します。~ | + | 供給された電力で出力軸が回転しているときに1、それ以外は0が設定されます。外力によって出力軸が動いても1にはなりません。 |
- | ~ | + | |
- | Moving Speedの設定 | + | |
- | | BIT | 15~11 | 10 | 9~0 | | + | |
- | | Value | 0 | Turn Direction | Speed Value | | + | |
- | Trun Direction = 0 : CCW, Trun Direction = 1 : CW | + | ****47: Lock [#bb3a2a7c] |
+ | 1を設定するとコントロールテーブルの不揮発エリア(アドレス0~23)が書き換え不能になります。ロックの解除するには電源を入れ直す必要があります。 | ||
- | **RAM及びEEPROM [#ub0b5828] | + | ****48~49: Punch [#f79fd083] |
- | Address0から23はEEPROMエリア、Address24から49まではRAMエリアです。RAMエリアのデータは電源を入れたときに常に初期値に設定されます。EEPROMのデータは電源を切ってもその時の値が残ります。~ | + | ''現バージョンのファームウェアでは使用していません。'' |
- | コントロールテーブルの右側のInitial ValueはEEPROMエリアデータの製造時の初期値と、RAMエリアデータの電源を入れた時の初期値です。~ | + | |
- | EEPROMエリアデータの書き換え回数には制限があります。必要な時のみ書き換えられるような運用を行って下さい。~ | + | 操作時にモータに供給される最小の電流です。 |
+ | |||
+ | ****Endless Turn [#j6a51fa3] | ||
+ | [[CW Angle Limit>#r2daa6da]]と[[CWW Angle Limit>#r26ada5a]]を0に設定することで、車輪のような役割として使用できるEndless Turnモードになります。[[Moving Speed>#i69bf70b]]で回転速度を指定します。 | ||
+ | |||
+ | Endless TurnモードでのMoving Speed及び[[Present Speed>#ra254ee8]]は、最大出力に対する出力の割合です。512ならCCW方向に最大出力対比約50%、1023なら100%の出力で制御します。負荷の大きさによって回転速度は変わります。 | ||
+ | |||
+ | Moving Speedの設定 | ||
+ | |BGCOLOR(#d0d8e0): Bit | 15~11 | 10 | 9~0 | | ||
+ | |BGCOLOR(#d0d8e0): Value | 0 | Turn Direction | Speed | | ||
+ | Trun Direction = 0 : CCW, Trun Direction = 1 : CW |