Mystery about the conneciton cable

Bioloid robot kit from Korean company Robotis; CM5 controller block, AX12 servos..
3 postsPage 1 of 1
3 postsPage 1 of 1

Mystery about the conneciton cable

Post by petercohen » Sun Oct 07, 2012 1:52 pm

Post by petercohen
Sun Oct 07, 2012 1:52 pm

Hello, I was able to turn a dynamixel motor using RoboPlus Manager and usb2dynamixel/C++. However, when I swapped the 3P cable between the motor and the usb2dynamixel/CM-510 with a much longer self-made 3P cable, most of the time RoboPlus Manager and usb2dynamixel could not detect the dynamixel motor. Anybody knows what is going on? I used a tester to test that my self-made cable is working. I have no idea why dynamixel could not be detected when connected to a very long cable. Does the length or material that made up the cable matters? Thanks.
Hello, I was able to turn a dynamixel motor using RoboPlus Manager and usb2dynamixel/C++. However, when I swapped the 3P cable between the motor and the usb2dynamixel/CM-510 with a much longer self-made 3P cable, most of the time RoboPlus Manager and usb2dynamixel could not detect the dynamixel motor. Anybody knows what is going on? I used a tester to test that my self-made cable is working. I have no idea why dynamixel could not be detected when connected to a very long cable. Does the length or material that made up the cable matters? Thanks.
petercohen offline
Savvy Roboteer
Savvy Roboteer
Posts: 58
Joined: Tue Jul 19, 2011 5:19 am

Post by xevel » Mon Oct 08, 2012 1:14 am

Post by xevel
Mon Oct 08, 2012 1:14 am

The Dynamixel bus is a half-duplex TTL serial bus.
It might not work that well with very long cables at high baud rate.
Also, there is always the possibility that the cable has an intermittent problem, like a bad connector or a damaged wire...

You can try switching the servo to a slower baud rate to see if it changes matters.

Check the voltage on VDD and DATA close to the servo when it is plugged in, you should see around 5V on DATA and the voltage of your battery on VDD. If not, your cable could have a problem. Move the cable while checking that, if moving it makes the voltage drop down, then the cable is faulty.

Alternatively, check with a multimeter the resistance on each line of your long cable, it might reveal a problem if it's a lot more than on a regular length Robotis cable.
The Dynamixel bus is a half-duplex TTL serial bus.
It might not work that well with very long cables at high baud rate.
Also, there is always the possibility that the cable has an intermittent problem, like a bad connector or a damaged wire...

You can try switching the servo to a slower baud rate to see if it changes matters.

Check the voltage on VDD and DATA close to the servo when it is plugged in, you should see around 5V on DATA and the voltage of your battery on VDD. If not, your cable could have a problem. Move the cable while checking that, if moving it makes the voltage drop down, then the cable is faulty.

Alternatively, check with a multimeter the resistance on each line of your long cable, it might reveal a problem if it's a lot more than on a regular length Robotis cable.
xevel offline
Savvy Roboteer
Savvy Roboteer
Posts: 74
Joined: Sun Mar 27, 2011 6:37 pm

Post by petercohen » Sun Oct 21, 2012 1:41 pm

Post by petercohen
Sun Oct 21, 2012 1:41 pm

Hello, I posted twice but the messages did not show up. I am trying again.

I measured the resistance of each wire from both the Robotis cable and the long self-made one. All of them have a resistance of 0.27 ohm.

There are two projects. One on using the Robotplus to control the motors. The other is on using the usb2dynamixel and C++. Eventually, I want to use both methods to control a robot of over 20 motors.

For using Robotplus to control the motors, is changing the USB Serial Port properties settings alone sufficient? What values do you recommend? Currently, under COM5, I have bps: 9600, data bit: 8, parity: none, stop bit: 1, flow control: none.

For controlling the motors using usb2dynamixel and C++, I modified the sample Read_Write program provided by Robotis. Under #define DEFAULT_BAUDNUM, it is set to 1 which means 1Mbps. What value do you recommend me of using? Do I need to change any value under USB Serial Port properties to match the DEFAULT_BAIDNUM in the C++ program?
Hello, I posted twice but the messages did not show up. I am trying again.

I measured the resistance of each wire from both the Robotis cable and the long self-made one. All of them have a resistance of 0.27 ohm.

There are two projects. One on using the Robotplus to control the motors. The other is on using the usb2dynamixel and C++. Eventually, I want to use both methods to control a robot of over 20 motors.

For using Robotplus to control the motors, is changing the USB Serial Port properties settings alone sufficient? What values do you recommend? Currently, under COM5, I have bps: 9600, data bit: 8, parity: none, stop bit: 1, flow control: none.

For controlling the motors using usb2dynamixel and C++, I modified the sample Read_Write program provided by Robotis. Under #define DEFAULT_BAUDNUM, it is set to 1 which means 1Mbps. What value do you recommend me of using? Do I need to change any value under USB Serial Port properties to match the DEFAULT_BAIDNUM in the C++ program?
petercohen offline
Savvy Roboteer
Savvy Roboteer
Posts: 58
Joined: Tue Jul 19, 2011 5:19 am


3 postsPage 1 of 1
3 postsPage 1 of 1