Author Topic: Making an LVDT  (Read 1818 times)

0 Members and 2 Guests are viewing this topic.

Offline MuffinsTopic starter

  • Regular Contributor
  • *
  • Posts: 51
  • Country: gb
Making an LVDT
« on: June 16, 2024, 07:57:22 pm »
Hello all.

I have started a new project building an LVDT, drive circuit and sensing circuit.

At the moment I'm still in the early stages, I've got some components and a spool of 0.25mm magnet wire. I'm aiming for the stroke of the LVDT to be around 40mm with the movement being slow and without vibration.

I'm trying to decide on the driving circuitry but I am a little unsure of a suitable approach as I am not that experienced with analog circuits. From what I understand I should be putting a sine wave into the main coil with a frequency in the kilohertz range.

I've looked at some sine wave generation circuits, even making a wien bridge oscillator, but I'm not sure if sine wave generators based on op-amps will be able to provide enough energy to drive the coil. As I understand the sine wave should also have no dc components to avoid saturating the coil. Surely then something like a H-bridge would work quite well to produce an alternating current through the coil but the waveform with simple switching will be a square wave. I suppose with some PWM of the input to the H-bridge a sinusoidal average voltage could be made but would that be a good solution? I've seen the components of a DC square wave be filtered out to make a sine wave but that involves using a low pass filter, which I'm not sure would be suitable in this circuit.

What should I try next?
 

Online Doctorandus_P

  • Super Contributor
  • ***
  • Posts: 3535
  • Country: nl
Re: Making an LVDT
« Reply #1 on: June 16, 2024, 08:49:41 pm »
Edit / oops. I mixed up LVDS with another inductive sensor type and that makes my post below mostly not relevant. Unless maybe, you may be interested in other inductive sensor types too...



The simplest is probably to build a free running LC oscillator, and then just measure the oscillation frequency.

For the rest it all depends on what you want to do with your sensor. Do you want low resolution movement detection (for example in a harsh / dirty environment) or do you want sub micrometer resolution. LVDT's for those cost EUR700 or more, and I guess there is a reason for that. I am curious myself what resolution you can get with DIY methods though.
« Last Edit: June 17, 2024, 02:35:55 am by Doctorandus_P »
 

Online moffy

  • Super Contributor
  • ***
  • Posts: 1860
  • Country: au
Re: Making an LVDT
« Reply #2 on: June 16, 2024, 11:49:24 pm »
LVDTs come in all shapes and sizes, I worked on a typical one that used two coils driven 180 degrees apart and a detection coil that measured how far it traveled one way or the other. I assume you are just building a single coil and will be measuring the amplitude to detect motion or will you be using a differential coil/drive? A sine wave is preferred over a square wave because of parasitic capacitances which will mess with your signals if using square. If you are worrying about drive current then use an audio power amp ic as the driver, I assume you'll want a frequency below 20kHz. A Wein bridge oscillator driving a power amp ic should work well.
« Last Edit: June 17, 2024, 03:05:50 am by moffy »
 
The following users thanked this post: armandine2

Offline Conrad Hoffman

  • Super Contributor
  • ***
  • Posts: 1950
  • Country: us
    • The Messy Basement
Re: Making an LVDT
« Reply #3 on: June 17, 2024, 04:57:33 pm »
Look up the TI PGA970. Not sure of price or availability but the block diagram might be useful if you can't get the actual device.
 
The following users thanked this post: oPossum

Online Kleinstein

  • Super Contributor
  • ***
  • Posts: 14425
  • Country: de
Re: Making an LVDT
« Reply #4 on: June 17, 2024, 05:11:24 pm »
There is no real need for a sine wave. A slightly smoothed / slew rate limited square would be OK too. This is usually with some phase sensitive detector and for this one need a fixed phase reference signal - this gets easier with a square wave. Also a constant amplitude is easier with a square wave.

The question is a little how one wants do do the detection.  A question is what to do with the LVDS signal: if the signal goes to a ADC / µC anyway, one could as well directly read the AC signal and do the rectification / correlation in software.
 

Offline MuffinsTopic starter

  • Regular Contributor
  • *
  • Posts: 51
  • Country: gb
