9: 2010-11-25 (木) 22:17:14 sho | 10: 2010-11-26 (金) 02:01:17 sho | ||
---|---|---|---|
Line 1: | Line 1: | ||
TITLE:Dynamixelコントロールテーブル | TITLE:Dynamixelコントロールテーブル | ||
- | **メモリマップ [#m54c6bba] | + | **コントロールテーブル [#m54c6bba] |
- | Dynamixelの内部機能及び設定は次に示すメモリマップとして提供され、インストラクションパケットを使用して操作されます。Dynamixelはコントロールテーブルに値を書くことで操作され、状態はコントロールテーブルから値を読むことで確認します。~ | + | Dynamixelの機能及び設定は次のメモリマップ上に1バイトないし2バイトのアイテムとして割り当てられ、インストラクションパケットを使用して操作します。~ |
- | 16ビットデータレジスタは(L)と(H)の2バイトで表されます。両方のバイトが1つのインストラクションパケットにおいて同時に書き込まれる必要があります。 | + | 2バイトに渡るアイテムは1つのインストラクションパケットにおいて同時に書き込まれる必要があります。 |
- | |Address|Item|Access|Initial Value| | + | | Address | Item | Access | Initial Value | Range | |
- | |0 (0x0)|[[Model Number(L)>#f9679b00]]|R|-| | + | |0 (0x0)|[[Model Number>#f9679b00]]| R |-| | |
- | |1 (0x1)|[[Model Number(H)>#f9679b00]]|R|-| | + | |1 (0x1)|~|~|~|~| |
- | |2 (0x2)|[[Version of Firmware>#c0b99f75]]|R|-| | + | |2 (0x2)|[[Version of Firmware>#c0b99f75]]| R |-| | |
- | |3 (0x3)|[[ID>#afcb4273]]|R/W|1 (0x01)| | + | |3 (0x3)|[[ID>#afcb4273]]| R/W |1 (0x01)| 0~253 | |
- | |4 (0x4)|[[Baudrate>#a99cb9a8]]|R/W|34 (0x22)| | + | |4 (0x4)|[[Baudrate>#a99cb9a8]]| R/W |34 (0x22)| 0~254 | |
- | |5 (0x5)|[[Return Delay Time>#h9279b18]]|R/W|250 (0xFA)| | + | |5 (0x5)|[[Return Delay Time>#h9279b18]]| R/W |250 (0xFA)| 0~254 | |
- | |6 (0x6)|[[CW Angle Limit (L)>#r26ada5a]]|R/W|0 (0x00)| | + | |6 (0x6)|[[CW Angle Limit>#r26ada5a]]| R/W |0 (0x00)| 0~1023 | |
- | |7 (0x7)|[[CW Angle Limit (H)>#r26ada5a]]|R/W|0 (0x00)| | + | |7 (0x7)|~|~|~|~| |
- | |8 (0x8)|[[CCW Angle Limit (L)>#r26ada5a]]|R/W|255 (0xFF)| | + | |8 (0x8)|[[CCW Angle Limit>#r26ada5a]]| R/W |1023 (0x3FF)| 0~1023 | |
- | |9 (0x9)|[[CCW Angle Limit (H)>#r26ada5a]]|R/W|3 (0x03)| | + | |9 (0x9)|~|~|~|~| |
- | |10 (0xA)|(Reserved)|-|0 (0x00)| | + | |10 (0xA)|(Reserved)| - | - | | |
- | |11 (0xB)|[[Highest Limit Temperature>#pf1cedb0]]|R/W|80 (0x50)| | + | |11 (0xB)|[[Highest Limit Temperature>#pf1cedb0]]| R/W |80 (0x50)| 10~99 | |
- | |12 (0xC)|[[Lowest Limit Voltage>#p813d1f0]]|R/W|60 (0x3C)| | + | |12 (0xC)|[[Lowest Limit Voltage>#p813d1f0]]| R/W |60 (0x3C)| 50~250 | |
- | |13 (0xD)|[[Highest Limit Voltage>#p813d1f0]]|R/W|190 (0xBE)| | + | |13 (0xD)|[[Highest Limit Voltage>#p813d1f0]]| R/W |190 (0xBE)| 50~250 | |
- | |14 (0xE)|[[Max Torque (L)>#sa69d1ab]]|R/W|255 (0xFF)| | + | |14 (0xE)|[[Max Torque>#sa69d1ab]]| R/W |1023 (0x3FF)| 0~1023 | |
- | |15 (0xF)|[[Max Torque (H)>#sa69d1ab]]|R/W|3 (0x03)| | + | |15 (0xF)|~|~|~|~| |
- | |16 (0x10)|[[Status Return Level>#fc051727]]|R/W|2 (0x02)| | + | |16 (0x10)|[[Status Return Level>#fc051727]]| R/W |2 (0x02)| 0~2 | |
- | |17 (0x11)|[[Alarm LED>#m1f363e1]]|R/W|36 (0x24)| | + | |17 (0x11)|[[Alarm LED>#m1f363e1]]| R/W |36 (0x24)| 0~127 | |
- | |18 (0x12)|[[Alarm Shutdwon>#aa4c7882]]|R/W|36 (0x24)| | + | |18 (0x12)|[[Alarm Shutdwon>#aa4c7882]]| R/W |36 (0x24)| 0~127 | |
- | |19 (0x13)|(Reserved)|RW|0 (0x00)| | + | |19 (0x13)|(Reserved)| - | - | | |
- | |20 (0x14)|[[Down Calibration (L)>#d4af5057]]|R|?| | + | |20 (0x14)|[[Down Calibration>#d4af5057]]| R |?| | |
- | |21 (0x15)|[[Down Calibration (H)>#d4af5057]]|R|?| | + | |21 (0x15)|~|~|~|~| |
- | |22 (0x16)|[[Up Calibration (L)>#d4af5057]]|R|?| | + | |22 (0x16)|[[Up Calibration>#d4af5057]]| R |?| | |
- | |23 (0x17)|[[Up Calibration (H)>#d4af5057]]|R|?| | + | |23 (0x17)|~|~|~|~| |
- | |24 (0x18)|[[Torque Enable>#m041ac16]]|R/W|0 (0x00)| | + | |24 (0x18)|[[Torque Enable>#m041ac16]]| R/W |0 (0x00)| 0~1 | |
- | |25 (0x19)|[[LED>#k6f31590]]|R/W|0 (0x00)| | + | |25 (0x19)|[[LED>#k6f31590]]| R/W |0 (0x00)| 0~1 | |
- | |26 (0x1A)|[[CW Compliance Margin>#ac00ee58]]|R/W|1 (0x01)| | + | |26 (0x1A)|[[CW Compliance Margin>#ac00ee58]]| R/W |1 (0x01)| 0~254 | |
- | |27 (0x1B)|[[CCW Compliance Margin>#ac00ee58]]|R/W|1 (0x01)| | + | |27 (0x1B)|[[CCW Compliance Margin>#ac00ee58]]| R/W |1 (0x01)| 0~254 | |
- | |28 (0x1C)|[[CW Compliance Slope>#ac00ee58]]|R/W|32 (0x20)| | + | |28 (0x1C)|[[CW Compliance Slope>#ac00ee58]]| R/W |32 (0x20)| 1~254 | |
- | |29 (0x1D)|[[CCW Compliance Slope>#ac00ee58]]|R/W|32 (0x20)| | + | |29 (0x1D)|[[CCW Compliance Slope>#ac00ee58]]| R/W |32 (0x20)| 1~254 | |
- | |30 (0x1E)|[[Goal Position (L)>#ee2d2463]]|R/W|[Addr36]value| | + | |30 (0x1E)|[[Goal Position>#ee2d2463]]| R/W |[Addr36]value| 0~1023 | |
- | |31 (0x1F)|[[Goal Position (H)>#ee2d2463]]|R/W|[Addr37]value| | + | |31 (0x1F)|~|~|~|~| |
- | |32 (0x20)|[[Moving Speed (L)>#i69bf70b]]|R/W|0 (0x00)| | + | |32 (0x20)|[[Moving Speed>#i69bf70b]]| R/W |0 (0x00)| 0~1023 | |
- | |33 (0x21)|[[Moving Speed (H)>#i69bf70b]]|R/W|0 (0x00)| | + | |33 (0x21)|~|~|~|~| |
- | |34 (0x22)|[[Torque Limit (L)>#sa69d1ab]]|R/W|[Addr14]value| | + | |34 (0x22)|[[Torque Limit>#sa69d1ab]]| R/W |[Addr14]value| 0~1023 | |
- | |35 (0x23)|[[Torque Limit (H)>#sa69d1ab]]|R/W|[Addr15]value| | + | |35 (0x23)|~|~|~|~| |
- | |36 (0x24)|[[Present Position (L)>#g40fd002]]|R|?| | + | |36 (0x24)|[[Present Position>#g40fd002]]| R |?| | |
- | |37 (0x25)|[[Present Position (H)>#g40fd002]]|R|?| | + | |37 (0x25)|~|~|~|~| |
- | |38 (0x26)|[[Present Speed (L)>#ra254ee8]]|R|?| | + | |38 (0x26)|[[Present Speed>#ra254ee8]]| R |?| | |
- | |39 (0x27)|[[Present Speed (H)>#ra254ee8]]|R|?| | + | |39 (0x27)|~|~|~|~| |
- | |40 (0x28)|[[Present Load (L)>#k921f4f9]]|R|?| | + | |40 (0x28)|[[Present Load>#k921f4f9]]| R |?| | |
- | |41 (0x29)|[[Present Load (H)>#k921f4f9]]|R|?| | + | |41 (0x29)|~|~|~|~| |
- | |42 (0x2A)|[[Present Voltage>#o9dde163]]|R|?| | + | |42 (0x2A)|[[Present Voltage>#o9dde163]]| R |?| | |
- | |43 (0x2B)|[[Present Temperature>#yb6e508c]]|R|?| | + | |43 (0x2B)|[[Present Temperature>#yb6e508c]]| R |?| | |
- | |44 (0x2C)|[[Registered Instruction>#x5982be7]]|R/W|0 (0x00)| | + | |44 (0x2C)|[[Registered Instruction>#x5982be7]]| R/W |0 (0x00)| 0~1 | |
- | |45 (0x2D)|(Reserved)|-|0 (0x00)| | + | |45 (0x2D)|(Reserved)| - | - | | |
- | |46 (0x2E)|[[Moving>#jf0f3fa1]]|R|0 (0x00)| | + | |46 (0x2E)|[[Moving>#jf0f3fa1]]| R |0 (0x00)| | |
- | |47 (0x2F)|[[Lock>#bb3a2a7c]]|R/W|0 (0x00)| | + | |47 (0x2F)|[[Lock>#bb3a2a7c]]| R/W |0 (0x00)| 1~1 | |
- | |48 (0x30)|[[Punch (L)>#f79fd083]]|R/W|32 (0x20)| | + | |48 (0x30)|[[Punch>#f79fd083]]| R/W |32 (0x20)| 0~1023 | |
- | |49 (0x31)|[[Punch (H)>#f79fd083]]|R/W|0 (0x00)| | + | |49 (0x31)|~|~|~|~| |
**各アイテムの詳細 [#bb158fce] | **各アイテムの詳細 [#bb158fce] | ||
Line 70: | Line 70: | ||
通信速度を決定します。以下の公式で計算します。~ | 通信速度を決定します。以下の公式で計算します。~ | ||
Baudrate[bps]=2000000 / (Value + 1)~ | Baudrate[bps]=2000000 / (Value + 1)~ | ||
- | ~ | + | |
- | 主なBaudrateのデータ値~ | + | 参考値 |
| Value |<| Baudrate [bps] |<| Error※ [%] | | | Value |<| Baudrate [bps] |<| Error※ [%] | | ||
| (Dec) | (Hex) | (Real) | (Target) |~| | | (Dec) | (Hex) | (Real) | (Target) |~| | ||
- | | 1| 0x01 | 1000000.0| 1000000| 0.000| | + | | 1| 0x01 | 1000000.0| (1000000)| 0.000| |
- | | 3| 0x03 | 500000.0| 500000| 0.000| | + | | 3| 0x03 | 500000.0| (500000)| 0.000| |
- | | 4| 0x04 | 400000.0| 400000| 0.000| | + | | 4| 0x04 | 400000.0| (400000)| 0.000| |
- | | 7| 0x07 | 250000.0| 250000| 0.000| | + | | 7| 0x07 | 250000.0| (250000)| 0.000| |
- | | 9| 0x09 | 200000.0| 200000| 0.000| | + | | 9| 0x09 | 200000.0| (200000)| 0.000| |
- | | 16| 0x10 | 117647.1| 115200| -2.124| | + | | 16| 0x10 | 117647.1| (115200)| -2.124| |
- | | 34| 0x22 | 57142.9| 57600| 0.794| | + | | 34| 0x22 | 57142.9| (57600)| 0.794| |
- | | 103| 0x67 | 19230.8| 19200| -0.160| | + | | 103| 0x67 | 19230.8| (19200)| -0.160| |
- | | 207| 0xCF | 9615.4| 9600| -0.160| | + | | 207| 0xCF | 9615.4| (9600)| -0.160| |
注意: ±3%以下の許容誤差が一般に通信可能な範囲です。 | 注意: ±3%以下の許容誤差が一般に通信可能な範囲です。 | ||
Line 96: | Line 96: | ||
***Highest Limit Temperature [#pf1cedb0] | ***Highest Limit Temperature [#pf1cedb0] | ||
- | Dynamixelの動作温度の上限です。Dynamixelの内部温度がこの値より高くなるとOverheating Errorが起こります。値は℃です。 | + | Dynamixelの動作温度の上限です。Dynamixelの内部温度がこの値より高くなるとOverheating Errorが起こります。単位は℃です。 |
80より高く設定しないでください。故障の原因となります。 | 80より高く設定しないでください。故障の原因となります。 | ||
Line 108: | Line 108: | ||
***Status Return Level [#fc051727] | ***Status Return Level [#fc051727] | ||
インストラクションパケットを受けた後にDynamixelがステータスパケットを返すかどうかを決定します。 | インストラクションパケットを受けた後にDynamixelがステータスパケットを返すかどうかを決定します。 | ||
- | |Adress16|ステータスパケット| | + | | Value || |
- | |0|PING以外のインストラクションには応答しない| | + | | 0 |PING以外のインストラクションには応答しない| |
- | |1|READ_DATAだけに応答する| | + | | 1 |READ_DATAだけに応答する| |
- | |2|すべてのインストラクションに応答する| | + | | 2 |すべてのインストラクションに応答する| |
- | Broadcast ID(0xFE)を使ったインストラクションの場合は、Address16の値に関わらずステータスパケットを返しません。 | + | Broadcast ID(0xFE)を使ったインストラクションの場合は、Valueの値に関わらずステータスパケットを返しません。 |
0に設定すると、 | 0に設定すると、 | ||
Line 202: | Line 202: | ||
~ | ~ | ||
Moving Speedの設定 | Moving Speedの設定 | ||
- | | BIT | Bit15~11 | Bit10 | Bit9,Bit8,Bit7,Bit6,Bit5,Bit4,Bit3,Bit2,Bit1,Bit0 | | + | | BIT | 15~11 | 10 | 9~0 | |
| Value | 0 | Turn Direction | Speed Value | | | Value | 0 | Turn Direction | Speed Value | | ||
Trun Direction = 0 : CCW, Trun Direction = 1 : CW | Trun Direction = 0 : CCW, Trun Direction = 1 : CW | ||
- | |||
- | **Range [#p2cb2df8] | ||
- | 各データには有効な最小値、最大値があります。この有効値外に書き込まれたインストラクションはエラーを返します。下表に各レジスタのデータ範囲と長さをまとめています。16ビットデータレジスタは(L)と(H)の2バイトで表されます。両方のバイトが1つのインストラクションパケットで同時に書き込まれる必要があります。 | ||
- | |Write Address|Writing Item|Length(bytes)|Min|Max| | ||
- | |3(0x03)|ID|1|0|253(0xFD)| | ||
- | |4(0x04)|Baudrate|1|0|254(0xFE)| | ||
- | |5(0x05)|Return Delay Time|1|0|254(0xFE)| | ||
- | |6(0x06)|CW Angle Limit|2|0|1023(0x3FF)| | ||
- | |8(0x08)|CCW Angle Limit|2|0|1023(0x3FF)| | ||
- | |11(0x0B)|Highest Limit Temperature|1|10(0x10)|99(0x63)| | ||
- | |12(0x0C)|Lowest Limit Voltage|1|50(0x32)|250(0xFA)| | ||
- | |13(0x0D)|Highest Limit Voltage|1|50(0x32)|250(0xFA)| | ||
- | |14(0x0E)|Max Torque|2|0|1023(0x3FF)| | ||
- | |16(0x10)|Status Return Level|1|0|2| | ||
- | |17(0x11)|Alarm LED|1|0|127(0x7F)| | ||
- | |18(0x12)|Alarm Shutdown|1|0|127(0x7F)| | ||
- | |19(0x13)|(Reserved)|1|0|1| | ||
- | |24(0x18)|Torque Enable|1|0|1| | ||
- | |25(0x19)|LED|1|0|1| | ||
- | |26(0x1A)|CW Compliance Margin|1|0|254(0xFE)| | ||
- | |27(0x1B)|CCW Compliance Margin|1|0|254(0xFE)| | ||
- | |28(0x1C)|CW Compliance Slope|1|1|254(0xFE)| | ||
- | |29(0x1D)|CCW Compliance Slope|1|1|254(0xFE)| | ||
- | |30(0x1E)|Goal Position|2|0|1023(0x3FF)| | ||
- | |32(0x20)|Moving Speed|2|0|1023(0x3FF)| | ||
- | |34(0x22)|Torque Limit|2|0|1023(0x3FF)| | ||
- | |44(0x2C)|Registered Instruction|1|0|1| | ||
- | |47(0x2F)|Lock|1|1|1| | ||
- | |48(0X30)|Punch|2|0|1023(0x3FF)| | ||
**RAM EEPROM [#ub0b5828] | **RAM EEPROM [#ub0b5828] |