n various groups and blogs I peruse on here, there's been talk about I2C
control of servos (as opposed to standard PWM). This certainly solves several problems, as it allows one I/O port (I2C
) to service over a hundred servos with ease. With some built-in intelligence, the servo itself can take care of interpreting and following commands without the need for continual updates from the system (i.e., true asynchronous operation). In addition, servo power lines are kept separate from the autopilot board, thus eliminating the possibility of overheating board traces due to excessive current draw (a stack of 8 servos, especially digital ones, can easily exceed the amperage rating of the traces and wiring used in some autopilot boards). The one drawback to I2C control... if one servo's electronics fails and "latches" the bus, the entire network is toast. However, that possibility can be mitigated through an isolation network built onto the servo control board.
Coincidentally, today I read a message on the UAV Dev Group about an open source servo project called (not surprisingly) OpenServo
*. Among other things, they offer complete ready-to-go boards that fit inside some standard servos and convert them to I2C. Here's a list of features, directly from their page
- High performance AVR 8-bit microcontroller
- Compact H-Bridge with high performance MOSFETs
- Precision control over servo position and speed
- I2C/TWI based interface for control and feedback
- Feedback of position, speed, voltage and power
- Advanced curve based motion profile support
- EEPROM storage of servo configuration information
- Software written in C using free development tools
- I2C/TWI bootloader and GUI programmer
I thought I'd mention it here, since there seem to be people from several diverse groups interested in this (I2C servo control). Price is $14.95 from SparkFun Electronics
.*Credit to Peter Holands of UAV Dev Group for spotting this.