2
\$\begingroup\$

I've recently seen some fourth year engineering projects at my school (University of Waterloo) and one that I found interesting was this novel pressure sensor that uses nano silver separated by a di-electric gel. It is very flexible and the pressure causes a change in capacitance. They are not electrical engineers and for their demo, they used an Arduino to measure the time constant of the RC circuit. It took 1 second to produce a reading.

It could be much nicer and presentable if the reading was instant and I was wondering why they didn't try measuring the capacitance by measuring it's impedance?

So I looked online to find information about finding unknown capacitances with an Arduino and found nothing regarding measuring the impedance.

Though, this one used a 555 timer which is very clever!


My Approach


My circuit design would be as follows:

schematic

First I would use a known resistance value in series with the capacitor and use a known and consistent AC wave to put through, then attempt to measure the voltage drop due to the capacitor. According to the impedance calculation for capacitors $$Z=\frac{-j}{\omega C}$$ where \$\omega\$ is known and Z is measured so I can determine C.

Measuring Impedance


To measure impedance I would put through a half wave rectifier, then a peak detector circuit and read the DC voltage on the peak detector with an Arduino, afterwards discharge the capacitor through the transistor.

I don't know if this would work or be practical; I can't test it at the moment since I don't own any electrical equipment and I'm preparing for exams.

Thanks for the insight!

\$\endgroup\$
  • 1
    \$\begingroup\$ I think if I was doing anything like this, my first attempt would be FM and the frequency domain. More complicated, but much less susceptible to noise and things nonideal. \$\endgroup\$ – Matt Young Mar 17 '16 at 17:25
  • 1
    \$\begingroup\$ Tell us the range of likely capacitance values. If it's below a 1pf change, for example, Matt's approach can still yield high resolution results where some others won't work at all. \$\endgroup\$ – Brian Drummond Mar 17 '16 at 17:45
  • \$\begingroup\$ FM? You mean frequency modulation? I'm not sure how that could used. What do you think about my approach though, does it make sense? \$\endgroup\$ – Klik Mar 17 '16 at 17:45
  • 1
    \$\begingroup\$ The capacitance on the device they were measuring fluctuated between 50 and 10 pF. Though, I've read that different approaches work better for different ranges, but I'm curious about the concept of measuring capacitances in general. \$\endgroup\$ – Klik Mar 17 '16 at 17:46
  • 1
    \$\begingroup\$ The RC time constant approach will be fine. They just chose the wrong resistor and averaged too many readings. I think the usual arduino code neglects to use the both the hardware comparator and timer - using both will improve things. \$\endgroup\$ – Chris Stratton Mar 17 '16 at 18:15
2
\$\begingroup\$

There will also be effective series resistance and effective series inductance that will add to the measured impedance. If these are small compared to the capacitance, you can get some accurate measurements.

Assuming C is large compared to ESR and ESL, the inductive component will still dominate impedance at higher frequencies. So from that regard it is probably better to use a lower frequency test signal. OTOH if the frequency is too low for the given capacitance, it'll just look like an open circuit. So you'll have the find the sweet spot for the test frequency based on your ESR, C, and ESL values.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.