I'm trying to power a pca9685 (servo motor controller) and an atmega328p circuit. The pca9685 also has a power input which requires higher current to power the servos. This current would be way too high to power off of the same voltage rail that I use to power the atmega328p. They both require 5v. Schematic diagrams I have found online show that the pca9685 servo power is typically powered using a separate power supply but I'm trying to avoid that without also burning the atmega328p chip. I'm wondering what type of methods I can use so that I can achieve this.
The pca9685 servo power would draw about 300mA at max load
For reference I have these two power supplies available:
7.5v 1A dc
9v 700ma dc
I was also trying to use these components to achieve my goals:
LM7805, 5v voltage regulator
MP1584EN, 4.5-28V to 0.8-20V DC-DC buck converter
I have multiple of the buck converters and lm7805. I have most standard values of ceramic and electrolytic capacitors, as well as standard resistor values.
Can you give me any advice on how I can power both the atmega328p circuit and the servo power using one of the two power supplies I have available? I'm not asking for a full circuit diagram, just some pointers in the right direction. I am open to buying any new parts.
Can you help me understand why a separate power supply is required in the attached diagram? I am not using an Arduino Uno however I am using the atmega328p which is the same chip.
I would use the 7.5V supply and the buck converter to get 5V and not worry about separate supplies if it is really true that whatever you have connected to the PCA9685 will never take more than 300mA.
But that's an amazingly low current if you are using servos. Even the smallest micro servos can take over 500mA each when stalled or when they start moving.
Thanks for your reply steve, you are right i misread the datasheet for the sg90 servo, they require a running current of 220 +/- 50mA and a stall current of 650+- 80mA. I am trying to run 3 servo motors, will the 1 amp dc power supply even manage this? If I am running 3 servos, is it necessary to run separate supplies?
In this case the logic of the board and motor power are both 5V. The only reason I am worried about wiring them both off of the same voltage rail is because I have read multiple warnings about doing so when I went through multiple guides about the wireup. An example from the adafruit website is shown below. Is this something I should be worried about?
That is SPECIFIC about powering the SERVOS themselves and not the other way around.
In your specific case there is nothing to prevent you sing a single supply so long as it has enough current (preferably some to spare) to power everything at once.
What you have seen is that it is a bad idea to use the Arduino 5V pin to PROVIDE power to servos.This really means when the Arduino is powered by something like a 9V supply to Vin or barrel connector and so the 5v pin relies on the internal regulator.
Having a sufficiently powerful 5V supply running servos and the Arduino effectively in parallel is fine.
Your 7.5V 1A supply should give almost 1.5A at 5V. That might well be enough for 3 x SG90s unless they are all driven into stall at the same time. Personally I'd prefer slightly more for safety.
draken16:
The pca9685 servo power would draw about 300mA at max load
Very much doubt that - peak currents from servos are usually considerably higher,
even the smallest servos can draw upto 1A per servo or so.
I strongly advise using separate power for Arduino and any motors/servos. It feels like
95% of servo problems people have is through underpowering servos and/or sharing
power rail with logic chips. If you get drop-outs in the power due to servos reversing
direction (can pull twice the stall current briefly to do this), this can easily reset the Arduino.
Also if there motors or other inductive loads put voltage spikes on the supply this
might risk damaging the Arduino too.
And watch out for cheap hookup wires not being up to the current demands of servos too -
many cheap kits of hook-up wires are designed only for logic signal use, not motor
current.