Skip to content

Commit

Permalink
Merge pull request #1406 from ROBOTIS-GIT/XC330
Browse files Browse the repository at this point in the history
Xc330
  • Loading branch information
ROBOTIS-David authored Sep 23, 2021
2 parents 8e3775f + 70a1208 commit 0d98950
Show file tree
Hide file tree
Showing 48 changed files with 3,373 additions and 220 deletions.
130 changes: 127 additions & 3 deletions _data/dxl_x_info.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,9 @@ common_x_specs:
mode: &mode "전류 제어 모드<br />속도 제어 모드<br />위치 제어 모드 (0 ~ 360 [&deg;])<br />확장 위치 제어 모드 (멀티턴)<br />전류기반 위치 제어 모드<br />PWM 제어 모드 (Voltage Control Mode)"
mode_en: &mode_en "Current Control Mode<br />Velcoity Control Mode<br />Position Control Mode (0 ~ 360 [&deg;])<br />Extended Position Control Mode (Multi-turn)<br />Current-based Position Control Mode<br />PWM Control Mode (Voltage Control Mode)"
motor: &motor "Coreless(Maxon)"
weight_330: &weight_330 "18 [g]"
motor_coreless_dc: &motor_coreless_dc "Coreless DC"
weight_xl330: &weight_xl330 "18 [g]"
weight_xc330: &weight_xc330 "23 [g]"
weight_430: &weight_430 "82 [g]"
weight_540: &weight_540 "165 [g]"
dimension_330: &dimension_330 "20.0 x 34.0 x 26.0 [mm]"
Expand All @@ -20,6 +22,8 @@ common_x_specs:
temperature: &temperature "-5 ~ +80 [&deg;C]"
voltage_12: &voltage_12 "10.0 ~ 14.8 [V] (**권장 전압 : 12.0 [V]**)"
voltage_12_en: &voltage_12_en "10.0 ~ 14.8 [V] (**Recommended : 12.0 [V]**)"
voltage_6_12: &voltage_6_12 "6.5 ~ 12.0 [V] (**권장 전압 : 11.1 [V]**)"
voltage_6_12_en: &voltage_6_12_en "6.5 ~ 12.0 [V] (**Recommended : 11.1 [V]**)"
voltage_05_en: &voltage_05_en "3.7 ~ 6.0 [V] (**Recommended : 5.0 [V]**)"
voltage_05: &voltage_05 "3.7 ~ 6.0 [V] (**권장 전압 : 5.0 [V]**)"
voltage_24: &voltage_24 "24.0 [V] (**권장 전압 : 24.0 [V]**)"
Expand Down Expand Up @@ -52,7 +56,7 @@ xl330-m077:
backlash: "N/A"
mode: *mode
mode_en: *mode_en
weight: *weight_330
weight: *weight_xl330
dimensions: *dimension_330
gearratio: "77.5 : 1"
noloadspeed: "278 [rev/min] (at 3.7 [V]) <br /> **383 [rev/min] (at 5.0 [V])** <br /> 456 [rev/min] (at 6.0 [V])"
Expand Down Expand Up @@ -82,7 +86,7 @@ xl330-m288:
backlash: "N/A"
mode: *mode
mode_en: *mode_en
weight: *weight_330
weight: *weight_xl330
dimensions: *dimension_330
gearratio: "288.4 : 1"
noloadspeed: "76 [rev/min] (at 3.7 [V]) <br /> **103 [rev/min] (at 5.0 [V])** <br /> 123 [rev/min] (at 6.0 [V])"
Expand All @@ -102,6 +106,126 @@ xl330-m288:
gear_material: "Engineering Plastic"
standbycurrent: 17 [mA]

