Welcome to Synthiam!

Program robots using technologies created from industry experts. ARC is our free-to-use robot programming software that makes features like vision recognition, navigation and artificial intelligence easy.
Get Started

Asked — Edited

Dynamixel With Ezbpi Server

I am trying to control my Dynamixel AX-12a with the EZBPi, but when I try to connect EZ-Builder 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
AI Support Bot
Related Content
#14   — Edited
Don't do what ever all those images and stuff you posted are. They're not relevant. 

Visit this web page on our site: https://synthiam.com/Hardware/Raspberry-Pi-17681

Ensure you have downloaded the latest EZBPi Server from that page. There was an update today (03/29/2019). Finally, ensure you read the section on that page about activating the Serial port on the Raspberry Pi. 

Connect the TX and RX of the Pi's serial port to the data line of the dynamixel servo.
Great news!!!:)

I am out of town, but will look into it from the hotel Wifi tonight!!
Thanks a lot for getting this going!!
#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!


they say... 


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


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.
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.
#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: