Previously, I experimented with using solenoids to control finger movement on the robotic hand. This proved to not be suitable – the solenoids which were powerful enough to move the finger were big – which meant heavy, and also drained power too quickly.

I bought some servos from Amazon – these weigh 9g, and are rated as 1kg/cm, which means that the motor will stall (i.e. not move) if 1kg is applied at 1 cm from the centre of rotation.

servo
From Amazon

I decided to control these with an Arduino – this was pretty simple. I connected the red wire to the +5v of the Arduino, the black wire to GND, and I connected the orange wire to Pin 9. The Arduino programming environment ships with a program for a servo already – you can find it at File -> Examples -> Servo -> Sweep. This just makes the servo rotate backwards and forwards from 0 degrees to 180 degrees.

In order to test this with my robotic hand, I designed another jig – this one was a bit more complex than the previous one because the servo isn’t symmetrical.

Servo bracket

I printed this out, connected one of the fingers from last time and attached the servo and arduino. This proved to be much more successful.

WP_20160304_19_18_58_Pro

WP_20160304_19_19_09_Pro

Instead of snapping shut, and then depending on a spring for the return motion, the servo allows me to open and close the finger’s movement in a much more controlled way – I can actually specify its position in degress from 0 to 180, which gives a much smoother movement. The servo is way lighter than the solenoid, and also much smaller – so I’ve a much better chance of fitting 5 of them into a robotic hand.

Next time I’m going to re-design the palm of the hand and attempt to fit 4 servos, so that I can control each of the fingers individually.