Re: Making an LVDT
« Reply #5 on: June 17, 2024, 05:31:51 pm »
Edit / oops. I mixed up LVDS with another inductive sensor type and that makes my post below mostly not relevant. Unless maybe, you may be interested in other inductive sensor types too...

I think part of the appeal for the choice was it would be interesting to build. They seem to have good response to movement and I like that they will be quite reliable.

I assume you are just building a single coil and will be measuring the amplitude to detect motion or will you be using a differential coil/drive?

I'm looking at a drive coil with coils on either side of it in opposition, I thought that was the only orientation from looking around online. I suppose that would be the differential coil/drive?

Nice recommendation on the audio amplifier IC. I was looking around earlier and found this one from TI, LM1875, do you think this would do well?

Look up the TI PGA970. Not sure of price or availability but the block diagram might be useful if you can't get the actual device.

I did come across these. Seems like the way to go later on, I'd like to put something together on a breadboard first though  :)

The question is a little how one wants do do the detection.  A question is what to do with the LVDS signal: if the signal goes to a ADC / µC anyway, one could as well directly read the AC signal and do the rectification / correlation in software.

How would you go about generating an AC square wave as a driver? As for the output, it would be great to get it to the point where it could be interpreted by a microcontroller. Initially I'd be satisfied just checking it out on the oscilloscope and playing around with it.
 

Online Kleinstein

  • Super Contributor
  • ***
  • Posts: 14425
  • Country: de
Re: Making an LVDT
« Reply #6 on: June 17, 2024, 06:43:27 pm »
One usually does not want a high drive power. The drive power will heat up the coil and this way reduce the accuracy. If enough turns are used one should get away with just 1 or 2 OP-amps (as H bridge) driving the coil. In a noisy environment one may consider a small audio amplifier, maybe TDA7052 (1W) / LM1877 (2W) or similar, but hardly more power needed.

For a rectangular signal an amplifier with RR output stage could also be driven to saturation and provide some slew rate limiting. A 50/50 square wave with bridge driven is usually low enough in DC. If needed a series capacitor could block the DC part.
 

Online moffy

  • Super Contributor
  • ***
  • Posts: 1860
  • Country: au
Re: Making an LVDT
« Reply #7 on: June 17, 2024, 11:52:02 pm »
I assume you are just building a single coil and will be measuring the amplitude to detect motion or will you be using a differential coil/drive?

I'm looking at a drive coil with coils on either side of it in opposition, I thought that was the only orientation from looking around online. I suppose that would be the differential coil/drive?

Nice recommendation on the audio amplifier IC. I was looking around earlier and found this one from TI, LM1875, do you think this would do well?


Build your coil or something closely approximating it and measure its inductance at the frequency you want to use, 1kHz, 10kHz etc. you can choose the frequency some what based on how responsive your output is needed. A higher frequency means a faster more responsive output, less delay, which is important for control loops. Once you have measured its impedance/power consumption at the frequency of interest you can work out what sort of power/ic you need to drive the coil. The drive voltage can be like 5Vp-p, the detection can be done with a synchronous detector or a micro and its ADC.
« Last Edit: June 18, 2024, 12:24:39 am by moffy »
 
The following users thanked this post: Muffins

Offline branadic

  • Super Contributor
  • ***
  • Posts: 2403
  • Country: de
  • Sounds like noise
Re: Making an LVDT
« Reply #8 on: June 18, 2024, 05:58:29 am »
We have made LVDTs in the past using rigid and flex PCBs instead of wound wires and instead of amplitude demodulation, which is fairly common, we use phase difference measurement, which is essentially a time measurement between two sinewaves of known frequency using TDCs. This gives a fairly linear signal in the middle of the measurement range and high resolution at the very same time, plus the signals are directly digital without the need of an ADC.

https://patents.justia.com/patent/9581425

-branadic-
Computers exist to solve problems that we wouldn't have without them. AI exists to answer questions, we wouldn't ask without it.
 
The following users thanked this post: doktor pyta, Muffins

Online moffy

  • Super Contributor
  • ***
  • Posts: 1860
  • Country: au
