Beginner help with servos

I need help figuring out the right parts for my robot project. After researching controllers, I have decided that a Baby Orangutan B-328 will best fit my size constraints. My robot is unusual in that it will use multiple servos which will need to move in synch with each other (same positions at all times). Since the control signal will be the same for each servo, can I split the signal to my servos from a single output pin on the control board? I also was wondering if I will need a servo controller in addition to the Baby O, or can I get away with controlling the servos without an additional component?



You can use a single pin to send the same control signal to different servos if you want their behaviors to be synchronized. You might consider using a Y splitter cable for this. The Baby Orangutan is certainly capable of generating servo control pulses (there are many of servo-control libraries out there for AVRs, and we are currently in the process of adding servo-control routines to the Pololu AVR library), but using a servo controller would simplify things by giving you a high-level interface, and it would decrease the burden on your Baby Orangutan’s MCU. Note that the Baby Orangutan’s voltage regulator is not capable of powering servos, so you will need a separate power source for them (or you can use your Baby Orangutan’s power source if it is within the range that your servos can handle).

The update to the Pololu AVR library is probably still several weeks away, though I might be able to upload a beta version sooner than that if you need it. The servo code we’re adding makes it possible to control up to 16 servos on digital outputs of your choosing (with control over both servo position and servo speed), and the servo pulses are generated in the background by timer interrupts, so there isn’t much burden on the ATmega328 (generating the pulses doesn’t block execution of the rest of your program, as is typically the case with simpler servo-control libraries).

- Ben