Problem with Dynamixel XL-320 using Arduino Uno rev 3 with Dynamixel Shield

Hi everyone,

I would like to command a servo motor XL-320 with an Arduino Uno rev 3 and the corresponding Dynamixel Shield but I can’t do it. I have 2 options to power it:

  1. Via the DC Power Jack of the Arduino (by putting the jumper (the VIN as you call it in your manual))
  2. Via the Dynamixel Shield (by removing the jumper)
    I am using 7.5VDC to power it, as suggested in the datasheet.

In case 1), when I turn on the Dynamixel Shield, the LED of the Dynamixel XL-320 turns red for less than a second and then turns off. Then, when I upload an Arduino code provided in the “Dynamixel2Arduino” library examples, like the “position_mode.ino” or “led.ino” for example, by setting the Upload Switch to upload, there is no problem. But when I then put it on Dynamixel to run my code, and reset my Arduino as shown in your tutorials, nothing happens.

In case 2), when I turn on the Dynamixel Shield, the LED on the Dynamixel XL-320 stays red. Then, when I do exactly the same thing as in case 1), exactly the same thing happens, i.e. nothing.

Note that I tested both TTL and TTL(XL-320), but none of them work. I also have two XL-320, and both are not working (even when only one is plugged). There is also no problem with the Arduino because it works for other servos from other companies.

Thank you in advance for your help!

Best regards,

Maxime Marchal

Hi @maximemarchal

Unlike other X series DYNAMIXEL, the baudrate of the XL-320 is set to 1,000,000 bps (1Mbps).
The position_mode.ino example opens the dxl port with 57,600 bps in the line 72, make sure to set it as below.

dxl.begin(1000000);

If the LED of the XL-320 stays solid red, your DYNAMIXEL is booted under the boot mode which does not allow to operate the DYNAMIXEL.

This could be caused by unintended signal from Arduino, or corrupted DYNAMIXEL firmware.

First, try to modify the baudrate as I mentioned above with your case 1 connection, and if it doesn’t work, you might need to recover the firmware of the DYNAMIXEL using DYNAMIXEL Wizard 2.0.

Thanks!

Hi @willson,

Thank you for your response. I tried to modify the baud rate as you mentioned, but it still doesn’t work. Therefore, I will try to recover the firmware by using DYNAMIXEL Wizard 2.0. Is there a way to use this software with an Arduino Uno rev 3 and a Dynamixel Shield or do I need to have a U2D2?

Thank you for your help!

Unfortunately, DYNAMIXEL Wizard 2.0 is not compatible with the DYNAMIXEL Shield.

While ROBOTIS recommends the use of the U2D2, DYNAMIXEL Wizard can be used with any serial to USB converter capable of half duplex serial communication.

If you don’t already own a U2D2 unit, I would also recommend looking into the OpenRB-150. It’s fully Arduino compatible, and can also be use as a USB to serial converter for DYNAMIXEL Wizard.

Hi @Jonathon,

I ordered some days ago a U2D2 unit, so I will try with this one and I let you know if it solved the solution or not.

Thank you for your response.

Hi all,

The problem was due to a wrong ID and Baudrate that I was able to visualize and modify with an U2D2 using Dynamixel Wizard 2.0.

Thank you everyone for helping me!