1: 2010-06-16 (水) 13:17:01 sho[5] [6] | 現: 2013-04-05 (金) 17:37:47 takaboo[7] [8] | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | **メモリマップ [#x4eb66a5] | + | TITLE:EX Series Control table |
- | Dynamixelの内部機能及び設定は次に示すメモリマップとして提供され、インストラクションパケットを使用して操作されます。Dynamixelはコントロールテーブルに値を書くことで操作され、状態はコントロールテーブルから値を読むことで確認します。~ | + | **適用 [#q973e381] |
- | 16ビットデータレジスタは(L)と(H)の2バイトで表されます。両方のバイトが1つのインストラクションパケットにおいて同時に書き込まれる必要があります。 | + | 以下のDynamixelに共通のコントロールテーブルです。ここに記載されないDynamixelのコントロールテーブルとは異なります。 |
- | |Address|Item|Access|Initial Value| | + | -EX-106+ |
- | |0 (0x0)|[[Model Number(L)>#f9679b00]]|R|-| | + | |
- | |1 (0x1)|[[Model Number(H)>#f9679b00]]|R|-| | + | **コントロールテーブル [#x4eb66a5] |
- | |2 (0x2)|[[Version of Firmware>#c0b99f75]]|R|-| | + | Dynamixelの機能及び設定は次のメモリマップ上に1バイトないし2バイト(リトルエンディアン)のアイテムとして割り当てられ、インストラクションパケットを使用して操作します。 |
- | |3 (0x3)|[[ID>#afcb4273]]|R/W|1 (0x01)| | + | 2バイトに渡るアイテムは1つのインストラクションパケットにおいて同時に書き込まれる必要があります。 |
- | |4 (0x4)|[[Baudrate>#a99cb9a8]]|R/W|34 (0x22)| | + | |=~Control Table|||||h |
- | |5 (0x5)|[[Return Delay Time>#h9279b18]]|R/W|250 (0xFA)| | + | |=''Address''|=''Item''|=''Access''|=''Initial Value''|=''Range''| |
- | |6 (0x6)|[[CW Angle Limit (L)>#r26ada5a]]|R/W|0 (0x00)| | + | |CENTER:|LEFT:|CENTER:|CENTER:|CENTER:|c |
- | |7 (0x7)|[[CW Angle Limit (H)>#r26ada5a]]|R/W|0 (0x00)| | + | |0 (0x0)|[[Model Number>#ta493b6c]]|R|-| | |
- | |8 (0x8)|[[CCW Angle Limit (L)>#r26ada5a]]|R/W|255 (0xFF)| | + | |1 (0x1)|~|~|~|~| |
- | |9 (0x9)|[[CCW Angle Limit (H)>#r26ada5a]]|R/W|3 (0x03)| | + | |2 (0x2)|[[Version of Firmware>#x2b21b74]]|R|-| | |
- | |10 (0xA)|(Reserved)|-|0 (0x00)| | + | |3 (0x3)|[[ID>#n563922f]]|R/W|1 (0x01)|0~253| |
- | |11 (0xB)|[[Highest Limit Temperature>#pf1cedb0]]|R/W|80 (0x50)| | + | |4 (0x4)|[[Baudrate>#r27c0a5d]]|R/W|34 (0x22)|0~254| |
- | |12 (0xC)|[[Lowest Limit Voltage>#p813d1f0]]|R/W|60 (0x3C)| | + | |5 (0x5)|[[Return Delay Time>#z6a035d0]]|R/W|250 (0xFA)|0~254| |
- | |13 (0xD)|[[Highest Limit Voltage>#p813d1f0]]|R/W|190 (0xBE)| | + | |6 (0x6)|[[CW Angle Limit>#h4561931]]|R/W|0 (0x00)|0~4095| |
- | |14 (0xE)|[[Max Torque (L)>#sa69d1ab]]|R/W|255 (0xFF)| | + | |7 (0x7)|~|~|~|~| |
- | |15 (0xF)|[[Max Torque (H)>#sa69d1ab]]|R/W|3 (0x03)| | + | |8 (0x8)|[[CCW Angle Limit>#u752e406]]|R/W|255 (0xFF)|0~4095| |
- | |16 (0x10)|[[Status Return Level>#fc051727]]|R/W|2 (0x02)| | + | |9 (0x9)|~|~|~|~| |
- | |17 (0x11)|[[Alarm LED>#m1f363e1]]|R/W|36 (0x24)| | + | |10 (0xA)|[[Drive Mode>#rd7fa695]]|R/W|0 (0x00)|0~3| |
- | |18 (0x12)|[[Alarm Shutdwon>#aa4c7882]]|R/W|36 (0x24)| | + | |11 (0xB)|[[Highest Limit Temperature>#eae67652]]|R/W|80 (0x50)|10~99| |
- | |19 (0x13)|(Reserved)|RW|0 (0x00)| | + | |12 (0xC)|[[Lowest Limit Voltage>#l2901ded]]|R/W|60 (0x3C)|50~250| |
- | |20 (0x14)|[[Down Calibration (L)>#d4af5057]]|R|?| | + | |13 (0xD)|[[Highest Limit Voltage>#sf36842f]]|R/W|190 (0xBE)|50~250| |
- | |21 (0x15)|[[Down Calibration (H)>#d4af5057]]|R|?| | + | |14 (0xE)|[[Max Torque>#m8848974]]|R/W|255 (0xFF)|0~1023| |
- | |22 (0x16)|[[Up Calibration (L)>#d4af5057]]|R|?| | + | |15 (0xF)|~|~|~|~| |
- | |23 (0x17)|[[Up Calibration (H)>#d4af5057]]|R|?| | + | |16 (0x10)|[[Status Return Level>#mc2f793d]]|R/W|2 (0x02)|0~2| |
- | |24 (0x18)|[[Torque Enable>#m041ac16]]|R/W|0 (0x00)| | + | |17 (0x11)|[[Alarm LED>#q8d97e3d]]|R/W|36 (0x24)|0~127| |
- | |25 (0x19)|[[LED>#k6f31590]]|R/W|0 (0x00)| | + | |18 (0x12)|[[Alarm Shutdwon>#y219e63a]]|R/W|36 (0x24)|0~127| |
- | |26 (0x1A)|[[CW Compliance Margin>#ac00ee58]]|R/W|1 (0x00)| | + | |19 (0x13)|(Reserved)|RW|0 (0x00)| | |
- | |27 (0x1B)|[[CCW Compliance Margin>#ac00ee58]]|R/W|1 (0x00)| | + | |20 (0x14)|[[Down Calibration>#f95fb07c]]|R|?| | |
- | |28 (0x1C)|[[CW Compliance Slope>#ac00ee58]]|R/W|32 (0x20)| | + | |21 (0x15)|~|~|~|~| |
- | |29 (0x1D)|[[CCW Compliance Slope>#ac00ee58]]|R/W|32 (0x20)| | + | |22 (0x16)|[[Up Calibration>#hceb4e38]]|R|?| | |
- | |30 (0x1E)|[[Goal Position (L)>#ee2d2463]]|R/W|[Addr36]value| | + | |23 (0x17)|~|~|~|~| |
- | |31 (0x1F)|[[Goal Position (H)>#ee2d2463]]|R/W|[Addr37]value| | + | |24 (0x18)|[[Torque Enable>#ae42664f]]|R/W|0 (0x00)|0~1| |
- | |32 (0x20)|[[Moving Speed (L)>#i69bf70b]]|R/W|0 (0x00)| | + | |25 (0x19)|[[LED>#j0f1ab3d]]|R/W|0 (0x00)|0~1| |
- | |33 (0x21)|[[Moving Speed (H)>#i69bf70b]]|R/W|0 (0x00)| | + | |26 (0x1A)|[[CW Compliance Margin>#z76ef779]]|R/W|1 (0x01)|0~254| |
- | |34 (0x22)|[[Torque Limit (L)>#sa69d1ab]]|R/W|[Addr14]value| | + | |27 (0x1B)|[[CCW Compliance Margin>#n47ffacd]]|R/W|1 (0x01)|0~254| |
- | |35 (0x23)|[[Torque Limit (H)>#sa69d1ab]]|R/W|[Addr15]value| | + | |28 (0x1C)|[[CW Compliance Slope>#l6ed04c6]]|R/W|32 (0x20)|1~254| |
- | |36 (0x24)|[[Present Position (L)>#g40fd002]]|R|?| | + | |29 (0x1D)|[[CCW Compliance Slope>#re44c84d]]|R/W|32 (0x20)|1~254| |
- | |37 (0x25)|[[Present Position (H)>#g40fd002]]|R|?| | + | |30 (0x1E)|[[Goal Position>#i10660fa]]|R/W|[Addr36]value|0~4095| |
- | |38 (0x26)|[[Present Speed (L)>#ra254ee8]]|R|?| | + | |31 (0x1F)|~|~|~|~| |
- | |39 (0x27)|[[Present Speed (H)>#ra254ee8]]|R|?| | + | |32 (0x20)|[[Moving Speed>#s3139326]]|R/W|0 (0x00)|0~1023((Moving SpeedはEndless Turnモードの場合のRange:0~2047となる))| |
- | |40 (0x28)|[[Present Load (L)>#k921f4f9]]|R|?| | + | |33 (0x21)|~|~|~|~| |
- | |41 (0x29)|[[Present Load (H)>#k921f4f9]]|R|?| | + | |34 (0x22)|[[Torque Limit>#l9afa11c]]|R/W|[Addr14]value|0~1023| |
- | |42 (0x2A)|[[Present Voltage>#o9dde163]]|R|?| | + | |35 (0x23)|~|~|~|~| |
- | |43 (0x2B)|[[Present Temperature>#yb6e508c]]|R|?| | + | |36 (0x24)|[[Present Position>#v2f847df]]|R|?| | |
- | |44 (0x2C)|[[Registered Instruction>#x5982be7]]|R/W|0 (0x00)| | + | |37 (0x25)|~|~|~|~| |
- | |45 (0x2D)|(Reserved)|-|0 (0x00)| | + | |38 (0x26)|[[Present Speed>#qeda324a]]|R|?| | |
- | |46 (0x2E)|[[Moving>#jf0f3fa1]]|R|0 (0x00)| | + | |39 (0x27)|~|~|~|~| |
- | |47 (0x2F)|[[Lock>#bb3a2a7c]]|R/W|0 (0x00)| | + | |40 (0x28)|[[Present Load>#j002f18d]]|R|?| | |
- | |48 (0x30)|[[Punch (L)>#f79fd083]]|R/W|32 (0x20)| | + | |41 (0x29)|~|~|~|~| |
- | |49 (0x31)|[[Punch (H)>#f79fd083]]|R/W|0 (0x00)| | + | |42 (0x2A)|[[Present Voltage>#r74e7fb8]]|R|?| | |
+ | |43 (0x2B)|[[Present Temperature>#i9d8fe30]]|R|?| | | ||
+ | |44 (0x2C)|[[Registered Instruction>#oc452a69]]|R/W|0 (0x00)|0~1| | ||
+ | |45 (0x2D)|(Reserved)|-|0 (0x00)| | | ||
+ | |46 (0x2E)|[[Moving>#vc953eee]]|R|0 (0x00)| | | ||
+ | |47 (0x2F)|[[Lock>#ib2c369f]]|R/W|0 (0x00)|0~1| | ||
+ | |48 (0x30)|[[Punch>#edd9e980]]|R/W|32 (0x20)|0~1023| | ||
+ | |49 (0x31)|~|~|~|~| | ||
+ | |56 (0x38)|[[Sensed Current>#vfbc0b35]]|R|?| | | ||
+ | |57 (0x39)|~|~|~|~| | ||
**各アイテムの詳細 [#hd8e7c4e] | **各アイテムの詳細 [#hd8e7c4e] | ||
- | ***Model Number [#ta493b6c] | + | ***0~1:Model Number [#ta493b6c] |
モデルナンバーです。 | モデルナンバーです。 | ||
- | ***Version of Firmware [#x2b21b74] | + | ***2:Version of Firmware [#x2b21b74] |
ファームウェアのバージョンです。 | ファームウェアのバージョンです。 | ||
- | ***ID [#n563922f] | + | ***3: ID [#afcb4273] |
各Dynamixelを特定するための固有のIDナンバーです。同じネットワークの各Dynamixelに異なるIDが必要です。 | 各Dynamixelを特定するための固有のIDナンバーです。同じネットワークの各Dynamixelに異なるIDが必要です。 | ||
- | ***Baudrate [#r27c0a5d] | + | 0~253まで設定可能で、254はBroadcast IDと呼ばれ全てのDynamixelへパケットを送信する際に使用します。 |
+ | |||
+ | ***4:Baudrate [#r27c0a5d] | ||
通信速度を決定します。以下の公式で計算します。~ | 通信速度を決定します。以下の公式で計算します。~ | ||
Baudrate[BPS]=2000000 / (value + 1)~ | Baudrate[BPS]=2000000 / (value + 1)~ | ||
Line 81: | Line 92: | ||
注意: ±3%以下の許容誤差が一般に通信可能な範囲です。 | 注意: ±3%以下の許容誤差が一般に通信可能な範囲です。 | ||
- | ***Return Delay Time [#z6a035d0] | + | ***5:Return Delay Time [#z6a035d0] |
インストラクションパケットが送られた後、ステータスパケットが返ってくるまでの時間です。遅延時間は2uSec * Address5の値です。 | インストラクションパケットが送られた後、ステータスパケットが返ってくるまでの時間です。遅延時間は2uSec * Address5の値です。 | ||
- | ***CW Angle Limit, CCW Angle Limit [#u752e406] | + | ***6~7:CW Angle Limit [#h4561931] |
+ | ***8~9:CCW Angle Limit [#u752e406] | ||
Dynamixelの動作角を設定します。Goal Positionは以下の範囲にある必要があります。~ | Dynamixelの動作角を設定します。Goal Positionは以下の範囲にある必要があります。~ | ||
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が起こります。 | ||
- | ***Highest Limit Temperature [#eae67652] | + | CW Angle Limit及びCCW Angle Limitを両方0に設定すると[[Endless Turnモード>#m81274a2]]になります。 |
+ | |||
+ | ***10:Drive Mode [#rd7fa695] | ||
+ | デュアルモードにおけるマスタ/スレーブ、及び回転方向を設定します。 | ||
+ | |||
+ | |Bit|名称|内容| | ||
+ | |Bit7~2| - | - | | ||
+ | |Bit1| デュアルモード | 0:マスタ、1:スレーブ | | ||
+ | |Bit0| リバースモード | 0:ノーマル、1:リバース | | ||
+ | |||
+ | ****デュアルモード [#x1127b7a] | ||
+ | スレーブに設定されたDynamixelは、マスタに設定されたDynamixelとデュアルモード用ケーブルで接続すると、マスタに設定されたDynamixelと同期したポジションに自動的に動作します。 | ||
+ | 1つの関節に対し、2つのDynamixelを使用して、トルクアップを図る場合などに使用します。 | ||
+ | |||
+ | デュアルモード用ケーブルの接続の仕方により、スレーブのDynamixelの回転方向が変わります。 | ||
+ | 黒い線を並列に接続した場合は順方向に、クロスして接続した場合は逆方向に回転します。 | ||
+ | |||
+ | #ref("DualMode.png"); | ||
+ | |||
+ | ****リバースモード [#n0bc4bd0] | ||
+ | リバースモードをオンにすると、図のようにポジションが左右対称になります。デュアルモードでスレーブに設定されている場合は無効です。 | ||
+ | |||
+ | 左右対称の機構などに対し、片方をリバースすることで回転方向を統一できます。 | ||
+ | |||
+ | #ref("ReverseMode.png"); | ||
+ | |||
+ | ***11:Highest Limit Temperature [#eae67652] | ||
Dynamixelの動作温度の上限です。Dynamixelの内部温度がこの値より高くなるとOverheating Errorが起こります。値は℃です。 | Dynamixelの動作温度の上限です。Dynamixelの内部温度がこの値より高くなるとOverheating Errorが起こります。値は℃です。 | ||
- | ***Lowest Limit Voltage, Highest Limit Voltage [#sf36842f] | + | ***12:Lowest Limit Voltage [#l2901ded] |
- | Dynamixelの動作電圧の上限下限です。現在の電圧(Address42)が指定した範囲から出ると、Input Voltage Errorが起こります。値は実際の電圧の10倍です。例えばAddress12が80なら、電圧の下限は8Vに設定されます。 | + | ***13:Highest Limit Voltage [#sf36842f] |
+ | Dynamixelの動作電圧の上限と下限です。現在の電圧(Address42)が指定した範囲から出ると、Input Voltage Errorが起こります。値は実際の電圧の10倍です。例えばAddress12が80なら、電圧の下限は8Vに設定されます。 | ||
- | ***Max Torque, Torque Limit [#m8848974] | + | ***14~15:Max Torque [#m8848974] |
Dynamixelの最大トルク出力です。この値が0に設定されるとDynamixelはトルクがかかっていないFree Runモードになります。EEPROM(Address14, 15)とRAM(Address34, 35)の2つに最大トルクが定義されます。電源を入れるとEEPROMの最大トルク値がRAMの最大トルク値にコピーされます。DynamixelのトルクはRAM(Address34, 35)の値によって制限されます。 | Dynamixelの最大トルク出力です。この値が0に設定されるとDynamixelはトルクがかかっていないFree Runモードになります。EEPROM(Address14, 15)とRAM(Address34, 35)の2つに最大トルクが定義されます。電源を入れるとEEPROMの最大トルク値がRAMの最大トルク値にコピーされます。DynamixelのトルクはRAM(Address34, 35)の値によって制限されます。 | ||
- | ***Status Return Level [#mc2f793d] | + | ***16:Status Return Level [#mc2f793d] |
インストラクションパケットを受けた後にDynamixelがステータスパケットを返すかどうかを決定します。 | インストラクションパケットを受けた後にDynamixelがステータスパケットを返すかどうかを決定します。 | ||
|Adress16|ステータスパケット| | |Adress16|ステータスパケット| | ||
- | |0|どんなインストラクションにも応答しない| | + | |0|PING以外のインストラクションには応答しない| |
|1|READ_DATAだけに応答する| | |1|READ_DATAだけに応答する| | ||
|2|すべてのインストラクションに応答する| | |2|すべてのインストラクションに応答する| | ||
Broadcast ID(0xFE)を使ったインストラクションの場合は、Address16の値に関わらずステータスパケットを返しません。 | Broadcast ID(0xFE)を使ったインストラクションの場合は、Address16の値に関わらずステータスパケットを返しません。 | ||
- | ***Alarm LED [#q8d97e3d] | + | ***17:Alarm LED [#q8d97e3d] |
対応するBitが1に設定されると、Errorが起こったときにステータスLEDが点滅します。 | 対応するBitが1に設定されると、Errorが起こったときにステータスLEDが点滅します。 | ||
|Bit|Function| | |Bit|Function| | ||
Line 119: | Line 158: | ||
すべてのビットのOR論理演算に従って動作します。例えば0x05が設定されていたら、Input Voltage ErrorかOverheating Errorが起こったときにLEDが点滅します。エラー状態から正常状態に戻るとLEDは2秒後に点滅を止めます。 | すべてのビットのOR論理演算に従って動作します。例えば0x05が設定されていたら、Input Voltage ErrorかOverheating Errorが起こったときにLEDが点滅します。エラー状態から正常状態に戻るとLEDは2秒後に点滅を止めます。 | ||
- | ***Alarm Shutdown [#y219e63a] | + | ***18:Alarm Shutdown [#y219e63a] |
対応するビットが1に設定されていて、エラーが発生するとDynamixelのトルクがオフになります。Alarm LEDとは異なり、Errorが発生した後、正常状態に戻ってもトルクオフの状態が維持されます。復帰するためにはTorque Enable(Address24)を1に再設定しなければなりません。 | 対応するビットが1に設定されていて、エラーが発生するとDynamixelのトルクがオフになります。Alarm LEDとは異なり、Errorが発生した後、正常状態に戻ってもトルクオフの状態が維持されます。復帰するためにはTorque Enable(Address24)を1に再設定しなければなりません。 | ||
|Bit|Function| | |Bit|Function| | ||
Line 131: | Line 170: | ||
|Bit0|1に設定されていたら、Input Voltage Errorが起こるとトルクをオフにします| | |Bit0|1に設定されていたら、Input Voltage Errorが起こるとトルクをオフにします| | ||
- | ***Down Calibration, Up Calibration [#hceb4e38] | + | ***20~21:Down Calibration [#f95fb07c] |
+ | ***22~23:Up Calibration [#hceb4e38] | ||
Dynamixelで使用されるPotentiomerterの誤差を補うのに使用されるデータです。ユーザーはこのデータを変更できません。 | Dynamixelで使用されるPotentiomerterの誤差を補うのに使用されるデータです。ユーザーはこのデータを変更できません。 | ||
- | 以下はRAMエリアです。~ | + | ***24:Torque Enable [#ae42664f] |
+ | 最初に電源を入れるとDynamixelはTorque Free Run(ゼロトルク)になります。Address24に1を設定するかゴールポジションが設定されるとトルクが有効になります。 | ||
- | ***Torque Enable [#ae42664f] | + | ***25:LED [#j0f1ab3d] |
- | 最初に電源を入れるとDynamixelはTorque Free Run(ゼロトルク)になります。Address24に1を設定するとトルクが有効になります。 | + | |
- | + | ||
- | ***LED [#j0f1ab3d] | + | |
1が設定されるとLEDが点灯し、0が設定されると消灯します。 | 1が設定されるとLEDが点灯し、0が設定されると消灯します。 | ||
- | ***CW Compliance Margin, CCW Compliance Margin, CW Compliance Slope, CCW Compliance Slope [#re44c84d] | + | ***26:CW Compliance Margin [#z76ef779] |
+ | ***27:CCW Compliance Margin [#n47ffacd] | ||
+ | ***28:CW Compliance Slope [#l6ed04c6] | ||
+ | ***29:CCW Compliance Slope [#re44c84d] | ||
Dynamixelのコンプライアンスは、コンプライアンスのMarginとSlopeを設定することで定義されます。この特徴は出力軸で衝撃を吸収するのに利用します。下のグラフはそれぞれのコンプライアンス値(A、B、C、Dの長さ)がポジションエラーと適用されたトルクによってどう定義されるかを示します。 | Dynamixelのコンプライアンスは、コンプライアンスのMarginとSlopeを設定することで定義されます。この特徴は出力軸で衝撃を吸収するのに利用します。下のグラフはそれぞれのコンプライアンス値(A、B、C、Dの長さ)がポジションエラーと適用されたトルクによってどう定義されるかを示します。 | ||
- | #ref(DxCntTable1.png,90%) | + | #ref(Dynamixelコントロールテーブル/DxCntTable1.png) |
A : CCW Compliance Slope(Address26)~ | A : CCW Compliance Slope(Address26)~ | ||
B : CCW Compliance Margin(Address27)~ | B : CCW Compliance Margin(Address27)~ | ||
Line 150: | Line 191: | ||
D : CW Compliance Slope(Address 29)~ | D : CW Compliance Slope(Address 29)~ | ||
E : Punch(Address48, 49)~ | E : Punch(Address48, 49)~ | ||
- | また[[Endless Turn>#j6a51fa3]]モードにする際に使用します。詳細は[[Endless Turn>#j6a51fa3]]参照。 | ||
- | ***Goal Position [#i10660fa] | + | ***30~31:Goal Position [#i10660fa] |
- | Dynamixelの出力角の位置を要求します。0x3ffを設定すると出力軸が300°の位置まで動きます。 | + | Dynamixelの出力角の位置を要求します。0(0x000)~4095(0xfff)の設定値に対し、出力軸は0°~250.92°まで動作します。 |
- | #ref(DxCntTable2.png,80%) | + | #ref(DxCntTable2.png) |
- | ***Moving Speed [#s3139326] | + | ***32~33:Moving Speed [#s3139326] |
出力軸がGoal Positionへ動く時の角速度です。0に設定すると速度調節が適用されない供給電圧で可能な最大の速度になります。 | 出力軸がGoal Positionへ動く時の角速度です。0に設定すると速度調節が適用されない供給電圧で可能な最大の速度になります。 | ||
- | ***Present Position [#v2f847df] | + | Endless Turnモードでは回転速度になります。詳しくは[[Endless Turn>#m81274a2]]を参照。 |
- | 出力軸の現在の角度です。 | + | |
- | ***Present Speed [#qeda324a] | + | ***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°~250.92°を表します。 | ||
+ | |||
+ | Endless Turnモードでは総回転角度を表します。詳しくは[[Endless Turn>#m81274a2]]を参照。 | ||
+ | |||
+ | ***38~39:Present Speed [#qeda324a] | ||
出力軸の現在の角速度です。 | 出力軸の現在の角速度です。 | ||
+ | ビット10は回転方向を表します。 | ||
+ | |||
+ | | BIT | Bit15~11 | Bit10 | Bit9~0 | | ||
+ | | Value | 0 | Turn Direction | Speed Value | | ||
+ | Trun Direction = 0 : CCW, Trun Direction = 1 : CW | ||
- | ***Present Load [#j002f18d] | + | ***40~41:Present Load [#j002f18d] |
- | 操作するDynamixelの負荷の大きさです。ビット10は負荷の向きです。 | + | 操作するDynamixelの負荷の大きさです。ビット10は負荷の向きを表します。 |
| Bit | Bit15~11 | Bit10 | Bit9 Bit8 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 | | | Bit | Bit15~11 | Bit10 | Bit9 Bit8 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 | | ||
| Value | 0 | Load Direction | Load Value | | | Value | 0 | Load Direction | Load Value | | ||
Load Direction = 0 : CCW Load, Load Direction = 1 : CW Load | Load Direction = 0 : CCW Load, Load Direction = 1 : CW Load | ||
- | ***Present Voltage [#r74e7fb8] | + | ***42:Present Voltage [#r74e7fb8] |
現在のDynamixelに供給されている電圧です。値は実際の電圧の10倍です。例えば、10Vは100(0x64)と表します。 | 現在のDynamixelに供給されている電圧です。値は実際の電圧の10倍です。例えば、10Vは100(0x64)と表します。 | ||
- | ***Present Temperature [#i9d8fe30] | + | ***43:Present Temperature [#i9d8fe30] |
Dynamixelの内部温度(℃)です。 | Dynamixelの内部温度(℃)です。 | ||
- | ***Registered Instruction [#oc452a69] | + | ***44:Registered Instruction [#oc452a69] |
REG_WRITEコマンドでインストラクションが格納されたとき1が設定され、ACTIONコマンドによって格納されたインストラクションが完了したら0が設定されます。 | REG_WRITEコマンドでインストラクションが格納されたとき1が設定され、ACTIONコマンドによって格納されたインストラクションが完了したら0が設定されます。 | ||
- | ***Moving [#vc953eee] | + | ***46:Moving [#vc953eee] |
Dynamixelが供給された電力で動いているときに1が設定されます。 | Dynamixelが供給された電力で動いているときに1が設定されます。 | ||
- | ***Lock [#ib2c369f] | + | ***47:Lock [#ib2c369f] |
1が設定されるとAddress24からAddress35以外のエリアが書き換え不能となります。ロックを解除する方法は、電源を切る以外にありません。 | 1が設定されるとAddress24からAddress35以外のエリアが書き換え不能となります。ロックを解除する方法は、電源を切る以外にありません。 | ||
- | ***Punch [#edd9e980] | + | ***48~49:Punch [#edd9e980] |
操作時にモータに供給される最小の電流です。初期値は0x20に設定されていて、最大値は0x3ffです。 | 操作時にモータに供給される最小の電流です。初期値は0x20に設定されていて、最大値は0x3ffです。 | ||
- | ***Endless Turn [#m81274a2] | + | ***56~57:Sensed Current [#vfbc0b35] |
- | Address 0x1A~0x1DのCW Angle Limit、CWW Angle Limitを0に設定し、Address 0x20,0x21に以下の通りMoving Speedを設定するとEndless Turnモードになります。車輪のような役割で使用する際にこのモードに設定します。~ | + | 現在の電流値です。 |
+ | 単位は10mAです。 | ||
+ | |||
+ | 値が512より大きい場合はCW方向に、512より小さい場合はCCW方向にモータが回転していることを意味し、値と512の差が電流値となります。 | ||
+ | |||
+ | 例えば値が612なら、回転方向はCWで、612 - 512 = 100 -> 100 × 10mA = 1000mAとなります。値が312なら、回転方向はCCWで、512 - 312 = 200 -> 200 × 10mA = 2000mAとなります。 | ||
+ | |||
+ | **Endless Turn [#m81274a2] | ||
+ | Address 6(0x06)~9(0x09)のCW Angle Limit、CCW Angle Limitを0に設定し、Address 32(0x20),33(0x21)に以下の通りMoving Speedを設定するとEndless Turnモードになります。車輪のような役割で使用する際にこのモードに設定します。~ | ||
~ | ~ | ||
Moving Speedの設定 | Moving Speedの設定 | ||
- | | BIT | Bit15~11 | Bit10 | Bit9,Bit8,Bit7,Bit6,Bit5,Bit4,Bit3,Bit2,Bit1,Bit0 | | + | | BIT | Bit15~11 | Bit10 | Bit9~0 | |
| Value | 0 | Turn Direction | Speed Value | | | Value | 0 | Turn Direction | Speed Value | | ||
+ | Trun Direction = 0 : CCW, Trun Direction = 1 : CW | ||
- | **Range [#f13ed204] | + | Present Positionは車輪の総回転角度を表します。 |
- | 各データには有効な最小値、最大値があります。この有効値外に書き込まれたインストラクションはエラーを返します。下表に各レジスタのデータ範囲と長さをまとめています。16ビットデータレジスタは(L)と(H)の2バイトで表されます。両方のバイトが1つのインストラクションパケットで同時に書き込まれる必要があります。 | + | 値はCCW方向に回転すると減少、CW方向に回転すると増加し、積算されます。値が0を下回ると65535になり、65535を超えると0になります。 |
- | |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 [#be8cd93b] | + | **不揮発エリアとRAMエリア [#ub0b5828] |
- | Address0から23はEEPROMエリア、Address24から49まではRAMエリアです。RAMエリアのデータは電源を入れたときに常に初期値に設定されます。EEPROMのデータは電源を切ってもその時の値が残ります。~ | + | Address0から23は不揮発エリア、Address24以降はRAMエリアです。RAMエリアのデータは電源を入れたときに常に初期値に設定されます。不揮発エリアのデータは電源を切っても値が保持されます。~ |
- | コントロールテーブルの右側のInitial ValueはEEPROMエリアデータの製造時の初期値と、RAMエリアデータの電源を入れた時の初期値です。~ | + | 不揮発エリアのデータ書き換え回数には数万回という制限があります。必要な時だけ書き換を行うような運用を行ってください。~ |
- | EEPROMエリアデータの書き換え回数には制限があります。必要な時のみ書き換えられるような運用を行って下さい。~ | + |
(This host) = https://www.besttechnology.co.jp