A new method to accurately meaure the Cx with the LC meter
Dear all,
First of all I would like to thank all of you because with this forum you make the
great electronic hobby even greater and helpful
Please also consider that I'm not a native English speaker/writer.
This said, I would like to enter deep into detail on my development. Like you, I'm also
interesting in making my own LC meter and of course there is a lot of practical information
in the net worldwide, but only a few of them go deep in detail to justify the physical
equations to be used.
Starting from the well-known LC formula to get the oscillation frequency:
F = 1/(2π*√(LC))
It is deduced the value of
Cx = Ccal * [(F1 / Fx)^2 - 1]
By comparing the frequencies F1 and Fx that are computed by the PIC (F1 is using C1 and
Fx is using Cx). This comparison has to be done after the calibration process,
which compares F1 to Fcal (which uses Ccal). I don't want to go deep in detail with this because
it is already explained (and well explained) in the Internet.
At the end, the accuracy of the computed value Cx will depend on the accuracy of the Ccal, which can be expressed as follows: Ccal = Ccal_th + Ccal_tolerance
where Ccal_th is the theoretical value of Ccal (the one indicated in the capacitor case) and Ccal_tolerance is the tolerance given by the manufacturer (e.g. 2%).
Now I would like to present you a theoretical development to measure accurately the external
capacitor Cx on the LC meter. Note that only the Software is modified, not necessarily the
main Hardware.
Let's imagine you have a LC tank circuit, with real values for L and Ccal that can be expressed
as follows:
L_real = L_th + L'
Ccal_real = Ccal_th + C'
where L' is the additional L effect of the inductance (e.g. parasite + tolerance) over the theoretical
value L_th
and C' is the additional C effect of the capacitance (e.g. parasite + tolerance) over the theoretical
value C_th
The theoretical oscillation frequency is:
Fcal_th = 1/(2π*√(L_th * Ccal_th))
and the real frequency is:
Fcal_real = 1/(2π*√(L_real * Ccal_real))
Assumption: the effect of L' can be virtually replaced by an additional capacity in the
circuit --> C". Therefore:
Fcal_real = 1/(2π*√(L_th * (Ccal_th + C' + C"))
Making
(Fcal_th / Fcal_real)^2 = (Ccal_th + C' + C") / Ccal_th
We can isolate
C' + C" = Ccal_th * [(Fcal_th / Fcal_real)^2 - 1]
Note that C'+ C" is computed using Ccal_th value which is without measurement error (ideal value of the component)
In the same way:
Fx = 1/(2π*√(L_th * (Ccal_th + C' + C" + Cx))
Making
(Fcal_real / Fx)^2 = (Ccal_th + C' + C" + Cx) / (Ccal_th + C' + C")
Therefore
Cx = (Ccal_th + C' + C") * [(Fcal_real / Fx)^2 - 1]
where (Ccal_th + C' + C") is an exact value (without error) and thus Cx will be calculated in an exact way without error because of tolerances and/or parasites.
The question is quite simple: Am I doing an error anywhere?
I hope there will be someone out there willing to discuss about this and wanting to share his
knowledge as well about this way of facing the problem.
Waiting for your reaction ...