by Fritzoid » Sat Apr 17, 2010 3:16 pm
by Fritzoid
Sat Apr 17, 2010 3:16 pm
Debugging problems in Bioloid hardware and software can be a challenge. Often you need to see the packets and their responses from the dynamixels. Some of you savvy roboteers my have used RoboPlus terminal in manage mode to send commands and view their responses. A few of you might even know about the bootloader's MON command which does about the same thing. The problem with both of these functions is that they take a long time to format and transmit the messages back to the PC. They also can't help you in Play mode.
What you really want is some kind of all-purpose sniffer for the dynamixel bus. Here's what I came up with.
Take your USB2Dynamixel (in TTL mode) and wire it to an available connector on the robot. The last servo on an arm or the unused connector on the top of the CM-510 are convienient places to attach it. Now start up a serial port monitor. I use the HHD Free Serial Port Monitor (no link). After the monitor is attached and configured to the correct serial port you need to start up RoboPlus terminal. This will probably come up connected to the wrong port so disconnect if you are already connected. Then reconfigure the connection to use the USB2Dynamixel port number at 1Mb (1000000 bps).
You can run another terminal session on the regular port number at 56Kb or you can use any of the other RoboPlus software at the same time. Alternatively you can just press the buttons on the controller to initiate a test. In any event, all the traffic on the dynamixel bus will be displayed on the terminal session. Of course it will be largely readable in RoboPlus, that's why I use the port monitor. This displays the data in hexadecimal without any formatting, just what I needed.
The result is a real-time dynamixel bus monitor using just the stuff lying on my desk.
When your done, remember to end the terminal session BEFORE you end the port monitor.
Debugging problems in Bioloid hardware and software can be a challenge. Often you need to see the packets and their responses from the dynamixels. Some of you savvy roboteers my have used RoboPlus terminal in manage mode to send commands and view their responses. A few of you might even know about the bootloader's MON command which does about the same thing. The problem with both of these functions is that they take a long time to format and transmit the messages back to the PC. They also can't help you in Play mode.
What you really want is some kind of all-purpose sniffer for the dynamixel bus. Here's what I came up with.
Take your USB2Dynamixel (in TTL mode) and wire it to an available connector on the robot. The last servo on an arm or the unused connector on the top of the CM-510 are convienient places to attach it. Now start up a serial port monitor. I use the HHD Free Serial Port Monitor (no link). After the monitor is attached and configured to the correct serial port you need to start up RoboPlus terminal. This will probably come up connected to the wrong port so disconnect if you are already connected. Then reconfigure the connection to use the USB2Dynamixel port number at 1Mb (1000000 bps).
You can run another terminal session on the regular port number at 56Kb or you can use any of the other RoboPlus software at the same time. Alternatively you can just press the buttons on the controller to initiate a test. In any event, all the traffic on the dynamixel bus will be displayed on the terminal session. Of course it will be largely readable in RoboPlus, that's why I use the port monitor. This displays the data in hexadecimal without any formatting, just what I needed.
The result is a real-time dynamixel bus monitor using just the stuff lying on my desk.
When your done, remember to end the terminal session BEFORE you end the port monitor.