xc330-m181:
mcu: "ARM CORTEX-M0+ (64 [MHz], 32Bit)"
encoder: "Contactless absolute encoder (12Bit, 360 [&deg;])<br />Maker : ams(www.ams.com), Part No : AS5601"
motor: *motor_coreless_dc
baudrate: "9,600 [bps] ~ 4 [Mbps]"
control: *control
resolution: *resolution
backlash: "N/A"
mode: *mode
mode_en: *mode_en
weight: *weight_xc330
dimensions: *dimension_330
gearratio: "180.62 : 1"
noloadspeed: "95 [rev/min] (at 3.7 [V]) <br /> **129 [rev/min] (at 5.0 [V])** <br /> 155 [rev/min] (at 6.0 [V])"
stalltorque: "0.52 [N.m] (at 3.7 [V], 1.34 [A]) <br /> **0.60 [N.m] (at 5.0 [V], 1.80 [A])** <br /> 0.66 [N.m] (at 6.0 [V], 2.15 [A])"
radialload: "N/A"
radialload_en: "N/A"
axialload: "N/A"
temperature: "-5 ~ +60 [&deg;C]"
voltage: *voltage_05
voltage_en: *voltage_05_en
command: *command
protocoltype: *ttl
physicalconnection: *ttl_connection_3v3
id: *id
feedback: *feedback
case_material: "Engineering Plastic"
gear_material: "Full Metal Gear, 2 Bearing"
standbycurrent: 17 [mA]

xc330-m288:
mcu: "ARM CORTEX-M0+ (64 [MHz], 32Bit)"
encoder: "Contactless absolute encoder (12Bit, 360 [&deg;])<br />Maker : ams(www.ams.com), Part No : AS5601"
motor: *motor_coreless_dc
baudrate: "9,600 [bps] ~ 4 [Mbps]"
control: *control
resolution: *resolution
backlash: "N/A"
mode: *mode
mode_en: *mode_en
weight: *weight_xc330
dimensions: *dimension_330
gearratio: "288.35 : 1"
noloadspeed: "59 [rev/min] (at 3.7 [V]) <br /> **81 [rev/min] (at 5.0 [V])** <br /> 97 [rev/min] (at 6.0 [V])"
stalltorque: "0.69 [N.m] (at 3.7 [V], 1.34 [A]) <br /> **0.93 [N.m] (at 5.0 [V], 1.80 [A])** <br /> 1.10 [N.m] (at 6.0 [V], 2.15 [A])"
radialload: "N/A"
radialload_en: "N/A"
axialload: "N/A"
temperature: "-5 ~ +60 [&deg;C]"
voltage: *voltage_05
voltage_en: *voltage_05_en
command: *command
protocoltype: *ttl
physicalconnection: *ttl_connection_3v3
id: *id
feedback: *feedback
case_material: "Engineering Plastic"
gear_material: "Full Metal Gear, 2 Bearing"
standbycurrent: 17 [mA]

xc330-t181:
mcu: "ARM CORTEX-M0+ (64 [MHz], 32Bit)"
encoder: "Contactless absolute encoder (12Bit, 360 [&deg;])<br />Maker : ams(www.ams.com), Part No : AS5601"
motor: *motor_coreless_dc
baudrate: "9,600 [bps] ~ 4 [Mbps]"
control: *control
resolution: *resolution
backlash: "N/A"
mode: *mode
mode_en: *mode_en
weight: *weight_xc330
dimensions: *dimension_330
gearratio: "180.62 : 1"
noloadspeed: "83 [rev/min] (at 9.0 [V]) <br /> **104 [rev/min] (at 11.1 [V])** <br /> 113 [rev/min] (at 12.0 [V])"
stalltorque: "0.65 [N.m] (at 9.0 [V], 0.61 [A]) <br /> **0.76 [N.m] (at 11.1 [V], 0.80 [A])** <br /> 0.80 [N.m] (at 12.0 [V], 0.88 [A])"
radialload: "N/A"
radialload_en: "N/A"
axialload: "N/A"
temperature: "-5 ~ +60 [&deg;C]"
voltage: *voltage_6_12
voltage_en: *voltage_6_12_en
command: *command
protocoltype: *ttl
physicalconnection: *ttl_connection_5v
id: *id
feedback: *feedback
case_material: "Engineering Plastic"
gear_material: "Full Metal Gear, 2 Bearing"
standbycurrent: 17 [mA]

