A few months ago a fellow member of MTRAS posted on our Facebook page a link to a robotic arm project. The article poster / builder used a design that was previously posted as open source to Thingiverse.com. I took a look and thought that it would make a fun project that would be simple enough to follow but also challenging enough to be rewarding. So I decided to give it a shot.
***UPDATE***
My goal was to complete this project before the Nashville Mini Maker Faire in which, our group would be participating. Since this would be one of my first solo robotics projects and one of the first electro-mechanical projects I've tried in 13 years, I knew that this would be a challenging timeline for me.
The original project designer lived in Europe and subsequently used metric measurements and materials common there. For example the pressboard he used for the body was a standard of 5mm thick. Similar material here in the US is 1/8" which is about 3.7mm thick. This left a gap in the openings that were originally designed to be press fitted. Rather than correct the drawings I simply used Gorilla Glue to secure these joints.
He also used M3 threaded nuts and bolts which are not standard at your local hardware store in the US. Rather than convert these to locally available options, I simply ordered the hardware online as shown in my parts listing below.
I am a member of the Middle Tennessee Robotic Arts Society (MTRAS) and we have members who own laser cutters and 3D printers. Almost all of the parts for this arm were cut from 1/8th inch acrylic The two joint bearing spacers do need to be printed, however. Also, the original designed called for the two joint spacer bases to be 7mm tall to the bearing shaft. When I began assembly of the upper arm it became quickly clear that these were too tall due to the height of the TowerPro servos. I had to have new joint bearings made with a base of only 3mm tall, which, by the way, was still a bit too tall but managable. You will want to take note of the relative height of your servos and account for the distance between the two lower arms:
Servo height + servo horn + joint bearing + double sided tape = 47mm +/- 3mm.
See below for thanks to those who helped with this project.
Before you begin, make sure to center all of your servos! If at any time during construction, if you manually move the position of the servo, you will need to recenter it before securing it to the frame. This is especially important with the shoulder servos which always need to move in unison.
Assembling the arm turned out to be fairly straight forward. The steps I used are as follows:
The Pololu Mini Maestro's pins can be used as both inputs and outputs so I used pins 0-5 to control the 7 servos. I used Pins 6-11 as analog inputs from the 3 joystick controls. How did I control 7 servos with 6 pins and why? The two shoulder servos must move in unison in order to lift the upper arm properly so rather than attempt to send the signals to each servo individually, I used the half sized breadboard to route the power, ground and signal out to the pins of both servos together at once. Also, I needed the pin that the second servo would occupy as an input.
The Maestro board uses the raw power supply voltage to power the power and ground rails which poses an issue for a stable voltage through the variable resistor in each X,Y coordinate of the three controllers. The controller board also has a regulated 5 volt output as well. I pulled this output line from the board over to the + rail on the breadboard to power the reference lines to each of the joystick breakout boards.
The Maestro uses code similar to assembly language and the code listing is shown below.
Code Listing for Robotic Arm6.32 KB
I want to thank the following folks for their help on this project:
By accepting you will be accessing a service provided by a third-party external to https://andrewhoover.info/