I’ve been working on a hexapod for a few months. There’s 18 servos split into banks of 9 across 2 PCA9685 modules, each having its own ‘300w’ 20A DC - DC buck converter. These are then powered by whatever lipo is currently charged (either 4s or 6s, high c drone batts).
The converters are a tad bulky so finding a way to downsize would be great.
[The ones found here.](BGTXINGI 2Pcs 20A 300W High-Power Buck Converter Adjustable Constant Voltage Constant Current Power Module Charging LED Drive with Short Circuit Protection DC 6-40V to DC 1.2-36V https://amzn.eu/d/czyOdOs)
From spec sheets and what I’ve found online, the stall current for the MG996R is ~1.5A @ 5V and 2.5A @ 6V. So a theoretical maximum of 27A @ 5V or 45A @ 6V fully stalled.
But I’ve also seen that the PCA boards tend to burn out when carrying loads over 10A, and after months of testing with probably 10’s of hours of actual run time (including many joint limit crashes and servo burnouts) they still look and function as new. Despite the theoretical max current for both voltages being well over the boards current carrying capacity. Perhaps we’re not approaching anywhere near it?
So I’m wondering if anyone has any experience powering 18+ of these servos and what your solution was to do so? Or if you have any current draw readings of your own?
I’ve been toying with trying to power both pca boards off one of the converters, though my only worry is the converter shorting in a way that would damage the servos. I don’t mind burning out a converter as they’re not too bad on the wallet to replace, a whole set of servos on the other hand…
I’d also hook a multimeter up to see what it’s actually pulling but tops at 10A max, and don’t have a shunt resistor to hand. Should probably get something for that.
Any way to calculate it from the voltage drop across the battery? Record starting voltage, apply heavyish servo load and record the drop, maybe adjusting for end voltage? No clue what the the math would be.
Any input is greatly appreciated, thanks in advance!
the stall current for the MG996R is ~1.5A @ 5V and 2.5A @ 6V.
Those two values don't agree. The stall current is given by the power supply voltage divided by the winding resistance, so it has to increase linearly with voltage. To be safe, plan for 2.5A.
Servos briefly draw the full stall current every time they start moving, but "briefly" means 5 to 10 milliseconds. It sounds like your PCBs are adequate, unless in actual operation, the loads on the robot will be much heavier, with the average current draw being much higher.
Several issues are likely saving you, all worth keeping in mind for that 'what if' moment.
As @jremington pointed out, the 'stall' value used at start is very short in duration, and you're likely not starting anywhere near 18 all at the same time, so it's effect is small;
Your stall currents at 'crash' are again, probably very unlikely to be 'many' servos, probably only a few, so again, that max current calculation is conservative;
Ohm's law applies. If a lot of your servos are wired with long runs of the 24/26/28 ga servo wires typically used, then it's likely that even at stall, most of your motors are drawing somewhat less than max, because wire and connector resistances combine to reduce voltage 'at the servo' well below the supply value;
Manufacturers use "maximum" and "minimum" and "typical" wording for a reason. Designs typically are built to fit the 'typical', but giving a min and max boundary allows for everything from 5% tolerance on components, to component substitution without retesting, to simple batch variability in things like semiconductors. All said and done, those servos are most likely going to perform 'typically' or better. But the manufacturer can't be sued if one they produce falls into the 'maximum' category, can they?
Upshot? If you coded carefully, you could probably have all motors start simultaneously; crash simultaneously; and, if you wired with conservative gauge wire and soldered both ends, you could reduce resistance to the point where the stall current reaches stated maxima; if you're unlucky, you could purchase 18 servos that all meet the maximum stall current spec, as well. Since all of the above is unlikely to happen to the same woebegotten experimenter, you're probably okay to assume a lower current limit won't bite you - but if you're designing hardware for industry, it's a different game.
However, nobody can tell you what your actual currents are, or will be when you buy any replacement hardware, so you need to decide what your 'boundary' is - assume typical, assume worst case, somewhere in between, or ??
That's my 2 cents, anyway.