Powering 18 servos, Is there a better way to manage the power?

I am building a hexapod with 6 leg, each leg consist of 3 servos, there are total of 18 servos. The servo motor I using is MG90S.

According to online specification:
Operating Voltage : 4.8V to 6V (Typically 5V)
Current (typical during movement) : 120-250mA
Current (stall) : 700mA (measured)

Which mean 18 servos required current is approximately (0.25A * 18) = 4.5A , voltage max is 5V. If one or more servos in your hexapod are unable to turn (stalled or blocked), the current will be redistributed to the other servos. This can lead to damaging the servos.
Currently I have a SY8205 (synchronous step- down DC-DC converter) in hand, can this help to better managing the power?

Is there a better way to manage the power? Can advise ?

How many servos are stalled, how many start simultaneously, and please show us how you're powering them now, with what Arduino, etc.

The usual advice is that the power supply should be able to provide at least 1 Ampere per moving SG90 servo. If too little, you will have a twitching mass of servos, which can be pretty funny.

the current will be redistributed to the other servos.

Not true. Servos, and other components, draw current from the power supply.

2 Likes

who said that, ChatGPT?

It is unlikely but possible that all 18 servos will be stalled (or starting to move) at the same time so you need to take that into account

How much current can your step down converter deliver ?

This does not make sense. A servo will only take the current that it needs

I would get two of these:

https://learn.adafruit.com/adafruit-16-channel-pwm-slash-servo-shield

and two of these:

https://www.amazon.com/LRS-50-5-Switching-Supply-Single-Output/dp/B019GYOCMM/ref=sr_1_7

Attach 9 servos to each shield and you will have over 1 amp available for each servo, if necessary.

Currently the servo's Vcc and gnd are connected in common using breadboard. I used DC power supply to power them. Our testing currently only 12 servo able to move. Can't move when try to power 18 servo. I am using Arduino UNO.

DC-DC Buck Converter 7-24V to 5V 4A
According to the website, it can step down to (0 - 4A) max 5A

That is enough for 5 struggling servos.

1 Like

Seriously underpowered. Although exact conditions vary, as do the servo specs, it's wise to budget between 0.75 and 1.0 Ampere per servo; you've got an indication with that 700 mA spec(what they're really saying is, of the last N tested, either the average, or the max, was 700 mA; exactly which, well... it's China, right?). When a servo starts from rest, it draws that current until movement is established (the motor has a stalled rotor until movement happens). If you carefully tune your code to not start more than one at once, offsetting by 50 ms or more, you can get away with less, UNTIL the moment when something binds and several servos are stalled simultaneously.
Less might, maybe, work in most circumstances, but you can bet that the first time you 'show it off' to someone, Murphy will come calling.
In addition, using your breadboard as a power distribution center for the current needed for 18 servos is a non-starter. Breadboard contacts shouldn't be subjected to any more than 100 mA, if you want to use the breadboard indefinitely. Use a power distribution board, a set of wire nuts, or lever-nuts to fan out your power supply current.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.