Linear Variable Differential Transformers
I'm trying to figure out if the prop can be used as a simpler and cheaper control circuit to measure linear displacement with an LVDT. As I understand it, the primary coil in an LVDT must be excited with an AC sine wave, but MUST this wave swing both above and below ground? I'm wondering if it could be more of a pulsating DC that always stays positive from ground potential. An AC wave with a DC component greater than half of the voltage swing in other words.
What I'm trying to do is develop a very small, very cheap, low resolution position sensor which we will produce in house for a propriety machine control application. Plus or minus .010 inches is my idea of low resolution, so I obviously don't need the full extent of accuracy being achieved with commercial LVDT's. I was also considering a simple setup with a small magnet on a rod which slides back and forth inside a coil. The coil would be connected as one of the resistors in a bridge circuit, and the signal fed to an AD converter. I was expecting to use lookup tables to convert the ADC output into actual position displacement, so non-linearity is not an issue.
This position sensor must be of the frictionless non-contact type, so that it can last millions of displacement cycles, and that's why I can't use potentiometers or anything like that. We can wind our own tiny coils and make all the mechanical parts of an entire LVDT ourselves, so that's not a problem. The machine will have more than one Prop in it anyway, so what I need are comments about whether the prop could function as a low power method of replacing the other kinds of control circuits that people have been using for these types of position sensing devices. Our machine is battery powered so using low power electronics is important.
Any and all experts should feel free to spank me if I'm overlooking a better solution to this problem. I won't cry.
And "Thanks" in advance.
What I'm trying to do is develop a very small, very cheap, low resolution position sensor which we will produce in house for a propriety machine control application. Plus or minus .010 inches is my idea of low resolution, so I obviously don't need the full extent of accuracy being achieved with commercial LVDT's. I was also considering a simple setup with a small magnet on a rod which slides back and forth inside a coil. The coil would be connected as one of the resistors in a bridge circuit, and the signal fed to an AD converter. I was expecting to use lookup tables to convert the ADC output into actual position displacement, so non-linearity is not an issue.
This position sensor must be of the frictionless non-contact type, so that it can last millions of displacement cycles, and that's why I can't use potentiometers or anything like that. We can wind our own tiny coils and make all the mechanical parts of an entire LVDT ourselves, so that's not a problem. The machine will have more than one Prop in it anyway, so what I need are comments about whether the prop could function as a low power method of replacing the other kinds of control circuits that people have been using for these types of position sensing devices. Our machine is battery powered so using low power electronics is important.
Any and all experts should feel free to spank me if I'm overlooking a better solution to this problem. I won't cry.
And "Thanks" in advance.
Comments
Welcome aboard the Parallax forum! Here is a link that may interest you...
http://forums.parallax.com/showthread.php?p=598919
...If you have an existing circuit or front end in mind for your LVDT, then perhaps I could assist you.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Beau Schwabe
IC Layout Engineer
Parallax, Inc.
I really don't have an existing circuit in mind at the moment.
I'd been reading comments by deSilva - I think it was him who said it - something about how the real beauty of the Prop lies in it's ability to replace and eliminate lots of the components that used to be needed without the Prop. So anyway, I'm looking at an LDVT, and at the Prop, and I'm wondering how to get the position information into the Prop with as few components as possible in between them.
Exciting the primary with a 3.3 Volt square wave from a prop pin sure sounds like a good start. And 8 bits of (solid) resolution in the measured output would be plenty good enough.
I was really hoping there might be some established method out there that someone could point out by name so I could research it myself, or maybe even some object code written by someone who has already connected an LDVT to a prop before. But the two-coil device described in your link seems well worth looking into.
Thanks Beau.
If you already have an "off the shelf" LVDT, and you know the operating frequency range of the LVDT, then generating a frequency in that ball park from the propeller would be a piece of cake.
Since you would be using a fixed frequency, a simple parallel RLC tank utilizing the primary coil windings as the inductor would work out well in this case. On the output (secondary coils) wire them
in series with the windings in opposition to each other. The "center tap" of the two coils would connect to VSS/2. The two remaining Coil outputs could be connected in a similar configuration using my
joystick example... (<-- using opposing diode directions where the Coil and Capacitor share a common connection.)
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Beau Schwabe
IC Layout Engineer
Parallax, Inc.
We would actually be making the LVDT because of physical constraints which require that it be integrated into other tiny parts of a mechanism that just doesn't have room to "bolt on" even the smallest commercial unit available. (and these days they're pretty small)
You've awakened me to the fact that I can scrap the sine wave generator they normally want to sell you for exciting the primary, and just pulse it with a prop pin. Also it's great to see that I can forget about needing a negative voltage source for that.
So if I've got this straight, where you show the "excite" signal going into your two coil device, that's my grounded secondary center tap, which I'm actually going to maintain at Vss/2 using resistors as a divider. Then I've just got my analog output voltage to measure, which looks like it will surely be pulsating.
My LVDT's will be located far enough from the prop that I doubt I should even try to use Sigma Delta conversion. I'm thinking about a multi channel successive approximation ADC with a sample-and-hold input. That way, if I sample at exactly the right time - with the right timing relationship to the input pulses I'm feeding into the primary coil - I don't need to worry about smoothing out the pulsations in my secondary output signal. My ADC sampling freq would be the primary coil excitation freq divided evenly by some integer, like 50 or 100 or whatever the ADC can keep up with. But on every 50th or 100th pulse that I do sample, I just need to maintain an very consistent delay between the beginning of my primary excitation pulse, and the exact time at which I sample the output with my ADC. Sound sensible, or am I jumping off the deep end here ?
It looks to me like you must have had to deal with output pulsations in your device before getting a decent measurement of the signal. Am I right? If so, how did you do that? I'm wondering if just smoothing it out with a cap is a lot smarter. I'm also considering Desilva's VCO for ADC idea mentioned in another thread if I can smooth the secondary output enough.
And thanks again a TON for jump starting me out of all the head scratching I was doing on this lately.
Brian
Post Edited (Brian L) : 3/9/2008 4:24:23 PM GMT
"We would actually be making the LVDT"
Are you going with a standard 3-coil design, or 2-coil design? (< -for size)
"You've awakened me to the fact that I can scrap the sine wave generator"
You should have a sine wave going into the LVDT for the best efficiency.· Allowing the LVDT to be an active part of the resonate LC tank however can have the same effect as a sine wave on the input by·converting the square wave from the propeller into a sine wave within the LC (primary of the LVDT).
"My LVDT's will be located far enough from the prop that I doubt I should even try to use Sigma Delta conversion. I'm thinking about a multi channel successive approximation ADC with a sample-and-hold input."
The ADC conversion should be done in close proximity to the coils to eliminate any "antenna" effects.· The signal/control wires between the·ADC and Propeller can be as long as communication over the wires will allow.
"So if I've got this straight, where you show the "excite" signal going into your two coil device, that's my grounded secondary center tap"
If you are using a 3-coil design, then yes... the "excite" in this case comes from the primary coil.· Also with a 3-coil design, C1,C2,C3, and C4 (see attached image) would be omitted and the resistor values... R5,R6,R7, and R8 would·have lower values.
"Then I've just got my analog output voltage to measure, which looks like it will surely be pulsating."
You don't want the signal to the ADC to pulsate.· If you look closer into the ADC circuit within "Joystick.spin" (see attached) you will see that there are two capacitors in series.· One extreme end is tied to Vdd and the other extreme end is tied to Vss.· The "center" or common connection between both capacitors is connected to the input signal.· This front end approach to the ADC is adequate filtering for the incoming pulses.
"I'm also considering Desilva's VCO for ADC idea mentioned in another thread if I can smooth the secondary output enough."
I don't know how temperature stable this VCO-ADC approach would be without some sort of reference signal.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Beau Schwabe
IC Layout Engineer
Parallax, Inc.
Post Edited (Beau Schwabe (Parallax)) : 3/9/2008 11:39:32 PM GMT
"Are you going with a standard 3-coil design, or 2-coil design?"
1.) Three I think. The reason for a 3 coil design is that they have a physically fixed midpoint in their range that is always easy to find, and never moves regardless of temperature or other effects on the sensing circuit. It's sort of like having an end-of-travel limit switch that you use at startup to calibrate your initial position, except it's located at the midpoint of your travel range. In this application the midpoint is reached when the output signal equals Vdd/2. (If I'm thinking right)
~~~~~~~~~~~
"You should have a sine wave going into the LVDT for the best efficiency."
2.) For continuous pulsing I agree. Where I was really leading myself and didn't explain well was that I'm planning to have 36 LVDT's mounted very close to each other. Since I'm going to take position readings from each, one at a time, and also because I don't want them all generating magnetic noise and interfering with each other, I was wondering if I could send just one pulse to the primary of the one I'm going to read, then, after waiting through exactly the right delay time, I sample the voltage at the output, which would be a quick pulse that would be a delicate thing to catch at the right time. In this way, when I'm sampling one LVDT, the others are actually powered down and not making any noise. I also thought I could save power that way. The idea is that it's like the way you can send one pulse to an engine ignition coil, and then get just one output voltage spike for a spark plug, and just deal with them one at a time or at whatever freq you want without caring about the resonate freq of the coil circuit. But maybe this is all a bit too far fetched to actually make it work in the real world. Because exact timing for this idea would be so critical I thought the Prop counters would be a good high precision way to trigger when the ADC sampling would begin, assuming I have the ADC set up as a stand-alone unit that only waits for this start trigger from the prop, does the sample and conversion, and stores the result in a discreet 8 bit latch. My Prop program could then be quite sloppy about exactly when it later reads the data from the latch. But if my Prop program has the spare time to do all the work, or course I'll let it clock the ADC directly.
(More final comments about this idea below)
~~~~~~~~~~~~~
"The ADC conversion should be done in close proximity to the coils"
3.) Absolutely. If I have to scatter several ADC's around the machine to do this I can. They'll still be close enough for digital communication with the Prop.
~~~~~~~~~~~~~~~
"You don't want the signal to the ADC to pulsate."
4.) Yes I realize that is true and I was wondering how you solved it, and the picture you've attached makes that very clear now. Thanks. But as I was writing I was only just then having the idea about "single pulses" expressed in my point #2 above, so my references to smoothing the pulsations became a little unclear. If it should turn out that Idea #2 is too unworkable in the real world, I'll be sending continuous pulses to the primary coil, and doing what you did to provide something stable at the ADC input. I like your idea about using the LVDT primary to turn the square Prop pulses into a sine wave. That's a good one I wouldn't have thought of.
~~~~~~~~~~~
I realize now that the real beauty of the VCO - ADC method is that it is a very low cost solution for applications where cost is THE big issue. And for those applications it seems great, but my application is not that cost sensitive, so I think now that I'll sidestep the temperature stability issues and go with SA ADC.
Getting back to my (possibly unworkable) scheme in point #2 above: I know my output pulse will have a voltage that will vary with time, and vary quickly. I think I remember reading a long time ago about a buffer circuit that can track an input voltage, and then hold it's own output steady at whatever was the peak value of the input. This could present a steady input signal to my ADC during sampling. Ever hear of such a circuit ? If I can just remember the name of it I'd like to look that up for some reading.
I know I'm getting off the normal path of strictly Prop questions here, but my overall goal is to come up with a reliable "multiple LVDT" to Prop interface and then donate a cool Object to control it. And many more thanks for your continued interest. I was really needing to talk to someone who actually understands what I'm trying to do. That latest picture helped too !!!
Brian
"In this application the midpoint is reached when the output signal equals Vdd/2. (If I'm thinking right)"
Yes, that's correct.
"Since I'm going to take position readings from each, one at a time, and also because I don't want them all generating magnetic noise and interfering with each other, I was wondering if I could send just one pulse to the primary of the one I'm going to read, then, after waiting through exactly the right delay time, I sample the voltage at the output, which would be a quick pulse that would be a delicate thing to catch at the right time. In this way, when I'm sampling one LVDT, the others are actually powered down and not making any noise. I also thought I could save power that way. The idea is that it's like the way you can send one pulse to an engine ignition coil, and then get just one output voltage spike for a spark plug, and just deal with them one at a time or at whatever freq you want without caring about the resonate freq of the coil circuit. But maybe this is all a bit too far fetched to actually make it work in the real world. Because exact timing for this idea would be so critical"
The Propeller joystick is handled in this manor.... North and South coils are paired together to form one LVDT, and East and West coils are paired together to form the other LVDT.... each LVDT is pulsed/sampled one at a time.
Sending just a single pulse on an untuned coil is difficult, but it can be done.· Since you would be using two coils in a differential mode, it would not be necessary to provide a reference signal.· However, I might have sent you down the wrong path with the joystick LVDT method.· Here is a link to the Parallax object exchange that uses another approach designed around detecting multiple coils.· It's not necessary, but what you want to really consider, with sensing multiples of anything, is that the filter/sensing circuitry remain consistent throughout the various coils, sensors, etc.· In this design approach, adding more coils only requires the use of an I/O pin per coil... ALL of the supporting (handful) of electronics are fixed, and since they are used on ALL coils, every coil experiences the same treatment during measurements.
http://obex.parallax.com/objects/46/· ... Open COIL_demo.spin· for a schematic.
"I know my output pulse will have a voltage that will vary with time, and vary quickly. I think I remember reading a long time ago about a buffer circuit that can track an input voltage, and then hold its own output steady at whatever was the peak value of the input. This could present a steady input signal to my ADC during sampling."
Typically this is called a peak-detector....· The OUTPUT stage of the circuit in the COIL_demo accomplishes this with an open collector current mirror.· The operation of this circuit is simple.... the larger the inductor, the less effect the pulse has on the inductor because of the inductors opposition to change.· This opposition·is proportional to the value of the·inductor so we can use it to our advantage.· The opposite is true for a smaller coil.· This has an effect of translating the inductance value of the coil to a pulse width.· A longer duration (i.e. larger inductance) shorts (discharges) the cap to the positive rail, thus showing a higher voltage level on the output.· A shorter duration (smaller inductor) does not allow the capacitor to discharge to the positive rail as much, and thus shows a reading closer to ground.
"And many more thanks for your continued interest. I was really needing to talk to someone who actually understands what I'm trying to do."· - Coils/Inductors are one of my specialties, feel free to ask any questions.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Beau Schwabe
IC Layout Engineer
Parallax, Inc.
Post Edited (Beau Schwabe (Parallax)) : 3/10/2008 6:50:40 AM GMT
Many thanks, and I'll certainly be in touch as I progress on this.
Brian
Post Edited (Brian L) : 3/10/2008 3:01:50 PM GMT