MeArm (III) – Mechanical structure I


At this point, we are certain about our servos working properly. So now it’s a good time to start building the structure of the robot: The most important thing you have to do now is to be sure that your instructions to build your MeArm are the ones for your version of the robot. MeArm has been improved since the first the first version V0.1 and, if you don’t get correct set of instructions, you will be cursing in no time when parts or screws don’t match between what you have and what you should have. My version of the mearm is V0.4, and the best instructions I found come from the instructable written by the very own creator of the robot so, I guess that it is a trustworthy source.

Because you may have a different version and there’s already a good set of instructions on how to build the robot with plenty of pictures, I will just comment every step of the building and mention what I think that you should keep in mind and/or what problems I did face.

First step: The base

Finished base
MeArm: assembled base with servo attached

The base building is very straightforward, which is nice being the first step of the building. Just remember to not over tighten the screws and get the correct position for the collar of the servo. Check the aperture for the wires, pass first the wires and then get the collar firm to get the servo firmly attached to the base. You will do the same for every servo in the robot.

Left hand side servo attachment

MeArm, left hand side servo attached.
MeArm, left hand side servo attached.

Remember that this is a robot, so the most important thing here is that parts should be able to move easy. I would recommend not to tight too much all the parts related with the servos, not even the lever to the servo motor. We will test the servo with load soon but remember to test with your hand that you have the same limits than in the instructions.

Right hand side servo attachment

MeArm, right hand servo attached
MeArm, right hand servo attached

Very similar as in the previous step be careful when tighten the screws and check that you have the same limits than in the instructions. The additional lever on this side should be able to move freely as well.

Testing the servos with small load

Again, you probably want to skip this part but you should not. This is a very quick test that can help you know if you have tighten too much the levers to the servos or, in a very bad case, if you have destroyed the servo with the screws (it is difficult, but it may happen). Load the first program from the previous post (there is a copy of the program at the end of the post) and just connect the servo to the Arduino for both power and control as in the pictures (red wire connected to 5V, white to GND and the yellow wire to pin number 9):

MeArm left test servo attached for test with small load
MeArm: left hand servo attached and ready for test with small load
MeArm, right hand servo attached and ready for test with Arduino Uno
MeArm: right hand servo attached and ready for test with small load

Run the program and using the serial monitor from the Arduino IDE set different angles to the servo to see how it moves, be careful because this program moves the servo quite fast. Don’t forget to check the limits (that is, values close to 0 and 180 degrees) to see if you have the full range of movement. If when checking this limits the servo shakes a little bit, just try to reduce 5 to 10 degrees and check again. If the servo doesn’t shake anymore, you are probably fine and you can carry on with the next steps. Usually you expect the servos to have a full range from 0 to 180 degrees, but cheap servos might only go close to this range.

However, if the servo shakes no matter what angle you set, try to loosen a little bit the screw attaching the servo to the lever and check again. With this load the servo should not be draining too much current from the Arduino (this may happen later and we will solve this using capacitors), so the main reason of the shaking is probably the lever screws being over-tighten.

The code to move the servo using the serial port I used in the previous post is the following one: