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.

Question about FDC1004 +/-15pF range and OFFSET_CALn register

Other Parts Discussed in Thread: FDC1004

Hi,

We are developing a sensor which measures capacitance between 2 parallel plates (GND plane and CAP plane) which are located in a large container. Our idea is to use the sensor in following way:

1. We will calibrate the offset capacitance when the container is empty (air between the plates)
2. The container is filled with material which fills air gap between the separated plates
3. The capacitance of the material is measured

My question is that is it possible to have full 30pF range (+-15pF) for the measurement by adjusting the CAPDACs so that the sensor will measure -15pF capacitance when the container is empty? The application note says that "Any offset in the capacitance input larger than ½ LSB of the CAPDAC should first be removed using the on-chip CAPDACs". My understanding is that the CAPDACs should be configured so that the sensor measures around 0pF when the container is empty and in that case we would only have 15pF range for the measurement.

If the CAPDACs have to be configured so that the sensor measures around 0pF when the container is empty can we use fine tuning with OFFSET_CALn register to tune the sensor so that it will display around -15pF? Will we then get 30pF measurement range? The datasheet says that "Any residual offset of approximately 1 pF can then be removed by using the capacitance offset calibration register." which would indicate that fine tuning should only be used to calibrate the remaining offset that cannot be removed with CAPDACs but on the other hand the OFFSET_CALn register can add +-16pF of offset capacitance. Why is it possible to fine tune +-16pF if it should only be used to calibrate "approximately 1 pF"?

Question about OFFSET_CALn register: It says that "the first 5 bits represents the integer portion of the capacitance in Two’s complement format, and the remaining 11 bits represent the fractional portion of the capacitance."

Does this mean that the whole OFFSET_CALn register is in Two's complement or only the integer part (bits [15:11])? For example, if we want to add -1.0pF offset should the register be 1111 1000 0000 0000 (Integer part -1 in Two's complement and decimal part in unsigned format)  

Best Regards,

