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