Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

English proofreading and editing of DYNAMIXEL XL430 and 2XL430 manual pages. #1701

Open
wants to merge 15 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ GEM
mutex_m (0.2.0)
net-http (0.4.1)
uri
nokogiri (1.16.5-x86_64-linux)
nokogiri (1.16.2-x86_64-linux)
racc (~> 1.4)
octokit (4.25.1)
faraday (>= 1, < 3)
Expand Down
3 changes: 1 addition & 2 deletions _includes/en/dxl/2x_intro.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,2 @@
{% if page.ref=='2xc430-w250' %}**2XC430-W250**{% else %}**2XL430-W250**{% endif %} is a ground breaking DYNAMIXEL that allows to control **2 axis(2 DOF)** with a single module. In order to control 2 axis at the same time, each axle should be assigned with different ID while sharing an identical [Baud rate(8)](#baud-rate). Since the Control Table for each axle is separated except the Baudrate, {% if page.ref=='2xc430-w250' %}**2XC430-W250**{% else %}**2XL430-W250**{% endif %} can be applied in various applications.
The usage is identical to other DYNAMIXEL's, but be aware that Firmware Recovery will reset both axis to factory settings.
The DYNAMIXEL {% if page.ref=='2xc430-w250' %}**2XC430-W250**{% else %}**2XL430-W250**{% endif %} is a ground breaking DYNAMIXEL featuring **2 integrated movement axes** within a single module. Each axis has it's own dedicated Control Table allowing the {% if page.ref=='2xc430-w250' %}**2XC430-W250**{% else %}**2XL430-W250**{% endif %} to control them as if they were two independent DYNAMIXEL servos.
{: .notice--success}
4 changes: 2 additions & 2 deletions _includes/en/dxl/control_table.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
# [Control Table](#control-table)
The Control Table is a structure of data implemented in the device. Users can read a specific Data to get status of the device with Read Instruction Packets, and modify Data as well to control the device with WRITE Instruction Packets.
The Control Table is a data structure used by DYNAMIXEL actuators to manage the state of the device. Users can read data registers to get information about the status of the device with Read Instruction Packets, and modify data registers to control the device with Write Instruction Packets.

{% assign protocol= "DYNAMIXEL Protocol 2.0" %}
{% assign data_size= "1 ~ 4" %}

{% if page.product_group=='dxl_p' %}
**WARNING** : DYNAMIXEL-P use different Control Table from DYNAMIXEL PRO series. Please pay attention when replacing DYNAMIXEL PRO with DYNAMIXEL-P.
**WARNING** : DYNAMIXEL-P servos use a different Control Table layout than DYNAMIXEL PRO series actuators. Please verify the control table addresses used in your control program attention when transitioning from DYNAMIXEL PRO to DYNAMIXEL-P.
{: .notice--warning}
{% assign torque_enable= "512" %}

Expand Down
12 changes: 6 additions & 6 deletions _includes/en/dxl/led_policy.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
{% capture dxl_led_policy %}
**NOTE** : Check the status of DYNAMIXEL by the counts of flickering LED.
**NOTE** : The LED is also used to indicate various statuses of the DYNAMIXEL actuator, refer to the following chart for more information.

| Status | LED Representation |
|:----------------:|:--------------------:|
| Booting | LED flickers once |
| Factory Reset | LED flickers 4 times |
| Alarm | LED flickers |{% if page.product_group=='dxl_x540' or page.ref=='mx-106-2' or page.ref=='mx-106' %}
| Slave Mode | LED flickers 3 times |{% else %}{% endif %}
| Boot Mode | LED On |
| Booting | LED blinks once |
| Factory Reset | LED blinks quickly 4 times |
| Shutdown Error | LED blinks continuously |{% if page.product_group=='dxl_x540' or page.ref=='mx-106-2' or page.ref=='mx-106' %}
| Follower Mode | LED blinks quickly 3 times |{% else %}{% endif %}
| Bootloader Mode | LED on continuously |

{% endcapture %}
<div class="notice">{{ dxl_led_policy | markdownify }}</div>
4 changes: 2 additions & 2 deletions _includes/en/dxl/note_performance_graph.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@

Stall torque is the maximum momentary torque output the servo is capable of, an is generally how RC servos are measured. The Performance graph, or N-T curve, from the above graph is measured under conditions simulating a gradually increasing load.

The actual real world performance of the servo will generally be closer to the performance graph measurements, not the rated stall torque. For this reason, the performance graph is broadly used in the industrial field.

Generally, the Maximum Torque shown through Performance Graph testing is less than the maximum Stall Torque.

The actual real world performance of the servo will generally be closer to the performance graph measurements, not the rated stall torque.

{% endcapture %}

<div class="notice">{{ perform_graph_01 | markdownify }}</div>
Expand Down
25 changes: 12 additions & 13 deletions _includes/en/dxl/warning.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
{% if page.product_group== 'xl330' %}
{% capture x330_ttl %}
**NOTE**: Though the communication bus of XL330 series has a 3.3 V TTL logic level unlike other DYNAMIXELs, the XL330 is tolerant of a with a 5V TTL logic level.
**NOTE**: Though the XL330 series has a 3.3 V TTL logic level, the XL330 is tolerant of 5V TTL logic level communications.
{% endcapture %}
<div class="notice">{{ x330_ttl | markdownify }}</div>
{% endif %}

{% capture dxl_danger %}
![](/assets/images/icon_warning.png)
**DANGER**
(May cause serious injury or death)
(Ignoring these warnings may cause serious injury or death)

- {% if page.product_group=='dxl_xw540' or page.product_group=='dxl_xw430' %} Never place flammables near the product. {% else %} Never place items containing water, flammables, or solvents near the product. {% endif %}
- {% if page.product_group=='dxl_xw540' or page.product_group=='dxl_xw430' %} Never place flammable items or open flames near the product. {% else %} Never place items containing water, flammables/open flames, or solvents near the product. {% endif %}
- Never place fingers, arms, toes, and other body parts near product during operation.
- Cut the power off if the product begins to emit strange odors or smoke.
- Cease operation and remove power from the product if the product begins to emit strange odors, noises, or smoke.
- Keep product out of reach of children.
- Check input polarity before installing wiring or cables.
- Check input polarity before installing or energizing wiring or cables.
{% endcapture %}
<div class="notice--danger">{{ dxl_danger | markdownify }}</div>

Expand All @@ -38,24 +38,23 @@
{% capture dxl_caution %}
![](/assets/images/icon_warning.png)
**CAUTION**
(May cause injury or damage to product)
{% if page.product_group=='dxl_xw540' or page.product_group=='dxl_xw430' %} - Comply with the operating environment. (Depth 1 m, 24 hr in normal fresh water) {% elsif page.product_group=='opencm904' or page.product_group=='ln-101' or page.product_group=='u2d2' or page.product_group=='u2d2_power_hub' or page.product_group=='dynamixel_shield' or page.product_group=='cm-50' or page.product_group=='openrb-150' or page.product_group=='opencm485exp' %} {% else %} - Always comply with operating environment specifications including voltage, current, and temperature. {% endif %}
(Ignoring these warnings may cause mild injury or damage to the product)
{% if page.product_group=='dxl_xw540' or page.product_group=='dxl_xw430' %} - Always Comply with the product's official operating environment specifications: Submersion of up to 1m of depth for 24 hours in fresh water.{% elsif page.product_group=='opencm904' or page.product_group=='ln-101' or page.product_group=='u2d2' or page.product_group=='u2d2_power_hub' or page.product_group=='dynamixel_shield' or page.product_group=='cm-50' or page.product_group=='openrb-150' or page.product_group=='opencm485exp' %} {% else %} - Always comply with the product's offical operating environment specifications including input voltage, current, and operating temperature. {% endif %}
- Do not insert blades or other sharp objects during product operation.
{% endcapture %}
<div class="notice--warning">{{ dxl_caution | markdownify }}</div>

{% capture dxl_attention %}
![](/assets/images/icon_warning.png)
**ATTENTION**
(May cause injury or damage to product)
(Ignoring these warnings may cause minor injury or damage to the product)
- Do not disassemble or modify the product.
- Do not drop or apply strong impacts to the product.
{% if page.product_group== 'xl330' or page.ref == 'xc330-m181' or page.ref == 'xc330-m288' %}
- To ensure a stable power supply, it is recommended to use a ROBOTIS controller, or [LB-041 battery](http://en.robotis.com/shop_en/item.php?it_id=903-0220-001).
- Do not drop the product or apply strong impacts.
- Do not connect or disconnect DYNAMIXEL cables while power is being supplied.
{% if page.product_group== 'xl330' or page.ref == 'xc330-m181' or page.ref == 'xc330-m288' %}
- A ROBOTIS controller is recommended to ensure a stable power supply.
{% elsif page.ref == 'xc330-t288' or page.ref == 'xc330-t181' %}
- To ensure a stable power supply, it is recommended to use a ROBOTIS controller, or [LB-020 battery](http://en.robotis.com/shop_en/item.php?it_id=903-0277-000).
- Do not connect or disconnect DYNAMIXEL cables while power is being supplied.
- A ROBOTIS controller is recommended to ensure a stable power supply.
{% else %}
{% endif %}
{% endcapture %}
Expand Down
19 changes: 19 additions & 0 deletions _includes/en/dxl/x/backup_ready.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{% if page.product_group == 'dxl_p' %}
{% assign firmware_version_backup = "firmware **V12**" %}
{% elsif page.product_group == 'xl330' or page.product_group == 'xc330' %}
{% assign firmware_version_backup = "firmware **V46**" %}
{% else %}
{% assign firmware_version_backup = "firmware **V45**" %}
{% endif %}

The value in this address indicates whether a saved backup of the control table exists in the actuator's memory. For more information see [Control Table Backup Packet](/docs/en/dxl/protocol2/#control-table-backup-0x20).

| Value | Description |
|:-----:|:-------------------------------|
| 0 | There is no saved backup data |
| 1 | Saved backup data exists. |

**NOTE**
Backup Ready is available starting from {{ firmware_version_backup }}.
See [Backup and Restore](/docs/en/software/dynamixel/dynamixel_wizard2/#backup-and-restore) for more details.
{: .notice}
23 changes: 23 additions & 0 deletions _includes/en/dxl/x/baudrate.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
Baud Rate determines serial communication speed between a controller and DYNAMIXEL.
Available value range is 0 ~ 254(0xFE), and below is the equation for BPS calculation.
**Baudrate(BPS) = 2,000,000 / (Value + 1)**

| Value | Baud Rate(bps) | Margin of Error |
|:------------:|:------------:|:------------:|
{% if page.product_group=='dxl_mx' %}|0|2M|0.000 [%]|
{% else %}{% endif %}|1|1M|0.000 [%]|
|3|500,000| 0.000 [%]|
|4|400,000| 0.000 [%]|
|7|250,000| 0.000 [%]|
|9|200,000| 0.000 [%]|
|16|115200| -2.124 [%]|
|34(Default)|57600| 0.794 [%]|
|103|19200| -0.160 [%]|
|207|9600| -0.160 [%]|

**NOTE** : Less than 3% of the baud rate error margin will not affect to UART communication.
{: .notice}

**NOTE** : For the stable communication with higher Baudrate, configure USB Latency value to the lower.
[USB Latency Setting](/docs/en/software/dynamixel/dynamixel_wizard2/#usb-latency-setting)
{: .notice}
27 changes: 27 additions & 0 deletions _includes/en/dxl/x/bus_watchdog.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
The Bus Watchdog(98) is a fail-safe system used to stop DYNAMIXEL motion if communication between the controller and DYNAMIXEL (RS485, TTL) is disconnected.

| | Values | Description |
|:------|:-------:|:-----------------------------------------------------------|
| Range | 0 | Deactivate Bus Watchdog Function, Clear Bus Watchdog Error |
| Range | 1 ~ 127 | Activate Bus Watchdog (Unit: 20 [msec]) |
| Range | -1 | Bus Watchdog Error Active |

The Bus Watchdog function monitors the interval of communications between the controller and DYNAMIXEL when [Torque Enable(64)] is '1'(Torque ON).
If the measured communication interval is larger than the configured value of Bus Watchdog(98), the DYNAMIXEL will stop. Bus Watchdog(98) will be changed to '-1' and a Bus Watchdog Error will be activated.
When a Bus Watchdog Error screen is active, all Goal Values ([Goal PWM(100)], {% if page.product_group!='dxl_xl430' %}[Goal Current(102)], {% else %}{% endif %}[Goal Velocity(104)], [Goal Position(116)]) will be changed to read-only-access until the error has been cleared.
If the value of Bus Watchdog(98) is changed to '0', active Bus Watchdog Errors will be cleared.

#### [Bus Watchdog (98) Example](#bus-watchdog-98-example)

The following is an example of the operation of the Bus Watchdog failsafe.
1. After setting the [Operating Mode(11)] to speed control mode, change [Torque Enable(64)] to '1'.
2. If '50' is written to [Goal Velocity(104)], the DYNAMIXEL will rotate in a CCW direction.
3. Change the value of [Bus Watchdog(98)] to '100' (2,000 [ms]) to activate the Bus Watchdog function.
4. If no instruction packet is received for 2,000 [ms], the DYNAMIXEL will stop. When it stops, the [Profile Acceleration(108)] and [Profile Velocity(112)] are set to '0'.
5. The value of [Bus Watchdog(98)] changes to '-1' (Bus Watchdog Error). At this time, the access to Goal Values will be changed to read-only.
6. If '150' is written to [Goal Velocity(104)], a Data Range Error will be returned via Status Packet.
7. If the value of [Bus Watchdog(98)] is changed to '0', the Bus Watchdog Error will be cleared.
8. If “150” is written to [Goal Velocity(104)], the DYNAMIXEL will rotate in a CCW direction.


[Protocol 2.0]: /docs/en/dxl/protocol2/#status-packet
51 changes: 51 additions & 0 deletions _includes/en/dxl/x/control_table.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# [Control Table](#control-table)
The Control Table is a data structure used by DYNAMIXEL actuators to manage the state of the device. Users can read data registers to get information about the status of the device with Read Instruction Packets, and modify data registers to control the device with Write Instruction Packets.

{% assign protocol= "DYNAMIXEL Protocol 2.0" %}
{% assign data_size= "1 ~ 4" %}

{% if page.product_group=='dxl_x430' or page.product_group=='dxl_xl430' or page.product_group=='dxl_x540' or page.product_group=='dxl_xw540' or page.product_group=='dxl_xw430' %}
{% assign torque_enable= "64" %}

{% elsif page.product_group=='dxl_xl320' %}
{% assign torque_enable= "24" %}
{% assign protocol= "DYNAMIXEL Protocol 2.0" %}
{% assign data_size= "1 ~ 2" %}

{% endif %}

## [Control Table, Data, Address](#control-table-data-address)
The Control Table is a structure that consists of multiple Data fields to store status or to control the device. Users can check current status of the device by reading a specific Data from the Control Table with Read Instruction Packets. WRITE Instruction Packets enable users to control the device by changing specific Data in the Control Table. The Address is a unique value when accessing a specific Data in the Control Table with Instruction Packets. In order to read or write data, users must designate a specific Address in the Instruction Packet. Please refer to [{{ protocol }}] for more details about Instruction Packets.

{% if page.product_group=='dxl_xl320' or page.product_group=='dxl_ax' or page.product_group=='dxl_dx' or page.product_group=='dxl_ex' or page.product_group=='dxl_mx' %}
{% else %}
**NOTE** : Two's complement is applied for the negative value. For more information, please refer to [Two's complement] from Wikipedia.
{: .notice}
{% endif %}

### [Area (EEPROM, RAM)](#area-eeprom-ram)
The Control Table is divided into 2 Areas. Data in the RAM Area is reset to initial values when the power is reset(Volatile). On the other hand, data in the EEPROM Area is maintained even when the device is powered off(Non-Volatile).

{% if page.product_group=='dxl_ax' or page.product_group=='dxl_dx' or page.product_group=='dxl_ex' or page.product_group=='dxl_mx' or page.product_group=='dxl_rx' %}
{% elsif page.ref=='2xc430-w250' or page.ref =='2xl430-w250' %}
**Data in the [EEPROM Area](#eeprom-area) can only be modified when [Torque Enable(64)](#torque-enable) for all axis are set to ‘0’ (Torque is OFF).**
{: .notice--warning}
{% else %}
**Data in the EEPROM Area can only be modified if Torque Enable({{ torque_enable }}) is set to '0' (Torque is OFF).**
{: .notice--warning}
{% endif %}


### [Size](#size)
The Size of data varies from {{ data_size }} bytes depend on their usage. Please check the size of data when updating the data with an Instruction Packet. For data larger than 2 bytes will be saved according to [Little Endian].

### [Access](#access)
The Control Table has two different access properties. ‘RW’ property stands for read and write access permission while ‘R’ stands for read only access permission. Data with the read only property cannot be changed by the WRITE Instruction. Read only property(‘R’) is generally used for measuring and monitoring purpose, and read write property(‘RW’) is used for controlling device.

### [Initial Value](#initial-value)
Each data in the Control Table is restored to initial values when the device is turned on. Default values in the EEPROM area are initial values of the device (factory default settings). If any values in the EEPROM area are modified by a user, modified values will be restored as initial values when the device is turned on. Initial Values in the RAM area are restored when the device is turned on.

[DYNAMIXEL Protocol 1.0]: /docs/en/dxl/protocol1/
[DYNAMIXEL Protocol 2.0]: /docs/en/dxl/protocol2/
[Two's complement]: https://en.wikipedia.org/wiki/Two%27s_complement
[Little Endian]: https://en.wikipedia.org/wiki/Endianness#Little
Loading