Re: Making an LVDT
« Reply #9 on: June 18, 2024, 06:39:03 am »
We have made LVDTs in the past using rigid and flex PCBs instead of wound wires and instead of amplitude demodulation, which is fairly common, we use phase difference measurement, which is essentially a time measurement between two sinewaves of known frequency using TDCs. This gives a fairly linear signal in the middle of the measurement range and high resolution at the very same time, plus the signals are directly digital without the need of an ADC.

https://patents.justia.com/patent/9581425

-branadic-

Since it's a patent, I guess the OP can't use any of the information to build one himself?
 

Offline branadic

  • Super Contributor
  • ***
  • Posts: 2403
  • Country: de
  • Sounds like noise
Re: Making an LVDT
« Reply #10 on: June 18, 2024, 06:52:30 am »
For private use there is no problem of building something based on a patent.

-branadic-
Computers exist to solve problems that we wouldn't have without them. AI exists to answer questions, we wouldn't ask without it.
 

Offline ealex

  • Frequent Contributor
  • **
  • Posts: 316
  • Country: ro
Re: Making an LVDT
« Reply #11 on: June 20, 2024, 04:18:27 am »
I've been working with LVDT's that have a different configuration: they're a big coil with a center tap.

Regarding PGA970: you need and NDA for the real datasheet ...
It's great when you get it to work - the documentation is somewhat confusing and I had trouble setting the build env. for the included CM0 core.

You can use it as a dumb peripheral, but the interface is slow - you need the CM0 core to implement some extra filters.

I've been thinking at some replacements for it - because of it's price and availability issues.
Something like a tayloe detector ( quadrature sampling ) and then basic DSP - not my strong point. but i need to start learning.

Interesting link: http://e2e.ti.com/cfs-file/__key/CommunityServer-Discussions-Components-Files/171/7127.TI-_2D00_-Signal-Conditioning-an-LVDT-Using-a-TMS320F2812-DSP.pdf
« Last Edit: June 20, 2024, 04:24:13 am by ealex »
 
The following users thanked this post: Muffins, ch_scr

Online moffy

  • Super Contributor
  • ***
  • Posts: 1860
  • Country: au
Re: Making an LVDT
« Reply #12 on: June 20, 2024, 06:58:42 am »
This Linear Technololgy note describes a nice simple LVDT interface: https://www.analog.com/media/en/reference-design-documentation/design-notes/dn362f.pdf
 
The following users thanked this post: Muffins

Offline MuffinsTopic starter

  • Regular Contributor
  • *
  • Posts: 51
  • Country: gb
Re: Making an LVDT
« Reply #13 on: June 20, 2024, 09:07:42 pm »
Found time to put a bit of work into this. I've drawn up the driver circuit schematic in kiCad, please see attached and let me know what you think.

I've gone with a wien bridge oscillator feeding into the LM1875 audio amplifier.

Will hopefully start putting together some coils tomorrow. I picked up a spool of 0.25mm enameled wire.
 

Online moffy

  • Super Contributor
  • ***
  • Posts: 1860
  • Country: au
Re: Making an LVDT
« Reply #14 on: June 20, 2024, 09:58:24 pm »
The LM1875 has a minimum supply of 16V, what you could do is use the second amp in the LM358 as a buffer for the oscillator, and remember to remove any DC bias across the coil, if you bias the coil to 0V just use an electrolytic in series with the buffer LM358 and maybe also a 50R resistor to prevent the LM358 output from oscillating and provide some short circuit protection. There is no need for C1, it removes the necessary DC bias for the LM358.:)
« Last Edit: June 20, 2024, 10:03:51 pm by moffy »
 

Offline ealex

  • Frequent Contributor
  • **
  • Posts: 316
  • Country: ro
Re: Making an LVDT
« Reply #15 on: June 21, 2024, 04:39:16 am »
i've found another interesting paper: https://eescholars.iitm.ac.in/sites/default/files/eethesis/EE13M050.pdf

they're using a center tapped LVDT and measure the inductance with 2 timers and a comparator.
 
The following users thanked this post: PCB.Wiz, Muffins

Offline MuffinsTopic starter

  • Regular Contributor
  • *
  • Posts: 51
  • Country: gb
