Build your own robot arm – assembly
I have written a few posts about software development, coding and Java related topics. This time I decided to share with you a more fun project I did. I am a fan of Arduinos, Pis and other platforms for home automation as well as just pure fun with electronics and mechanics. In my pursuit of better understanding of the ways how servos work I made a decision to build my own robot arm. This series of posts will detail my journey as well as achievements along the way.
What you need
If you are thinking about doing project like this you will need several things at this stage:
- A MeArm kit (roughly 45 €)
- An Arduino-compatible board (Raspberry Pi is also supported) (Arduino UNO Rev3 costs roughly 20 €)
- An Arduino IDE
- Male jumper wires
- A cross-head screwdriver
This setup will cost you approximately 70 € depending on the store you choose.
Assembly
When all the parts arrive you can start with the assembly process. There are several groups of parts you will use and it is a good idea to group them accordingly. First group contains all the plastic parts that will form the body of the robot arm. Don’t forget to remove protective plastic cover from the parts before assembly.
Second group of parts are screws and nuts to tie the plastic parts together. And also four sticky feet to make the platform more stable.
Last group of parts consists of servos and accompanying parts like screws and plastic horns.
The whole process of assembly is described in great level of detail in this instructables tutorial online or in PDF format.
Few gotchas
There are several things I want to point out regarding the assembly:
- Don’t rush it
- This assembly will take you couple hour to get right so don’t rush it and take your time so you don’t damage your kit. There are almost no spare parts so make your choices wisely.
- Don’t tighten the screw too much
- Don’t go for the fully tightened screws unless you are absolutely sure about your current build. Start lightly and once you gain confidence finalize the part by tightening the screws. Some screws will become loose after a disassembly.
- Parts might need additional work
- This might not be the case for you, but some of the parts from my kit needed small modifications to fit into one another. Just a light touch of an angle grinder to remove that naughty millimeter from the surface of touching portions of one of the two touching parts made the trick.
- Pay attention to detail
- Assembly is rather intricate work so you need to pay attention so you get it right the first time.
- Don’t expect too much (just yet)
- Once you are done – cool. You have your arm built and ready to move. However at this point it is completely lifeless, since there is nothing to drive and control it.
Final product
If you finish your build successfully you should be able to see a device similar to this one. To verify the physical properties of your build make sure that movement of your servos feels natural just by moving them yourself. You should be able to move them freely within their natural limits without hitting any limits of the servos or the physical limits of the construction.
If you are impatient like I am, you will feel the urge to make it move right after the assembly. So get your Arduino compatible board, couple of wires and pick one of the servos to play with.
If you have zero previous experience with servos (like I did) I am happy to tell you that it is no problem. There is really nice tutorial on servos from Adafruit that will show you all the steps to make the servo move. But you basically need two things – breadboard layout and sketch. Following layout is taken from aforementioned Adafruit tutorial and shows a simple way to hook the servo up to your Arduino board.
Next, upload this sketch to your Arduino and watch the magic happen. Don’t forget to update the pin number you actually end up using in the sketch. And that’s it. Now you should see sweeping movement on given servo motor that serves as a nice proof of concept.
Adafruits sweep sketch
/* Adafruit Arduino - Lesson 14. Sweep */ #include <Servo.h> int servoPin = 9; Servo servo; int angle = 0; // servo position in degrees void setup() { servo.attach(servoPin); } void loop() { // scan from 0 to 180 degrees for(angle = 0; angle < 180; angle++) { servo.write(angle); delay(15); } // now scan back from 180 to 0 degrees for(angle = 180; angle > 0; angle--) { servo.write(angle); delay(15); } }
What is next?
It was great fun putting all the parts together and creating something with my bare hands. Great aspect of project like this is that you will be exposed to thinking about the product design and how your decisions influence the capability of the arm. Great thinking exercise for the future product designers. And it also kinda brings you back to the times when you played with Legos and toys like it. :) At this point you should be ready to take the next step and try to control several servos at the same time. This is going to be focus of my next post about this project.
Pictures used throughout this post were taken from following websites: thepihut.com, 4tronix.co.uk and hackaday.com. Feel free to check them out.
Reference: | Build your own robot arm – assembly from our JCG partner Jakub Stas at the Jakub Stas blog. |