Go Down

### Topic: Measuring small capacitances (Read 7621 times)previous topic - next topic

#### hairbair

##### Jan 17, 2013, 02:21 pm
Hi everyone,
I am working on a part of my project that is essentially a capacitance meter. So far it works well for capacitances from 2 nano Farads upwards.
I have a 10 M Ohm resistor in series with the unknown capacitor and the code measures the time taken for the voltage across the capacitor to reach 63% of its final value.
This is the RC time constant, and is equal to RC, from which C can then be determined.

However, I need it to go down to measure values lower that a few nano Farads. Ideally it needs to be able to measure a capacitance of a few pico Farads.
Of course at the moment the RC time constant would be undetectable (a few nano seconds). So I would need to either increase the resistance, or find a new way to measure.

Is increasing the resistance into the Giga-Ohm range viable?

If not, does any one have any suggestions of how to measure small values of capacitance using Arduino microcontrollers?

Thanks guys, would appreciate any help.

#### Krodal

#1
##### Jan 17, 2013, 03:12 pm
Increasing the resistance to giga-ohm will cause so a lot inaccuracy (noise, leak currents), so that you can't tell what value the capacitor is.

The normal way is to pass a frequency through the capacitor, and measure how much of the signal is left.
To select a range for lower values, the frequency is increased.
A simple analog circuit could be accurate to 20pF.

I think the only way to test picoFarads is to use a high frequency.
A timer output should be high enough for picoFarads.
But you need a circuit to detect how much is passed through the capacitor.
This is an example : http://www.hqew.net/circuit-diagram/Capacitance-Meter_2768.html
The Arduino could automatically select the range, by setting the timer output frequency.

I was not able to find an example schematic of such circuit for an Arduino.
Search for LC-meter.
For example this one : http://www.kerrywong.com/2010/10/16/avr-lc-meter-with-frequency-measurement/

#2

#3

#### Magician

#4
##### Jan 17, 2013, 06:54 pm
I can't post a schematics, due copy-wrong issue, there is an alternative link:

http://electronics-diy.com/lc_meter.php

#### Erni

#5
##### Jan 17, 2013, 07:01 pm
This one claimes

Measuring range: 1pF - 500uF

https://www.sparkfun.com/products/9485?

And comes with a schematic.

#### dc42

#6
##### Jan 18, 2013, 09:19 pm
One way that I've used to measure lower capacitance values with an Arduino is to use the capacitance under test in a CMOS 555 oscillator circuit, and use the Arduino to measure the osciilation frequency.
Formal verification of safety-critical software, software development, and electronic design and prototyping. See http://www.eschertech.com. Please do not ask for unpaid help via PM, use the forum.

#### hairbair

#7
##### Feb 05, 2013, 09:38 am
Hi everyone,
Thanks for the replies.
How do I go about measuring frequencies of up to 50 kHz as would be required for measuring picofarads in a 555 setup?

#### dc42

#8
##### Feb 05, 2013, 10:01 amLast Edit: Feb 05, 2013, 10:03 am by dc42 Reason: 1

How do I go about measuring frequencies of up to 50 kHz as would be required for measuring picofarads in a 555 setup?

Feed the 555 output into the T1 pin (aka digital pin 5 on an Arduino Uno) and use timer/counter 1 to count the number of input pulses in a fixed period of time. That works for input frequencies up to about 3MHz when the input is a square wave.

Alternatively, feed the input to digital pin 2 or 3, generate an interrupt on one edge, and increment a counter in the ISR. Measure the number of transitions in a fixed interval. That should be workable up to at least 50kHz.
Formal verification of safety-critical software, software development, and electronic design and prototyping. See http://www.eschertech.com. Please do not ask for unpaid help via PM, use the forum.

#### RaivisR

#9
##### Feb 05, 2013, 10:18 am
Take a look at this http://aade.com/lcmeter.htm, there is schematic in user manual. The idea is to use LC tank with known L, measure it's resonant frequency and calculate C from L and frequency.

Go Up

Please enter a valid email to subscribe