Powering multiple different large and small servos with same power source

I'm trying to design/build a desktop robot arm from scratch as a fun 3D printing + Arduino challenge, and I'm fairly new to large-scale power supplies. Particularly, I have several different types of servos used in the arm (some joints need more power, some need to be lighter weight, some in between) and they're all a slightly different voltage. I'm using:

1x SG90 (standard cheapy RC servo for one of the low-load wrist joints)
~ Voltage: 4.8 - 6V
~ Max current: 1.6A

3x MG995 (medium servo for other wrist joints and claw)
~ Voltage: 3.0 - 7.2V
~ Max current: 1.5A

2x DS3218 (medium-beefy 270deg for elbow and yaw joint)
~ Voltage: 4.8 - 6.8V
~ Max current: 2.2A

1x D3625 (big boy for main shoulder joint)
~ Voltage: 4.8 - 7.2V (9V max)
~ Max current: 30.0A ( :open_mouth: )

All driven by a PCA9685 16-channel servo driver, which is controlled by an Arduino Nano. All servos claim to run on at least 5V, and I have a 5V 10A wall adapter power supply (previously used on an LED strip project with amazing success) which works great for any ONE of the servos, but as soon as I start hooking up more at once it starts giving out under smaller and smaller loads until it essentially doesn't work at all.

Any ideas on why this is or what I should do instead? The project can be either battery or wall powered; doesn't make a big difference to me.

With the limited to none information you have given, my only advice is for you to measure to current being drawn from your adapter and to measure the voltage at the adapter as you make your tests.


With the limited to none information you have given...

Just updated the original question with some specs. Sorry for the vagueness

My original advice still stands! Measure, measure, measure. Stop guessing!


I mean, if someone else has already taken the measurements (more accurately than I probably could, especially considering the only tool I own for that is a simple digital multimeter), I would think I can just set up my circuit to be prepared for the maximum anticipated values of everything. I'm mainly asking how to do that - how to use a shared power source
to power the Arduino and the servos with differing voltages so each one is used to its full potential, and what kind of power source I should be researching to handle that kind of current (adding them all up that should be around 40A max, which sounds crazy to me... Is that normal for 7 servos?)