TITLE:X Series Control table **適用 [#v0412e2a] ファームウェア Ver.42以降を搭載した以下のDynamixelに共通するコントロールテーブルです。 -[[XL430-W250-T>XL430-W250]] -[[XM430-W210-T/XM430-W210-R>XM430-W210]] -[[XH430-W210-T/XH430-W210-R>XH430-W210]] -[[XH430-V210-R>XH430-V210]] -[[XM430-W350-T/XM430-W350-R>XM430-W350]] -[[XH430-W350-T/XH430-W350-R>XH430-W350]] -[[XH430-V350-R>XH430-V350]] -[[XM540-W150-T/XM540-W150-R>XM540-W150]] -[[XH540-W150-T/XH540-W150-R>XH540-W150]] -[[XH540-V150-R>XH540-V150]] -[[XM540-W270-T/XM540-W270-R>XM540-W270]] -[[XH540-W270-T/XH540-W270-R>XH540-W270]] -[[XH540-V270-R>XH540-V270]] **アイテム一覧 [#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~7| |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~255| |11|BGCOLOR(seashell):[[Operatinng Mode>#j5c7292f]]|R/W (NVM)|3|uint8&br;0~16| |12|BGCOLOR(seashell):[[Secondary(Shadow) ID>#i3a9c5b3]]|R/W (NVM)|255|uint8&br;0~255| |13|BGCOLOR(seashell):[[Protocol Version>#g1a9fe0a]]|R/W (NVM)|2|uint8&br;1~2| |14&br;~&br;19|BGCOLOR(silver):(reserve)|R|-|uint8| |20|BGCOLOR(seashell):[[Homing Offset>#kfeaa64e]]|R/W (NVM)|0|int32&br;-1044479~1044479| |21|~|~|~|~| |22|~|~|~|~| |23|~|~|~|~| |24|BGCOLOR(seashell):[[Moving Threshold>#z8cfaf32]]|R/W (NVM)|10|uint32&br;0~1023| |25|~|~|~|~| |26|~|~|~|~| |27|~|~|~|~| |28&br;~&br;30|BGCOLOR(silver):(reserve)|R|-|uint8| |31|BGCOLOR(seashell):[[Temperature Limit>#uad86a63]]|R/W (NVM)|-|uint8&br;0~100| |32|BGCOLOR(seashell):[[Max Voltage Limit>#d7f96189]]|R/W (NVM)|-|uint16| |33|~|~|~|~| |34|BGCOLOR(seashell):[[Min Voltage Limit>#d7f96189]]|R/W (NVM)|-|uint16| |35|~|~|~|~| |36|BGCOLOR(seashell):[[PWM Limit>#wef400f2]]|R/W (NVM)|885|uint16&br;0~885| |37|~|~|~|~| |38|BGCOLOR(seashell):[[Current Limit>#y2cc93fd]]|R/W (NVM)|-|uint16| |39|~|~|~|~| |40|BGCOLOR(seashell):[[Acceleration Limit>#n0dd90ae]]|R/W (NVM)|32767|uint32&br;0~32767| |41|~|~|~|~| |42|~|~|~|~| |43|~|~|~|~| |44|BGCOLOR(seashell):[[Velocity Limit>#n6a5f754]]|R/W (NVM)|-|uint32&br;0~1023| |45|~|~|~|~| |46|~|~|~|~| |47|~|~|~|~| |48|BGCOLOR(seashell):[[Max Position Limit>#l737bbef]]|R/W (NVM)|4095|uint32&br;0~4095| |49|~|~|~|~| |50|~|~|~|~| |51|~|~|~|~| |52|BGCOLOR(seashell):[[Min Position Limit>#l737bbef]]|R/W (NVM)|0|uint32&br;0~4095| |53|~|~|~|~| |54|~|~|~|~| |55|~|~|~|~| |56|BGCOLOR(seashell):[[External Port Mode 1>#u8e1492d]]|R/W (NVM)|3|uint8&br;0~3| |57|BGCOLOR(seashell):[[External Port Mode 2>#u8e1492d]]|R/W (NVM)|3|uint8&br;0~3| |58|BGCOLOR(seashell):[[External Port Mode 3>#u8e1492d]]|R/W (NVM)|3|uint8&br;0~3| |59&br;~&br;62|BGCOLOR(silver):(reserve)|R|-|uint8| |63|BGCOLOR(seashell):[[Shutdown>#vbc701c4]]|R/W (NVM)|52(0x34)|uint8&br;0~63| |64|BGCOLOR(lightcyan):[[Torque Enable>#wfdacf65]]|R/W|0|uint8&br;0~1| |65|BGCOLOR(lightcyan):[[LED>#h4e1230d]]|R/W|0|uint8&br;0~1| |66&br;~&br;67|BGCOLOR(silver):(reserve)|R|-|uint8| |68|BGCOLOR(lightcyan):[[Status Return Level>#r63d9af2]]|R/W|2|uint8&br;0~2| |69|BGCOLOR(beige):[[Registered Instruction>#t7805606]]|R|0|uint8&br;| |70|BGCOLOR(beige):[[Hardware Error Status>#u710d2bc]]|R|0|uint8&br;| |71&br;~&br;75|BGCOLOR(silver):(reserve)|R|-|uint8| |76|BGCOLOR(lightcyan):[[Velocity I Gain>#n3099aee]]|R/W|-|uint16&br;0~16383| |77|~|~|~|~| |78|BGCOLOR(lightcyan):[[Velocity P Gain>#n3099aee]]|R/W|-|uint16&br;0~16383| |79|~|~|~|~| |80|BGCOLOR(lightcyan):[[Position D Gain>#d0c6ac0c]]|R/W|-|uint16&br;0~16383| |81|~|~|~|~| |82|BGCOLOR(lightcyan):[[Position I Gain>#d0c6ac0c]]|R/W|-|uint16&br;0~16383| |83|~|~|~|~| |84|BGCOLOR(lightcyan):[[Position P Gain>#d0c6ac0c]]|R/W|-|uint16&br;0~16383| |85|~|~|~|~| |86&br;~&br;87|BGCOLOR(silver):(reserve)|R|-|uint8| |88|BGCOLOR(lightcyan):[[Feedforward Acceleration Gain>#d0c6ac0c]]|R/W|0|uint16&br;0~16383| |89|~|~|~|~| |90|BGCOLOR(lightcyan):[[Feedforward Velocity Gain>#d0c6ac0c]]|R/W|0|uint16&br;0~16383| |91|~|~|~|~| |92&br;~&br;97|BGCOLOR(silver):(reserve)|R|-|uint8| |98|BGCOLOR(lightcyan):[[Bus Watchdog>#v345fcb0]]|R/W|0|int8&br;-1~127| |99|BGCOLOR(silver):(reserve)|R|-|uint8| |100|BGCOLOR(lightcyan):[[Goal PWM>#x7993b36]]|R/W|-|int16&br;-[[PWM Limit>#wef400f2]]~[[PWM Limit>#wef400f2]]| |101|~|~|~|~| |102|BGCOLOR(lightcyan):[[Goal Current>#h25c5adf]]|R/W|-|int16&br;-[[Current Limit>#y2cc93fd]]~[[Current Limit>#y2cc93fd]]| |103|~|~|~|~| |104|BGCOLOR(lightcyan):[[Goal Velocity>#x7810cd9]]|R/W|-|int32&br;-[[Velocity Limit>#n6a5f754]]~[[Velocity Limit>#n6a5f754]]| |105|~|~|~|~| |106|~|~|~|~| |107|~|~|~|~| |108|BGCOLOR(lightcyan):[[Profile Acceleration>#p37d042e]]|R/W|0|uint32&br;0~32767| |109|~|~|~|~| |110|~|~|~|~| |111|~|~|~|~| |112|BGCOLOR(lightcyan):[[Profile Velocity>#k31e5f2f]]|R/W|0|uint32&br;0~32767| |113|~|~|~|~| |114|~|~|~|~| |115|~|~|~|~| |116|BGCOLOR(lightcyan):[[Goal Position>#a86abf50]]|R/W|-|int32&br;[[Min Position Limit>#l737bbef]]~[[Max Position Limit>#l737bbef]]&br;-1048575~1048575| |117|~|~|~|~| |118|~|~|~|~| |119|~|~|~|~| |120|BGCOLOR(beige):[[Realtime Tick>#q9936d2f]]|R|-|uint16| |121|~|~|~|~| |122|BGCOLOR(beige):[[Moving>#q27c1167]]|R|0|uint8| |123|BGCOLOR(beige):[[Moving Status>#jf2ccbc3]]|R|0|uint8| |124|BGCOLOR(beige):[[Present PWM>#q60316d2]]|R|-|int16| |125|~|~|~|~| |126|BGCOLOR(beige):[[Present Current>#x7fc73c2]]|R|-|int16| |127|~|~|~|~| |128|BGCOLOR(beige):[[Present Velocity>#na7ab4d4]]|R|-|int32| |129|~|~|~|~| |130|~|~|~|~| |131|~|~|~|~| |132|BGCOLOR(beige):[[Present Position>#rc31835f]]|R|-|int32| |133|~|~|~|~| |134|~|~|~|~| |135|~|~|~|~| |136|BGCOLOR(beige):[[Velocity Trajectory>#de194cd2]]|R|-| | |137|~|~|~|~| |138|~|~|~|~| |139|~|~|~|~| |140|BGCOLOR(beige):[[Position Trajectory>#w9f5f284]]|R|-| | |141|~|~|~|~| |142|~|~|~|~| |143|~|~|~|~| |144|BGCOLOR(beige):[[Present Input Voltage>#y010f5f7]]|R|-|uint16| |145|~|~|~|~| |146|BGCOLOR(beige):[[Present Temperature>#h54b3728]]|R|-|uint8| |147&br;~&br;151|BGCOLOR(silver):(reserve)|R|-|uint8| |152|BGCOLOR(lightcyan):[[External Port Data 1>#u8e1492d]]|R/W|-|uint16| |153|~|~|~|~| |154|BGCOLOR(lightcyan):[[External Port Data 2>#u8e1492d]]|R/W|-|uint16| |155|~|~|~|~| |156|BGCOLOR(lightcyan):[[External Port Data 3>#u8e1492d]]|R/W|-|uint16| |157|~|~|~|~| |158&br;~&br;167|BGCOLOR(silver):(reserve)|R|-|uint8| |168|BGCOLOR(lightcyan):[[Indirect Address 1>#jaa405dd]]|R/W|224|uint16&br;64~661| |169|~|~|~|~| |170|BGCOLOR(lightcyan):[[Indirect Address 2>#jaa405dd]]|~|225|~| |171|~|~|~|~| |172,173&br;~&br;218,219|BGCOLOR(lightcyan):[[Indirect Address 3>#jaa405dd]]&br;~&br;[[Indirect Address 26>#jaa405dd]]|~|226&br;~&br;249|~| |220|BGCOLOR(lightcyan):[[Indirect Address 27>#jaa405dd]]|~|250|~| |221|~|~|~|~| |222|BGCOLOR(lightcyan):[[Indirect Address 28>#jaa405dd]]|~|251|~| |223|~|~|~|~| |224|BGCOLOR(lightcyan):[[Indirect Data 1>#jaa405dd]]|R/W|0|uint8| |225|BGCOLOR(lightcyan):[[Indirect Data 2>#jaa405dd]]|~|~|~| |226|BGCOLOR(lightcyan):[[Indirect Data 3>#jaa405dd]]|~|~|~| |227&br;~&br;248|BGCOLOR(lightcyan):[[Indirect Data 4>#jaa405dd]]&br;~&br;[[Indirect Data 25>#jaa405dd]]|~|~|~| |249|BGCOLOR(lightcyan):[[Indirect Data 26>#jaa405dd]]|~|~|~| |250|BGCOLOR(lightcyan):[[Indirect Data 27>#jaa405dd]]|~|~|~| |251|BGCOLOR(lightcyan):[[Indirect Data 28>#jaa405dd]]|~|~|~| |252&br;~&br;577|BGCOLOR(silver):(reserve)|R|-|uint8| |578|BGCOLOR(lightcyan):[[Indirect Address 29>#jaa405dd]]|R/W|634|uint16&br;64~661| |579|~|~|~|~| |580|BGCOLOR(lightcyan):[[Indirect Address 30>#jaa405dd]]|~|635|~| |581|~|~|~|~| |582,583&br;~&br;628,629|BGCOLOR(lightcyan):[[Indirect Address 31>#jaa405dd]]&br;~&br;[[Indirect Address 54>#jaa405dd]]|~|636&br;~&br;659|~| |630|BGCOLOR(lightcyan):[[Indirect Address 55>#jaa405dd]]|~|660|~| |631|~|~|~|~| |632|BGCOLOR(lightcyan):[[Indirect Address 56>#jaa405dd]]|~|661|~| |633|~|~|~|~| |634|BGCOLOR(lightcyan):[[Indirect Data 29>#jaa405dd]]|R/W|0|uint8| |635|BGCOLOR(lightcyan):[[Indirect Data 30>#jaa405dd]]|~|~|~| |636&br;~&br;659|BGCOLOR(lightcyan):[[Indirect Data 31>#jaa405dd]]&br;~&br;[[Indirect Data 54>#jaa405dd]]|~|~|~| |660|BGCOLOR(lightcyan):[[Indirect Data 55>#jaa405dd]]|~|~|~| |661|BGCOLOR(lightcyan):[[Indirect Data 56>#jaa405dd]]|~|~|~| -データ幅が16bitないし32bitのアイテムはリトルエンディアン(データの下位バイトから順に格納)。 -Accessに(NVM)とあるアイテムは不揮発メモリとなっており、電源を切っても値が保持される。また頻繁な書き換えは想定されていないため、書き換えは必要最低限にとどめること。 -Accessに(NVM)とあるアイテムとIndirect Addressを変更する場合は、Torque Enalbeが0でなくてはならない。 -(reserve)はシステムで予約され、読み出した値に有効性はない。また、書き込みを行ってはならない。 -Default Valueは出荷時ないしファクトリーリセットを行った際の値。又、ファームウェアのバージョンによって値が変更される場合がある。 ***各アイテム詳細 [#uabd4e49] ****Model Number/Model Information [#f8895243] モデル固有の値を保持します。異なる種類のDynamixelを混在して使用する際の個体識別などに使用できます。 | Model Name | Value |h | XL430-W250 | 1060(0x424) | | XM430-W210 | 1030(0x406) | | XH430-W210 | 1010(0x3F2) | | XH430-V210 | 1050(0x41A) | | XM430-W350 | 1020(0x3FC) | | XH430-W350 | 1000(0x3E8) | | XH430-V350 | 1040(0x410) | | XM540-W150 | 1130(0x46A) | | XH540-W150 | 1110(0x456) | | XH540-V150 | 1150(0x47E) | | XM540-W270 | 1120(0x460) | | XH540-W270 | 1100(0x44C) | | XH540-V270 | 1140(0x474) | ****Version of Firmware [#jc5551fd] 内蔵されるCPUに書き込まれたプログラムのバージョンです。ファームウェアの更新を行った際に合わせて自動的に変更されます。 ****ID [#u1feceb7] 各Dynamixelを特定するための固有の値で0~252の範囲の数値で設定します。同一ネットワーク内に存在するDynamixelには各々異なるIDが要求されます。 ****Baudrate [#gd2e9bfc] 通信する際のボーレートです。ホストとDynamixelのボーレートは一致させなくてはなりません。 |CENTER:50|RIGHT:50|c |Value|CENTER:Baudrate [bps]|h |0|9600| |1|57600| |2|115200| |3|1000000| |4|2000000| |5|3000000| |6|4000000| |7|4500000| ****Return Delay Time [#b77cfd17] インストラクションパケットが送られた後、ステータスパケットを返すまでの待ち時間を設定します。~ ホストにおいて半二重のバス制御のタイミングに合わせて調整しますが、[[DXHUB]]を使用する限りでは0を設定しても問題ありません。 Delay Time [us] = Value * 2 [us] ****Drive Mode [#pd498215] デフォルト回転方向、デュアルジョイント、プロファイル構成を設定します。~ デフォルト回転方向によりはPosition, Velocity, PWMの各指令によるホーンの回転方向が変化します。~ デュアルジョイントは2台のDynamixelを同期させてトルクアップする際に使用し、一方をマスターもう一方をスレーブに設定します。※X540シリーズのみ装備~ プロファイル構成は位置決め制御時に速度制御を行うか遷移時間制御を行うかを選択します。 |CENTER:|CENTER:|CENTER:|c |Bit|Name|Description|h |7| |常時0| |6| |常時0| |5| |常時0| |4| |常時0| |3| |常時0| |2|Profile configuration|0:Velocity-based Profile&br;1:Time-based Profile| |1|Dual Joint|0:Master&br;1:Slavebr;※X540シリーズのみ| |0|Direction of rotation|0:Normal (CCW方向を+、CW方向を-)&br;1:Reverse (CCW方向を-、CW方向を+)| 2台のDynamixelのDual Jointを各々MasterとSlaveに設定し、Dual Joint Connector同士をデュアルジョイントケーブルで接続します。Slaveに設定されたDynamixelはDual Joint Connectorから入力されるMasterからの信号でのみ動作し、Slaveへの制御モード等の設定は一切無視されます。なお、ケーブルの配線方法により回転方向が決定されます。 |CENTER:|CENTER:|c |Dual Joint|<|h |Master|Slave|h |#ref(dual_joint_normal.png)|#ref(dual_joint_reverse.png)| ****Operatinng Mode [#j5c7292f] 動作モードを選択します。Valueに記載が無い値は予約済みのため、指定してはなりません。~ なお、電流センサを搭載しないデバイスは一部のモードが選択できません。 |CENTER:|LEFT:|LEFT:|c |Value|CENTER:Mode|CENTER:Description|h |0|Current Control Mode|電流制御。位置及び速度制御は行わない。&br;※XL430-W250は指定不可| |1|Velocity Control Mode|速度制御。位置及びトルク制御は行わない。| |3|Position Control Mode|位置制御。GoalPositionは0~360°の1回転分の制御範囲に制限。| |4|Extended Position Control Mode|拡張位置制御。GoalPositionの範囲が拡大され、最大±256回転まで対応。| |5|Current-Base Position Control Mode|電流制限付き位置制御。GoalPositionの範囲が拡大され、最大±256回転まで対応。&br;※XL430-W250は指定不可| |16|PWM Control Mode|PWMのデューティー比を制御。| ****Secondary(Shadow) ID [#i3a9c5b3] DynamixelのSecondary IDを設定します。Secondary IDは、[[ID>#u1feceb7]]と同様に各Dynamixelを識別するために用いられます。なお、Secondary IDに253以上の値が設定されている場合、Secondary IDは機能しません。 ****Protocol Version [#g1a9fe0a] Dynamixelプロトコルのバージョンを選択します。他のシリーズのDynamixelと混在させて使用する際はそのプロトコルのバージョンに合わせますが、異なるプロトコルを混在させて使用する事はできません。 |CENTER:|CENTER:|LEFT:|c |Value|CENTER:Protocol Version|CENTER:Description|h |1|1.0|AX, DX, RX, MX, EXシリーズと互換| |2|2.0|X, PROシリーズと互換| ****Homing Offset [#kfeaa64e] この値が真の現在位置に加算され[[Present Position>#rc31835f]]に反映されます。オフセット位置をホスト側では無くDynamixel側に持たせる際に使用します。 Position [deg] = Value * 360 [deg] / 4095 ****Moving Threshold [#z8cfaf32] [[Present Velocity>#na7ab4d4]]の絶対値とこの値を比較した結果が[[Moving>#q27c1167]]に示されます。 Velocity [rpm] = Value * 0.229 [rpm] ****Temperature Limit [#uad86a63] [[Present Temperature>#h54b3728]]がこの値を超えると[[Hardware Error Status>#u710d2bc]]の該当ビットがONになり、[[Shutdown>#vbc701c4]]で指定された動作に遷移します。 Temperature [degC] = Value * 1 [degC] | Model | Default value |h |CENTER:|CENTER:|c |XL430-W250|72| |XM430-W210|80| |XH430-W210|~| |XH430-V210|~| |XM430-W350|~| |XH430-W350|~| |XH430-V350|~| |XM540-W150|~| |XH540-W150|~| |XH540-V150|~| |XM540-W270|~| |XH540-W270|~| |XH540-H270|~| ****Max/Min Voltage Limit [#d7f96189] [[Present Input Voltage>#y010f5f7]]がこの値の範囲を超えると[[Hardware Error Status>#u710d2bc]]の該当ビットはONになり、[[Shutdown>#vbc701c4]]で指定された動作に遷移します。 Voltage [V] = Value * 0.1 [V] |CENTER:|CENTER:|CENTER:|CENTER:|c |Model|Default value|<|Range|h |~|Max|Min|~|h |XL430-W250|140|60|60~140| |XM430-W210|160|95|95~160| |XH430-W210|~|~|~| |XM430-W350|~|~|~| |XH430-W350|~|~|~| |XM540-W150|~|~|~| |XH540-W150|~|~|~| |XM540-W270|~|~|~| |XH540-W270|~|~|~| |XH430-V210|300|110|110~300| |XH430-V350|~|~|~| |XH540-V150|~|~|~| |XH540-V270|~|~|~| ****PWM Limit [#wef400f2] [[Goal PWM>#x7993b36]]の絶対値はこの値以下に制限されます。 Duty [%] = Value * 100 [%] / 855 ****Current Limit [#y2cc93fd] [[Goal Current>#h25c5adf]]の絶対値はこの値以下に制限されます。~ Current [mA] = Value * CurrentScalingFactor [mA] |CENTER:|CENTER:|CENTER:|CENTER:|c |Model|Default value|Range|Current Scaling factor [mA]|h |XL430-W250|-|-|-| |XM430-W210|1193|0~1193|2.69| |XH430-W210|648|0~648|~| |XM430-W350|1193|0~1193|~| |XH430-W350|648|0~648|~| |XM540-W150|2047|0~2047|~| |XH540-W150|2047|0~2047|~| |XH540-V150|2047|0~2047|~| |XM540-W270|2047|0~2047|~| |XH540-W270|2047|0~2047|~| |XH540-V270|2047|0~2047|~| |XH430-V210|689|0~689|1.34| |XH430-V350|689|0~689|~| ****Acceleration Limit [#n0dd90ae] [[Profile Acceleration>#p37d042e]]はこの値以下に制限されます。 Acceleration [rpm²] = Value * 214.577 ****Velocity Limit [#n6a5f754] [[Goal Velocity>#x7810cd9]]の絶対値と[[Profile Velocity>#k31e5f2f]]はこの値以下に制限されます。 Velocity [rpm] = Value * 0.229 [rpm] |CENTER:|CENTER:|c | Model | Default value |h |XL430-W250|415| |XM430-W210|480| |XH430-W210|360| |XH430-V210|380| |XM430-W350|350| |XH430-W350|280| |XH430-V350|285| |XM540-W150|380| |XH540-W150|230| |XH540-V150|128| |XM540-W270|278| |XH540-W270|128| |XH540-V270|128| ****Max/Min Position Limit [#l737bbef] [[Operatinng Mode>#j5c7292f]]にPosition Control Modeが設定されている時に[[Goal Position>#a86abf50]]はこの値の範囲内に制限されます。 Position [deg] = Value * 360 [deg] / 4096 ****External Port Mode 1/2/3, External Port Data 1/2/3[#u8e1492d] Modeにて3つのExternal Portをデジタル入出力、もしくはアナログ入力に設定します。~ ※X540シリーズのみ装備 |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|常時0| |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 [#h4e1230d] 本体に装備されたLEDを点灯ないし消灯します。 |CENTER:|LEFT:|c |Value|CENTER:Description|h |0|消灯| |1|点灯| ****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|-|常時0| |0|Input Voltage Error|[[Present Voltage>#y010f5f7]]が[[Max/Min Voltage Limit>#d7f96189]]の範囲を超えた| ****Velocity I/P Gain [#n3099aee] 速度制御演算における各種制御ゲインを指定します。~ [[Operating Mode>#j5c7292f]]にVelocity Control Modeが設定されている時に有効です。~ なお、制御ブロック中の各ゲインは、次の算式で示す減じられた値が用いられます。 KvI = (Velocity I Gain) / 65536 KvP = (Velocity P Gain) / 128 #ref(DX_CtrlBlock(Velocity).png,70%) ****Position D/I/P Gain, Feedforward Acceleration/Velocity Gain [#d0c6ac0c] 位置制御演算における各種制御ゲインを指定します。~ [[Operating Mode>#j5c7292f]]にPosition Control Mode・Extended Position Control Mode・Current-Base Position Control Modeが設定されている時に有効な値です。~ なお、制御ブロック中の各ゲインは、次の算式で示す減じられた値が用いられます。 KpD = (Position I Gain) / 16 KpI = (Position I Gain) / 65536 KpP = (Position P Gain) / 128 #ref(DX_CtrlBlock(Position).png,70%) #ref(DX_CtrlBlock(Cur&Pos).png,70%) |CENTER:|CENTER:|CENTER:|CENTER:|CENTER:|CENTER:|c | Model | Default Value |<|<|<|<|h |~|Velocity Gain|<|Position Gain|<|<|h |~|I|P|D|I|P|h |XL430-W250|1000|100|4000|0|640| |XM430-W210|1920|100|0|0|800| |XH430-W210|1920|100|0|0|900| |XH430-V210|1920|100|0|0|800| |XM430-W350|1920|100|0|0|800| |XH430-W350|1920|100|0|0|900| |XH430-V350|1920|100|0|0|800| |XM540-W150|1920|100|0|0|800| |XH540-W150|1920|100|0|0|800| |XH540-V150|1920|100|0|0|800| |XM540-W270|1920|100|0|0|800| |XH540-W270|1920|100|0|0|800| |XH540-V270|1920|100|0|0|800| ****Bus Watchdog [#v345fcb0] 無通信状態を監視する時間を指定します。~ 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 [#x7993b36] PWMのデューティー比を指定します。~ [[Operating Mode>#j5c7292f]]にPWM Modeが設定されている事はもとより、全てのModeにおける制御演算結果はPWMのデューティ比として算出されるため、必ず制御の最終段においてこの値以下にデューティー比が制限されモータへ印可されます。 Duty [%] = Value * 100 [%] / 855 ****Goal Current [#h25c5adf] 電流センサを搭載したモデルにおいて電流制御の目標値を指定します。~ [[Operating Mode>#j5c7292f]]にCurrent Control ModeもしくはCurrent-Base Position Control Modeが設定されている時に有効な値で、Current-Base Position Control Mode時は[[Position D/I/P Gain, Feedforward 2nd/1st Gain>#d0c6ac0c]]に示すブロック図に従って制御されます。 Current [mA] = Value * ScalingFactor [mA] モデル毎のCurrent Scaling Factorは[[こちら>#y2cc93fd]]。 ****Goal Velocity [#x7810cd9] 速度制御の目標値を指定します。~ [[Operating Mode>#j5c7292f]]にVelocity Control Modeが設定されている時に有効な値で、[[Velocity I/P Gai>#n3099aee]]に示すブロック図に従って制御されます。 Velocity [rpm] = Value * 0.229 [rpm] ****Profile Acceleration [#p37d042e] Profileの加速度もしくは加速時間を指定します。~ [[Operating Mode>#j5c7292f]]がCurrent Control Modeである時を除くModeに有効です。~ [[Drive Mode>#pd498215]]のProfile ConfigurationがVelocity-basedの場合、加速度は以下の式で決まります。 Acceleration [rpm²] = Value * 214.577 詳細は[[Profile Velocity>#k31e5f2f]]を参照ください。 [[Drive Mode>#pd498215]]のProfile ConfigurationがTime-basedの場合、Profile Accelerationが[[Profile Velocity>#k31e5f2f]]の50%を超えると50%に制限されます。 ****Profile Velocity [#k31e5f2f] Profileの最大速度を指定します。~ [[Operating Mode>#j5c7292f]]がCurrent Control ModeないしVelocity Control Modeである時を除くModeに有効です。なお、Velocity Control Mode時は[[Goal Velocity>#x7810cd9]]が最大速度として採用されます。 Velocity [rpm] = Value * 0.229 [rpm] 加速度・最大速度・目標位置の値によって最終的に4種類の軌跡が得られます。位置制御時における設定値による位置と速度のProfileを以下に示します。 |CENTER:|CENTER:|c |Profile|Condition, Waveform|h |ステップ|Velocity = 0, Acceleration = don't care | |~|#ref(Profile_Step.png)| |矩形|Velocity ≠ 0, Acceleration = 0 | |~|#ref(Profile_Rectangle.png)| |三角|Velocity ≠ 0, Acceleration ≠ 0 | |~|#ref(Profile_Triangle.png)| |台形|Velocity ≠ 0, Acceleration ≠ 0 | |~|#ref(Profile_Trapezoidal.png)| 適当な加速度と最大速度を設定した上で目標位置を指令する事で、急峻な加速度を伴う位置決め制御による機械的なショックを軽減できます。また、目標位置への到達時間が決まっている場合は、時間から加速度と最大速度を求めて設定する事で対応できます。~ なお、上記波形のt1及びt2は、概ね以下の数式で求められます。 t1 [ms] = 64 * (Profile Velocity) / (Profile Acceleration) もしくは t1 [ms] = 64 * (Goal Velocity) / (Profile Acceleration) t2 [ms] = 64 * Δ(Present Position) / (Profile Velocity) また、これらの他に急峻な加速度変化を抑える制御を行っているため、最終的な目標到達時間はt3よりも長くなる場合があります。 ****Goal Position [#a86abf50] 位置制御の目標値を指定します。~ [[Operating Mode>#j5c7292f]]にPosition Control Mode・Extended Position Control Mode・Current-Base 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|-1048575~+1048575|-256~+256| |5|~|~| #ref(DX_PosDir.png) Position [deg] = Value * 360 / 4096 ****Realtime Tick [#q9936d2f] 15ビットのフリーランカウンタで、1ms周期毎にインクリメントされます。 ****Moving [#q27c1167] [[Present Velocity>#na7ab4d4]]の絶対値と[[Moving Threshold>#z8cfaf32]]の比較結果を示します。 |CENTER:|LEFT:|c |Value|CENTER:Description|h |0|Moving Threshold ≥ |Present Velocity|| |1|Moving Threshold < |Present Velocity|&br;もしくはProfileが進行中| ****Moving Status [#jf2ccbc3] 動作中の状況を示します。 |CENTER:|CENTER:|LEFT:|c |Bit|Name|CENTER:Description|h |7|-|常時0| |6|-|常時0| |5|Profile Type|11:台形速度Profile&br;10:三角速度Profile&br;01:矩形速度Profile&br;00:Step速度Profile | |4|~|~| |3|Following Error|位置制御時、位置がProfileに非追従 | |2|-|常時0| |1|Profile Ongoing|Goal Positionに基づくProfile進行中 | |0|In-Position|位置制御時、目標位置到達 | ****Present PWM [#q60316d2] 制御中のPWM出力値です。 Duty [%] = Value * 100 [%] / 855 ****Present Current [#x7fc73c2] 現在モータへ流れている電流です。電流センサを搭載したモデルのみ有効です。 Current [mA] = Value * ScalingFactor [mA] モデル毎のCurrent Scaling Factorは[[こちら>#y2cc93fd]]。 ****Present Velocity [#na7ab4d4] 現在の出力軸の回転数です。 Velocity [rpm] = Value * 0.229 [rpm] ****Present Position [#rc31835f] 真の位置から[[Homing Offset>#kfeaa64e]]を除した出力軸の位置です。~ [[Torque Enable>#wfdacf65]]が0の状態ではレンジフローするまで回転に応じた増減をしますが、[[Torque Enable>#wfdacf65]]を1にした瞬間に[[Operating Mode>#j5c7292f]]に依存した値でクリップされます。 Position [deg] = Value * 360 [deg] / 4096 ****Velocity Trajectory [#de194cd2] [[Profile>#p37d042e]]によって生成された目標速度を逐次示します。~ [[Operating Mode>#]]にVelocity Control Mode・Position Control Mode・Extended Position Control Mode・Current-Base Position Control Modeが設定されている時に有効です。 ****Position Trajectory [#w9f5f284] [[Profile>#p37d042e]]によって生成された目標位置を逐次示します。~ [[Operating Mode>#]]にPosition Control Mode・Extended Position Control Mode・Current-Base Position Control Modeが設定されている時に有効です。 ****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~56)とIndirect Data '''N'''('''N'''=1~56)は対になっており、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のアドレス84~85をIndirect Address 1~2に書き込み +Goal Velocityのアドレス104~107をIndirect Address 3~6に書き込み +Goal Positionのアドレス116~119をIndirect Address 7~10に書き込み +Present Positionのアドレス132~135をIndirect Address 11~14に書き込み +Present Temperatureのアドレス146~147をIndirect Address 15~16に書き込み 以後Indirect Data 1からの連続した224番地にアクセスする事は、再配置したアイテムへ個々に間接的にアクセスした事になります。 #ref(DX_Indirect.png) なお、Indirect Addressがデフォルト値のままであれば、Indirect Data領域はユーザ任意のRAM領域として扱うことができます。
(This host) = http://www.besttechnology.co.jp