Powering multiple servos from 12v controlled by arduino

arduinoservo

I am trying to control 8 servo's with an arduino uno using ROS.
The diagram below shows my current configuration to power the servos. I have a buck regulator in between the 12v battery and the breadboard.

The arduino is powered thru a barrel plug which goes into a 12v regulator which connects to the 12v battery.

This does not seem to work when I have many servos. Strange things happen when I try to manipulate all 8 servos at once, a few respond but most do not. Also they all seem to get jitters and wobble while plugged in.

Why is that? Also what is the best way to power up and use many servos?
I planned on using the arduino mega 2560 to manipulate up to 30 servos.
enter image description here
buck 5v:

Module Properties: Non-isolated step-down module (buck).
Rectifier: Non-Synchronous Rectification.
Wide Input voltage: DC 4.5-40V.
Output Voltage: DC 1.2-37V (Adjustable) (output voltage from the USB = output voltage from the output port ).
Output current: rated current 2A, 3A MAX (Additional heatsink is required).
If you need its output power greater than 2A/10W, please add with heat-sink.
Short circuit protection: current limiting, since the recovery.
Operating temperature: Industrial grade (-40 to +85 )
Load regulation:±0.5%
Voltage regulation:± 2.5%
No CC, current display function

each servo:
enter image description here

Best Answer

From the information we have so far it appears that your buck converter may not be able to supply enough current to run all the servos simultaneously.

schematic

simulate this circuit – Schematic created using CircuitLab

Your general layout is good in that you have kept the power wiring separate from the motor wiring where the high currents could cause problems (such as burning out the PCB tracks or causing interference) if they ran back to the battery via the Arduino. The layout is poor because your are using the breadboard to carry relatively high currents. You should come up with a better way of connecting these.

The 12 V regulator between the battery and the Arduino isn't doing much. 12 V in, 12 V out. If anything I would reduce the output of this to, say, 8 V so there will be less heat dissipated in the Arduino voltage regulator.

Further updates as info comes in via chat room.

[Update]

From discussion in the chat rooms it appears to be a supply current problem. The buck converter hasn't enough oomph to power more than three or four servos under load.

Related Topic