Discuss this article in the SERVO Magazine forums at http://forum.servomagazine.com
Figure 2
Robotis (makers of the Bioloid) used
in their CM- 5 robot controller to talk
to the servos. I am not much of an
artist, so my cable socket drawing in
the upper right of the figure isn’t all
that pretty.
The Dynamixel bus is what is
called half-duplex. This means that
only one device can talk at a time.
In this case, the Master (CM- 5) talks
to a servo, and a servo Slave then
responds. According to the
documentation, the data is
transmitted using a UART
asynchronous serial format, which
is good for us.
The default data rate is 1 Mbps
(one million bits per second). That is
really fast, which means we need to
be careful in our hardware design —
which is our first problem.
There is another problem we
need to deal with: The Dynamixel bus
is 5V. The UNO32 and Cerebot
(MX3cK) are 3.3V. (Rats, another
voltage level converter problem!)
SparkFun: www.sparkfun.com/
products/8745
My own design uses through
hole components, since that is what I
have in my junkbox. Like these two
designs, 10K resistor pull-ups are on
the 5V and 3.3V sides. That takes
care of part 2, but when I tested the
design on my scope (when it didn’t
work), I saw that there were serious
capacitive slews on the data line.
A slew occurs when a signal is
changing so fast that the load
getting the signal acts like an RC
charging circuit, then that capacitor
in the RC circuit can’t charge fast
enough for the signal to be properly
seen. Well, we can’t change the ‘C’
part of the circuit, but we sure can
change the ‘R’ part!
My converter circuit uses 1K
resistor pull-ups which reduces the
resistance of the circuit 10X. Further
testing with this change showed an
acceptable slew rate and voila! My
circuit started to work.
Figure 2 is the complete circuit
design. I did not have any 74HC126s
lying around, so I used a 74HC125
which is the same, but the enable on
the buffers is active low instead of
active high.
I wanted to keep my design
compact so that I could plug it into
a PMOD port on the MX3cK, so I
SERVO 06.2013 11