1
\$\begingroup\$

Piano technicians, such as myself, use an old, labor intensive way of measuring touchweight resistance in piano keys. I would like to automate this process electronically.

This is an explanation of the manual process I'm trying to automate.

A piano technician places successive 2 grams weight increments on top of a piano key until it begins to move downward. Then at the moment it begins to move downward he records the gram weight value, usually 25-50 grams (this is the downweight). Then he takes off some weight until the key rises again (this is the upweight).

Here is a explanation online - with a video. https://www.youtube.com/watch?v=HAYnD1CWwjA

How would you go about making a project which charted these two values and did it electronically?

What would the electronic action of "key pressing" look like? How could I approximate the manual procedure?

How should I start a project like this? what do I need to know, other than what I've already found out below?

This is what I currently know or have researched.

It should measure the downweight and the upweight through the keystroke (usually between 3/4 to 5/8 inch key dip).

According to what I've researched, I would use some kind of strain gauge / load cell, and perhaps a servo or solenoid to press down the key electronically. This would presumedly be connected to an arduino, or raspberry pi which would be programmed to interpret the results.

\$\endgroup\$
4
  • \$\begingroup\$ Why not use a solenoid with a LVDT sensor? \$\endgroup\$ Commented Sep 1, 2015 at 5:16
  • \$\begingroup\$ I'll have to further investigate that possibility. Thanks for the suggestion. \$\endgroup\$
    – Cody H.
    Commented Sep 1, 2015 at 6:11
  • \$\begingroup\$ Yes, a load cell. You need to use some type of actuator which can slowly increase force until motion occurs. At the moment the key starts to move down (and you would have to detect when that happens), you note the force on the key. After 5/8" of travel, the actuator would stop, and you would measure the force again. You could also do this manually much more quickly with a small force probe. Kind of a scale type thing in reverse. \$\endgroup\$
    – user57037
    Commented Sep 1, 2015 at 17:28
  • \$\begingroup\$ Thanks Mkeith. Your suggestion is very helpful. I also thought of the problem as a kind of "scale in reverse". Detecting the exact moment it moves would present an additional level of electronic difficulty. Maybe a small force probe would be adequate ( manually recording the force at the moment the key moved). As long as it was faster and more accurate than stacking weights it would be an improvement. \$\endgroup\$
    – Cody H.
    Commented Sep 2, 2015 at 5:31

1 Answer 1

0
\$\begingroup\$

Here's an idea: use two levers, one driven by a gear motor or large RC servo, the other resting on the key, rotating on the same axle, connected to each other with a spring. Think of something along the lines of the non-clamping end of a clothespin, just a lot bigger and less stiff. The idea is that the spring with convert the position of the driven lever into a force based on the separation between the two levers (F = kx). Measuring the force can be done in a couple of different ways. The most straightforward would be a load cell between the lever and the key. Another option would be to measure the length of the spring, perhaps with encoders on both levers, and then calibrate the spring with a scale so you can get the corresponding force for the measured separation of the levers. It would be possible to use potentiometers as encoders since you don't need continuous rotation. You will also need to measure the position of the free (non-driven) lever continuously so you can figure out exactly when it starts moving.

There are two ways of using it. The first is open loop, where you simply run the driven lever through one complete cycle while logging the position of the free lever and the force applied to the key, and extracting the data afterwards. The second method is closed loop, where you run the motor until the key starts to move, record the force at that point, run it a bit more until the key stops, then reverse, and measure the force when the lever starts to move back up again.

\$\endgroup\$
3
  • \$\begingroup\$ Wow, that's a fascinating way of thinking about/solving the problem. I'm still not sure how you would measure the "position of the free (non-driven) lever", so that you could capture when it began to move. Also, hopefully, the rig would be able to be moved from key to key, and also work with black keys which are thinner and positioned differently. Maybe it could be attached similar to the Jaras Key-Leveling device. balaams-ass.com/piano/keylevelingdevice.jpg \$\endgroup\$
    – Cody H.
    Commented Sep 7, 2015 at 4:55
  • \$\begingroup\$ Well, depending on how it's mounted, you might be able to directly connect a potentiometer to the shaft. Another option would be a stiff wire linkage to a short lever on the pot. The linkage option might be the most reasonable. As for moving between different keys, I think that should be pretty simple. Just make sure that there is enough clearance to reach the black keys, then sweep it along the keyboard twice: once for the white keys, then again for the black keys. You might consider mounting it on a slide rail of some sort so you can scoot it from key to key. \$\endgroup\$ Commented Sep 7, 2015 at 18:19
  • \$\begingroup\$ Thanks for the help, I'll have to model it in some program, like sketchup, or draw it out by hand, to kind of get a feel for how it might piece together. I'll be sure to send you an update link when I do. I appreciate the sage advice and the time you took to work this idea through. \$\endgroup\$
    – Cody H.
    Commented Sep 8, 2015 at 4:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.