ページへ戻る

− Links

 印刷 

PRO plus Series Control table のソース :: Besttechnology

knowledge:PRO plus Series Control tableのソース

« Prev[3]  
TITLE:PRO plus Series Control table
**適用 [#v0412e2a]
ファームウェア Ver.10以降を搭載した以下のDynamixel PROおよびPシリーズに共通するコントロールテーブルです。
-[[PH54-200-S500-R]]
-[[PH54-100-S500-R]]
-[[PH42-020-S300-R]]
-[[PM54-060-S250-R]]
-[[PM54-040-S250-R]]
-[[PM42-010-S260-R]]
-[[H54-200-S500-R(A)]]
-[[H54-100-S500-R(A)]]
-[[H42-20-S300-R(A)]]
-[[M54-60-S250-R(A)]]
-[[M54-40-S250-R(A)]]
-[[M42-10-S260-R(A)]]

**アイテム一覧 [#q28d55a1]
|=''Address''|=''Item''|=''Access''|=''Default Value''|=''Type/Range''|h
|CENTER:|LEFT:|CENTER:|CENTER:|CENTER:|c
|0|BGCOLOR(beige):[[Model Number>#f8895243]]|R|-|uint16|
|1|~|~|~|~|
|2|BGCOLOR(beige):[[Model Information>#f8895243]]|R|0|uint32|
|3|~|~|~|~|
|4|~|~|~|~|
|5|~|~|~|~|
|6|BGCOLOR(beige):[[Version of Firmware>#jc5551fd]]|R|?|uint8|
|7|BGCOLOR(seashell):[[ID>#u1feceb7]]|R/W (NVM)|1|uint8&br;0~252|
|8|BGCOLOR(seashell):[[Baudrate>#gd2e9bfc]]|R/W (NVM)|1|uint8&br;0~9|
|9|BGCOLOR(seashell):[[Return Delay Time>#b77cfd17]]|R/W (NVM)|250|uint8&br;0~254|
|10|BGCOLOR(seashell):[[Drive Mode>#pd498215]]|R/W (NVM)|0|uint8&br;0~1|
|11|BGCOLOR(seashell):[[Operating Mode>#j5c7292f]]|R/W (NVM)|3|uint8&br;0~16|
|12|BGCOLOR(seashell):[[Secondary(Shadow) ID>#]]|R/W (NVM)|255|uint8&br;0~255|
|13&br;~&br;19|BGCOLOR(silver):(reserve)|R|-|uint8|
|20|BGCOLOR(seashell):[[Homing Offset>#kfeaa64e]]|R/W (NVM)|0|int32|
|21|~|~|~|~|
|22|~|~|~|~|
|23|~|~|~|~|
|24|BGCOLOR(seashell):[[Moving Threshold>#z8cfaf32]]|R/W (NVM)|-|uint32|
|25|~|~|~|~|
|26|~|~|~|~|
|27|~|~|~|~|
|28&br;~&br;30|BGCOLOR(silver):(reserve)|R|-|uint8|
|31|BGCOLOR(seashell):[[Temperature Limit>#uad86a63]]|R/W (NVM)|80|uint8&br;0~100|
|32|BGCOLOR(seashell):[[Max Voltage Limit>#d7f96189]]|R/W (NVM)|350|uint16&br;0~350|
|33|~|~|~|~|
|34|BGCOLOR(seashell):[[Min Voltage Limit>#d7f96189]]|R/W (NVM)|150|uint16&br;0~350|
|35|~|~|~|~|
|36|BGCOLOR(seashell):[[PWM Limit>#z59ed3b4]]|R/W (NVM)|2009|uint16&br;0~2009|
|37|~|~|~|~|
|38|BGCOLOR(seashell):[[Current Limit>#]]|R/W (NVM)|-|uint16|
|39|~|~|~|~|
|40|BGCOLOR(seashell):[[Acceleration Limit>#n0dd90ae]]|R/W (NVM)|-|uint32|
|41|~|~|~|~|
|42|~|~|~|~|
|43|~|~|~|~|
|44|BGCOLOR(seashell):[[Velocity Limit>#n6a5f754]]|R/W (NVM)|-|uint32|
|45|~|~|~|~|
|46|~|~|~|~|
|47|~|~|~|~|
|48|BGCOLOR(seashell):[[Max Position Limit>#l737bbef]]|R/W (NVM)|-|int32|
|49|~|~|~|~|
|50|~|~|~|~|
|51|~|~|~|~|
|52|BGCOLOR(seashell):[[Min Position Limit>#l737bbef]]|R/W (NVM)|-|int32|
|53|~|~|~|~|
|54|~|~|~|~|
|55|~|~|~|~|
|56|BGCOLOR(seashell):[[External Port Mode 1>#u8e1492d]]|R/W (NVM)|0|uint8&br;0~3|
|57|BGCOLOR(seashell):[[External Port Mode 2>#u8e1492d]]|R/W (NVM)|0|~|
|58|BGCOLOR(seashell):[[External Port Mode 3>#u8e1492d]]|R/W (NVM)|0|~|
|59|BGCOLOR(seashell):[[External Port Mode 4>#u8e1492d]]|R/W (NVM)|0|~|
|60&br;~&br;62|BGCOLOR(silver):(reserve)|R|-|uint8|
|63|BGCOLOR(seashell):[[Shutdown>#vbc701c4]]|R/W (NVM)|52(0x34)|uint8&br;0~255|
|64&br;~&br;167|BGCOLOR(silver):(reserve)|R|-|uint8|
|168|BGCOLOR(seashell):[[Indirect Address 1>#jaa405dd]]|R/W (NVM)|634|uint16&br;512~1023|
|169|~|~|~|~|
|170|BGCOLOR(seashell):[[Indirect Address 2>#jaa405dd]]|~|635|~|
|171|~|~|~|~|
|172,173&br;~&br;418,419|BGCOLOR(seashell):[[Indirect Address 3>#jaa405dd]]&br;~&br;[[Indirect Address 126>#jaa405dd]]|~|636&br;~&br;759|~|
|420|BGCOLOR(seashell):[[Indirect Address 127>#jaa405dd]]|~|760|~|
|421|~|~|~|~|
|422|BGCOLOR(seashell):[[Indirect Address 128>#jaa405dd]]|~|761|~|
|423|~|~|~|~|
|424&br;~&br;511|BGCOLOR(silver):(reserve)|R|-|uint8|
|512|BGCOLOR(lightcyan):[[Torque Enable>#wfdacf65]]|R/W|0|uint8&br;0~1|
|513|BGCOLOR(lightcyan):[[LED RED>#h4e1230d]]|R/W|0|uint8&br;0~255|
|514|BGCOLOR(lightcyan):[[LED GREEN>#h4e1230d]]|R/W|0|~|
|515|BGCOLOR(lightcyan):[[LED BLUE>#h4e1230d]]|R/W|0|~|
|516|BGCOLOR(lightcyan):[[Status Return Level>#r63d9af2]]|R/W|2|uint8&br;0~2|
|517|BGCOLOR(beige):[[Registered Instruction>#t7805606]]|R|0|uint8&br;|
|518|BGCOLOR(beige):[[Hardware Error Status>#u710d2bc]]|R|-|uint8&br;|
|519&br;~&br;523|BGCOLOR(silver):(reserve)|R|-|uint8|
|524|BGCOLOR(lightcyan):[[Velocity I Gain>#n3099aee]]|R/W|-|uint16&br;0~32767|
|525|~|~|~|~|
|526|BGCOLOR(lightcyan):[[Velocity P Gain>#n3099aee]]|R/W|-|~|
|527|~|~|~|~|
|528|BGCOLOR(lightcyan):[[Position D Gain>#d0c6ac0c]]|R/W|-|uint16&br;0~32767|
|529|~|~|~|~|
|530|BGCOLOR(lightcyan):[[Position I Gain>#d0c6ac0c]]|R/W|-|~|
|531|~|~|~|~|
|532|BGCOLOR(lightcyan):[[Position P Gain>#d0c6ac0c]]|R/W|-|~|
|533|~|~|~|~|
|534&br;~&br;535|BGCOLOR(silver):(reserve)|R|-|uint8|
|536|BGCOLOR(lightcyan):[[Feedforward 2nd Gain>#n3099aee]]|R/W|-|uint16&br;0~32767|
|537|~|~|~|~|
|538|BGCOLOR(lightcyan):[[Feedforward 1st Gain>#d0c6ac0c]]|R/W|-|uint16&br;0~32767|
|539|~|~|~|~|
|540&br;~&br;545|BGCOLOR(silver):(reserve)|R|-|uint8|
|546|BGCOLOR(lightcyan):[[Bus Watchdog>#xa7fc618]]|R/W|-|uint8&br;0~127|
|547|BGCOLOR(silver):(reserve)|R|-|uint8|
|548|BGCOLOR(lightcyan):[[Goal PWM>#ye33d086]]|R/W|-|int16&br;[[-PWM Limit>#]]~[[PWM Limit>#]]‬|
|549|~|~|~|~|
|550|BGCOLOR(lightcyan):[[Goal Current>#]]|R/W|-|int16&br;[[-Current Limit>#]]~[[Current Limit>#]]‬|
|551|~|~|~|~|
|552|BGCOLOR(lightcyan):[[Goal Velocity>#x7810cd9]]|R/W|0|int32&br;-[[Velocity Limit>#n6a5f754]]~[[Velocity Limit>#n6a5f754]]|
|553|~|~|~|~|
|554|~|~|~|~|
|555|~|~|~|~|
|556|BGCOLOR(lightcyan):[[Profile Acceleration>#p37d042e]]|R/W|0|uint32&br;0~[[Acceleration Limit>#]]|
|557|~|~|~|~|
|558|~|~|~|~|
|559|~|~|~|~|
|560|BGCOLOR(lightcyan):[[Profile Velocity>#k31e5f2f]]|R/W|0|uint32&br;0~[[Velocity  Limit>#]]|
|561|~|~|~|~|
|562|~|~|~|~|
|563|~|~|~|~|
|564|BGCOLOR(lightcyan):[[Goal Position>#a86abf50]]|R/W|-|int32&br;[[Min Position Limit>#l737bbef]]~[[Max Position Limit>#l737bbef]]‬|
|565|~|~|~|~|
|566|~|~|~|~|
|567|~|~|~|~|
|568|BGCOLOR(beige):[[Realtime Tick>#g5f24bfe]]|R|-|uint16&br;0~32767|
|569|~|~|~|~|
|570|BGCOLOR(beige):[[Moving>#q27c1167]]|R|0|uint8|
|571|BGCOLOR(beige):[[Moving Status>#mb07c078]]|R|0|uint8|
|572|BGCOLOR(beige):[[Present PWM>#qe8b0dd4]]|R|-|int16|
|573|~|~|~|~|
|574|BGCOLOR(beige):[[Present Current>#x7fc73c2]]|R|-|int16|
|575|~|~|~|~|
|576|BGCOLOR(beige):[[Present Velocity>#na7ab4d4]]|R|-|int32|
|577|~|~|~|~|
|578|~|~|~|~|
|579|~|~|~|~|
|580|BGCOLOR(beige):[[Present Position>#rc31835f]]|R|-|int32|
|581|~|~|~|~|
|582|~|~|~|~|
|583|~|~|~|~|
|584|BGCOLOR(beige):[[Velocity Trajectory>#]]|R|-| |
|585|~|~|~|~|
|586|~|~|~|~|
|587|~|~|~|~|
|588|BGCOLOR(beige):[[Position Trajectory>#]]|R|-| |
|589|~|~|~|~|
|590|~|~|~|~|
|591|~|~|~|~|
|592|BGCOLOR(beige):[[Present Input Voltage>#y010f5f7]]|R|-|uint16|
|593|~|~|~|~|
|594|BGCOLOR(beige):[[Present Temperature>#h54b3728]]|R|-|uint8|
|595&br;~&br;599|BGCOLOR(silver):(reserve)|R|-|uint8|
|600|BGCOLOR(lightcyan):[[External Port Data 1>#u8e1492d]]|R/W|-|uint16|
|601|~|~|~|~|
|602|BGCOLOR(lightcyan):[[External Port Data 2>#u8e1492d]]|~|~|~|
|603|~|~|~|~|
|604|BGCOLOR(lightcyan):[[External Port Data 3>#u8e1492d]]|~|~|~|
|605|~|~|~|~|
|606|BGCOLOR(lightcyan):[[External Port Data 4>#u8e1492d]]|~|~|~|
|607|~|~|~|~|
|608&br;~&br;633|BGCOLOR(silver):(reserve)|R|-|uint8|
|634|BGCOLOR(lightcyan):[[Indirect Data 1>#jaa405dd]]|R/W|0|uint8|
|635|BGCOLOR(lightcyan):[[Indirect Data 2>#jaa405dd]]|~|~|~|
|636|BGCOLOR(lightcyan):[[Indirect Data 3>#jaa405dd]]|~|~|~|
|637&br;~&br;759|BGCOLOR(lightcyan):[[Indirect Data 4>#jaa405dd]]&br;~&br;[[Indirect Data 126>#jaa405dd]]|~|~|~|
|760|BGCOLOR(lightcyan):[[Indirect Data 127>#jaa405dd]]|~|~|~|
|761|BGCOLOR(lightcyan):[[Indirect Data 128>#jaa405dd]]|~|~|~|

-データ幅が16bitないし32bitのアイテムはリトルエンディアン(データの下位バイトから順に格納)。
-Accessに(NVM)とあるアイテムは不揮発メモリとなっており、電源を切っても値が保持される。また頻繁な書き換えは想定されていないため、書き換えは必要最低限にとどめること。
-Accessに(NVM)とあるアイテムとIndirect Addressを変更する場合は、Torque Enalbeが0でなくてはならない。
-(reserve)はシステムで予約され、読み出した値に有効性はない。また、書き込みを行ってはならない。
-Default Valueは出荷時ないしファクトリーリセットを行った際の値。又、ファームウェアのバージョンによって値が変更される場合がある。

***各アイテム詳細 [#uabd4e49]
****Model Number/Model Information [#f8895243]
モデル固有の値を保持します。異なる種類のDynamixelを混在して使用する際の個体識別などに使用できます。
|CENTER:|CENTER:|c
|Model Name|Value|h
|[[PH54-200-S500-R]]|2020(0x07E4)|
|[[PH54-100-S500-R]]|2010(0x07DA)|
|[[PH42-020-S300-R]]|2000(0x07D0)|
|[[PM54-060-S250-R]]|2120(0x0848)|
|[[PM54-040-S250-R]]|2110(0x083E)|
|[[PM42-010-S260-R]]|2100(0x0834)|
|[[H54-200-S500-R(A)]]|54025(0xD309)|
|[[H54-100-S500-R(A)]]|53769(0xD209)|
|[[H42-20-S300-R(A)]]|51201(0xC801)|
|[[M54-60-S250-R(A)]]|46353(0xB511)|
|[[M54-40-S250-R(A)]]|46097(0xB411)|
|[[M42-10-S260-R(A)]]|43289(0xA919)|

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

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

****Baudrate [#gd2e9bfc]
通信する際のボーレートです。ホストとDynamixelのボーレートは一致させなくてはなりません。
|CENTER:|CENTER:|c
|Value|Baudrate [bps]|h
|0|9600|
|1|57600 (57613)|
|2|115200 (115226)|
|3|1000000|
|4|2000000|
|5|3000000|
|6|4000000|
|7|4500000 (4421053)|
|8|6000000|
|9|10500000|

****Return Delay Time [#b77cfd17]
インストラクションパケットが送られた後、ステータスパケットを返すまでの待ち時間を設定します。~
ホストにおける半二重のバス制御のタイミングに合わせて調整しますが、弊社のPC用USBシリアルI/Fを使用する限りでは0を設定しても問題ありません。
 Delay Time [us] = Value * 2 [us]

****Drive Mode [#pd498215]
デフォルト回転方向、プロファイル構成を設定します。~
デフォルト回転方向によりはPosition, Velocity, PWMの各指令によるホーンの回転方向が変化します。~
プロファイル構成は位置決め制御時に速度制御を行うか遷移時間制御を行うかを選択します。
|CENTER:|CENTER:|CENTER:|c
|Bit|Name|Description|h
|7| |常時0|
|6| |常時0|
|5| |常時0|
|4| |常時0|
|3| |常時0|
|2| |常時0|
|1| |常時0|
|0|Direction of rotation|0:Normal (CCW方向を+、CW方向を-)&br;1:Reverse (CCW方向を-、CW方向を+)|

****Operating Mode [#j5c7292f]
動作モードを選択します。Valueに記載が無い値は予約済みのため、指定してはなりません。^
なお、MX-28は電流センサを備えていないため、設定可能なモードが限られます。
|CENTER:|LEFT:|LEFT:|c
|Value|CENTER:Mode|CENTER:Description|h
|0|Current Control Mode|電流制御。位置及び速度制御は行わない。&br;MX-28は指定不可|
|1|Velocity Control Mode|速度制御(電流制御併用)。位置制御は行わない。|
|3|Position Control Mode|位置制御(速度・電流制御併用)。GoalPositionは0~360°の1回転分の制御範囲に制限。|
|4|Extended Position Control Mode|拡張位置制御。GoalPositionの範囲が拡大され、最大±256回転まで対応。|
|16|PWM Control Mode|PWMのデューティー比を制御。|

****Secondary(Shadow) ID [#xd89f154]
DynamixelのSecondary IDを設定します。Secondary IDは、[[ID>#u1feceb7]]と同様に各Dynamixelを識別するために用いられます。なお、Secondary IDに253以上の値が設定されている場合、Secondary IDは機能しません。

****Homing Offset [#kfeaa64e]
この値が真の現在位置に加算され[[Present Position>#rc31835f]]に反映されます。オフセット位置をホスト側では無くDynamixel側に持たせる際に使用します。~
 Position [deg] = Value * 360 [deg] / Resolution
&aname(Resolution);
|CENTER:|CENTER:|c
|Model|Resolution for 1 revolution|h
|[[PH54-200-S500-R]]|1003846|
|[[PH54-100-S500-R]]|1003846|
|[[PH42-020-S300-R]]|607500|
|[[PM54-060-S250-R]]|502834|
|[[PM54-040-S250-R]]|502834|
|[[PM42-010-S260-R]]|526374|
|[[H54-200-S500-R(A)]]|1003846|
|[[H54-100-S500-R(A)]]|1003846|
|[[H42-20-S300-R(A)]]|607500|
|[[M54-60-S250-R(A)]]|502834|
|[[M54-40-S250-R(A)]]|502834|
|[[M42-10-S260-R(A)]]|526374|

****Moving Threshold [#z8cfaf32]
[[Present Velocity>#na7ab4d4]]の絶対値とこの値を比較した結果が[[Moving>#q27c1167]]に示されます。
 Velocity [rpm] = Value * 0.01 [rpm]
|CENTER:|CENTER:|CENTER:|c
|Model|Devault value|Range|h
|[[PH54-200-S500-R]]|50|0~2900|
|[[PH54-100-S500-R]]|20|0~2920|
|[[PH42-020-S300-R]]|20|0~2920|
|[[PM54-060-S250-R]]|20|0~2830|
|[[PM54-040-S250-R]]|20|0~2840|
|[[PM42-010-S260-R]]|20|0~2600|
|[[H54-200-S500-R(A)]]|50|0~2900|
|[[H54-100-S500-R(A)]]|20|0~2920|
|[[H42-20-S300-R(A)]]|20|0~2920|
|[[M54-60-S250-R(A)]]|20|0~2830|
|[[M54-40-S250-R(A)]]|20|0~2840|
|[[M42-10-S260-R(A)]]|20|0~2600|

****Temperature Limit [#uad86a63]
[[Present Temperature>#h54b3728]]がこの値を超えると[[Hardware Error Status>#u710d2bc]]の該当ビットがONになり、[[Shutdown>#vbc701c4]]で指定された動作に遷移します。
 Temperature [degC] = Value * 1 [degC]

****Max/Min Voltage Limit [#d7f96189]
[[Present Input Voltage>#y010f5f7]]がこの値の範囲を超えると[[Hardware Error Status>#u710d2bc]]の該当ビットはONになり、[[Shutdown>#vbc701c4]]で指定された動作に遷移します。
 Voltage [V] = Value * 0.1 [V]

****PWM Limit [#z59ed3b4]
[[Goal PWM>#ye33d086]]の絶対値はこの値以下に制限されます。
 Duty [%] = Value * 100 [%] / 2009

****Current Limit [#y2cc93fd]
[[Goal Current>#h25c5adf]]の絶対値はこの値以下に制限されます。~
 Current [mA] = Value * 1 [mA]
|CENTER:|CENTER:|CENTER:|c
|Model|Default value|Range|h
|[[PH54-200-S500-R]]|22740|0~22740|
|[[PH54-100-S500-R]]|15900|0~15900|
|[[PH42-020-S300-R]]|4500|0~4500|
|[[PM54-060-S250-R]]|7980|0~7980|
|[[PM54-040-S250-R]]|4470|0~4470|
|[[PM42-010-S260-R]]|1461|0~1461|
|[[H54-200-S500-R(A)]]|22740|0~22740|
|[[H54-100-S500-R(A)]]|15900|0~15900|
|[[H42-20-S300-R(A)]]|4500|0~4500|
|[[M54-60-S250-R(A)]]|7980|0~7980|
|[[M54-40-S250-R(A)]]|4470|0~4470|
|[[M42-10-S260-R(A)]]|1461|0~1461|

****Acceleration Limit [#n0dd90ae]
[[Goal Acceleration>#p37d042e]]はこの値以下に制限されます。
 Acceleration [rpm²] = Value * 58000 [rpm²]
|CENTER:|CENTER:|CENTER:|c
|Model|Default value|Range|h
|[[PH54-200-S500-R]]|9982|0~3992644|
|[[PH54-100-S500-R]]|10639|0~4255632|
|[[PH42-020-S300-R]]|10765|0~4306173|
|[[PM54-060-S250-R]]|11145|0~4457932|
|[[PM54-040-S250-R]]|11037|0~4414976|
|[[PM42-010-S260-R]]|10867|0~4346756|
|[[H54-200-S500-R(A)]]|9982|0~3992644|
|[[H54-100-S500-R(A)]]|10639|0~4255632|
|[[H42-20-S300-R(A)]]|10765|0~4306173|
|[[M54-60-S250-R(A)]]|11145|0~4457932|
|[[M54-40-S250-R(A)]]|11037|0~4414976|
|[[M42-10-S260-R(A)]]|10867|0~4346756|

****Velocity Limit [#n6a5f754]
[[Goal Velocity>#x7810cd9]]の絶対値はこの値以下に制限されます。
 Velocity [rpm] = Value * 0.01 [rpm]
|CENTER:|CENTER:|CENTER:|c
|Model|Default value|Range|h
|[[PH54-200-S500-R]]|2900|0~2900|
|[[PH54-100-S500-R]]|2920|0~2920|
|[[PH42-020-S300-R]]|2920|0~2920|
|[[PM54-060-S250-R]]|2830|0~2830|
|[[PM54-040-S250-R]]|2840|0~2840|
|[[PM42-010-S260-R]]|2600|0~2600|
|[[H54-200-S500-R(A)]]|2900|0~2900|
|[[H54-100-S500-R(A)]]|2920|0~2920|
|[[H42-20-S300-R(A)]]|2920|0~2920|
|[[M54-60-S250-R(A)]]|2830|0~2830|
|[[M54-40-S250-R(A)]]|2840|0~2840|
|[[M42-10-S260-R(A)]]|2600|0~2600|

****Max/Min Position Limit [#l737bbef]
[[Operating Mode>#j5c7292f]]にPosition Control Modeが設定されている時に[[Goal Position>#a86abf50]]はこの値の範囲内に制限されます。
 Position [deg] = Value * 360 [deg] / Resolution
モデル毎のResolutionは[[こちら>#Resolution]]。
|CENTER:|CENTER:|CENTER:|c
|Model|Default value|<|h
|~|Max|Min|h
|[[PH54-200-S500-R]]|501923|-501923|
|[[PH54-100-S500-R]]|501923|-501923|
|[[PH42-020-S300-R]]|303750|-303750|
|[[PM54-060-S250-R]]|251417|-251417|
|[[PM54-040-S250-R]]|251417|-251417|
|[[PM42-010-S260-R]]|263187|-263187|
|[[H54-200-S500-R(A)]]|501923|-501923|
|[[H54-100-S500-R(A)]]|501923|-501923|
|[[H42-20-S300-R(A)]]|303750|-303750|
|[[M54-60-S250-R(A)]]|251417|-251417|
|[[M54-40-S250-R(A)]]|251417|-251417|
|[[M42-10-S260-R(A)]]|263187|-263187|

****External Port Mode 1/2/3/4, External Port Data 1/2/3/4[#u8e1492d]
Modeにて3つのExternal Portをデジタル入出力、もしくはアナログ入力に設定します。
|CENTER:|CENTER:|CENTER:|c
|Mode Value|Mode|Description|h
|0|Analog IN|PortNへ入力された0~3.3Vの電圧を12bitの分解能でA/D測定しDataNにストア |
|1|Digital OUT&br;(PushPull)|DataNに0の書き込みでPortNから3.3V、1の書き込みでPortNから0Vを出力&br;VSIZE(12){OH}:2.4V, VSIZE(12){OL}:0.5V |
|2|Digital IN&br;(PullUp)|PortNへ0Vの入力でDataに0、PortNへ3.3Vの入力でDataに1をストア&br;VSIZE(12){IH}:2.3V, VSIZE(12){IL}:1.0V&br;PullUp/Down Reg:40kΩ(typ) |
|3|Digital IN&br;(PullDown)|~|

****Shutdown [#vbc701c4]
この設定と[[Hardware Error Status>#u710d2bc]]の論理積が0以外になると、[[Torque Enable>#wfdacf65]]は0になりモータの出力が遮断されシャットダウン状態に遷移します。以後通常のインストラクションパケットにて[[Torque Enable>#wfdacf65]]を1にする事ができません。
|CENTER:|CENTER:|c
|Bit|Name|h
|7|常時0|
|6|常時0|
|5|Overload Error|
|4|Electrical Shock Error|
|3|Motor Encoder Error|
|2|Overheating Error|
|1|Motor hall sensor error|
|0|Input Voltage Error|
なお、シャットダウン状態から復帰するには発生している障害を排除した後、電源の再投入か、REBOOTインストラクションパケットを受信しなくてはなりません。

****Torque Enable [#wfdacf65]
出力軸をフリーにするか、設定されたOperating Modeに従った制御を開始します。
|CENTER:|LEFT:|c
|Value|CENTER:Description|h
|0|出力軸フリー、制御停止、ロックされたアイテムを解除|
|1|Operating Modeに従った制御開始、NVM及びIndirect Address領域のアイテムロック|

****LED RED/GREEN/BLUE [#h4e1230d]
本体に装備された3色のLEDの輝度を設定します。
|CENTER:|CENTER:|c
|Value|CENTER:Description|h
|0~255|0~100%|

****Status Return Level [#r63d9af2]
ステータスパケットを返信するインストラクションパケットを選択します。
|CENTER:|LEFT:|c
|Value|CENTER:Instruction to respond|h
|0|Ping|
|1|Ping, Read|
|2|Ping, Read, Write, Reg Write, Factory Reset, Reboot, Sync Read, Bulk Read|

****Registered Instruction [#t7805606]
Reg Writeインストラクションパケットを受信すると1、その後Actionインストラクションパケットを受信すると0になります。

****Hardware Error Status [#u710d2bc]
様々なフィードバックと内部の制御状態を比較した結果を示します。さらに、この値と[[Shutdown>#vbc701c4]]の論理積の結果により動作を継続するか否かを決定します。
|CENTER:|CENTER:|LEFT:|c
|Bit|Name|CENTER:Description|h
|7|-|常時0|
|6|-|常時0|
|5|Overload Error|最大出力で制御できない負荷が継続的に発生した|
|4|Electrical Shock Error|電気的に回路が衝撃を受けたり入力電力が不足してモータが正常動作しない|
|3|Motor Encoder Error|エンコーダが正常動作しない|
|2|Overheating Error|[[Present Temperature>#h54b3728]]が[[Temperature Limit>#uad86a63]]を超えた|
|1|Motor hall sensor error|モータのホールセンサがリミット値を超えた|
|0|Input Voltage Error|[[Present Voltage>#y010f5f7]]が[[Max/Min Voltage Limit>#d7f96189]]の範囲を超えた|

****Velocity I/P Gain, Feedforward 2nd Gain [#n3099aee]
速度制御演算における各種制御ゲインを指定します。~
[[Operating Mode>#j5c7292f]]にVelocity Control Modeが設定されている時に有効です。~
#ref(proplus_velocity_controller.png,50%)
|CENTER:|CENTER:|CENTER:|c
|Model|Default Value|<|h
|~|I|P|h
|[[PH54-200-S500-R]]|?|?|
|[[PH54-100-S500-R]]|?|?|
|[[PH42-020-S300-R]]|?|?|
|[[PM54-060-S250-R]]|?|?|
|[[PM54-040-S250-R]]|?|?|
|[[PM42-010-S260-R]]|?|?|
|[[H54-200-S500-R(A)]]|?|?|
|[[H54-100-S500-R(A)]]|?|?|
|[[H42-20-S300-R(A)]]|?|?|
|[[M54-60-S250-R(A)]]|?|?|
|[[M54-40-S250-R(A)]]|?|?|
|[[M42-10-S260-R(A)]]|?|?|

****Position D/I/P Gain, Feedforward 1st Gain[#d0c6ac0c]
位置制御演算における各種制御ゲインを指定します。~
[[Operating Mode>#j5c7292f]]にPosition Control Mode・Extended Position Control Modeが設定されている時に有効な値です。
#ref(proplus_position_controller.png).png,40%)
|CENTER:|CENTER:|CENTER:|CENTER:|c
|Model|Default Value|<|<|h
|~|D|I|P|h
|[[PH54-200-S500-R]]|?|?|?|
|[[PH54-100-S500-R]]|?|?|?|
|[[PH42-020-S300-R]]|?|?|?|
|[[PM54-060-S250-R]]|?|?|?|
|[[PM54-040-S250-R]]|?|?|?|
|[[PM42-010-S260-R]]|?|?|?|
|[[H54-200-S500-R(A)]]|?|?|?|
|[[H54-100-S500-R(A)]]|?|?|?|
|[[H42-20-S300-R(A)]]|?|?|?|
|[[M54-60-S250-R(A)]]|?|?|?|
|[[M54-40-S250-R(A)]]|?|?|?|
|[[M42-10-S260-R(A)]]|?|?|?|

****Bus Watchdog [#xa7fc618]
無通信状態を監視する時間を指定します。~
Bus Watchdogが1以上でかつ[[Torque Enable>#wfdacf65]]が1である場合、ホストコントローラとDynamixel間の通信間隔を監視します。その間隔が指定時間よりも大きい場合にDynamixelは停止し、Bus Watchdogは-1に変更されます。Bus Watchdog Error状態になると、[[Goal PWM>#x7993b36]]・[[Goal Current>#h25c5adf]]・[[Goal Velocity>#x7810cd9]]・[[Goal Position>#a86abf50]]の各アイテムは読み取り専用に変更されます。Bus Wathdogの値を0に変更すると、Bus Watchdog Errorは解除されます。
| Value | Description |h
| 0 |Bus Watchdog無効, Bus Watchdog Error状態を解除|
| 1~127 |Bus Watchdog有効 (Value * 20[ms])|
| -1 |Bus Watchdog Error状態|

****Goal PWM [#ye33d086]
PWMのデューティー比を指定します。~
[[Operating Mode>#j5c7292f]]にPWM Modeが設定されている事はもとより、全てのModeにおける制御演算結果はPWMのデューティ比として算出されるため、必ず制御の最終段においてこの値以下にデューティー比が制限されモータへ印加されます。
 Duty [%] = Value * 100 [%] / 2009

****Goal Current[#h25c5adf]
電流制御の目標値を指定します。~
[[Operating Mode>#j5c7292f]]にPosition Control Mode・Extended Position Control Mode・Velocity Control Mode・Current Control Modeが設定されている時に有効な値です。
 Current [mA] = Value [mA]

****Goal Velocity [#x7810cd9]
速度制御の目標値を指定します。~
[[Operating Mode>#j5c7292f]]にVelocity Control Modeが設定されている時に有効な値です。
 Velocity [rpm] = Value * 0.01 [rpm]
#ref(PRO Series Control table/DX_VeloDir.png)

****Profile Acceleration [#p37d042e]
Profileの加速度を指定します。~
[[Operating Mode>#j5c7292f]]がCurrent Control Modeである時を除くModeに有効です。~
加速度は以下の式で決まります。
 Acceleration [rpm²] = Value * 1 [rpm²]
詳細は[[Profile Velocity>#k31e5f2f]]を参照ください。

****Profile Velocity [#k31e5f2f]
Profileの最大速度を指定します。~
[[Operating Mode>#j5c7292f]]がCurrent Control ModeないしVelocity Control Modeである時を除くModeに有効です。なお、Velocity Control Mode時は[[Goal Velocity>#x7810cd9]]が最大速度として採用されます。
 Max Velocity [rpm] = Value * 0.01 [rpm]
加速度・最大速度・目標位置の値によって最終的に3種類の軌跡が得られます。位置制御時における設定値による位置と速度のProfileを以下に示します。
|CENTER:|CENTER:|c
|Profile|Condition, Waveform|h
|ステップ|Profile Velocity = 0, Acceleration = don't care |
|~|#ref(PRO Series Control table/Profile_Step.png)|
|矩形|Profile Velocity ≠ 0, Acceleration = 0 |
|~|#ref(PRO Series Control table/Profile_Rectangle.png)|
|台形|Profile Velocity ≠ 0, Acceleration ≠ 0 |
|~|#ref(PRO Series Control table/Profile_Trapezoidal.png)|
適当な加速度と最大速度を設定した上で目標位置を指令する事で、急峻な加速度を伴う位置決め制御による機械的なショックを軽減できます。また、目標位置への到達時間が決まっている場合は、時間から加速度と最大速度を求めて設定する事で対応できます。~
なお、上記波形のt1は、概ね以下の数式で求められます。
 t1 = 600 * (Goal Velocity / Profile Acceleration))
また、これらの他に急峻な加速度変化を抑える制御を行っているため、最終的な目標到達時間はt3よりも長くなる場合があります。

****Goal Position [#a86abf50]
位置制御の目標値を指定します。~
[[Operating Mode>#j5c7292f]]にPosition Control Mode・Extended Position Control Modeが設定されている時に有効で、各Mode毎に指摘できる数値範囲が異なります。
|CENTER:|CENTER:|CENTER:|c
|Operating Mode|Value Range|Max Turnover Number|h
|3|[[Min Position Limit~Max Position Limit>#l737bbef]]|1|
|4|-2147483647~+2147483647|-256~+256|
 Position [deg] = Value * 360 / Resolution
#ref(PRO Series Control table/DX_PosDir.png)
モデル毎のResolutionは[[こちら>#Resolution]]。

****Realtime Tick [#g5f24bfe]
15ビットのフリーランカウンタで、1ms周期毎にインクリメントされます。

****Moving [#q27c1167]
[[Present Velocity>#na7ab4d4]]の絶対値と[[Moving Threshold>#z8cfaf32]]の比較結果を示します。
|CENTER:|LEFT:|c
|Value|CENTER:Description|h
|0|Moving Threshold ≥ &#x7c;Present Velocity&#x7c;|
|1|Moving Threshold < &#x7c;Present Velocity&#x7c;|

****Moving Status [#mb07c078]
動作中の状況を示します。
|CENTER:|CENTER:|LEFT:|c
|Bit|Name|CENTER:Description|h
|7|-|常時0|
|6|-|常時0|
|5|Profile Type|11:台形速度Profile&br;01:矩形速度Profile&br;00:Step速度Profile |
|4|~|~|
|3|-|常時0|
|2|-|常時0|
|1|-|常時0|
|0|In-Position|位置制御時、目標位置到達 |

****Present PWM [#qe8b0dd4]
制御中のPWM出力値です。
 Duty [%] = Value * 100 [%] / 2009

****Present Current [#x7fc73c2]
現在モータへ流れている電流です。
 Current [mA] = Value * 1 [mA]

****Present Velocity [#na7ab4d4]
現在の出力軸の回転数です。
 Velocity [rpm] = Value * VelocityScalingFactor [rpm]

****Present Position [#rc31835f]
真の位置から[[Homing Offset>#kfeaa64e]]を除した出力軸の位置です。~
[[Torque Enable>#wfdacf65]]が0の状態ではレンジフローするまで回転に応じた増減をしますが、[[Torque Enable>#wfdacf65]]を1にした瞬間に[[Operating Mode>#j5c7292f]]に依存した値でクリップされます。
 Position [deg] = Value * 360 [deg] / Resolution
なおPresent Positionは次の場合にリセットされます。
-パワーサイクルや再起動
-[[Operating Mode>#j5c7292f]]をPosition Control Modeに変更
-Position Control Mode時に[[Torque Enable>#wfdacf65]]を1に変更

モデル毎のResolutionは[[こちら>#Resolution]]。

****Present Input Voltage [#y010f5f7]
現在の印加電圧です。
 Voltage [V] = Value * 0.1 [V]

****Present Temperature [#h54b3728]
現在の内部温度です。
 Temperature [degC] = Value * 1 [degC]

****Indirect Address/Data [#jaa405dd]
コントロールテーブル上のアドレスを再構成します。~
Indirect Address '''N'''('''N'''=1~128)とIndirect Data '''N'''('''N'''=1~128)は対になっており、Indirect Address '''N'''に任意のコントロールテーブル上のアドレス'''X'''を設定すると、その後Indirect Data '''N'''へアクセスする事はIndirect Address '''N'''に設定されたアドレス'''X'''へ間接的にアクセスする事になります。

具体的な例として、ホストから頻繁にアクセスしたいアイテムが複数あり、それらが離れたアドレスに配置されていた場合を考えます。通常はそれらアイテム全てをまたぐアドレス範囲のデータをまとめてアクセスするか、個々のアイテムに個別にアクセスするとった手段を執ります。これには本来無用なデータやアクセス回数が強いられるため、通信のトラフィックが上がる要因になるのと、ホスト側のプログラムの負担になります。~
ホストから書き込み対象としてPosition P Gain・Goal Velocity・Goal Position、読み出し対象としてPresent Position・Present Temperatureがあった場合、これらをIndirect Data領域に再配置するには以下の手順を踏みます。
+Position P Gainのアドレス532~533をIndirect Address 1~2に書き込み
+Goal Velocityのアドレス552~555をIndirect Address 3~6に書き込み
+Goal Positionのアドレス564~567をIndirect Address 7~10に書き込み
+Present Positionのアドレス580~583をIndirect Address 11~14に書き込み
+Present Temperatureのアドレス594をIndirect Address 15に書き込み

以後Indirect Data 1からの連続した634番地にアクセスする事は、再配置したアイテムへ個々に間接的にアクセスした事になります。
#ref(DX_Indirect_p.png)

なお、Indirect Addressがデフォルト値のままであれば、Indirect Data領域はユーザ任意のRAM領域として扱うことができます。

« Prev[3]