For awhile now, I’ve been wanting to experiment with Linear Variable Differential Transformers (LVDT), but I’ve never gotten around to buying one to play with. Recently, I got the notion to build one from scratch, using simple materials. I call it the McLVDT because one of the components is a McDonalds soda straw. More on that later, but first a little background on LVDT’s.

LVDT’s are used to measure linear displacement. In other words, to measure motion in a straight line. They come in a variety of different sizes and capabilities, and usually look a little something like a shock absorber for a car, in that there is an outer cylinder, and an inner rod or piston that moves in a straight line inside.



An LVDT is basically very much like an ordinary transformer you might use to step up or step down AC voltage. There are a couple of key differences though. In the image below, note that there are 3 coils in this transformer, one primary coil and 2 secondary coils. Also note that there is a moveable core inside that can be shifted left and right. This serves to concentrate the magnetic field and assist in coupling energy from the primary coil (where the signal is applied) to the secondary coils. When the core is moved left and right, it causes a difference in the amount of energy that gets coupled to each of the secondary coils. It is this difference which is measured to determine the position of the core.


The animation below shows this in action. Note how the secondary coils are connected to each other. They are connected such that when equal amounts of energy are couple to the secondary coils, the signals are cancelled out, giving (ideally) zero volts AC from the secondary coil circuit when at the center position (bottom waveform below). When the core is moved to one side, an imbalance is produced, which produces a signal proportional to the distance moved. By measuring the amplitude (to determine distance) and phase relative to the signal applied to the primary coil (to determine what side from center we are on), the position of the core can be precisely determined.


There is lots of information on the subject that can be found online. The following is a page from this pdf file I found online.




Now, on to building our own! The picture below shows our main ingredients. This is built from 2 soda straws, some magnet wire, and some tape. The red striped straw is the "McStraw"and will serve as our outer cylinder, and the smaller "normal" straw will be our piston. I’m applying a slight twist to this design. There will not be a ferrite core, but rather I will be placing the primary coil on the green straw, taking the place of the ferrite core as the moveable element. The end effect is the same, in that when the primary coil is centered under the secondary coils, the secondary coil circuit will produce the minimum signal, which ideally will be zero volts AC.


The photo below shows the first secondary coil. This is about 6 feet of magnet wire.


The next photo shows all of the coils wrapped. The red straw has 2 secondary coils, and the green straw has a single primary coil made from about 12 feet of magnet wire. It’s really not too hard to wrap these. Just tape one end, wrap the wire, and tape the other end.


Next, we connect probes to measure signals. Here, I have connected a signal generator to the primary coil. I’m applying a sine wave at a few hundred KHz. This is not a very efficient transformer, given that the number of turns is low, it has an air core, and the layers are not tightly coupled. Higher frequencies work better. A sine wave with a zero volt DC component is needed (no DC offset). I’ve got a dual channel oscilloscope connected to the 2 probes, such that I can measure the 2 secondary signals separately, or add them together on the scope. I’ve got my ground lead on the scope connected to the junction where the 2 coils are joined, as illustrated in one of the figures above.


Take a look at the signals from the 2 coils. They are equal in amplitude, but 180 degrees out of phase. When they are added together, they will cancel out. The primary coil is directly centered under the secondary coils.


The next shot shows the signals added together, producing nearly 0 volts AC. Ideally it would be zero, but circuits are  rarely ideal 🙂 This is the minimum voltage I can get, and it represents the center position.


Now I’ve moved the primary coil to one extreme of the useful range of the device. The combined secondary coils produce the maximum voltage. If I move the sensor to half way between center and the outer limit, I’ll get half the AC voltage.


I’ve put together a short video showing some of the elements discussed above.

Thanks for looking!


3 Responses to “McLVDT”

  1. 1 Thomas
    December 1, 2009 at 5:52 pm

    This is great! I’ve been looking for information like this to build automatic adjustment of the headlights for my car. I’m gonna try build something similar when I get to work tomorrow!

  2. May 4, 2010 at 8:54 pm

    Nicely done!

    I’m a newbee but I’m interested in making an LVDT that can basically know where it is on a 3 inch scale with an accuracy of .1 mm. I’m probably dreaming but, it seems that even if the output voltage is not susceptible to a simple equation, I might be able to calibrate it mm by mm as needed.

    I may be in for a rude awakening but thanks for your inspirational work! – Rick

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

Kevin Rouviere's Photos


%d bloggers like this: