Sudo's Guide To Dynamixels

 
#1

PLEASE NOTE: THIS GUIDE IS OUTDATED. BADLY. (remind me later to fix this and spiff it up a bit, please)

So, you finally have your EZ-B v4. You love it already, and you're ready to hook this baby up to some sort of Dynamixel powered creation. You go to plug everything in, and - wait. You have no idea how to set those Dynamixels up.

Well, I do, and I'll show you how.

SECTION 1: GETTING TO KNOW DYNAMIXELS
User-inserted image

Dynamixels are intelligent servos that can track not only position, but temperature, speed, and load. The servo can automagically shut itself of incase of a failure. These servos are also incredibly strong. But there's one feature in particular that is useful, but at the same time a little hard to wrap your head around. In this section, we will cover daisy chaining and other features of the AX-12A Dynamixel; however, most of the servos in the Dynamixel family work exactly alike, so this guide can help you with most models.

User-inserted image

On the back of all of your Dynamixels, you will notice a couple things. A place for a bolt, a light, two wire ports, and the ID. Lets go over all of them so you know what they do:

Light - Blinks once when turning on. If the light is flashing, there is a failure of some sort.

Screw hole - Allows you to attach the Dynamixel to a bracket.

Wire ports - Allows you to connect to other Dynamixels, in a long strand of servos, both to and from other Dynamixels. This means both ports work the same way, which means it doesn't matter which side is plugged in. (see image below)

ID - What the EZ-B and EZ Builder address the Dynamixel as.

User-inserted image

PART 2: CONNECTING YOUR DYNAMIXELS TO THE EZ-B

All Dynamixels must plug into port D5 in order to properly work. This means that all of your Dynamixels must plug into one port. If you have more than one strand of connectable Dynamixels, you will have to use a Dynamixel splitter hub, like this one here:

User-inserted image

You can either run a cable to the EZ-B via a power base or via the powered splitter. I advise that you use only one, as using both at once can brown out the EZ-B.

Q: So, now that that's done, what power supply do I use? Mains or a battery pack?

User-inserted image

A: Both will work just fine. Just make sure you have an adequate power supply at around 10v.

"But wait!" you scream. "Dynamixels can run at 9v-12v! Why 10v?"

Because voltage is gradually lost over time depending on how many servos you're running at once, as well as when the EZ-B is powered on. The more servos you have, the higher you should up your voltage to get a steady 10v overall.

So, if you have power running to the EZ-B, Dynamixels set up to port D5 (as well as the optional splitter) you should have something resembling this:

User-inserted image

Now that you're powered on, lets move into EZ Builder and get your Dynamixels running.

PART 3: OPERATING THE DYNAMIXELS WITH EZ-Builder

Connect to your EZ-B as usual (We won't be covering connections in this guide). Bring up a servo control panel and go to the servo configuration screen as shown below.

User-inserted image

Click the Dynamixel box and scroll down until you see the ID of the Dynamixel you want to move (the ID on the back of the servo). In this demonstration, we'll be selecting Dynamixel AX18.

User-inserted image

Select it and save the configuration. Congrats, you just set up your first Dynamixel in EZ Builder! It should operate just like a normal servo. This applies to all servo control functions.

PART 4 (EXTRA): ASSIGNING A NEW ID TO BLANK SERVOS

When you buy a Dynamixel that doesn't come in the kit, the ID sticker will sometimes be blank, which means it hasn't be assigned a "real" ID. However, a tool in EZ Builder can give Dynamixels a new ID.

First, open up the Dynamixel Config. control in EZ Builder. You should see something similar to this:

User-inserted image

All blank servos are assigned ID 1. If you have a dynamixel with the ID 1 already, remove it before you proceed. Simply choose the new ID you want (in this case, AX18) and press execute. EZ-Builder will assign it a new ID. That's it, you're done! You can also write the ID on the blank tag if so desired.

GUIDE LAST UPDATED: 12/9/2014

#2

Sudo,

Thanks a lot buddy. You are the inspiration I need to attempt my EZ-B4 Bioloid or "EZ-Loid". Please, keep up the good work.

Now, go work on your drawing skills. (Kidding of course.)

#3

Thanks, ill be adding onto it as fast as I can draw the diagrams Grin

#4

very interesting sudo

so you can use the adaptor&batt from bioloid itself.

#5

Well, kind of. Really, any kind of LiPo battery works, but as the case is with the bioloid battery you'll need to chop off the end that plugs into the robot and splice it into a barrel jack or something similar.

#6

Nice wright up so far @Sudo. Interesting drawings. I like the cartoon feel and look and I can tell you took a lot of time drawing them. There a nice addition to you article and kept my interest. I wonder though if a tutorial shouldn't include at least some actual pictures of the products for reference. It's a little confusing (for me at least) to understand were to plug things in and where things are located your talking about.

One question, are these servos controlled by serial commands? if so do you have a list of commands and examples of how to send them through EZ Builder? If not do EZ Script commands and the EZ Controls for servos work for these servos? IN other wards, how do you control them through EZ Builder?

#7

They work just like normal servos once they're connected. I'll add some real pictures as well as clarify that these act like normal servos later tonight when I add some stuff Grin

#8

So in the EZ Script control under "Script Help" there are two sections called:

Dynamixel Servos (protocol v1) for AX/RX/EX (Port D5)
and
Dynamixel Servos (protocol v2) for XL-320 & Pro (Port D5)

What is the difference and why two different protocols?

There is a list of AX numbers under each heading. What's that all about? And why do I need to connect them to port D5?

*confused*

#9

I can't really tell you why only D5 works as a port to connect dynamixels, I really wish there was a way for the whole board to work with Dynamixels so you wouldn't have to buy a spiltter. Oh well.

As for those different protocols, there's a huge family of Dynamixels, all with different strengths and prices. (EX. AX12A AX18A or MX28, etc.) The second protocol is for the Dynamixel Pro, which I believe uses a different protocol since it uses 4 pins on the header. I'm not positive though because I can't afford a 1000$ professional grade servo, but if you want I can contact Trossen and see if they can tell me for you.

I can't check for sure what those AX numbers are for, but I wouldn't be suprised if your just seeing the ID numbers that usually show up when you select a Dynamixel to use.

#10

I also see there is a button to check in the servo controls for Dynamixel Servos. Do I need to have that checked to get these servos to work in EZ Builder?

I noticed there is a Dynamixel Configuration tool in the Add Control section in EZ Builder. Do I need to use this to get my servos to work properly? How does this tool work and when do I use it?
*confused*