Servo Motor Power Supply for Robot Arms

by tekyinblack in Circuits > Robots

323 Views, 6 Favorites, 0 Comments

Servo Motor Power Supply for Robot Arms

IMG_3062.JPEG
IMG_3059.JPEG
IMG_3055.JPEG
IMG_3053.JPEG
IMG_3054.JPEG

For many robot projects, a default power supply is used to run the servo motors, frequently at 5V from the PCB, and this doesn't always provide sufficient power, and not the amount of power that running the servo at it's maximum rated voltage does.

As an example, a common SG90 servo at 4.8V supply has a stall torque of 1.2kg/cm, but at 6V supply, this rises to 1.8kg/cm.

This project builds a separate power supply to interface between the microcontroller, be it Arduino, Pico, Raspberry Pi, ESP32, ESP8266, STM or Pic and the servos in use.

Three power rails are configured, but more could be added, as well as a default 5V to run the microcontroller board and other circuits. Again this is up to the builder and this could instead be configured for say 3.3V

The 3D print file for the circuit cover has been designed to accommodate a Raspberry Pi, an Arduino Uno or Arduino Duo/Mega as well as a common PCA9685 16-way servo driver board.

This project uses mains electricity, ensure that you connect up the mains wiring correctly, especially the earth.

Supplies

IMG_3004.JPEG
IMG_3005.JPEG
IMG_3003.JPEG

12V 5A modular switched mode power supply

IEC mains socket with switch and fuse

IEC mains lead with the appropriate mains plug

4 x LM2950 buck convertors

dupont pcb sockets and pins to suit your version.

hookup wire for the appropriate current

3D printed parts or an appropriate enclosure

Make 3d Printed Parts

IMG_2998.JPEG
IMG_3040.JPEG
IMG_2999.JPEG

There are 3 prints required, a cowl to hold the IEC socket and mains switch, a frame to hold the buck convertors and a cover for the buck convertors which also holds the power strips, input and output pins, and has holes to support mounting a Raspberry Pi or Arduino (Uno, Duo, Mega) board. A fourth template design is included to either help mark out the holes for a baseboard, or if modified, can be printed as a baseboard.

It has been designed on TinkerCAD, and stl files attached.

Assemble the Buck Convertors

Untitled Sketch 2_bb.png
IMG_2997.JPEG
IMG_3024.JPEG

Make the Power Switch Bar and Test

Plug board layout.png
IMG_3011.JPEG
IMG_3012.JPEG
IMG_3025.JPEG
IMG_3026.JPEG
IMG_3028.JPEG

Cut a piece from the stripboard roughly the size and shape shown in the pictures, about 39 holes wide.

Solder PCB pins onto the stripboard shown, and cut the tracks where there is a black square.

Coloured pins have been used in the circuit shown in the picture to make identification easier.

Wire the Mains Socket

IMG_3041.JPEG
IMG_3015.JPEG
IMG_3016.JPEG
IMG_3017.JPEG
IMG_3018.JPEG

Spade connectors are shown in the pictures with insulated coverings to provide a degree of double insulation for the mains connections.

Assemble

IMG_3022.JPEG
IMG_3042.JPEG
IMG_3029.JPEG
IMG_3030.JPEG
IMG_3031.JPEG
IMG_3033.JPEG
IMG_3034.JPEG
IMG_3035.JPEG
IMG_3036.JPEG
IMG_3046.JPEG
IMG_3047.JPEG
IMG_3049.JPEG

Mark out the base board with the locations of the screw holes for the 12V PSU, the inlet cowl, the buck convertor frame and the circuit board cover. The baseboard .stl file has these locations and this can be printed onto A4 to help locate them. Alternatively, print the baseboard on a 3D printer in preparation for attaching the components to it.

  1. Pass the cables from the mains inlet socket through the top of the mains cowl and attach them to the 12V PSU. Ensure these are safely secured, especially the earth lead.
  2. Screw the 12V PSU in place an the base board
  3. Attach the pin stripboard to the circuit cover with short M3 bolts
  4. Screw the buck convertor frame in place on the base board with the convertors attached.
  5. Pass the cables from the convertors through the hole in the side of the circuit cover and screw the circuit cover down to the base board. To do this, it helps to hold the screws with bluetac when they are being inserted
  6. Pass the wires from the buck convertors through the hole in the side of the mains cowl and attach to the 12V power supply.
  7. Screw the mains cowl in place, making sure not to trap wires underneath the cowl.
  8. Fit the mains socket in place and fix with two M4 screws
  9. Fit the circuit cover in place and screw down

Setup and Test the Voltages

IMG_3050.JPEG
IMG_3051.JPEG
IMG_3052.JPEG

Test the earth connectivity from the socket to the power supply case.

Switch on and test the voltages at each of the servo sockets.

Using a small screwdriver, adjust the voltages by turning the controls accessible through the holes in the circuit cover until they read the desired values, mine were 8.4V, 7.2V, 6V and 5V to cover the common servos I use and to supply microcontroller boards.

Once all the voltages are correct, mark the circuit cover to indicate the supplied voltage to avoid errors in the future. Attach a microcontroller running a suitable test program and servos to the output pins to verify operation.

Test With a Controller and Servos

IMG_3060.JPEG

Testing here has been arranged with a small robot arm, published in an instructable elsewhere, and an Arduino Uno. Code for this is held on github here. This is for a 3DOF arm with a gripper controlled from a serial console.