Asked — Edited

Dynamixel With Ezbpi Server

I am trying to control my Dynamixel AX-12a with the EZBPi, but when I try to connect ARC it disconnects shortly after... Is there a wiring schematic or a tutorial on how to do this? I guess I missed something...maybe the port in the configuration is wrong? A pinout for the EZBPi would be helpfull!!:)


Related Hardware Raspberry Pi
Related Control Dynamixel

ARC Pro

Upgrade to ARC Pro

ARC Pro is more than a tool; it's a creative playground for robot enthusiasts, where you can turn your wildest ideas into reality.

#17   — Edited

Hey, the Live Hack and tutorial is awesome!!! Great help to get started,  very detailed from A to Z...:)

It seems to be all good to go for the transmit, but I am still trying to understand how it can be safe to expose the Raspberry Pis 3.3V Pin to the bus of the Dynamixel, which is 5V? I am new to serial bus communication, I might get stuff wrong...but I found a dicussion on trossenrobotics.com which left me a bit confused!

http://forums.trossenrobotics.com/showthread.php?7794-Com-between-raspberry-pi-and-arbotix-m

they say...

Quote:

You can do half duplex with a full duplex USART if you can turn the transmitter on or off -- OR if you add a selectable buffer chip, such as the 74HCT125, on the TX line. Most people go for the latter; turn on the buffer/driver (pull the enable low) when transmitting, and pull it back high again when transmission is done.If you wire the receive and the transmit together (perhaps through the buffer) then you will have to read back the data that you transmit, and you know you can disable the buffer when you've received all the bytes that you sent.You can also control the input/output and high/low state of GPIO pins on the Raspberry Pi using the sysfs gpio feature!
and also

Quote:

Another very good reason to use a buffer IC for the full-duplex to half-duplex conversion is that the dynamixel buss is 5V, while the RPi pins are all 3.3V max. Connect the RPi pins directly to the dynamixel buss without any logic level conversion and you will destroy the pins.

PRO
Synthiam
#18  

Do not use a half duplex buffer. The dynamixel plugin expects the connection to be full duplex and manually controls the rx buffer.

The dynamixel ttl will detect 3.3v when receiving. So I believe all you need are 2 resistors as a voltage divider.

I didnt know the pi wasnf 5v tolerant - that’s ridiculous.

PRO
USA
#19   — Edited

I was surprised too.

The EZ-B is 5v tolerant and each pin has a strong resistor (I believe is 150 ohms) so connecting EZB TX to a Dynamixel Data/TX (when the servo sends data) is not an issue the resistor handles that.

The raspberry PI is 3.3v and it not 5V tolerant so connecting RX + TX + Dynamixel Data is not an issue when the Dynamixel BUS is in receive mode waiting for commands, but when switches to Transmit mode (Sending data) the raspberry PI TX is short-circuit with the Dynamixel TX plus the voltage is 5V.

I don't know how it can work without damaging the PI gpio... maybe is too quick or luck.

** EDIT: Dynamixel TTL bus will identify 2v to 5v as HIGH logic, so sending is not an issue, but replying (TX)  is 5v.

The site below (no https) provides more details: http://www.enchantedage.com/electrical-connections-for-dynamixel-TTL-UART-bus