Power required for PCA9685 in combination with 15 SG90 servo's

Hello, I'm working on a project that requires controlling 58 servo's. The plan is to use the PCA9685 servo driver to control them in groups of 14/15. Now I see a lot of contradicting information regarding this topic, some say you should count the stall current (650 +- 80 = 730mA) times the amount of servo's (10,95A) and other advice to just count 1A per servo. Besides that, the PCA9685 driver can handle about 8A continuously but could this be circumvented by controlling the servo's in groups of 7/8 at a time in quick succession (25ms apart) to not go above this max rating or would that effectively have the same current spike? So in conclusion:

  • Can I safely assume max 730mA per SG90 servo?
  • Can I drive two groups of 7/8 per PCA9685 driver 25ms apart to not reach the 8A max current rating?

Thank you.

650mA+/-80mA is the manufacturer's specification so it should be safe to rely on that. The only reason I say "should" is that there are a lot of fake SG90s around and who knows what their specification might be.

Unless you're likely to be stalling the servos for a long time (bad news in all sorts of ways) then you should only see that sort of current for a very short time as a servo starts to move. Depending on exactly what the servos will be doing I would guess that you will be quite safe. But offsetting the moves so that all are not starting at the same time wouldn't hurt.

Steve

Thanks Steve! I’ll be using knockoffs to reduce cost, is it a valid test method to have an arm attached to the servo and have it intentionally rotate into a static object and measure the current draw upon impact with a multimeter? I tried it with a knockoff SG90 and a cheap multimeter I have laying around and measured a 530mA spike, not sure if this is a reliable method.

zummey:
... is it a valid test method to have an arm attached to the servo and have it intentionally rotate into a static object and measure the current draw upon impact with a multimeter? ...

It's as good a method as any, but don't do it for long, as it may wreck the servo.

zummey:
Besides that, the PCA9685 driver can handle about 8A continuously…

Where did you read that?

Servo power has nothing to do with the PCA9685 itself, but only with the circuit board traces connecting the servo power/ground pins to the power screw terminal.
Don’t know if a knock-off board has the same trace width as the original Adafruit boards.
Leo…

Servos draw the stall current every time they start to move.

some say you should count the stall current (650 +- 80 = 730mA) times the amount of servo's (10,95A) and other advice to just count 1A per servo.

It is never a good idea to run any component at close to its maximum rating. So, experienced designers plan on overkill for power supplies. 2X the maximum expected current draw is the usual design criterion.

In your case, 0.7 A x 14 servos x 2 = 20 A.

As a hobbyist, feel free to take shortcuts, but don't be surprised by failures. Especially when using cheap, throwaway toy components like SG90 servos.