PCA9685 Loaded with Servos

Hi all,

So I'm working on a hexapod using a PCA9685 and 16 servos. It's a little bit on the large size, so I'm using somewhat robust servos, but I'm still trying to do it as cheaply as possible. I'm using two Feetech FS5115M-FB, 6 TowerPro MG995, 4 Sunfounder 55g, and 4 DSServo 20Kg to lift the long legs.

Recently, I got one of the middle legs (which use the feedback servos) to work exactly as intended. That leg only has two motors in it; one to swing back and forth, and one to lift it up and down. However, as soon as I added the second leg into the mix, things fell apart. Individually, all the motors work as planned; they're calibrated, and I know exactly which positions to set them to. But not only do the motors stop responding as instructed, all of a sudden, my working leg no longer works as expected.

I assume power is the culprit. Per the advice of Adafruit, I added a 1,000uF capacitor to the PWM board (it was the largest I had on hand). That didn't really do anything. I'm powering it with a 4 AA battery pack, providing 6 volts to the board. I know that's not a lot of amperage for the whole thing, but I though that would just mean the batteries don't last very long.

Then, I decided to take a closer look at the specs for motors. When I selected them, I sort of spitballed the power requirements by weighing the legs, approximating their moment, and applying WAM to figure out how strong the servos should be. I noticed, then, that the current draw on each of these falls roughly into the range of 150 mA for moving without load to about 1,500 mA stall current. After I realized that my 4 AAs weren't going to cut it, I started adding up the math on the stall currents, and realized that if all 16 servos were working hard, I would need a 6v battery capable of delivering about 20 amps!

Anyway, my question is this: is my recent revelation that I need a massive battery correct? Do I really need to attach a motorcycle battery to this thing to make it work?

I counted 28.6Amp stall current for the listed servos.
AA batteries (and their battery holder) can't provide that,
and the Adafruit board power and ground traces and reverse protection fet (if fitted) can't handle that.
Leo..

One way to sort it might be to run a couple of batteries. Split the servos into two groups, one powered through the board and a second group including the bigger servos powered separately with just the signal coming from the PCA9685.

If you can do that two packs of 5 x NiMH rechargeable AAs would probably be enough. The rechargeables can provide more current than standard alkaline AAs but are only 1.2V nominal which is why you may need 5 instead of 4.

Steve

slipstick:
One way to sort it might be to run a couple of batteries. Split the servos into two groups, one powered through the board and a second group including the bigger servos powered separately with just the signal coming from the PCA9685.

If you can do that two packs of 5 x NiMH rechargeable AAs would probably be enough. The rechargeables can provide more current than standard alkaline AAs but are only 1.2V nominal which is why you may need 5 instead of 4.

Steve

I kind of like that idea. I had just started thinking along similar lines. I found an article at maker.pro that informed me a lot about batteries. I was thinking of dropping the PCA9685 entirely for something like the Polulu Mini Maestro, but as you mentioned, it would be easy to add it as a second servo controller, allowing me to connect more batteries. I was considering a 7.4v LiPo to power the whole thing, but that would require a power converter. Maybe I could try to find four 7.2v servos for the heavy lifting, and use the 6v servos for the rest. The thing isn't entirely assembled, and I'm adding things piece by piece. I've only just started the second leg, so revising plans isn't out of the question.

I decided it was time to start asking smarter questions, and dug out a voltmeter. I noticed that a couple of servos were hitting their stall current, and so I disassembled the legs they were attached to, and found some unacceptable friction problems. I guess I got excited to put the little beastie together and got careless. Anyway, now that that's been resolved, the current draw is typically less than 1 amp, but it gets close to two on the occasional burst. Definitely an improvement. I'm going to try one of the 5 cell NiMH batteries, hopefully with at least 3 amp hours, and see how it goes.

One of the moderators here has a signature that I'm paraphrasing, but it goes something like "Almost all coding problems can be fixed with 2-3 hours of thinking and reading the manual". He's spot on.

Thanks for your advice!