xc330-t288:
mcu: "ARM CORTEX-M0+ (64 [MHz], 32Bit)"
encoder: "Contactless absolute encoder (12Bit, 360 [&deg;])<br />Maker : ams(www.ams.com), Part No : AS5601"
motor: *motor_coreless_dc
baudrate: "9,600 [bps] ~ 4 [Mbps]"
control: *control
resolution: *resolution
backlash: "N/A"
mode: *mode
mode_en: *mode_en
weight: *weight_xc330
dimensions: *dimension_330
gearratio: "288.35 : 1"
noloadspeed: "52 [rev/min] (at 9.0 [V]) <br /> **65 [rev/min] (at 11.1 [V])** <br /> 71 [rev/min] (at 12.0 [V])"
stalltorque: "0.76 [N.m] (at 9.0 [V], 0.61 [A]) <br /> **0.92 [N.m] (at 11.1 [V], 0.80 [A])** <br /> 1.00 [N.m] (at 12.0 [V], 0.88 [A])"
radialload: "N/A"
radialload_en: "N/A"
axialload: "N/A"
temperature: "-5 ~ +60 [&deg;C]"
voltage: *voltage_6_12
voltage_en: *voltage_6_12_en
command: *command
protocoltype: *ttl
physicalconnection: *ttl_connection_5v
id: *id
feedback: *feedback
case_material: "Engineering Plastic"
gear_material: "Full Metal Gear, 2 Bearing"
standbycurrent: 17 [mA]

xh430-v210:
mcu: *mcu
encoder: *encoder
Expand Down
2 changes: 1 addition & 1 deletion _includes/en/dxl/control_table_backup_ready.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
{% assign firmware_version_backup = "firmware **V45**" %}
{% endif %}

