Let's Make Robots!

Linear Servos

hey, anyone know where i can find a linear servo or actuator that is capable of pushing a piano key down :) Thanks!

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
Just found cheap solenoids at BGMicro. They do operate allow 100% duty at 5 volts, but they are pull types and would be drawing 1.85 A at that 5 volt level (2.7 ohm coil).
I'd go for pneumatic!

I found a page eventually by searching for "piano key force" (was on second page I think) on Google. It shows that a stroke for a piano key may go to depth of 1.2 cm, and require a force of 167.51 g-cm/s^2 to be depressed at an acceleration of of 1 cm/s^2. A basic HiTec HS-311 servo has a torque of 3024 g-cm (42 oz-in) and has a speed of 60 degrees in 0.19 seconds. So if you used a 5 cm arm on the servo, the end would travel about 5 cm in 0.19 seconds (equilateral triangle). You only need 1.2 cm of travel so you would have to limit the position travel in software.

They may just travel fast enough, but you should test for sure. If you have a hobby store around to get a servo, get one, and try putting an arm on one to see how well it depresses a key. I don't have a piano around, or I'd try it.  Servos seem to be a lot cheaper ($10 versus $20+) than solenoids and would use less power I think. There are even some cheapy micro-servos someone here mentioned for $4 each, though they have less torque than a standard, they are quicker.

How fast do you need it to be? Could you use the head-mechanism from old floppy drives? It use a stepper motor with a sort of worm gear to move the head forwards and backwards. I don't know if it is powerful or fast enough, though. You could copy the mechanism by putting a worm gear on a regular motor and use it to move the key-pushing-thingy
solenoids are quite expensive, i'd prefer linear actuators. You could give sparkfun a shot.

You could probably rig something up with a solenoid, that would be my first port of call i guess, also, you could use a regular servo, just get a high torque one instead of a regular one