Re: Making an LVDT
« Reply #16 on: June 21, 2024, 10:43:50 am »
Ah, well the 16v minimum voltage seems a little inconvenient.

Looking around, I've found another high current op amp OPA548T and placed it in the circuit instead. I'm thinking now, why have one op amp feeding into another high power op amp? Can't I just put the wien bridge oscillator directly on the high current op amp?

The LM1875 has a minimum supply of 16V, what you could do is use the second amp in the LM358 as a buffer for the oscillator, and remember to remove any DC bias across the coil, if you bias the coil to 0V just use an electrolytic in series with the buffer LM358 and maybe also a 50R resistor to prevent the LM358 output from oscillating and provide some short circuit protection. There is no need for C1, it removes the necessary DC bias for the LM358.:)

I'm not sure what you mean when you say use the second amp in the LM358 as a buffer, why would you want to do this? And how could there be a DC bias across the coil if the output of the power amplifier swings to -Vcc? Please excuse my limited knowledge on the subject, thank you for your input.
« Last Edit: June 21, 2024, 10:45:23 am by Muffins »
 

Online moffy

  • Super Contributor
  • ***
  • Posts: 1860
  • Country: au
Re: Making an LVDT
« Reply #17 on: June 21, 2024, 11:14:43 am »
Sorry, I missed the -5V supply, as such you can't use polar electrolytics for C9/C8, you should be able to get away with plastic film caps, and C1 makes sense then. Still a resistor in series with the output helps for testing/protection, it can always be linked out if desired. You could use the second LM358 instead of the OPA548, just depends on load current.
« Last Edit: June 21, 2024, 11:17:21 am by moffy »
 
The following users thanked this post: Muffins

Offline PCB.Wiz

  • Super Contributor
  • ***
  • Posts: 1643
  • Country: au
Re: Making an LVDT
« Reply #18 on: June 22, 2024, 04:56:54 am »
I'm thinking now, why have one op amp feeding into another high power op amp? Can't I just put the wien bridge oscillator directly on the high current op amp?

Perhaps you can, when you have a stable design.
In the meanwhile, best to separate the load from the oscillator, so they do not interact. Much easier to test.

Since this is for experiments, I'd choose a better opamp than the terrible LM358, use one half as OSC and one half as zero crossing for a sync detector driver on the coils.
A Sync detector with a low pass filter, acts like a narrow band filter, whilst a peak detector has poor mains / noise rejection.

You may find it useful to set up a switch to allow a change in test frequency.
 
 
The following users thanked this post: Muffins

Offline MuffinsTopic starter

  • Regular Contributor
  • *
  • Posts: 51
  • Country: gb
Re: Making an LVDT
« Reply #19 on: June 22, 2024, 07:19:57 pm »
Thank you, I don't think I understand though. What would be done with the output of the sync detector?

Do you have a preferred opamp you use for general purpose things?

I've made some progress today. I built a coil, see below. It's got 3 coils in line, 30mm long each and 3 layers thick of 0.25mm wire, putting each coil at around 360 turns. The tube is 14mm OD.
 

Online Kleinstein

  • Super Contributor
  • ***
  • Posts: 14425
  • Country: de
Re: Making an LVDT
« Reply #20 on: June 22, 2024, 10:12:18 pm »
The amplifier choice depends on the supply votlage and demands on the noise and drive level. Chances are the coils are more low impedance and thus more low voltage and rel. high current. For the start I would consider RC4558 or NE5532 as common types with low noise and reasonable speed to use a not so low frequency. The LM358 is a bit on the slow side, even for 1 kHz.
 

Offline PCB.Wiz

  • Super Contributor
  • ***
  • Posts: 1643
  • Country: au
Re: Making an LVDT
« Reply #21 on: June 22, 2024, 10:51:17 pm »
Thank you, I don't think I understand though. What would be done with the output of the sync detector?
You create a sync detector with analog switches and an inverting amplifier.
On + phase the positive amplifier is selected and on the negative phase, the inverting path is selected.
Thus you get a sync rectifier output, that can be averaged, and that cancels common mode injected noise.



