How can I calculate the input capacitance from the AD7746 output?

I’m using the AD7746 to measure the capacitance of a capacitive humidity sensor with the following characteristics:

  • Humidity range at 30% RH and 23°C: 650 ± 150 pF
  • Sensitivity: 1.1 pF/% RH

The range extension factor of my range extension circuit is F = 47.4402. Here is a screenshot from the circuit.

When I breath on my humidity sensor it should detect a relative humidity of approximately 90 %. Since AD7746 has 24 bits, the output should be around 15 x 10^6. But the output is at 6 x 10^6. Do I miss something here?

And does anyone know how I can calculate the input capacitance from the AD7746 output to check which capacitance it senses?

Welcome to the forum.

I have no knowledge of the AD7746 however this caught my eye.

Back in the early 90’s when I was working with a team on a new meteorological instrument the guys doing the firmware reported a similar problem when breathing on the capacitive humidity sensor circuit I had designed.

They had been working over the weekend when it occurred (they were 6 months behind schedule), so they investigated on their own. They discovered that the problem was the change in stray capacitances on the PCB surface. They used a drinking straw to direct the breath into the sensor only and finished that part of the firmware over the weekend.

When I heard the story on Monday I realized my mistake. I’d been using a precision capacitor decade as substitute for the sensor during prototype analog tests. So all the proto boards had passed my analog tests even though I’d forgotten to apply the conformal coating to the %RH sensor circuit area of the PCB.

To test this effect, replace the sensor with a ceramic capacitor of the appropriate value, then breathe on the circuit and see if the readings change.


One thing that jumps out of this is that you may be interpreting the device’s transfer function incorrectly; from page 15 of the datasheet:

Stated differently, without range extension, the device is built to measure a change of up to ±4pF in a capacitance having a value from 0 to 17-ish pF. A mid-scale digital output word (0x800000) means the detected capacitance is equal to whatever “zero” value you’ve dialed in using the CAPDACs. With range extension, multiply those numbers by the extension factor.

Notice though, that the slop between “minimum” and “typical” for the CAPDAC range is equal to half the measurement range of the part

In other words, any data you’re getting out of the device will be garbage until each chip+sensor pair is individually calibrated. Can’t really expect a decent total unadjusted error when the error terms are nearly twice the size of the thing you’re trying to measure…