How to Build the Easiest Robotic Arm at Home
by KristianTheWise in Circuits > Arduino
876 Views, 4 Favorites, 0 Comments
How to Build the Easiest Robotic Arm at Home
Hey All,
In this tutorial I will cover how to wire up your servo motors, how to translate a potentiometer's position to a servo arm position, how to control multiple servos at once, and finally I'll cover my own construction design plus suggest a few alternatives and improvements on how to build your own robotic arm.
Here is a video of me and my new pal,
UPDATE
I rebuilt 'Wall-A' using wooden craft sticks and hot glue, added a 4th servo to act as a grabber at the end, then 'taught' it a pick up and move function that is button activated. Take a look! (These new features aren't described in the following instructions but I'd be more than happy to provide more info if anybody needs?)
Supplies
- Arduino board (Whichever you prefer)
- 3x Micro servo motors
- 3x 10k potentiometers
- External 5V Power Supply (My servos draw too much current to be run from the arduino and must be powered externally)
- Jumper Wires
- Breadboard (optional but definitely recommended)
- Light weight construction materials (cardboard, tape, icicle sticks, zip ties etc)
Component Wiring
The three servos will serve as movement for the 'base' (horizontal clockwise and anti-clockwise rotation), the 'arm' (vertical clockwise/anti-clockwise movement of the shaft) and the 'forearm' (vertical clockwise/anti-clockwise movement of the later section of the shaft).
Each potentiometer will control one of your servo motors. To read the position of these connect the middle pin of each one to an analog pin on your Arduino. I used A0 to control my 'base' servo, A1 to control my 'arm' servo and A2 to control my 'forearm' servo. The outer pins are then connected to the 5V rail and ground.
The yellow (or orange) wire of each of your servo's is connected to a PWM enabled digital pin on your Arduino. I used D9, D10 and D11. The red wire is then connected to the 5V line and the black (or brown) wire is connected to ground.
This is where you may want to use an external power source (not shown in the image above) to provide the power for your servos.
With this setup complete, you can now download and run the code below. You should be able to control the rotation of each servo with one of your potentiometers. Open the serial monitor to see the angle of each motor.
Downloads
Base Construction
Choose a solid, stable material to secure the first servo to (old chopping board, table, etc). Attach a servo arm securely to the base material (screws, glue, tape etc), set your base motor to its 90* position and attach it as desired (It has a range of 90* in either direction from how you first connect it).
I rescued a block of wood from my stove to use as my heavy base, then screwed the servo arm into it. This was pretty time consuming and difficult and I'm sure you could achieve similar results with hot glue so I would avoid screws if you can.
Arm Construction
Set your arm servo to its 0* position, attach your arm bar material (cardboard, metal rods, wooden sticks etc) to a servo arm and connect it to the servo as shown in the pictures above. I had spare metal pieces left over from an RC car set that I used but anything strong enough to hold up the rest of the arms weight will work.
Now attach the arm servo to the base servo, it should be done in such a way that the arm's range of motion will lift up and not get stuck on your base material.
I used double sided tape to connect my two servos. This is only a temporary measure and is not strong enough to bear the weight of the arm for more than a few minutes. For a more permanent fixture I would suggest hot glue/super glue.
Forearm Construction
Set your forearm servo to its 90* position, attach your arm bar material (cardboard, metal rods, wooden sticks etc) to a servo arm and connect it to the servo as shown in the pictures above. The forearm material can be lighter as it only needs to support its own weight, unless you plan on attaching anything to the tip.
Now attach the forearm servo to the end of the arm shaft as shown above.
I used double sided tape to connect the bottom of the forearm servo to the end of the arm shaft and the servo arm to the forearm shaft. Again, this is only a temporary measure and is not strong enough to bear the weight of the servo for more than a few minutes. For a more permanent fixture I would suggest hot glue/super glue.
Have Fun and Be Creative
Enjoy your new robot arm! What else can you come up with to improve/add to it?
I have a few Ideas I'm working on:
- Make it programmable (i.e. a user inputs a sequence of motion using the potentiometers then the arm repeats this sequence until it is rewritten)
- Have pre-programmed movements that can be activated with buttons
- Use capacitors to smooth the movement of the servos
Have fun!