2
\$\begingroup\$

For a project in school I have to build a robot playing a bass guitar.

To play the notes I planned to plug 16 servos to Adafruit's PCA9685 but it doesn't supply enough Amps to the servos. How can I power the servo motors externelly but still controll them via the PCA9685? I know that I don't have enough amps because the PCA9685 is able to controll much weaker servos, but these aren't powerful enough. Can anyone help?

I use the Raspberry Pi 3 model B+ to control everything and several BMS-410C as my servo motors.

\$\endgroup\$
  • \$\begingroup\$ Welcome to EE.SE. Can you edit your question to (nicely) add the links to the datasheets for the devices mentioned. Highlight the text and then press the link button to enter the URL. \$\endgroup\$ – Transistor Sep 26 '19 at 17:06
  • \$\begingroup\$ Initially thought you were doing something like this: youtu.be/eAQKifmUUtg \$\endgroup\$ – Spehro Pefhany Sep 26 '19 at 18:16
  • \$\begingroup\$ It would help to know more about the servos. It doesn't sound like you're working with hobby servos. \$\endgroup\$ – Caleb Reister Sep 27 '19 at 0:21
3
\$\begingroup\$

Looking at the application notes The logic on the PCA9685 should be powered from the same supply as the Raspberry Pi (3 - 5V) Vcc and this is low power. The servos can have their own separate supply V+ which can be as high as 12V if required. This can typically be a 5V 10A PSU and is connected to the PCA9685 via its V+ own connection block.

Each of your 3 wire servos has a control pin, a power supply pin for V+ and a common ground. They do not have to be powered from the same supply as the logic. Therefore all you need is a separate PSU with sufficient capacity to power your servos under full load.

| improve this answer | |
\$\endgroup\$
  • \$\begingroup\$ does the PCA9685 care if the servo motors are powered by it? So does it notice the servo motors even if it doesn't supply them with power? \$\endgroup\$ – YaKe69 Sep 26 '19 at 18:57
  • \$\begingroup\$ @YaKe69 I've never used a PCA9685, but I assume (with all that implies) that, if there is no separate V+ supply for the servos, they get powered from the Vcc supply. So the question then becomes "is the Vcc power supply, via the Raspberry Pi and whatever is on board the PCA9685, good enough to power all the servos?". If this power is limited then you will have to do the maths, but I suspect it won't be good enough from what you said in your question. If the servos are powered from V+ then it shouldn't effect the operation of the PCA9685 whatever power they draw within sensible limits. \$\endgroup\$ – Peter Jennings Sep 26 '19 at 21:31
  • \$\begingroup\$ the PCA9685 does not supply power to the servos ... the power comes from an external power source .... the PCA9685 does not know if servos are attached or not ... it simply sends out the servo signal, it is up to you to ensure that a servo is attached \$\endgroup\$ – jsotola Sep 27 '19 at 1:16
  • \$\begingroup\$ @jsotola Yes, that is what I suspected, never having actually used this board, but the OP was talking about it "is able to control much weaker servos" which misled me to think it might be able to power small servos directly in the absence of V+. \$\endgroup\$ – Peter Jennings Sep 27 '19 at 23:21
1
\$\begingroup\$

You are ok, the servo units you chose use a logic input for control and a seperate power supply will work great if wanted, be sure to connect the grounds. Your problems sounds like the power supply is collapsing. Lets try to figure out what you need. 16 servos @ 600mA = 9.6 amps. 1 Raspberry pi = 2.5 amps (recommended minimum PSU requirement). we now have a connected worse case load of 12.1 amps X 1.2 (safety margin) = 14.52 amps. Round this up to the next pseudo standard power supply rating (depends on vendor) we will use a 15A supply. If you use a battery calculate at 20 amp hour per hour of usage. That gives you room for battery aging etc. Consider placing a CLC filter in series with the 5V to the Raspberry pi.

| improve this answer | |
\$\endgroup\$
0
\$\begingroup\$

The easiest way is to use a battery with an ESR <<10% of the equiv. DCR or Resistance (parallel) measured of each motor’s coil, then recharge battery during/between gigs. This way the voltage never sags more than 10% on full surge load.

| improve this answer | |
\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.