Do you have a preferred opamp you use for general purpose things?
That depends on your final supply voltages and drive currents.
A drive resistor lets you experiment with voltage or more current-like drive.

I've made some progress today. I built a coil, see below. It's got 3 coils in line, 30mm long each and 3 layers thick of 0.25mm wire, putting each coil at around 360 turns. The tube is 14mm OD.
Nice.
The coils and core type/length will have far more influence on this, than the amplifier choice.
If you have a signal generator, you can get some quick curve-shapes from candidate coil designs, with a scope or voltmeter..

Another approach is two coils, current fed where the voltage developed is proportional to inductance.
Or you can make a local LR Oscillator using something like a 4060 + Analog switch that alternates each coil, every 2^N clocks, to convert L1-> Hi Time & L2 => Low Time, MCU timer compatible.

Do you plan to use a MCU with a lookup table to correct for the S curve errors ?
 
« Last Edit: June 23, 2024, 12:12:31 am by PCB.Wiz »
 

Offline PCB.Wiz

  • Super Contributor
  • ***
  • Posts: 1643
  • Country: au
Re: Making an LVDT
« Reply #22 on: June 22, 2024, 11:19:46 pm »
I've gone with a wien bridge oscillator feeding into the LM1875 audio amplifier.
I would suggest some minor tweaks to the Wien osc.

Move the trim pot from the opamp input, that's the most sensitive node, and lower its value so the trim pot is only fractional influence.
Connect wiper to either GND or the Opamp output.

That makes it easier to adjust and reduces the drift from the trimpot.

Choose low ppm resistors (which usually means low tolerance) and NPO capacitors (1% if you can get them) for Wien parts.
I'd also add a resistor in series with the clamps, so you have independent slope control - at low signal levels you want gain a tad above 3 and at higher levels, just under 3, so not too abrupt a gain change.
The conduction angle of the clamps multiplies that series R, so experiment and check with temperature sweeps.
It's a trade off between startup time and distortion.

An alternative design could use a two integrators oscillator, for sine/cosine drive of your outer coils and then the inner coil couples to sweep the phase angle.
Exact balance between the sine and cos coils gives 45 degree mid point
 

Online moffy

  • Super Contributor
  • ***
  • Posts: 1860
  • Country: au
Re: Making an LVDT
« Reply #23 on: June 22, 2024, 11:50:14 pm »
I've made some progress today. I built a coil, see below. It's got 3 coils in line, 30mm long each and 3 layers thick of 0.25mm wire, putting each coil at around 360 turns. The tube is 14mm OD.
Very nicely wound, very neat and even. Did you do it by hand or did you use some mechanical aids?
Using the inductance calculator at: https://www.66pacific.com/calculators/coil-inductance-calculator.aspx
The air cored inductance is around 626uH using the 360Turns, 3 layers at 0.25mm wire OD and 1.4cm diameter and coil length of 3cm. The inductance will only go up when you insert your core so you have a minimum load value now. So for 1kHz its about 3.93R and for 10kHz about 39.3R per coil.
« Last Edit: June 23, 2024, 12:21:09 am by moffy »
 
The following users thanked this post: PCB.Wiz

Online Kleinstein

  • Super Contributor
  • ***
  • Posts: 14425
  • Country: de
Re: Making an LVDT
« Reply #24 on: June 23, 2024, 06:30:55 am »
A first test would be with function generator and scope, to get an idea of the signal level (depends on the core) and also suitable core length. The form with 3 coils in series depends quite a bit on the core length.  The simpler form would be with only 2 coils side be side and the 3rd coild wound on top in the center, possibly all the way over the others.

For the drive and detect part one has the choice of driving the center and detecting the difference of the outside coils or the other way around. The difference is in how much it couples to the outside: the 1st version is better in suppressing external interference and the 2nd version produces less external long range field.

The generator does not need precision resistors / capacitors. However the caps should not be electrolytic or class 2 ceramics (e.g. X7R) - any film type or C0G ceramic should be OK.
If the final signal is going to a µC, I would not use a separate generator anyway, but use the µC to generate a square wave and then apply some low pass filtering to this. The drive signal does not have to be a good sine - a rounded square wave (to reduce EMI) would be fine too.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf