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.

FDC1004EVM: Noisy Channels make it Impossible to Calculate the Water Level

Part Number: FDC1004EVM

Hello TI,

We are building a product in which water level readings are critical. We are now using the FDC1004EVM with our own flex designed exactly according to the reference design doc from TI. The test results are too noisy to do the further math to figure our the water level.

Out design is as followed:
MEAS1 => CIN1 => Level
MEAS2 => CIN2 => R_L
MEAS3 => CIN3 => R_E
MEAS4 => CIN4 => Shield2

They are configured as follow:
MEAS1   CHA=CIN1   CHB=CIN4  (differential measuring to Shield2)
MEAS1   CHA=CIN1   CHB=CIN4 
MEAS1   CHA=CIN1   CHB=CIN4
MEAS1   CHA=CIN1   CHB=DISABLE

We are expecting to see CIN1 linearly growing with filling water and relatively steady R_L and R_E so that we can calculate the water level. Instead, as can be seen from the following test results, we have x3 problems.
(1) The channels are messed up for some reason:
Inline image 1
As shown, CIN2 actually acts like the LEVEL channel and CIN4 looks like the R_L channel.
After power cycling the EVM and restarting the API, the channels are correct to our design. But there are 2 more problems.
(2) R_L is linearly changing with the LEVEL channel;
(3) Both LEVEL channel  and R_L lagged from the actual flushing.
Inline image 1
after 2 min:
Inline image 1

 

The lagging problem doesn't seem to happen when filling though. And I also noticed that the lagging is longer when using a bigger bucket.

Any suggestions?

Thanks,

Bohan

  • Hi Bohan,

    I cannot see the images. Could you re-attach them?

    From your description, CIN4 should be left floating instead of being connected to the Shield.

    Regards,
    Yibo
  • Hello TI,

    We are building a product in which water level readings are critical. We are now using the FDC1004EVM with our own flex designed exactly according to the reference design doc from TI. The test results are too noisy to do the further math to figure our the water level.

    Out design is as followed:

    MEAS1 => CIN1 => Level

    MEAS2 => CIN2 => R_L

    MEAS3 => CIN3 => R_E

    MEAS4 => CIN4 => Shield2

    They are configured as follow:

    MEAS1   CHA=CIN1   CHB=CIN4  (differential measuring to Shield2)

    MEAS1   CHA=CIN1   CHB=CIN4

    MEAS1   CHA=CIN1   CHB=CIN4

    MEAS1   CHA=CIN1   CHB=DISABLE

    We are expecting to see CIN1 linearly growing with filling water and relatively steady R_L and R_E so that we can calculate the water level. Instead, as can be seen from the following test results, we have x3 problems.

    (1) The channels are messed up for some reason:

    As shown, CIN2 actually acts like the LEVEL channel and CIN4 looks like the R_L channel.

    After power cycling the EVM and restarting the API, the channels are correct to our design. But there are 2 more problems.

    (2) R_L is linearly changing with the LEVEL channel;

    (3) Both LEVEL channel  and R_L lagged from the actual flushing.

    after 2 minutes:

    The lagging problem doesn't seem to happen when filling though. And I also noticed that the lagging for flushing is longer when using a bigger bucket.

    Any suggestions?

    Thanks,

    Bohan

  • Sorry I made a mistake. The configurations of the 4 channels are :

    MEAS1 CHA=CIN1 CHB=CIN4 (differential measuring to Shield2)
    MEAS2 CHA=CIN2 CHB=CIN4
    MEAS3 CHA=CIN3 CHB=CIN4
    MEAS4 CHA=CIN4 CHB=DISABLE
  • Hi Yibo,

    Sorry, we made a couple of mistakes in our first post.
    Our channel mapping is as follows:
    CIN1 = Water Level
    CIN2 = Reference Environment (R_E)
    CIN3 = Reference Level (R_L)
    CIN4 = Not connected to anything (floating)
    Our OutOfPhase technique differential measurements are done as follows:
    MEAS1 = CH1 - CH4
    MEAS2 = CH2 - CH4
    MEAS3 = CH3 - CH4
    Our main questions that remain are the following:
    1) Does TI have any explanation as to why sometimes the channel mappings get mixed up? For example, sometimes MEAS1 looks like MEAS3 and MEAS2 will look like MEAS1 as shown in the picture. It seems like power cycling the device fixes this issue, but obviously this will cause issues in the field if our software cannot detect when the channel mappings are wrong.
    2) Why does it take a long time for the MEAS1 readings to settle when the water level is decreasing? Sometimes it might take minutes for accurate measurements to settle when we are removing water from the reservoir. Is there a way to discharge the channels so that they settle faster?
    Thank you very much.