Motors work with the same protocol

english
Tags: #<Tag:0x00007f5cea2324b0>

#1

Hi everybody it’s again me, excuse me I have a doubt, Is necessary for all the Dynamixel motors to work with the same protocol ( I mean all with v1 or all with v2)?

Thnak you so much.

Greetings


#2

Yes, for one given USB2AX or Pixl board, you must pilot on the same protocol.
For my robot, I use 1 USB dongle for MX-28 motors and another one for XL-320 motors.


#3

Thanks friend, I already changed the protocol an now the web interface detetcts every motor but I have just achieved move the motors for the neck and head the rest of them are not communicating with the Odroid. Did you do something additional for connecting your Torso?

Thanks:grinning: again Thot.

Greetings


#4

That’s more of a software limitation though (never seen a lib that can talk both at the same time). Protocols v1 and v2 can be spoken on the same wire with no ill effect, that’s what the Dynamixel Wizard does.


#5

The thing is that when I try to move any MX28AT motor I get Errors involving Serial Communication. The errors say the motors get data but they are not sending anything back.
I’m wondering if the timeout of the serial port of the odroid is involved in this issue. The packages of the project include a serial library for the communication aa I think in some code line a serial ort is open and a timeout is set and this timeout is too small so when motors send a status pack back the timeout is already reached and Odroid shows an eror indicating that no response is obtained back from the motors.

Do you have any other idea about it ? or di you know in which module can I change the timeout?

Thank you everyone, I really appreciate your help :slight_smile:


#6

Easiest would be to check the settings with Dynamixel Wizard and a USB2AX or USB2Dynamixel, and make sure that the protocol used and baud rate are what you want it to be (and if needed update the firmware when you’re at it), then set Return delay time to zero. Also check that the control table used is the right one (different servos have slightly different tables, which can cause silly problems when you mix them), and that the packet you send is 100% good (if you’re using your own code - that should already be a given if it’s a third party lib).
You can find all the nitty-gritty in the Robotis Support pages, especially:
http://support.robotis.com/en/product/actuator_main.htm
http://support.robotis.com/en/product/actuator/dynamixel/mx_series/mx-28at_ar.htm

The number of silly things that could go wrong is large, if these are just the most common things to check. Anything that you can check against a working example is easier than just against specs, so if you have some stuff working try comparing to it.