This page describes an Arduino Based LCF Meter (Inductance, Capacitance and Frequency), it is based on the LC Meter from Kerry Wong
There is a lot of PIC based designs available on the Internet, but similar to Wong, I wanted an Arduino based LC Meter.
The design is actually quite simple. It uses an LM311 opamp which is wired as a oscillator, the base freq is determined by the C3 and B8, so that the time for one half cycle of oscillation will be loge0.5 x R8 x C3 (= 0.693 x 47kΩ x 10µF = 0.3257 seconds, so 2 of these ½ cycles = 0.6514s, a frequency of 1.535Hz.)
This frequency is without the 82uF and 1.8pF cap added, once these are added the frequency chances to about 459KHz. To measure and unknown capacitance, the capacitor is added in parallel, which results in a decrease in frequency, alternatively an inductor can be added in series with existing inductor to measure inductance, which will also results in a decrease in frequency.
The Arduino measures the change in frequency and uses it to calculate the C/L value:
- value = abs(((Freq * Freq) / (Measured_F * Measured_F) – 1.0) * IdealValue);
- Freq = the Frequency without any component added (459000KHz)
- Measured_F = the Frequency after component added to circuit
- IdealValue = 1.8pH or 82uH depending on mode
The circuit can also be used to measure frequency, for this an “LC or F” selector switch is used to switch the Arduino input between the first to second opamp output. The first opamp output is the LC mode, the second opamp is a simple Schmitt trigger, which is used for frequency measurements
- Capacitance from 1pF to about 680nF, above that the reader does not read correctly
- Inductance from 82uH to 4mH has been read correctly (range might be wider but do not have more know values to test with)
Download here: LCF Meter Rev0 (2015-12-17)
I apologize for the poor state of the code. I am not a programmer, so I am sure I have make some serious mistakes, but I can confirm with the code as it is below, and the circuit as above the solution works.