Keyboard Encoder Project
First Posted Feb 11, 2008
I have been wanting to build a special keyboard for
a long time. I want to have a position encoder on each key so
that I can pretty much do anything that I could posibly want to do.
Position encoders are, however, very expensive. A linear
encoder with sine/cosine outputs are well, very pricey. I looked
into using diffraction gratings, but the pitch is far to fine.
And I don't know how to make my own. And then I found LVDT
(Linear Variable Displacement Transformers).
For more info...see:
http://en.wikipedia.org/wiki/Linear_variable_differential_transformer
Below, you can see a photo of the prototype I made. It consists of three sections.
The middle section is the primary winding.
The two end sections are the secondary. Ideally, they should be
identical, but wound in opposite directions. They are connected
in series, so the composite output is the differnence of the two coils.
The resistor you see is actually just a handle. I glued a ferrite
bead onto it that you move inside the transformer. When the bead
is in the exact center, you get zero volts of signal on the output.
As you move the slug from side to side, the voltage varies in
proportion to the posisiton, and the phase relative to the primary
winding indicates which side of the center you are on.
Commercial units cost about $250...but this one, which cost me about a buck, seem to work just fine for the application.
Plans are to processes the signals from these things with an FPGA and an AVR.
More, soon, I hope. The first keyboard I plan to make with be 3 octaves.
Here are some pages out of my lab notebook....
-Jim