Coil spring as length transducer for Solenoid?

Go To Last Post
21 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I would like to use a solenoid

on which I would like to have some position feedback.
I came with the idea of connecting a thin long coil spring
to the mechanism.

From http://hamradio.nikhef.nl/tech/coildes.htm
Length: 20 >>> 40 ====> L=405 nH >>> 207nH
Diam: 2
Wnd: 46
it can be seen that selfinduction is inversely proportional to the springs length.

What minimal additional electronics and/or what software approach (to translate the changing selfinduction) is required as an input for an AVR?
I intend to PWM control the solenoid current.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

You could certainly procede as outlined, with the coil as part of the tuned element in an oscillator. You then square up the oscillator output and read its frequency.

An option might be a flex strip, of which a number are available at Spark Fun. Their resistance changes base upon how much they are deflected. One can put one of these in a resistor bridge and read it with an ADC. I suspect this would be both easier, and more reproducible, than the above approach.

JC

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

DocJC wrote:
You could certainly procede as outlined, with the coil as part of the tuned element in an oscillator. You then square up the oscillator output and read its frequency.

I have done some further researching: is a Colpitts oscillator http://en.wikipedia.org/wiki/Col...
the good starting point?

DocJC wrote:

An option might be a flex strip, of which a number are available at Spark Fun. Their resistance changes base upon how much they are deflected. One can put one of these in a resistor bridge and read it with an ADC. I suspect this would be both easier, and more reproducible, than the above approach.

JC

A yes, this http://dlnmh9ip6v2uc.cloudfront.... could do the job. But it takes (too?) much space / area :(

====================================================

I prefer the spring, for I could integrate that in my design. Very compact; the spring ends just need 2 wires.

If I connect a large capacitor (say 100uF) in parallel to the approximate 1mH inductance, then I will get a resonance frequency f=(1/2pi) * 1/sqr(LC) =198691 Hz. (Correct?)
AVR work: I could apply a step function to this circuit and then measure time for one cycle. Then let it decay for some time (say 1/10000s), and then do a new step + measuement. Accuracy/resolution: at the sprecified LC there are approxomately 200 clock pulses from a 20 Mhz Avr. If this works then the Colpitts oscillator could be avoided.
This is just the vague direction of my idea....
I think it can be done better.
Please comment / improve.

Last Edited: Wed. Dec 19, 2012 - 10:22 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

You would want the PCB with the oscillator very close to the coil, not connected with long wires.

Will the solenoid and coil be contained within a metal enclosure? If not, even waving your hand near the setup could change its frequency.

That said, it would be easy to build one and see how stable and reproducible the results are.

Building one or building many? Hand calibrating each one?

An option, space allowing, would be a micro switch or photo cell so that you could adjust the solenoid to two known points and measure the osc frequency at those two points, then extrapolate the remainder of the outputs.

JC

Edit: Typos

Last Edited: Wed. Dec 19, 2012 - 11:30 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

DocJC wrote:
You would want the PCB with the oscillator very close to the coil, not connected with long wires.

Will the solonoid and coil be contained within a metal enclosure? If not, even waving your hand near the setup could change its frequency.

That said, it would be easy to build one and see how stable and reproducible the recults are.

Building one or building many? Hand calibrating each one?

An option, space allowing, would be a micro switch or photo cell so that you could adjust the solenoid to two known points and measure the osc frequency at those two points, then extrapolate the remainder of the outputs.

JC


(Thanks for the photo cell /micro switch idea, but I prefer to work out the spring solution first.)
I would like to have the electronics at some 30 to 100cm from the solenoid + "sensor"spring. But they can be shielded.
I seek to lower the resonance (LC) frequency. That makes it easier to measure, and also less problems with "radiation". The spring's L=~1uH, cannot be changed much. Larger capacitors like 1000uF or more would help. Can I use elco's here?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

It seems like a spring would have high resistance, and coupled with low inductance measurement may be difficult.

A beryllium copper spring will significantly reduce the resistance, however I still think measurement will be difficult using AVR for a low cost solution.

