This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Measuring angle using LDC1000

Hey everyone,


I want to measure the angle between to robotic arm, at a joint that is designed around a Harmonic Drive gearbox.

My first approach was using a custom made PCB designed in SolidWorks, following the Inductive Sensing broshures and the LDC1000 datasheet. It looks like this:

What I get is a unlinear behaviour of the output data (which is actually to be expected).
I don't see a good way to design a encoder PCB that is similar in shape to the one from the datasheet. Does anyone have hints on this topic? Also, which might be the best material to use? I tried usual FR4 PCB material and Aluminum sheet.

Thanks for the help!

Regards from Germany.

  • OK, I was able to compose a logarithmic spiral using Inkscape and then exporting it from SVG to DXF to our PCB manufacturing software. A big help when usingthe Parametric curve feature of  Inkscape with this scope was this guide

    Now I will test what suits best. Using the proximity data gives an awesome resolution of angle but this data is overlayed with a shift pattern. Using the frequency data I get a resolution of only appr. 1step/degree which is too low. I need 0.1step/degree. I did not play with the parameters though (just using the EVM default parameters at the moment), so I assume this resolution can be engaged pretty much. Doing a 180degrees turn in my measurement setup I get a delta value of measured steps in frequency data of only 200. The same on proximity data gives me a delta value of 10000. Proximity data has lots of noise (+/-100steps) so there is a strong need of a smoothing filter, frequency data has very low noise (only +/-5steps).

    I am happy with any suggestions from experts.

    Kind regards
    Stefan

  • Hello Stefan,


    A few things you can do:

    Using inductance data along with moving average filter of 100 points seem to get you there.

    Also, if you decrease the frequency of LC tank by a factor of 10, that will do the same effect. Or a combination of the two, if frequency cannot be reduced without reducing Rp below the minimum.

    Another approach is to move your target closer - this will make the change in inductance more prominent.

    And of cource, averaging on Rp data may get you there as well.

    Please keep us posted on your progress, and don't hesitate to ask questions!

  • Hey Evgeny,

    thanks for the reply.
    I played around with the parameters and tried several things. At the moment I use the biggest response time value. My need for high samperate is very very low (Anything >100Hz real datarate is too much). So I varied Rp_min and Rp_max but couldn't see massive changes. Only at one point when the coil is almost fully superposed of copper the values begin to play jakcs. They range from 0 to 65000 at this point, absolutely erratic.
    Moving the encoder plate close is not an option since the distance is just 0.5mm from the EVM coil now.

    I can optain high resolution but pretty bad linearity and data integrity by using proximity data.
    I can optain great linearity but way worse resolution by using frequency data.
    Please have a look at the data that I quickly captured when doing a 220 degree turn of the encoder plate at a constant speed (provided by a stepper motor; proximity data and frequency data were captured in different runs). All data is unfiltered and untreated.

    The encoder plate is held in place by to pieces of double sided tape 180° appart. Maybe one can see these points in proximity data and that's actually what brings in the inlinearity?

    ____
    EDIT: I found something in the data, that might lead to my mechanical setup instead of blaming the sensor. Have a look at the following captured proximity data, which was filtered with a moving smotthing window at a size of 1000samples. So each single sample was computed from 1000 raw samples. I let the encoder plate rotate 4 times at a constant velocity. One can see the characteristic shape of the data curve which stays constant from turn to turn.

    What I also did was attaching the encoder plate with more tape so it should be placed on the device pretty plane.

    Thanks for any helpfull advices.
    Regards

  • You are most welcome

    You can compensate non-linear response in post-processing, using look-up table, for example