Device Setup
To use the DYNAMIXEL SDK, you need to set up the Controller and DYNAMIXEL.
Controller
Signal Interface
DYNAMIXEL’s communicate at one of the following signal levels:
- TTL
- RS485
Please check to see whether your DYNAMIXEL is a TTL-based DYNAMIXEL or an RS485-based DYNAMIXEL. TTL-based DYNAMIXEL’s have 3P connectors while RS485-based DYNAMIXEL’s have 4P connectors.
The SDK and its examples were written using ROBOTIS USB2DYNAMIXEL signal converter, which is shown below. You can use any other converter as long as it generates TTL or RS485-level signals.
Adjust the signal interface so that you can communicate with your DYNAMIXEL by flipping the switch between the following communication modes:
- TTL: Models with 3P connectors (AX-Series, MX-Series, X-Series)
- RS485: Models with 4P connectors (DX-Series, RX-Series, EX-Series, MX-Series, X-Series, PRO-Series)
- RS232: Models attached via serial connector (CM-5 controller, CM-510 controller, other UART devices)
NOTE : The X-Series’ connector is different than the USB2DYNAMIXEL’s connector. Please check the connector types of X-Series.
The SDK also supports the recently released U2D2. This interface features a small size and automatic conversion of TTL and RS485. We are using the same model connector as the latest DYNAMIXEL-X series, so we recommend this U2D2 to use the latest model DYNAMIXEL.
Since the other signal ports, such as UART, I2C, etc., are in various conditions depending on the controller specification, modify SDK yourselves and optimize your codes to your own controllers.
Note that USB2DYNAMIXEL and U2D2 will be able to be used by following settings:
- DEVICENAME :
/dev/ttyUSB0
for Linux,COM1
for Windows (for examples using MultiPort, +/dev/ttyUSB1
for Linux, +COM2
for Windows) - DYNAMIXEL ID : 1 (for examples with DYNAMIXEL’s, + ID 2)
Controllers
The SDK was tested on a desktop PC and some common SBCs such as Raspberry Pi and ODROID, in the following OS:
PC | Intel Joule | Up Board | Raspberry Pi | ODROID | |
---|---|---|---|---|---|
Windows | |||||
10 | O | ||||
IoT | |||||
Ubuntu | |||||
14.04 | O | O | O | ||
16.04 | O | O | O | O | |
Ubuntu Mate | |||||
16.04 | O | O | O | ||
Raspbian | |||||
Wheezy | O | O | |||
Jessie | O | O | |||
Stretch | O | O | |||
macOS | |||||
Sierra | O |
O: Test Successful
X: Test Failed
Blank: Not tested yet
and also in MCU:
- OpenCR
- OpenCM9.04
- The other Arduino boards (will be tested soon)
USB2DYNAMIXEL Driver Installation
NOTE : The FTDI driver may not be compatible with some devices.
Installation in Windows
If you installed ROBOTIS RoboPlus software - a suite of software that allows you to easily interface with all of ROBOTIS’ hardware, including ROBOTIS controllers, DYNAMIXEL’s, sensors, and other hardware components - the FTDI driver will be automatically installed.
If you don’t want to install RoboPlus, install the latest VCP driver from the FTDI Driver Download page.
Manually Installing the FTDI Driver
-
If the FTDI driver isn’t automatically installed, the Found New Hardware Wizard pops up after connecting USB2DYNAMIXEL to your controller. Select Install from a list or specific location and click Next.
-
Choose your driver’s directory.
a. The driver must be in LN101 folder of RoboPlus installed folder.
b. If you don’t want to install RoboPlus, install the latest VCP driver from the FTDI Driver Download page. -
Click Next to start the installation.
-
Click Finish to complete installation of the USB Serial Port driver.
Installation in Linux
Recent Linux releases include the kernel which contains the FT232RL driver for the FTDI driver used by USB2DYNAMIXEL. Hence, most users won’t need to install the driver manually.
DYNAMIXEL
The SDK and SDK examples were developed based on the MX-28 and H54-200 PRO DYNAMIXEL’s.
SDK examples were tested with the following DYNAMIXEL’s:
AX | EX | RX | MX | MX | X | X | PRO | P | |
---|---|---|---|---|---|---|---|---|---|
Protocol | 1.0 | 1.0 | 1.0 | 1.0 | 2.0 | 1.0 | 2.0 | 2.0 | 2.0 |
Series | |||||||||
12 | O | - | - | - | - | - | - | ||
18 | - | - | - | - | - | - | |||
24 | - | - | O | O | O | - | - | - | - |
28 | - | - | O | O | O | - | - | - | - |
64 | - | - | O | O | O | - | - | - | - |
106 | - | O | - | O | O | - | - | - | - |
320 | - | - | - | - | - | - | O | - | - |
430 | - | - | - | - | - | O | O | - | - |
540 | - | - | - | - | - | O | O | - | - |
42 | - | - | - | - | - | - | - | O | O |
54 | - | - | - | - | - | - | - | O | O |
O : Compatible
X : Incompatible
– : Doesn’t exist
blank : Not tested yet
NOTE : The BulkRead function doesn’t work with the AX, EX, or RX series
Power Requirements
-
12V for MX (also AX, EX, RX, and X series)
-
24V for PRO
NOTE : The X series’ 4P connector is not compatible with the USB2DYNAMIXEL connector.
DYNAMIXEL Parameters
To run the SDK examples, the following DYNAMIXEL parameters need to be changed:
- ID = 1 (and 2, when the example uses two DYNAMIXEL’s)
- Baud Rate = 57600 bps (baud value = 34 for MX, 1 for PRO.)
To change DYNAMIXEL parameters, use DYNAMIXEL Wizard or RoboPlus Manager.