A slide pot (linear pot) may work and be low cost.

Another option is, for stable loading, the solenoid slug travel is proportional to PWM. It might be possible to control position open loop.

It all starts with a mental vision.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:
(Thanks for the photo cell /micro switch idea, but I prefer to work out the spring solution first.)

I did not state this concept very clearly. I suggested adding the exact position sensor to allow one to calibrate the system in software, no manual intervention needed.

Start with PWM 0% and increase to 100%, as the position sensors trip you measure the osc frequency. Then use those two know (position, frequency) data pairs to extrapolate the rest of the curve. This eliminates many small variables, eaact coil tension (length) at various positions, coil's exact diameter and mounting variables, wire to PCB inductance, capacitor's exact value, etc.

Open loop positioning, as mentioned above, might work well if the solenoid is much mpore powerful than the counter-load it is working against.

JC

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Isn't there a way to use the inductance of the solenoid itself for position feedback?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

jayjay1974 wrote:
Isn't there a way to use the inductance of the solenoid itself for position feedback?

Good call. Just wasted a fascinating five minutes looking this up. It seems the favoured way is to drive the solenoid with a PWM signal and measure the rise time of the PWM leading edge. Very clever.

John

Four legs good, two legs bad, three legs stable.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

John_A_Brown wrote:
jayjay1974 wrote:
Isn't there a way to use the inductance of the solenoid itself for position feedback?

Good call. Just wasted a fascinating five minutes looking this up. It seems the favoured way is to drive the solenoid with a PWM signal and measure the rise time of the PWM leading edge. Very clever.

John


?

No, I want to measure the rise time of the inductor formed by the additinal spring.

It is a displacement indicator.

The purpose is to maintain a position of the solenoid core at a preset % of the full stroke, independant of the load force.

(@Jayjay) I think the changing load force makes it impossible to use information from the solenoid itself to derive position information?
If you disagree I would be most interested to know the (theoretical) principle.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Yes, but the inductance of the solenoid changes with the position of the plunger.
That's the whole point of what Jayjay posted!
I like your spring idea, by the way, but why add extra mechanical parts if you don't need to?

Four legs good, two legs bad, three legs stable.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Shirley a regular servo would be a simple solution. Just convert to a linear stroke from the rotary actuator.

If you want a 'sensitive' frequency detector, you would create a heterodyne with a crystal oscillator. e.g. just like your regular superhet radio. The AVR can detect the beat frequency.

I suspect that the whole arrangement would be very unstable. Foreign objects will affect the inductance. Temperature, humidity and atmospheric pressure will also change the resonant frequency.

The PWM + risetime method seems quite neat. I guess you can adjust the resolution / stability in software. Do you have any links for this method?

David.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:
The PWM + risetime method seems quite neat. I guess you can adjust the resolution / stability in software. Do you have any links for this method?

David.


No. I googled for "Solenoid inductance position feedback" or something very similar, got a few patent apps. and things.

Sorry to hijack your thread, gdhospers.

John

Four legs good, two legs bad, three legs stable.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

John_A_Brown wrote:
Yes, but the inductance of the solenoid changes with the position of the plunger.
That's the whole point of what Jayjay posted!
I like your spring idea, by the way, but why add extra mechanical parts if you don't need to?

OK, I got that, but... when at the considered postion the load is changing, then the inductance will change too because of operating at an other point in the magnetisation curve, I would think.

This looks interesting (I think it is like Jayjay's suggestion): http://158.132.178.85/norbert/Pa...
However, there is an LVDT (= position sensor) in figure 6 "Setup of the control system". It is not clear to me if this LVDT is an essential part in their control system.
Or is the LVDT only used as a measuring device in their laboratory?

EDIT:
In the C007.pdf there is talk about "Flux linkage".
Seems to be a "magic formula".

                        2
       2         -(X/Xc)
      i   L  X  e       
F = -----------------------
                2
              Xc

More about that here:
http://ocw.mit.edu/courses/mecha...
Related solenoid notes: http://ocw.mit.edu/courses/mecha...

Last Edited: Fri. Dec 21, 2012 - 01:50 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

As a low cost, easy to implement solution to this problem I used a conductive RF gasket material which is available in a form of a monofilament string.
It is elastic and the resistance change versus elongation is significant.
A couple of issues to consider:

1) resistance is non linear since the volume of the filament is constant so that during elongation both crosssectional area and length change imparting it a non linear characteristic.

