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.
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.
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.
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.