Chaining Adafruit 16-Channel Servo Driver

I have the following setup:

My motor is connected to the THIRD (last!) board. My question is: does the external 5V from board 5 reaches the motor on board 3? Or do I have to plug in the external 5V on board 3 instead?

You can't drive a motor with that setup. You may be able to control a servo with it .... Power a servo .. NOT!

Mark

It's difficult (for me) to read but it looks to me as if the input to the blue screw says V+. Also looks as if the orange wire zigzagging down to the 2nd and 3rd board is labelled V+ also. If my eyes are reading that correctly then Yes the external power gets to the last board.

Why don't you just measure it?

But what's board 5?

does the external 5V from board 5

holmes4:
You can't drive a motor with that setup. You may be able to control a servo with it .... Power a servo .. NOT!

And in response to holmes4 surely the purpose of the external power labelled V+ (if my eyes are OK) is to drive the servos, since the servo connectors on the board are also V+. (Not to be confused with Vcc from the Arduino which is maybe the board logic power?)

I would also surmise that if you needed more than one power supply to give enough total current, you could put a new 5V into each board at each V+ and leave out the orange wires.

That would spread the load.

There is a page devoted to this board on the Adafruit website.

The schematic reveals that the 5V supply connector is connected to the chainable connection pins down the left and right hand side of the board.

kenwood120s:
I would also surmise that if you needed more than one power supply to give enough total current, you could put a new 5V into each board at each V+ and leave out the orange wires.

That would spread the load.

If you actually have the full complement of 48 servos connected and try to move them all at once, you could require around 50A, so spreading the load as kenwood120s suggests would be advantageous.

This is a servo control board, not a motor driver.
The blue screw terminal positive is connected (via a p-channel fet reverse protection diode) to the servo supply pins. It only powers the servos, not the PCA9685.
I think V+ shouldn't be chained, but individual wires (supply and ground) should run from the supply to the three terminal blocks. Three supplies, one for each board, might indeed be better with that amount of current.
Leo..

Wawa:
I think V+ shouldn't be chained,

The pic the OP posted, showing V+ chained with the orange wires, is lifted straight from the maker's website.

Yes, I know.
And I have designed boards like this with PCA9685 chips.
There is a 70mil wide trace between the screw terminal (+) and 16 servos, connected with three tiny vias.
Barely enough for 16 servos.
70mil can carry 5Amp max (20C temp rise) according to an online trace width calculator.
Then a 40mil trace goes to the V+ connectors.
Not very wise to power another two lots of servos through the same three vias and 40mil traces.
Leo..

Next time you see the lovely Limor, tell her :wink:

So the conclusion is: if I want to connect over 16 motors, each board needs a separate power supply. When using less than 16 motors on the three boards, one power supply will do.

Hi

I would do as Wawa has suggested, the servo power to be connected at the provided power connector on each board.
Not daisy chained as shown.

Not just because of the current flowing through the first board will also the total for the servos on all the others, but the current will be flowing back through the daisy chained gnds, which are also the signal gnds.
Any servo supply current spikes will be superimposed on the I2C signals.

I would also be putting extra bypassing on the 5V Arduino supply to the PCBs because of the number of daisy chained boards.

Tom... :slight_smile:

TomGeorge:
the current will be flowing back through the daisy chained gnds, which are also the signal gnds.

THAT's a good point.

JohnLincoln:
If you actually have the full complement of 48 servos connected

I reckon the coding for that could be a challenge, let alone the powering.

TomGeorge:
I would also be putting extra bypassing on the 5V Arduino supply to the PCBs because of the number of daisy chained boards.

This means the 5V coming from the Arduino is not needed? Can I use the same external power supply instead to replace the 5V from the Arduino?

Hi,
Keep the servo power supply purely for the servos, use the Arduino 5V as per your fritzy to the supply the control IC on the boards.

I don't think its is realised just how the current demand from a servo can change as it is requested to move and keep position.
The load on the arm dictates the torque required to get it and keep it moving, so current is needed to drive the servo.

If the servo arm is in constant torque that is capable of pulling the arm away from its set position, the servo control will apply current to the servo motor to counter act that torque to maintain position.

Tom.. :slight_smile:

wimpie3:
So the conclusion is: if I want to connect over 16 motors, each board needs a separate power supply.

Didn't say you "need" three supplies.
The boards "can" be connected to a single supply, with three pairs of power/ground wires going to each board.
Those wires should ofcourse be able to carry total current draw of 16 servos.

wimpie3:
This means the 5V coming from the Arduino is not needed?

Can I use the same external power supply instead to replace the 5V from the Arduino?

Yes, the red VCC wire is needed.
The PCA9685 chips (not the servos) are powered from Arduino's 5volt pin.
Only the orange wire is not needed if you power the servo boards individually

Arduino/PCA9685 are on a different circuit than the servos. Only ground is shared.
It is wise to give the Arduino it's own (clean) power supply (DC socket or USB).
Leo..

OK thanks!