2) since this is a polymer with some mechanical hysteresis it exhibits some short term memory so that fast realtime measurements need to be corrected for non uniform distribution during elongation process. It may be OK for Your needs.I was looking at measuring position of a capsule in real time over a distance of 300mm and a time frame in the order of 20 milisecond.

The sensor was to be used immersed in water. Normally sea water would play a major factor in a measurement like this.
How ever the sensor range of resistance ( a couple of hundred ohms) was low enough not to be affected severely by external environment.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

ignoramus wrote:
As a low cost, easy to implement solution to this problem I used a conductive RF gasket material which is available in a form of a monofilament string.

Thanks for your idea.
Is it this kind of stuff?: http://www.gasketsheet.com/english/pro_01.htm

That could also be used as a pressure sensitive sheet then, I guess. So one could make a DIY Flexforce sensor (Doc JC's suggestion).

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Your original idea is quite good as well actually :!:

And if you connect the coil with a coax to the circuit as used in this LC-meter, you don't have to have the electronics close to the coil. ( @JC: was good advice but with this trick it can be overcome)

A GIF is worth a thousend words   They are called Rosa, Sylvia, Tricia, and Ulyana. You can find them https://www.linuxmint.com/

Dragon broken ? http://aplomb.nl/TechStuff/Dragon/Dragon.html for how-to-fix tips

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I wonder in what way an air coil made of magnetic material (steel) is different from a copper wire coil.
Does it have the same selfinductance?
I would almost think so, because the field lines are going around and not through the wire, so the material of the conductor doesn't matter (???)

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

When I worked for the simulation joint that beat their sowrds into plowshares and made a couple million making icecream machines and snapple vending machines we wanted to know that the vending solenoid was 1)drawing current (not a short, not an open) and 2)that the plunger was pulling in after some ms (not stuck), and 3)that it was springing back closed after the bottle dropped. When the plunger is out (solenoid off) the L is small. So there is a measurable L/R rise time. Turn it on, read the current sense a/d. When the plunger is pulling in, the L is going up, so the L/R rise time is getting bigger. I guess this is easy to see on a scope with a squarewave generator and a power supply and a series resistor and a solenoid. The slope of the current isn't a pretty textbook rising exponential. I betcha you could read the current at different ms during the stroke and figger out where the plunger was. Empirical.

Imagecraft compiler user

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

bobgardner wrote:
When I worked for the simulation joint that beat their sowrds into plowshares and made a couple million making icecream machines and snapple vending machines we wanted to know that the vending solenoid was 1)drawing current (not a short, not an open) and 2)that the plunger was pulling in after some ms (not stuck), and 3)that it was springing back closed after the bottle dropped. When the plunger is out (solenoid off) the L is small. So there is a measurable L/R rise time. Turn it on, read the current sense a/d. When the plunger is pulling in, the L is going up, so the L/R rise time is getting bigger. I guess this is easy to see on a scope with a squarewave generator and a power supply and a series resistor and a solenoid. The slope of the current isn't a pretty textbook rising exponential. I betcha you could read the current at different ms during the stroke and figger out where the plunger was. Empirical.

I do not mean the L of the solenoid, but the L of the steel spring that I wanted to use as a length indicator. Does that air coil have different L for steel vs copper?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

You could measure it. Make a rl lopass filter, feed a sinewave into it and see if the 3db freq changes as you stretch the spring. More space between windings, less coupling, less L. I think. My idea doesnt need the extra part if it works.

Imagecraft compiler user