Antti

  • Hi Antti:

    Yes, you need to have your input full scale input range of your system to be within the -/+15pF input range. The CAPDAC is definitely used if your absolute measurements are outside of this range. The CAPDAC is used mainly for much larger offsets since it can offset up to 100pF. You can use the OFFSET registers for much smaller offsets since the CAPDAC only increments in 3.125pF. You don't care what your absolute cap values are because it will change from system to system due to system environments, you are more concerned with the change in capacitance.

    I would not recommend using absolute values. You just need to make sure your min and max cap values for the system are within the input cap range with some margin. Then you will look at the change in capacitance, not absolute values to determine your thresholds for detection or no detection.

    For the OFFSET_CAL register, yes you are correct. The first 5 bits (integer portion is in two's complement), so -1.0pF should be 1111 1000 0000 0000.

    Thanks
    -David Wang
    Capacitive Sensing Applications
  • Thank you for very quick response. We have now done some testing and encountered a new problem.

    Our FDC1004 offset calibration sequence flow is following:
    1. CAPDAC is set to initial value and the capacitance is measured (fine tuning OFFSET value is set to zero)
    2. Change CAPDAC value and measure the capacitance until we find CAPDAC value which produces measurement result as close as -16pF as possible (e.g. -15pF)
    3. This CAPDAC value is then used in our application (now we have full measurement range of approximately 30pF available from FDC1004)

    The problem is that when we get close to -16pF in the calibration sequence the change in the measurement value jumps much more than one CAPDAC value should (3,125pF according to the datasheet). As you can see from the data below the capacitance value changes around 3.1pF when we start to iterate the CAPDAC value. When the measured capacitance is near -7pF and we change the CAPDAC value the delta value between these two CAPDAC settings jumps from 3pF to around 9pF. This issue creates problems in some units because the jump is so big that the measured capacitance goes from -8pF to -16pF (overflow) and the usable measurement range is much smaller in those devices.

    Can you explain this behaviour?



    Calibration sequence log

    measured capacitance, CAPDAC value = n
    769820 (HEX value, single measurement)
    14.824 (pF value, average ~50 measurements)

    measured capacitance, CAPDAC value = n + 1
    5DB7D5 (HEX value, single measurement)
    11.715 (pF value, average ~50 measurements)

    measured capacitance, CAPDAC value = n + 2
    44EFBD (HEX value, single measurement)
    8.617 (pF value, average ~50 measurements)

    measured capacitance, CAPDAC value = n + 3
    2CA067 (HEX value, single measurement)
    5.578 (pF value, average ~50 measurements)

    measured capacitance, CAPDAC value = n + 4
    138C50 (HEX value, single measurement)
    2.444 (pF value, average ~50 measurements)

    measured capacitance, CAPDAC value = n + 5
    FB9981 (HEX value, single measurement)
    -0.550 (pF value, average ~50 measurements)

    measured capacitance, CAPDAC value = n + 6
    E15315 (HEX value, single measurement)
    -3.834 (pF value, average ~50 measurements)

    measured capacitance, CAPDAC value = n + 7
    C905DF (HEX value, single measurement)
    -6.872 (pF value, average ~50 measurements)

    measured capacitance, CAPDAC value = n + 8
    81C63E (HEX value, single measurement)
    -15.778 (pF value, average ~50 measurements)

  • Are you using our EVM to evaluate the case above? Can you elaborate on the setup that you are using?

    In terms of the capacitance that you are measuring, is it a known value or a static value as you change the CAPDAC value?

  • We made our own PWB so we are not using the EVM board.


    Our setup is the same as described in my previous posts.

    We have 2 metal rods (lenght ~120mm) which are ~25mm apart from each other. One rod is connected to GND and the other is connected to FCD1004 sense input.

    First we calibrate the offset capacitance when there is air between the two rods. After the offset capacitance is calibrated we will add some substance between the the rods and basically measure the change in the dielectric constant.


    The issue described in my previous post is happening in the calibration phase (air between the metal rods) where we try to calibrate our system so that the capacitance measurement result is as low as possible (the smallest value FDC1004 reports back is -16pF)

    As the dielectric constant of the substance we are measuring is varying over several measurements we would like to have full measurement range from the FDC1004 available. As the maximum reported capacitance from FDC1004 is +16pF so we would have 32pF measurement range if we succeed to calibrate the FDC1004 to -16pF.


    Other question in my mind is regarding the OFFSET_CAL register value because there is no clear explanation in the datasheet how OFFSET_CAL tuning affects to the measurement range of FDC1004. Does the OFFSET_CAL value only digitally subtract/add the programmed value from the result or does it actually change the measurement range?

    Lets assume following case: If the FDC1004 reports -13pF after coarse tuning (with CAPDAC) and then we use OFFSET_CAL register to fine tune the reported capacitance value from FDC1004 by -2.5pF to -15.5pF (= -13pF - 2.5pF). If we then add load capacitance of 31pF does the FDC1004 measure the load capacitance correctly and report +15.5pF (= -15.5pF + 31pF) or does some overflow occur and the result would be 13.5pF  (-13pF + 31pF = 18pF which is over the FDC1004 range thus it would report +16pF. Then the OFFSET_CAL value of -2.5pF would be subtracted from the result -> 16pF - 2.5pF = 13.5pF )?

  • There is something off with your setup just from intuition. What is the change in capacitance from air to filling the container with the material? What kind of substance are you detecting? What application is this for, liquid level sensing?

    I understand that you are offsetting the initial values so that you can use the full input dynamic range of the part but from what I understand, it seems like you are relying on absolute values...The CAPDAC and offset registers correct the data digitally. Your last example is correct. If you add a 31pF load capacitance, it should measure it correctly as long as there is enough margin in the input capacitance range.

    If you can explain what the application, I can give you a better use on how to look at the data.

    Thanks

    -David Wang

    Capacitive Sensing Applications

  • Hello ,

    How can i set -10pF offset. I edited CAPDAC and no result. I am doing something Wrong Can anyone please suggest
  • Hallo, I am a bit stuck with offset.-
    I want to set the offset to -10pF . Can anyonee explain how to i do it and how to choose values in register?
    As my sensor is saturated to 16pF
    if not by software, can i make an external -10pF offset?