I am using ur servo controllers on a mobile bot that vibrates quite a bit. I have hooked up a xbee to interface with the controller over serial.
Initially everything worked fine with the servos doing exactly what I wanted (baudrate and everything was fine), but after a while for some reason the red light on the servo controller would start blinking (all the other lights would be off - this is an undefined state in the user guide ). I had to repeatedly reset the servo controller to make it work. Finally the controller stopped sending signals to the servo.
The yellow light still goes off and the green light flickers when I send it serial commands. I just hooked up an oscilloscope to see if the pwm can be seen over the signal pin when I send a serial command but all I see is a flat line.
Anyone else face the same problem?.
It generally sounds like you have a noisy serial line. Most of the fatal errors (red LED flashing) are probably from that, and one time, the noise probably made the command look like a change servo numbers command, so the servo controller is now probably trying to control some different servo numbers. You can verify that by resetting the numbers it controls to 0-7.
There’s not much you can do about bad serial data with the servo controller you have. The newer Maestros have a lot of extra features, including more choices about what to do in error conditions and the option to use CRC in your command packets.
I figured out that one of the command bytes was being dropped over the xbee. So with the current pololu controller is there no way it can reover from such an error without a reset?.
I jsut had a quick glance at your maestro user guide… so with the CRC check enabled it will just ignore an incomplete command and continue with operation?. I only plan to connect the Xbee to the controller, so enabling CRC check is just changing a setting in firmware right?. I dont need to have the usb connected to have the CRC check?.
There is no way to recover from an error on the serial 8-servo controller without a reset.
On the Maestro, if an error occurs, you have various options about what it should do - basically either ignoring it or going to a home position that is individually configurable for each channel. Your software can additionally monitor which errors have occurred in case you want to do something else or just to clear the flags to make the red LED turn off. There is more information in the user’s guide.
CRC is a persistent configuration option that does not require USB to be connected.