Inductive sensing: Linear position sensing (Part 2)

In my last blog post, Inductive Sensing: Linear position sensing (Part 1), I demonstrated how to implement a linear position sensor using a triangular target and a spiral coil. While good resolution can be achieved with this approach, it requires that you measure a target that is longer than the travel distance. In situations where the target size for this approach is prohibitive, you can use a smaller target with an irregular coil instead.

For situations in which the target must be small, I designed a rectangular coil with larger loop spacing on the right side as compared to the left (shown in figure 1). This coil produces a non-homogeneous magnetic field, which can be utilized for linear position sensing using an inductance-to-digital converter (LDC), such as the award-winning LDC1000.

Figure 1: PCB coil that produces non-homogeneous magnetic field – the image from the PCB layout tool is shown for clarity

The coil is a 2-layer PCB with 5 mil (0.127mm) trace width and spacing. It has 23 turns per layer and measures 100x12.5mm. On the left side, the traces for each loop are spaced 5 mil (0.127mm) apart. On the right side, I added a loop stepping of 4mm.

The result? The sensor coil produced a magnetic field that was strongest around the center loop and decayed towards the right side of the coil.

My target was a 24mm wide piece of aluminum. While wider targets consume more space and limit the total usable travel range when compared to narrower targets, they produce a larger inductance shift and provide excellent resolution.

For my evaluation, I placed the target at a 4mm distance from the coil to the PCB coil. Placing the target close to the coil creates a large inductance shift from the center of the coil to the right edge. Similar to my experiment with the triangular target, I moved the target from position 0 (left-hand side of the coil) to position 100 (right-hand side of the coil) in 0.5mm steps. Figure 2 shows the measured data.

Figure 2: Linear slider position vs. measured inductance

 The data showed that the first 5mm should not be used for an absolute position sensing application, because they represent the area left of the coil center where magnetic field lines are less dense than at the center. In the last 10mm of travel range, the magnetic field strength is very low, so sensing accuracy is reduced.

The data samples I collected along the remaining 85mm of travel are monotonic and can be used to precisely determine the position of the metal target. During this travel range, inductance increases from 73.1μH to 84.9μH.

There are two ways to linearize the output. One approach is to space the coil loops to the right of the coil center in a non-linear fashion, such that they produce a linear output with the chosen target at the desired target distance. However, it’s usually easier approach to linearize the data output in software.

Inductive sensing is a powerful technology that provides accurate, non-contact linear position sensing. In this two-part blog series, I explained that you can design such a system by using shaped targets or by using asymmetric coils.

If you have questions about anything mentioned in this two-part series, please leave a comment below. Feel free to also search for answers and get help in our Inductive Sensing forum.

Additional resources:

Anonymous
Parents
  • I was looking for linear position detection method based on various physical phenomenons and described attempt looks very interesting. I wonder if it's possible to extend the coil length up to 32cm and still have good results - I need minimum 0,1mm resolution. My idea (and need) is to make double layer flex circuit of about 32x2cm size and stick it inside PE/PVC pipe with internal diameter about d=16mm. I would like to know the position of another, smaller in diameter pipe (it could be either aluminium, metal or PE/PVC with metal ring on one end) sliding out of pipe with sticked coil. Unfortunately WEBENCH tools have only circural, square, hexagonal etc. coils examples with same width and height. My example is even harder to analyze because coil will be additionally arcuated. From your experience it will be better to have metal or PE/PVC (with metal end ring) pipe inside to detect position? Regardless internall pipe material, it's not empty, there is a metal spring inside, that tries to pull smaller pipe back in. Probably sounds complicated :-/ Looking from outside through layers there would be:

    1. external PE/PVC pipe, internal diameter d=16mm, about 2-3mm thick

    2. flex coil, 32x2cm, arcuated and sitcked to external pipe over length

    3. internal pipe, external diameter D=15mm, can be PE/PVC, metal or aluminium, depends on which will be better

    4. metal spring, external diameter D=8-10mm

    The problem is that metal spring will probably affect coil inductance. It's distance from coil is larger than internal pipe side but it will additionally extend proportionally when pipe slides out. All this probably will affect linearity but as long as it's monotonic it can be compensated in software.

Comment
  • I was looking for linear position detection method based on various physical phenomenons and described attempt looks very interesting. I wonder if it's possible to extend the coil length up to 32cm and still have good results - I need minimum 0,1mm resolution. My idea (and need) is to make double layer flex circuit of about 32x2cm size and stick it inside PE/PVC pipe with internal diameter about d=16mm. I would like to know the position of another, smaller in diameter pipe (it could be either aluminium, metal or PE/PVC with metal ring on one end) sliding out of pipe with sticked coil. Unfortunately WEBENCH tools have only circural, square, hexagonal etc. coils examples with same width and height. My example is even harder to analyze because coil will be additionally arcuated. From your experience it will be better to have metal or PE/PVC (with metal end ring) pipe inside to detect position? Regardless internall pipe material, it's not empty, there is a metal spring inside, that tries to pull smaller pipe back in. Probably sounds complicated :-/ Looking from outside through layers there would be:

    1. external PE/PVC pipe, internal diameter d=16mm, about 2-3mm thick

    2. flex coil, 32x2cm, arcuated and sitcked to external pipe over length

    3. internal pipe, external diameter D=15mm, can be PE/PVC, metal or aluminium, depends on which will be better

    4. metal spring, external diameter D=8-10mm

    The problem is that metal spring will probably affect coil inductance. It's distance from coil is larger than internal pipe side but it will additionally extend proportionally when pipe slides out. All this probably will affect linearity but as long as it's monotonic it can be compensated in software.

Children
No Data