User Tools

Site Tools


product:usb2ax:faq

This is an old revision of the document!


USB2AX: FAQ

Q: USB2AX: What's that and why would I need one?

R: All is explained here :-)

Q: Servos: which ones are compatible with the USB2AX?

R: See here!


Q: USB2Dynamixel: how does it compare to the USB2AX?

R: The USB2Dynamixel is Robotis' version of an USB interface to talk with the Dynamixels. In most cases, you can replace it with the USB2AX without changing anything to the rest of your setup (hardware and software).

The USB2AX is a lot smaller (16x36mm instead of 35x90mm), less expensive, has lower USB latency, and does not need proprietary drivers. The USB2AX also has advanced functionalities: the sync_read instruction to read a lot of information very fast, and extension ports (GPIO/SPI). It can also survive a short-circuit between the 12V and DATA wires indefinitely while this would damage the USB2Dynamixel. As an added bonus, the USB2AX is open source so you can learn, modify, remake and even sell your own version.

On the other hand, the USB2AX can only talk to AX and MX-T servos, not to the RX, EX or MX-R ones. Since the release of the MX line of Dynamixel, it is no longer a big problem as you can get all servo sizes with the same 3 pin connector.
The USB2AX does not have the RS232 port and therefore can not be used to program the older CM-5 and CM-510 controllers. This problem is no longer relevant since the newer controllers (CM-530, CM-900) use an USB cable instead of the old custom “DB9 to Jack 3.5mm” cable.

Q: Dynamixel SDK: how do I use it with the USB2AX?

R: The Dynamixel SDK provided by Robotis is a software library that makes it easy to control Dynamixel servos from a C++ application. While the Windows version should work out of the box, the Linux version does not: you have to replace the dxl_hal.c file with this one before you compile the library.

If you need to switch back to the USB2Dynamixel, you will have to change back the file to the original one, and recompile the library, then your application.

What's going on? The Dynamixel SDK assumes the interface is FTDI-based, and thus searches a device named ttyUSBx, while the USB2AX uses the integrated CDC/ACM driver - which names the device ttyACMx. The second problem is that after opening the device, the Dynamixel SDK tries to set parameters which do not exist in the CDC/ACM driver.

Q: How to power the servos?

R: Currently, the number of options is limited:

  • SMPS2Dynamixel, to power the servos from a Switch-Mode power supply
  • make your own power adapter

How do I build my power adapter?
Check the pin assignment in the Dynamixel connector before anything else!

<TODO Photo> FIXME

Simple Power cable:
Cut a Dynamixel cable and solder a battery connector or battery cable to the GND(-) and VDD(+) lines.

Q: How open is the project?

R: Nearly as open as can be! You can get the sources for the firmware, the Eagle Files for the PCB, the Bill of Material, and all possible information on the project. The license used allow you to do nearly anything as long as you give proper credit. Software is similar to a BSD (open a source file for details), hardware is OSHW 1.0 and documentation is CC-BY-SA-3.0.
I learned a lot thanks to other's people Open Source projects, so this is my little contribution :-).

Q: My USB2AX stopped working! What do I do?

R: As you can see, the USB2AX is pretty small and uses components hard to service without specialized tools… You can try contact support {at} xevelabs.com, we're interested to know how it happened, and we'll see what we can do. :-/

product/usb2ax/faq.1364876666.txt.gz · Last modified: 2013/04/02 06:24 by xevel