Electronic – arduino – Controlling Multiple Servos

arduinoservoshift-registertransistors

I'm trying to control 8 servos (tower pro sg90 micro servo) using a shift register (74hc595) . I planned on giving the pwm and ground pins common to all the motors and then controlling vcc via the shift register. The IC by itself cannot drive the motor so I need a make an additional drive circuit to power the motors via the output pins of the shift register. I was thinking of using a simple transistor switch. What transistor would be cheapest and best to drive the servo ?. Would it be better to just use a 5V relay controlled by the shift register ?. Will the shift register provide enough current to the coils of the relay ?

I only need to control one servo at a time. Also I only have very few pins left on the arduino.

Best Answer

While you may only need to control one servo at a time, are you sure you don't need to hold all the servos, all the time?

A PWM expander will give you independent control of many PWM channels over I2C.