ServoMaster: Observations on Parallax Servo Controllers

Summary

There are two controllers: serial and USB. Like Pololu, Parallax USB controller is basically a Parallax serial with Serial/USB bridge on top of it. Unlike Pololu, Parallax USB uses a well supported FTDI FT232BM chip, well supported by Linux community.

Both of them share the same protocol, so the driver doesn't have to be changed.

Warning
I didn't have a chance to finish the actual driver yet (shame on me, the hardware came on May 31 2005), so the rest of this chapter is based on speculations and reading available documentation at this point (actually, all this stuff was written before I received the hardware). Take with a grain of salt.
Supported Features
Individual Servo min/max preset
Hardware controlled constant velocity transition, per servo

Common Features

Good Things

  • Status feedback - this is the only controller that supports it (to the best of my knowledge);
  • Moreover, real time status feedback for hardware supported transition - if you command the servo to start the transition, and then keep reading its position, the controller will report the real time position information back to you - this is really cool;
  • Precise. The position unit is 2µs, which should be enough for most applications;
  • Fast. The baud rate may go as high as 38.4K.
  • Stackable. You can connect two controllers to control up to 32 servos.

Bad Things

  • You have to be careful with the baud rate - selection once the controller is configured to work at 38.4KBaud, there's no going back until after hardware reset. This may require jumping through extra hoops to ensure the mission-critical application is able to properly reinitialize the controller driver on a subsequent startup without someone actually pressing the reset button on the controller - that would be pretty inconvenient.

    Note
    It is yet to be determined how the Serial/USB bridge behaves in this situation.

To be continued

The rest will be written as soon as I finish the driver.