I received recently some Dynamixel XL-320 servos for beta-tesing. These are the new mini servos of Robotis' Dynamixel family. They are intended to be used for small robots that do not need a lot of torque, like the cute Darwin-Mini. Yet, what I would really love to do with them is to put them on a bigger robot, with AX and MX servos altogether. I envision a bot where joints could have the proper size of actuator, all the way from the MX-106 for knees and load baring joints to the XL-320 for fingers, sensors, or cosmetic movements (let's make the ears of Darwin-OP wiggle!).

Interfacing with AX / MX servos

Yet, there are 4 major differences that makes these small actuators not so simple to use with their bigger brothers:

  • they are intended to run at 7.4V instead if 11.1V, meaning you can't just put them on the same power supply rail,
  • they have smaller, 2mm pitch Micro-Latch Molex connectors that are incompatible with the Molex Spox 2.50mm of the AX and MX,
  • they use the newer Dynamixel Protocol v2.0, same as the much much bigger Dynamixel Pro. (This was not the case for some earlier beta testers, but since the support website page has been changed, I believe it's going to stay like that from now on).
  • they do not have regular mounting holes for M2 screws, they are intended to fit with OLLO plastic parts and their plastic rivets, meaning they have 4mm holes every 6mm (where AX have 2mm holes every 8mm, and MX have a variety of (non-compatible >_<) hole patterns).

When it comes to the first and second problems, a solution can be found with an adapter board. Aaron Perkins did just that, and I intend to make one too at some point - a smaller and less expensive one though.

The third one is not that bad, since commands in both protocols can be sent in turn on the same line, and there is no risk of misunderstanding. Only difficulty is that the master has to be able to speak fluently in both protocols.

When it comes to interfacing the servos mechanically with other stuff, there are multiple ways to go at it. The most obvious would be to use OLLO parts and rivets, just as intended, but this is not compatible with AX/MX servos, and there is a lot of give in every assembly. Rivets are great for small fun robots or prototyping but n match for screws when you want the thing to stay like that and not wobble around.
In the Bioloid Premium kit, they use a few OLLO-compatible parts, for example in the head to fit the ZIG-110A radio module. This is achieved with what look like M2.5 thermoplastic screws. They have a head with a diameter of 4.3mm, which is enough not to go through the 4mm holes of the OLLO parts.
M2 screws have flat heads around 3.6mm of diameter, but with the help of a small M2 washer (diam 5mm), they can be used to bolt the OLLO parts to regular AX parts. 5mm happens to be exactly the size of the small recess in the parts, in which the shoulder of the rivet usually fits.

XL-320_washers.jpg

Still, the difference in hole pitch (one every 8mm on AX servos, one every 6mm on the XL-320) will necessitate more work to use them together. The smallest simple pattern to fit OLLO parts on AX parts would be to put 5 OLLO holes (4x6mm = 24mm between the two further apart) aligned with 4 AX holes (3x8mm = 24mm), but this arrangement is not very practical. Also, 3 Ollo holes align well enough with 2 AX holes in diagonal to attach (like in the picture), yet I can't see it as a real solution for most cases...

XL-320_on_AX_part.jpg

I guess I'll work on some 3D printed mechanical adapter parts.

Other thoughts

The gearbox is 100% plastic, even the motor gear. However, there is a nice feature on the output gear: a torque limiter (the sort of double lobe thingy inside the biggest gear in the photo). This should make breaking the gears less likely in case of shock (like having a robot fall from a table).

XL-320_torque_limiter.jpg

The build quality is really good, the architecture is no-fuss, with one PCB on which the motor, STM8 microcontroller and potentiometer are soldered directly.
The sensor is an old-school potentiometer, like the good-old AX servos. There is enough room to put a magnetic sensor like in the MX servos, but the price would have certainly been much higher - such sensors cost maybe $4 more than the potentiometer, and I'm not even counting the magnet and increase of assembly and testing cost.

Some more references

Here are the references of the connectors for the XL-320 (that can be found also here).

  • Male header, 3 ways: 53253-0370 (vertical), 53254-0370 (right angle)
  • Female housing, 3 ways : 51065-0300
  • Contact (24-30AWG): 50212-8000 (reel), 50212-8100 (bag)

More details on the XL-320 page on Robotis support website