Indicates whether backup data of Control Table saved through Control table Backup packet exist.
Indicates whether backup data of Control Table saved through [Control table Backup packet](/docs/en/dxl/protocol2/#control-table-backup-0x20) exist.

| Value | Description |
|:-----:|:--------------------------------------|
Expand Down
2 changes: 1 addition & 1 deletion _includes/en/dxl/control_table_baudrate_2.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
The Baud Rate(8) determines serial communication speed between a controller and DYNAMIXEL.

{% if page.product_group=='xl330' %}
{% if page.product_group=='xl330' or page.product_group=='xc330' %}

| Value | Baud Rate | Margin of Error |
|:----------:|:-------------:|:---------------:|
Expand Down
19 changes: 10 additions & 9 deletions _includes/en/dxl/control_table_compliance_slope.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,16 @@ It exists in each direction of CW/CCW and sets the level of Torque near the goal
Compliance Slope is set in 7 steps, the higher the value, the more flexibility is obtained.
Data representative value is actually used value. That is, even if the value is set to 25, 16 is used internally as the representative value.

|Step| Data Value | Data Representative Value |
| :-------------: | :-------------: | :-------------: |
|1|0(0x00) ~ 3(0x03)|2(0x02)|
|2|4(0x04) ~ 7(0x07)|4(0x04)|
|3|8(0x08)~15(0x0F)|8(0x08)|
|4|16(0x10)~31(0x1F)|16(0x10)|
|5|32(0x20)~63(0x3F)|32(0x20)|
|6|64(0x40)~127(0x7F)|64(0x40)|
|7|128(0x80)~254(0xFE)|128(0x80)|
| Step | Data Value | Data Representative Value |
|:----:|:-------------------:|:-------------------------:|
| 1 | 0(0x00) ~ 3(0x03) | 2(0x02) |
| 2 | 4(0x04) ~ 7(0x07) | 4(0x04) |
| 3 | 8(0x08)~15(0x0F) | 8(0x08) |
| 4 | 16(0x10)~31(0x1F) | 16(0x10) |
| 5 | 32(0x20)~63(0x3F) | 32(0x20) |
| 6 | 64(0x40)~127(0x7F) | 64(0x40) |
| 7 | 128(0x80)~254(0xFE) | 128(0x80) |


Compliance is to set the control flexibility of the motor.
The following diagram shows the relationship between output torque and position error of the motor.
Expand Down
6 changes: 3 additions & 3 deletions _includes/en/dxl/control_table_indirect_data.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
{% if page.product_group=='xl330' %}
{% if page.product_group=='xl330' or page.product_group=='xc330' %}

The Indirect Address and the Indirect Data are useful when accessing two remote addresses in the [Control Table](#control-table) as sequential addresses.
- Sequential addresses can increase Instruction Packet efficiency. Addresses that can be defined as Indirect Address is limited to [RAM area (Address 64 ~ 227)](#control-table-of-ram-area).
- If specific address is allocated to Indirect Address, Indirect Address inherits features and properties of the Data from the specific Address. Property includes Size(Byte length), value range, and Access property(Read Only, Read/Write).
- For instance, allocating 65 (Address of LED) to Indirect Address 1(168), Indirect Data 1(208) can perform exactly same as [LED(65)].

| Indirect Address Range | Description |
|:-----------------------|:--------------------------------------------------------------------------------------|
|:-----------------------:|:--------------------------------------------------------------------------------------|
| 64 ~ 227 | [EEPROM](#control-table-of-eeprom-area) address can't be assigned to Indirect Address |

#### [Indirect Address and Indirect Data Examples](#indirect-address-and-indirect-data-examples)
Expand Down Expand Up @@ -34,7 +34,7 @@ Indirect Address and Indirect Data are useful when accessing two remote addresse
- For instance, allocating 65(Address of LED) to Indirect Address 1(168), Indirect Data 1(224) can perform exactly same as [LED(65)].

| Indirect Address Range | Description |
|:-----------------------|:--------------------------------------------------------------------------------------|
|:-----------------------:|:--------------------------------------------------------------------------------------|
| 64 ~ 661 | [EEPROM](#control-table-of-eeprom-area) address can't be assigned to Indirect Address |

#### [Indirect Address and Indirect Data Examples](#indirect-address-and-indirect-data-examples)
Expand Down
6 changes: 3 additions & 3 deletions _includes/en/dxl/control_table_protocolversion.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{% if page.product_group=='xl330' %}
{% if page.product_group=='xl330' or page.product_group=='xc330' %}

To communicate with DYANMIXEL, it is important to select a proper protocol type.

Expand All @@ -7,7 +7,7 @@ The following table lists available protocol types compatible with DYNAMIXEL for
Select a desired DYNAMIXEL protocol type according to your application.

| Value | Type | Descriptions |
| :--------: | :-----------------------------------------------: | :---------------------------------------------------: |
|:----------:|:-------------------------------------------------:|:-----------------------------------------------------:|
| 2(default) | [DYNAMIXEL Protocol 2.0](#dynamixel-protocol-20) | [Protocol Compatibility table]{: .popup} |
| 20 | [Experimental S.BUS](#experimental-sbus-protocol) | Compatible with S.BUS Protocol supported RC receivers |
| 21 | [Experimental iBUS](#experimental-ibus-protocol) | Compatible with iBUS Protocol supported RC receivers |
Expand Down Expand Up @@ -84,7 +84,7 @@ DYNAMIXEL protocol type (either DYNAMIXEL Protocol 1.0 or 2.0) can be selected u
It is recommended to use an identical protocol type for multiple DYNAMIXEL.

| Value | Description | Compatible DYNAMIXEL |
| :--------: | :--------------------: | :---------------------------------------------------------------------------: |
|:----------:|:----------------------:|:-----------------------------------------------------------------------------:|
| 1 | DYNAMIXEL Protocol 1.0 | AX Series, DX Series, RX Series, EX Series, MX Series with Firmware below v39 |
| 2(default) | DYNAMIXEL Protocol 2.0 | MX-28/64/106 with Firmware v39 or above, X Series, PRO Series |

Expand Down
12 changes: 7 additions & 5 deletions _includes/en/dxl/control_table_reg_instruction.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,23 @@
{% if page.product_group=='dxl_ax' or page.product_group=='dxl_dx' or page.product_group=='dxl_ex' or page.product_group=='dxl_rx' or page.product_group=='dxl_mx' %}

{% assign registed_instruction = "Registered Instruction (44)" %}
{% assign registered_instruction = "Registered Instruction (44)" %}

{% elsif page.product_group == 'dxl_xl320' %}

{% assign registed_instruction = "Registered Instruction (47)" %}
{% assign registered_instruction = "Registered Instruction (47)" %}

{% else %}

{% assign registed_instruction = "Registered Instruction (69)" %}
{% assign registered_instruction = "Registered Instruction (69)" %}

{% endif %}

Indicates whether the Write Instruction is registered by [Reg Write Instruction](https://emanual.robotis.com/docs/en/dxl/protocol2/#reg-write-0x04)

| Value | Description |
|:-----:|:---------------------------------------------|
| 0 | No instruction registered by REG_WRITE. |
| 1 | Instruction registered by REG_WRITE exsists. |
| 1 | Instruction registered by REG_WRITE exists. |

**NOTE** : If ACTION instruction is executed, the {{ registed_instruction }} will be changed to 0.
**NOTE** : If ACTION instruction is executed, the {{ registered_instruction }} will be changed to 0.
{: .notice}
Loading

0 comments on commit 0d98950

Please sign in to comment.