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.

PGA970: 4-wire LVDT with PGA970 has a no-linear behavior in center area

Part Number: PGA970

Tool/software:

Hi,

I connected a 4-wire LVDT sensor to the PGA970. However, around the center position, the output becomes non-linear or unstable.
We are using the following configuration to determine the excitation phase:

DAC_SIN_NDS1 = 0;
DAC_SIN_NDS2 = WAVEFORM_TABLE_LEN;
phase1 = atan(DEMOD1_PH1_DATA, DEMOD1_PH2_DATA);

Also, DEMOD1 is connected to the secondary side of the LVDT.
Any suggestions on what could be causing this issue?








Linearity about 2%

thanks
Hassan Samadi

  • Hi Hasan, 

    How are you calculating the linearity? Is the graph you pictured for ADC1, the DAC, or the entire system?

    Can you please share a schematic or a diagram of how the LVDT sensor is connected to the PGA970?

    Thanks,

    Maggie

  • Hi Maggie,

    we have a calibration test system with μm steps, that move the sensor and take the samples from output of PGA970 and display linearity graph curve.
    I tested a 10mm sensor that has 5-wire but for some purpose we must connect just S1 and S2 without SM.

    In this case, I connected S1 and S2 to PGA970 and chose the 1mm just in the center area of the sensor(±0.5mm). 

    I tested this sensor as 5-wire and connected with same filter like picture below. And tested again, there is no any jump or non-linearity behavior in center area:


    Maximum linearity is: 0.07%

  • Hi Hasan, 

    If are only using one channel for a 4-wire LVDT sensor, then you must connect P2 in between the secondaries (see configuration 2) I don't see that connection in you :

    If you're measuring linearity across the whole system, do you have a compensation algorithm running in the PGA970?

    Thanks,

    Maggie

  • Hi Maggie,

    I use the configuration1 that you sent, as I said, I have just S1 and S2 without SM from sensor. I can't connect SM to P2. 
    And with a 5-wire sensor, I don't have a big problem. 
    I use a 4-wire sensor like circuit schematic below and when I move the core of sensor in center area, output doesn't change and then jump to another value. For a sensor is 50mv jump and the other one was about 200mv jump. 

    thanks

    Hassan

  • Hi Hassan, 

    I apologize - I misread your earlier message about the configuration.

    Are you using a calibration algorithm in the device? What are your bandpass and lowpass filter settings? 

    Thanks,

    Maggie

  • Hi Maggie,

    sorry for late answer, I couldn't be able to send my message. Because I got this error: "Your posting frequency has exceeded allowed rates. Please wait 1 minute(s) to post again, Texas instrument". 

    it's ok. yes, first I calibrate the sensors positions then I wrote a function that convert the demodulator1 data to DAC_REG0 value (0-10v). And I have 3Vrms with 5Khz on P1-P2 and my filter setting is:

        DEMOD1_BPF_config(ADC12_BPF_CF5KHZ_B20HZ_B1,                      
                                             ADC12_BPF_CF5KHZ_B20HZ_A2,                      
                                             ADC12_BPF_CF5KHZ_B20HZ_A3); 

        DEMOD1_LPF_config((S2)ADC12_LPF_CF100HZ_OP128US_B1,               
                                             (S2)ADC12_LPF_CF100HZ_OP128US_A2);

    Another test I performed was measuring the sensor’s secondary signal, which showed the same behavior as the PGA970's output. This means that the data from Demodulator1 exhibits a jump at short distances near the center area, and this jump is reflected in the output. How can I smooth the demodulator data in this region?

    Thanks
    Hassan

  • Hi Hasan, 

    Normally, I would recommend a narrow bandpass filter centered at the excitation frequency, but it appears you are already doing that. 

    In a previous message, you said:

    I tested this sensor as 5-wire and connected with same filter like picture below. And tested again, there is no any jump or non-linearity behavior in center area:

    In this configuration, did you use the PGA970 to generate the excitation signal? You're only measuring S1P and S1N, correct?

    Another test I performed was measuring the sensor’s secondary signal, which showed the same behavior as the PGA970's output. This means that the data from Demodulator1 exhibits a jump at short distances near the center area, and this jump is reflected in the output. How can I smooth the demodulator data in this region?

    From the schematic you've shared, it looks like the same exact filters as above, you're using the PGA970 to generate the excitation signal, and you're only measuring S1N and S1P. Please correct me if I'm mistaken. 

    In short, it looks like you've taken two measurements of the sensor's secondary - in the first scenario, you didn't see a non-linearity, and in the second scenario, you did. So I'm trying to understand what was different between the two measurements. 

    Have you tried measuring the excitation signal itself? If you're using the PGA970 excitation signal, it is generated from a look-up table. I'm wondering if there is a value missing from the look-up table - that would explain why there's a non-linearity at that one point. 

    Thanks,

    Maggie

  • Hi Maggie,

    In this configuration, did you use the PGA970 to generate the excitation signal? You're only measuring S1P and S1N, correct?

    Yes, I use the PGA970 to generate the excitation signal 3Vrms-5KHz:

    I have 5-wires sensor that with connecting the middle pin of sensor to SM, S1 of sensor to S1P and S2 to S2P and using both demodulators, the linearity is perfect but without SM as a 4-wires sensor without middle pin of secondary and S1 to S1P and S2 to S1N. Non-linearity behavior happens in center, I connected sensor like this:


    From the schematic you've shared, it looks like the same exact filters as above, you're using the PGA970 to generate the excitation signal, and you're only measuring S1N and S1P. Please correct me if I'm mistaken. 

    Yes exactly.

    In short, it looks like you've taken two measurements of the sensor's secondary - in the first scenario, you didn't see a non-linearity, and in the second scenario, you did. So I'm trying to understand what was different between the two measurements.

    No I mean. In first config with connecting the 5-wires sensor to PGA970 and without using phase detection technique, I got acceptable linearity. But using this sensor with just connecting S1 and S2 without SM (middle pins of sensor) to PGA970, with moving the core in short distance before and after of center signal doesn't change. 

    Have you tried measuring the excitation signal itself? If you're using the PGA970 excitation signal, it is generated from a look-up table. I'm wondering if there is a value missing from the look-up table - that would explain why there's a non-linearity at that one point. 

    Yes, I did, and I'm using the look-up table to generate this sinus signal. And my signal from connector side after U3 is like this:

    Thanks
    Hassan

  • Hi Hassan, 

    Thanks for the clarification, I understand the difference between the two measurements you took. Let me try to explain the difference in how a 5-wire LVDT and a 4-wire LVDT are measured in the PGA970, based on your configurations. 

    PGA970 implements a rectifier-based modulation. When you measure in a 5-wire configuration, you're demodulating each secondary separately. At the end of the demodulation, you use the demodulated outputs in a ratiometric block to get a linear output. Rectifier demodulation is generally used for 5-wire configurations, not 4-wire configurations. 

    In your 4-wire setup, you're only using 1 ADC path, which means you can't take advantage of a ratiometric calculation from the secondaries. You can still take a ratiometric measurement with respect to the primary. The resolution of the waveform generator is 14 bits, and you're comparing it to a 24-bit output from the demodulator (as opposed to comparing two 24 bit outputs from both modulators). I'm guessing that is the source of your non-linearity.

    Take these graphs I generated with 3-bit resolution (red) and 5-bit resolution (resolution). The error at the peak of the curve is much more pronounced. 

    I know you don't have access to the SM pin in your final design. Is it possible to use both ADCs? You could demodulate S1 and S2 as single-ended signals, as shown in configuration 2 which I shared earlier. That way, your ratiometric measurement is comparing two 24 bit values. 

    Thanks,

    Maggie

  • Hi Maggie,

    I tested the sensor like configuration2 and with this settings:
    S1_GAIN_SINGLE_END
    S2_GAIN_SINGLE_END
    S1_S2_CONFIG(BIAS_VCM_CTRL_0_0 | VCM_ENABLE);

    and I tested the linearity that is realy worse and more than 3% and same problem in center area.

    in this test, demodulator1,2 did not change big. I mean the maximum value for demodulators is about half in compare with configuration1.
    I know that the 4-wire sensors has problem in center. but I have circuit with AD698 and I tested this sensor with this IC and i works without problem and linearity test even in +-0.5mm in ther center area is less than %0.06.

    And I have calulate both phase of demodulators and I get this values with moving the core like this:
    start -> center : phase1 = 0 and phase2=180

    center:              phase1 = 0 and phase2=0

    center->end :    phase1 = 180 and phase2=0

    could you please tell how can I solve this problem.

    Thanks

    Hassan

  • Hi Hassan, 

    You mentioned in a previous post that you have a calibration algorithm running in your PGA970. Can you tell me more about this algorithm? How many data points did you use for calibration?

    Thanks,

    Maggie

  • Hi Maggie,

    Firstly, I calibrate the positions and save them to FRAM. These positions are start-, center- and end position. Then with another function(scaler) I scale the inputs(demodulator1,2 and phase1,2) to DAC value.

    Steps:

    1. Check Phases:
      • Left: abs(phase1) ≤ 45 && abs(phase2 - 180) ≤ 45.
      • Right: abs(phase1 - 180) ≤ 45 && abs(phase2) ≤ 45.
      • Center: Otherwise.
    2. Left Side: Map demod1 using out = -0.0085 * demod1 + 7780 (fixed-point: (-85 * demod1 / 10000) + 7780).
    3. Right Side: Map demod2 using out = 0.0093 * demod2 + 7413 (fixed-point: (93 * demod2 / 10000) + 7413).
    4. Center: Interpolate between left and right outputs using weight = |demod1 - demod2| * 100 / 100000.
    5. Clamp: Ensure out is in [1280, 12803].

    Do you have a better Idea for scaling function or calibration function?




    Thanks

    Hassan

  • Hi Hassan, 

    Are you using the same calibration points as you used for the 5-wire configuration? You will need to use a different compensation algorithm when moving from 5-wire to 4-wire, since you're comparing different quantities. If you're using configuration 1 from above, then it makes sense that you may have issues close to 0. The ADC input will be very small, since the secondary amplitudes are close to canceling each other out, and the phase may be unstable since it is jumping from 0 to 180 rapidly. 

    If you're using configuration 2, then my guess is that you're dealing with some ADC error which needs to be calibrated out. I'm not sure what would cause one ADC to shift its output relative to the other. 

    If you can take more calibration data close to the center, then you may be able to compensate for the non-linear behavior you're seeing. Unfortunately, I cannot provide more detailed advice for compensating and calibration - that is beyond the scope of support we offer for PGA970. 

    Thanks,

    Maggie