This is only a preview of the February 2026 issue of Practical Electronics. You can view 0 of the 80 pages in the full issue. Articles in this series:
Items relevant to "Power LCR Meter, part one":
Articles in this series:
Articles in this series:
Articles in this series:
Articles in this series:
Articles in this series:
|
Constructional Project
Part 1 by Phil Prosser
POWER
LCR
METER
While we have published plenty of LC and LCR meters
over the years, this one is quite different. It can deliver
up to 30A to inductors to determine their properties at higher power levels. That makes
it particularly useful for determining when and how an inductor saturates. It can also
measure very low resistances and very high capacitances.
I
nductors are the easiest of the basic
components to make yourself. This is
typically done by winding enamelled
copper wire around a core or former.
For air-cored inductors, you’re generally only worried about the inductance
(which can be measured with an LC
meter) and DC resistance (measured
with a low-ohms meter).
It’s quite a bit more complicated for
inductors with a core, though. Cores are
typically made of ferrite, compressed
powdered iron or mu metal, and they
all behave quite differently at higher
current levels. As the current through
the inductor increases, eventually the
core saturates and the inductance drops.
This meter will let you determine
at which current the inductance starts
to drop off and how fast it drops off.
It isn’t just handy for self-wound inductors; any that you recover from a
piece of equipment will likely have
unknown properties – this device can
erase that mystery.
It can also measure very high capacitances and low DC resistances, which
is handy for characterising the series
resistance of any inductor, including
air-cored types.
As an example of when this device
might come in handy, if you use a ferrite or iron-cored inductor in a loudspeaker crossover, its inductance will
fall as the current through it increases
past its saturation point. The result of
Power LCR Meter Features & Specifications
» Measures capacitance from 50nF to more than 1F
» Measures resistance from 1mΩ to 300Ω
» Measures inductance from 50μH to 1H+
» Measures inductance saturation from 10μH to 1H at up to 30A
(limited by internal resistance)
» Optional Kelvin probes for measuring low resistances
» Power supply: 12-20V DC at 1A
10
this is non-linear behaviour that will
be heard as distortion.
High-quality speakers use air cored
inductors because they do not suffer
this problem. However, large inductors in speakers still often have ferrite or iron cores to manage cost, and
the bulk and high resistance of a large
coil of wire.
Another common application of
power inductors is in switch-mode
power supplies. At high currents,
saturation in the core can reduce the
inductance and degrade the performance of the power supply. While this
tester will not characterise inductors
at high frequencies, it is unusual in
that it allows characterisation of inductors at very high currents, up to
about 30A.
Our Power LCR Meter measures inductance, resistance and capacitance
for larger power devices. For measuring low resistances, it will push up to
1A through the resistor, although only
for a very short time.
This is not a general-purpose
meter; it is for those chunky passives you are considering for your
switch mode power supply, Class-D
Practical Electronics | February | 2026
Power LCR Meter, part one
amplifier output or loudspeaker crossover. It will give you insight into your
parts that you won’t find in many
other testers.
Operating principles
Rod Elliot describes a circuit that
can be used to manually measure
the saturation of power inductors on
his website at https://sound-au.com/
project250.htm (we’ve seen it elsewhere but his description of how it
works is pretty thorough). The problem with that approach is that you
need an oscilloscope to make the
measurements.
This circuit uses an interesting technique to make that measurement, and
in the deal we are forced to measure
capacitance and resistance as part of
the overall system, which makes for an
unusual and capable device.
The concept is to monitor the transient behaviour after we apply a voltage step across the inductor, analysing the current through and voltage
across the device under test (DUT)
over time. Pretty much all the similar
circuits on the internet that we found
use a variation of the simple circuit
shown in Fig.1.
We will avoid lots of maths here,
but the following principles are used
in this project. Most of us are familiar
with the resistance equation (Ohm’s
law): V = IR.
The capacitor equivalent to this is
C = q/v and its differential is C = (dq/
dt) ÷ (dv/dt). Realising that dq/dt is
simply current, we have C = I ÷ (dv/
dt). For inductors, the equivalent formula is L = V ÷ (di/dt).
This circuit uses the property that
if we turn that driving Mosfet on and
apply 1V across a 1H inductor, we can
expect to see the current increase at 1A
per second. Similarly, if the inductor
is 100μH and the rail voltage is a 10V
or so, then we get the formula 10-4H =
10V ÷ (di/dt), so we can expect di/dt
to be 105A/s or 100mA/μs.
For a 10μH inductor with 10V applied, we can expect a rather lively
1A/μs rate of increase in current. This
means that we will have to switch the
Mosfet off pretty quickly after it turns
on, or be ready to handle some very
high currents after a few millionths
of a second!
By measuring the rate of change of
current through the inductor, we can
measure its inductance. If we measure
that repeatedly at a series of points on
Practical Electronics | February | 2026
that current curve, we can monitor how
the inductor behaves at different currents. Neat!
Rod Elliot makes a case that running this manually with a programmable pulse generator makes sense. We
found ourselves in a situation somewhat akin to the serviceman looking at
a broken widget that probably ought to
be thrown in the bin. The temptation
to ‘have a go’ at automating the measurements was irresistible.
Challenges this presents include:
1. Inductors have resistance, which
really messes up the measurements if
you ignore it.
2. The precise voltage across the
DUT is important; if it droops during
the measurement, you need to know
by how much, or your results will be
inaccurate.
3. It has to work over a wide range
of inductor values and sizes.
4. We should ideally make sure that
if someone connects an unexpected
component, it won’t explode.
5. How do we make measurements
of a process that can be over in 50 millionths of a second, and even get multiple results in that short a time?
6. If we have an inductor being tested
with 30A flowing through it, we have
the potential for a massive back-EMF
spike with significant energy once the
test finishes.
Those first three challenges mean
that this meter needs to be able to
Fig.1: the basic principle of measuring
inductance at various currents. A
brief pulse applied to the Mosfet gate
results in the voltage source being
applied across the DUT, resulting in a
current ramp through Rshunt that can
be measured. The inductance can be
calculated from its slope.
accurately measure the resistance
of the DUT and also the test voltage
applied, as this is essential to get a
good measurement of the inductance. This meter needs to be able to
tell whether the DUT is a capacitor
or not. Only after determining these
things can the meter then run the
saturation current test.
To measure resistance and capacitance, we can use a current sink in a
fairly conventional way, which involves
driving a constant current through
the device under test, not a constant
voltage.
Dealing with the back-EMF that
will be created when we switch off
There are a few parts on the PCB but it isn’t overly complex. The second large
capacitor is optional and zener diode ZD13 is not required on the final board.
11
Constructional Project
the Mosfet drive after an inductance
test requires a reverse diode across
the DUT. As it turns out, our circuit
needs a Mosfet there to discharge capacitors while testing them, so we
can use a P-channel Mosfet to deal
with this.
With a bit of head scratching, we arrived at an arrangement that allows us
to parallel the high-current saturation
drive Mosfet with a constant current
sink that’s used for resistance and capacitance tests. Since we have a system
to measure resistance and inductance,
and also to sense whether the DUT is
a capacitor or not, we might as well
measure what the capacitor value actually is.
In Fig.1, the Mosfet basically shorts
the DUT across the 10V supply rail.
If we leave it inactive, we can dial up
a current on a programmable current
sink to make those other measurements.
This leads to the arrangement shown
in the block diagram, Fig.2.
The key system components are:
• A power supply capable of delivering 10V at up to 30A for brief periods
• The DUT
• A Mosfet that can connect the DUT
between the power supply rail and the
current sense circuitry. This includes
a hardware-based current limiter.
• A discharging Mosfet that can
apply a load across the DUT.
• A programmable current sink.
• Differential current and voltage
sensing circuits for the DUT.
• The PIC32MK0128MCA048 mi-
crocontroller to manage all this (in a
48-pin TQFP package).
The PCB includes headers allowing
the trigger timing and DUT current to
be monitored on an oscilloscope so
you can look at those waveforms, but
the microcontroller samples all relevant signals and provides measured
results. To see the waveforms on an oscilloscope, you need to set it on single
shot and run a measurement, as we
describe later.
The power supply operates from a
DC plug pack. This is nominally 12-20V
at 1A. The average current draw is not
great, but tests will demand up to 1A
from time to time.
The software implements four distinct algorithms, for measuring resistance, capacitance, inductance and the
saturation of an inductor (plus low inductances).
on through to the meter driving 1A
with a high gain.
At 1A drive with high gain, the maximum value is 0.165W (165mW) and with
the 12 bits of analog-to-digital converter
(ADC) resolution, we should be able to
resolve under 1mW. You will need to
be using the Kelvin probes to measure
resistances down at this level.
The precision of these measurements
is a result of the current sink and its
calibration, the differential amplifier,
the Kelvin probes and the ADC itself.
If you are reasonably careful with your
current calibrations and use 1% resistors, you will see accuracy in the region
of a few percent.
Measuring capacitance
Fig.2: in addition to the Mosfet to switch voltage across the DUT, a second one
can be used to discharge it (in case it is a capacitor). The programmable current
sink allows for lower-current testing, with a DAC controlling the current level.
Two differential amplifiers are used to monitor the voltage across the DUT and
the current through it (via the voltage across the shunt).
The software can use the same constant current sink along with the discharging Mosfet to determine if there
is a capacitor on the DUT terminals. It
does this by discharging the DUT by
shorting the terminals, then feeding
current to the DUT for a short period,
then monitoring the voltage across
the DUT after this current is removed.
If the DUT is a resistor or inductor,
the voltage will rapidly fall to 0V. In
fact, for an inductor, the back-EMF will
generate a negative voltage across the
DUT. If the DUT is a capacitor, it will
hold charge and the software will see
this positive voltage.
We can control the magnitude and
duration of the current applied to the
DUT, and we have a pretty decent ADC
that can measure the voltage across it.
So the software can also read the capacitance.
To achieve this, the positive terminal
of the DUT is connected to the positive rail and the current sink draws
10mA from the negative terminal. At
the same time, the software switches
the Mosfet across the DUT switches
on. This discharges the capacitor we
are measuring and also provides a path
for the 10mA to flow.
After the current sink has stabilised,
the software clears its measurement
buffer and starts sampling at the maximum sampling rate of 3.75Msa/s. The
software then switches the DUT discharge FET Mosfet off, allowing the
DUT to start charging. If the capacitor exceeds a predefined voltage, the
software stops sampling, switches the
current off and discharges the DUT.
The data in the measurement buffer
is similar to an oscilloscope trace of the
capacitor (DUT) voltage. As shown in
12
Practical Electronics | February | 2026
Measuring resistance
In this mode, the Mosfets are left
off and the constant current sink is
switched on at ~10mA. We have two
channels that can monitor the voltage
across the DUT, one with a gain of 20
and one with unity gain.
We can measure up to 3.3V across
the DUT, which is a maximum of
330W at 10mA. The software looks
at the value determined by the voltage, and if the resistance is less than
about 30W, it increases the current
to 100mA. If the resistance is below
about 15W, the high gain channel is
used with a current of 10mA, and so
Power LCR Meter, part one
Fig.3, the software looks for two points
on this charging trace, V1 & V2. It also
counts the number of samples between
them (T1 & T2). From this, we can calculate dv/dt = (V2 − V1) ÷ (T2 − T1)
and, knowing the current applied, we
can calculate the capacitance from C
= I ÷ (dv/dt).
This technique is a bit limited because, with 10mA flowing, a capacitance of 50nF will have a dv/dt of 10-2A
÷ 5 × 10-8, which is 0.2V/μs. Our ADC
has a full-scale voltage of 3.3V, which
means that the total charging time is
about 16μs. Our dv is actually 2.2V if
you dig into the software, which means
dt is 11μs. At 3.75Msa/s, this is only
41 samples.
Further, the power devices in the
circuit have some pretty substantial
self-capacitances that we have to calibrate out in software. So we have settled on 50nF as a practical lower capacitance limit.
What happens if a big capacitor is
connected? Our software data buffer is
12,800 samples long, which means we
can measure a capacitance with dv =
2.2V and dt = 12,800sa ÷ 3,750,000sa/s
or 3.4ms. This gives a maximum capacitance of 15μF or so.
Luckily, our software can look at the
measurement buffer and see that we
have not achieved our preferred V2
threshold, then reduce the sampling
rate and rerun the test. Sampling rates of
3.75Msa/s, 375ksa/s and 37.5ksa/s are
used. If a big capacitor is being tested,
we can then increase the test current
to 100mA and then 1A. This gives us
an upper measurement limit of 1.5F.
Discharging a huge capacitor from
2.2V down to 0V requires a little caution. The software does this by pulsing on the Mosfet across the DUT,
starting with 1μs pulses and increasing them until the Mosfet is fully on.
This is intended to discharge large
capacitors without creating massive
current spikes.
Similar to the resistance measurement system, the resolutions of these
measurements are good. Parasitic capacitance, slew rate limitations and
suchlike limit the precision below
about 100nF. From there up, the meter
will provide a measurement accuracy
of a few percent.
Measuring inductance
The meter has two approaches to
measuring inductance. Both use the
property of applying a voltage to the
Practical Electronics | February | 2026
Fig.3: measuring a capacitor
value involves first discharging it,
then applying a fixed current and
measuring the rate of voltage rise.
Fig.4: measuring inductance is
similar to capacitance, except that
we are applying a fixed voltage and
measuring the rate of current rise.
DUT and measuring the rate of change
of current.
The simple inductance measurement uses the constant current sink.
As shown in Fig.4, it is similar to how
we measure capacitance in that we start
by setting up the constant current sink
with the DUT discharge FET switched
on. Then, when we are ready, we switch
it off and monitor the voltage across
the inductor (DUT) and also the current flowing through it.
Keep in mind that the “constant current sink” is really a current-limited
constant voltage. That means the current sink is saturated and switched
on hard right until the end of the test.
We have chosen this approach for
initial inductance measurement as
we know that the current will be controlled to the limit set by the constant
current sink. If a user attempts to test
an extremely low inductance, or a short
circuit, the DUT will be subjected to
a brief current pulse that grows to 1A
and runs for no more than 12,800 samples at 3.75Msa/s, or 3.4ms.
An inductor’s key property is that it
‘resists’ changes to the current flowing
through it, hence that di/dt = V/L property. So what happens if we switch a
constant current sink on across an inductor?
The current starts at zero, then immediately after the shorting Mosfet is
switched off, the current is still zero.
The constant current sink is on hard,
applying the full 10V across the inductor, with no current (yet) flowing.
Remember that equation, di/dt = V/L?
Now V = 10V, and the current through
the inductor grows at a rate set by the
inductance.
This increase in current continues
linearly. Once the current through the
inductor reaches the current sink’s set
point, it starts throttling back to maintain the current at a constant value. So
di/dt goes to zero, and the inductor
current is constant, with notionally
0V across the inductor.
Our software in this test captures a
series of readings of both the voltage
across the inductor and the current
being through it. The software switches
the current measurement ADC to highgain mode, which uses a 1W shunt. We
start with the maximum sampling rate,
which allows us to measure the smallest inductors.
On this test, the minimum practical measurement is about 50μH,
which results from the 1A test current;
di/dt = 10V ÷ (50 × 10-6H), which is
0.2A/μs. Our cutoff current is 1A, so
we get 5μs of data before the current
limit is reached. The op amp takes
a while to respond and the current
overshoots quite a lot, so we actually get somewhat more than this to
work with.
If you have a smaller inductor, the
saturation test mode (see below) will
measure down to about 10μH.
We capture two sets of data: the voltage across the inductor and the current
through it. Similar to the capacitance
test, when the voltage across the inductor transitions from close to 0V to
full-scale on our ADC, we know the
pulse has started. When this voltage
falls again, we know the maximum
current has been achieved.
If the software does not find the voltage falling before the end of the buffer,
we know we need to reduce the sampling rate. The minimum sampling
rate is 37.5ksa/s, which allows a minimum di/dt of 0.29A/s (0.1A ÷ [12800sa
÷ 37500sa/s]). This allows the device
13
Constructional Project
to measure very high inductances, in
the Henries range.
The software uses only the mid-
section of the current vs time curve to
calculate the inductance, between 25%
and 75% of the buffer. This means this
inductance test result is at about 0.5A.
The voltage across the inductor might
not fall right down to 0V once the current through the inductor reaches the
limit because real inductors have resistance.
If there is a DC resistance of say 1W,
once we reach 1A, there is 1V across
the inductor. We can easily get around
this in software by changing our detection threshold voltages. However, the
voltage drop across that internal resistance affects the measured inductance.
We need to consider the internal
resistance of a component like an
inductor as a property of the device.
We can represent a real inductor as
several ideal components, as shown
in Fig.5.
We ignore R2 in our meter, as this is
the equivalent of a resistance ‘shorting’ your windings. In real-world
circuits, especially tuned LC filters,
such a resistance may be intentionally added to dampen the circuit,
but it is generally not significant in
normal devices.
Fig.5: even ignoring core saturation,
a real inductor can be modelled as
four ideal components. It’s the selfcapacitance that is most troublesome.
INDUCTOR
CURRENT &
10V_FILT
VOLTAGE
PEAK TEST
CURRENT
ACTUAL CURVE
FROM INITIAL
MEASUREMENT
IDEAL CURVE
BASED ON LOW
CURRENT TEST
START
OPTIMUM
TEST PERIOD
ESTIMATED
TEST PERIOD
TIME
Fig.6: the current can rise higher than
would be expected based on a lowcurrent test due to core saturation.
The software takes this into account.
14
C1 is a ‘lumped parallel capacitance’.
This is most commonly the result of
capacitance between the windings in
a coil; an iron-cored inductor can also
have capacitance between the windings and the core. Our meter does not
seek to correct for this in the measurement, as the errors resulting from it are
not significant.
However, we see the impact of this
when we apply a voltage across large
coils, as the parallel combination of
C1 and L1 causes visible ringing in the
current in some cases. If you look at the
data sheet for a commercial inductor,
you will often see a ‘self resonant frequency’ figure; this capacitance plays
in that characteristic.
You can see some of this ringing in
Scope 1, right at the start. This plays
havoc with inductance estimation!
R1 in Fig.5 is significant. This is the
internal resistance we are concerned
about. Our equation for di/dt = V ÷ L
applies to only L1 in the figure; the
voltage dropped across R1 is excluded
from this. As the current flowing in the
coil creates a voltage drop across the
internal resistance, the effective voltage across L1 decreases.
For a real coil, di/dt reduces as the
current increases. This is clearly visible
for a large air-cored inductor, which
has a DC resistance of 0.46W, shown
in Scope 2.
When measuring inductance, the first
thing our software does is to measure
the DC resistance of the DUT. When
calculating the inductance of the DUT,
the software uses this as a correction
factor; with some inductors, this correction is very significant.
Measuring inductor saturation
The saturation test will give you insight into the inductance’s behaviour
as a function of current.
This test uses the same principal as
above, but this time we are not using a
constant current sink. Instead, we will
be connecting the DUT directly across
the two 47,000μF capacitors using the
main switching Mosfet, with our hardware current detector switching the
Mosfet off when our pre-programmed
limit is reached.
Again, the first thing the software
does is to measure the DC resistance
of the DUT. This is crucial, as the DC
resistance tells us the maximum current that can flow through the DUT
with our 10V across it. The software
selects the current limit as 50% of
the theoretical maximum, as for highvalue inductors, we expect the 47mF
capacitors to discharge significantly
during the test.
The software then measures the inductance of the DUT using the constant current technique. This gives us
a pretty optimistic value of inductance
at high currents for all but air-cored
inductors. The software uses this to
calculate the time required for this inductor to reach the peak test current,
and the sampling rate is adjusted to
fit this into our sample buffer. Fig.6
shows what is happening here.
The software then checks to see if
the user has a capacitor on the DUT
terminals. While we never managed to
damage anything during development,
it isn’t a great idea to suddenly apply
10V to a potentially large capacitor.
The ADC inputs are set to monitor
the high-current (low gain) measurement, which can measure up to 33A,
while the second ADC channel monitors the 10V rail, which we know will
droop throughout the test.
From a first run, the software looks to
see if the sampling rate was OK. If the
DUT has saturated early, we increase
the sampling rate to get a closer look
at the saturation curve. So a second
set of samples is taken with an optimised sampling rate, which fills our
buffer with usable data.
Once we have this data, the software
splits this into 10 sections and calculates the inductance for each of the 10
regions. This set of results is stored to
allow the user to scroll through.
Our ADC has 12 bits of resolution,
which gives a maximum of 4095 discrete current measurement values. If
we had more than about 10 time slices,
our current measurements would introduce quantisation errors and any noise
on the measurements would become
more significant. On the other hand,
with fewer slices, we wouldn’t get as
good an idea of the inductor’s behaviour. We decided that 10 readings is
the best compromise.
We initially intended for the software
to estimate the saturation current from
this data. If you take a look at some of
the sample curves we provide later
on, you might get a sense of the challenge this presents. The shape, rate of
collapse of inductance and all sorts of
‘interesting’ effects would need to be
considered.
We were concerned that if the software throws up a guess, it will take
Practical Electronics | February | 2026
Power LCR Meter, part one
on a credibility it does not deserve. A
human can scroll through the numbers and easily see where the inductance rolls off and how fast it falls. The
software sets the second measurement
to “100%” as it is normally the cleanest data point, and all others are relative to this.
11.2A. This shows the inductance
starts somewhat above the rating and
falls relatively slowly. That glitch on
the initial application of the test voltage is from inter-winding capacitance,
and demonstrates why we do not try
to measure inductance from the start
of the sample set.
Real measurement examples
Circuit details
Let’s look at why saturation matters
in inductors. We will include some
plots of the inductors we used in testing this device, as the behaviours illustrate not only why this parameter
is important, but also why it is hard
for the meter to give a simple answer
to this value.
In each of the following oscilloscope
plots, the blue/cyan curve is the current, which is at a scale of 100mV per
amp. So 3.3V is the full scale of the
ADC at 33A. The yellow trace is the
trigger signal. The duration of these
sweeps all vary, as that is a function of
the DC resistance of the coil, and thus
the inductance and the sampling rate
the software selects.
Scope 1 and Table 1 are for a Bourns
2200LL-470-V-RC rated for 20.9μH <at>
10.3A. It starts with an inductance
somewhat above its rating and falls
relatively slowly.
Scope 2 and Table 2 are for a 1.8μH
air-cored inductor. This shows current
curving downwards as a result of the
DC resistance of the inductor.
Scope 3 and Table 3 show the values
for a 550μH air-cored inductor. There
is some variation in the measured inductance; given this is an air cored
inductor, this is due to measurement
errors in the meter.
Scope 4 and Table 4 are for the secondary of a Dick Smith M-2156 transformer. This is typical of the saturation
in a soft-iron-cored device. The measured values show the remarkable collapse in inductance past saturation.
Scope 5 and Table 5 are for an Altronics L6630 470μH 5A inductor.
This shows that this device behaves
as specified at the rated current, but
the initial inductance is substantially
higher, and the inductance rolls off in
a reasonably controlled manner.
That step at the start of the curve
is the INA181 differential amplifier
slewing to ‘keep up’ with the rate of
change; this forms a real limitation on
the lower inductance we can measure.
Scope 6 and Table 6 are for a Bourns
2200HT-100-V-RC rated for 7.9μH <at>
Now that we know how the device
works, let’s look at the full circuit.
Practical Electronics | February | 2026
We have broken it up into three separate diagrams that perform logically
distinct functions: the test circuitry
(Fig.7), the control circuitry (Fig.8)
and the power supply (Fig.9). We’ll
start by examining the test circuitry, which is where most of the complexity lies.
The DUT connects between CON5
and CON6, to the left of centre in Fig.7.
This places it between the +10V_FILT
high-current supply rail and Q4 & Q5.
Current
Inductance
2.2A
44μH
3.4A
41μH
4.7A
35μH
6.2A
32μH
7.9A
27μH
9.9A
22μH
12.4A
18μH
15.4A
14.2μH
19.3A
10.4μH
24.4A
7.7μH
Scope 1: testing a Bourns 2200LL-470-V-RC inductor rated for 20.9μH <at> 10.3A.
Current
Inductance
1.0A
1.8mH
1.9A
1.8mH
2.8A
1.8mH
3.7A
1.8mH
4.5A
1.8mH
5.2A
1.8mH
6.0A
1.8mH
6.6A
1.9mH
7.2A
1.8mH
7.8A
1.8mH
Scope 2: testing a 1.8μH air-cored inductor with a relatively high DC resistance
of 0.55W.
Current
Inductance
1.2A
555μH
2.4A
559μH
3.6A
570μH
4.7A
566μH
5.7A
559μH
6.6A
575μH
7.5A
544μH
8.4A
512μH
9.2A
582μH
10A
564μH
Scope 3; testing a 550μH air-cored inductor with a 0.44W DC resistance.
15
Constructional Project
Fig.7: the blue text here refers to connections from this circuit to pins on
microcontroller IC1, shown in Fig.8. Q4 applies the full +10V_FILT across
the DUT when on; if the current gets too high, IC4b causes IC3b to reset,
switching Q4 off. Q5 sinks a fixed current determined by DAC IC2. The
voltage across the DUT is monitored by IC6 or IC7a and fed to the micro,
while IC8 monitors the current (the 1W shunt voltage is also fed directly to
microcontroller pin 12).
Q4 is the main switch that connects the
bottom end of the DUT to ground via
the low-value 5mW shunt, while Q5
is the constant current sink, in combination with an extra 1W shunt and
op amp IC7b.
Q4 is an Infineon IPP013N04NF2SAKMA1. These are relatively inexpensive but only have 1.3mW of
on-r esistance and can carry up to
197A continuously. We don’t suggest you substitute this part, but if
you must, most Mosfets with under
10mW of on-resistance and a continuous current rating of at least 50A
should be OK.
The gate drive for Q4 comes from
transistors Q9/Q10, which form a
totem pole drive. This buffers the
very high gate capacitance of the
Mosfet, speeding up the switch-on
and switch-off times. Q9 & Q10 are
controlled by a 4013 D-type flip-flop
(IC3b).
16
This enables us to switch off the
Mosfet rapidly once the current
through it exceeds a programmed
threshold. To achieve this, we drive
the reset pin of our flip-flop from a
dedicated comparator (IC4b) which
compares the current reading to a
programmed threshold.
IC2 is an MCP4822 12-bit DAC. One
of its outputs (output A, pin 8) drives
the negative input of this LM393 comparator, while the current sense line
from IC8 (INA281) drives the positive
input. The INA281 has a 5% settling
time of 1μs, the LM393 has a response
time of 1μs, and the 4013 reset-to-Q
time is 130ns (0.13μs).
The Q output of IC3b controls the
Mosfet, so we have an overall delay
from sensing the current to switching
the Mosfet drive off in less than 5μs.
We can program the MCP4822 to produce voltages from 0 to 2V, allowing
us to set a current limit from 0 to 30A.
The microcontroller sets flip-flop
IC3b using control signals from its
RC11 and RC10 pins that are level-
shifted by transistors Q6 & Q7 and
applied to the CLK and D inputs of
IC3b, respectively. This allows the
micro to set the flip-flop and enable
Mosfet Q4, but the reset signal from
the over-current detection circuitry
can always override this and switch
the Mosfet off.
Mosfet Q2 is used to discharge the
DUT. This is a Vishay SUP70101EL
P-channel Mosfet. It is included to
allow capacitors to be discharged
before testing. It also provides a
reverse current path for an inductive DUT at the end of tests. If the
voltage across the DUT reverses, up
to 30A can flow through the body
diode in Q2.
This device needs to be able to handle
the maximum saturation current, as
at the end of a saturation test, Q2 is
Practical Electronics | February | 2026
Power LCR Meter, part one
Current
Inductance
1.1A
15.9μH
1.5A
10.1μH
2.1A
6.8μH
3.0A
4μH
4.4A
2.7μH
6.3A
2.0μH
8.4A
1.7μH
10.8A
1.5μH
13.1A
1.3μH
15.5A
1.1μH
Scope 4: testing the secondary of a Dick Smith M-2156 transformer with a soft
iron core (DC resistance of 0.28W).
Current
Inductance
1.9A
718μH
2.6A
604μH
3.5A
476μH
4.7A
342μH
6.2A
255μH
8.4A
176μH
11.3A
131μH
15A
98μH
19.8A
73μH
25.5A
57.1μH
Scope 5: testing an Altronics L6630 470μH 5A toroidal inductor with a
powdered iron core.
switched on, and it will carry the full
current through its body diode until
it decays. This will result in energy
being dissipated in Q2.
The SUP70101EL is rated at 100A,
with an Rds(on) of 10mW. If substituting, we would stick to similar ratings,
but this is not an expensive part for
what it does.
As Q2 is a P-channel device, its gate
drive is relative to its positive source
terminal, which connects to the +10V_
FILT rail. Thus, there is a level-shifter
based around transistors Q3 and Q8 that
allows us to drive it from a 0-3.3V microcontroller output pin (RD8). Diode
D8 speeds up its switch-off.
The programmable current sink is
included to allow us to measure the
resistance of the DUT. We generally
want to run this at 10mA, 100mA or
1A. The actual current is programmed
by the other DAC channel, output B
(pin 6) of IC2.
Practical Electronics | February | 2026
Current
Inductance
3.2A
11.8μH *
5.4A
13.6μH
7.5A
13.0μH
9.6A
12.0μH
11.9A
11.5μH
14.3A
10.9μH
16.9A
9.5μH
19.6A
9.3μH
22.4A
8.6μH
25.5A
7.8μH
Scope 6: testing a Bourns 2200HT-100-V-RC inductor rated for 7.9μH <at> 11.2A
(with a DC resistance of 0.01W).
* this low measurement is likely due to inter-winding capacitance
The current sink is fairly conventional, with IC7 amplifying the difference between the voltage from IC2
on its positive input with the voltage sensed across the 1W and 0.005W
shunt resistors.
Running a wide-bandwidth current
sink with various inductances as a load
is a challenge with stability. The 33nF
feedback capacitor across IC7b helps
to keep it stable.
The differential current and voltage
sense circuits are implemented with
INA281B1 instrumentation amplifiers
(when a higher gain is required) and
TLC072 op amp for low-gain (unity)
differential voltage measurements.
These differential amplifiers all have
17
Constructional Project
their ground references tied to the
VREF− pin used by the ADC.
The TLC072 was chosen in preference to the more common TL072 due
to its lower DC offset.
Using differential amplifiers allows
us to remove common-mode signals on
the +10V_FILT rail, which we know
will droop during measurements, and
also remove the DC offset on the DUT
voltage. This allows us to make best
use of the 0-3.3V input voltage range
of the ADC.
CON1 provides a way to improve
measurement accuracy by removing
the voltage drop in the connectors and
leads to the DUT from the equation. If
CON1 is not used, IC6 measures the
voltage across the DUT directly from
CON5 & CON6 via 10W resistors.
If instead separate wires connect
from pin 1 of CON1 to the DUT’s negative lead and pin 2 to the positive
lead, any voltage drop between the
PCB connectors to CON5/CON6 and
the DUT itself will not affect the measurements. The extra test leads will effectively short out the 10W resistors,
providing a voltage measurement right
at the DUT terminals.
Schottky diodes D6, D7, D9 & D10,
in combination with 470W series re-
sistors, protect the microcontroller’s
analog inputs from voltages outside
the range of 0-3.3V that it can handle.
At the same time, zener diodes ZD11
& ZD12 protect the Mosfets from voltage spikes at their gates that could
damage them.
Half of IC3 (IC3a) and IC4 (IC4a) are
not used, so their inputs are terminated to avoid them floating and possibly
causing extra noise.
Microcontroller circuitry
Fig.8: microcontroller IC1 dominates the control circuitry. Results are displayed
on an LCD screen connected to CON2, while pushbuttons S1-S4 allow the user
to select modes. EEPROM IC5 stores calibration data, while crystal X1 provides
accurate timing.
The control circuit is shown in Fig.8.
All the lower pins of microcontroller
IC1 with arrows and blue labels connect to points in Fig.7. Those points in
Fig.7 also have arrows and blue writing showing which microcontroller
pin they connect to.
In Fig.8, besides the 48-pin microcontroller, we have an alphanumeric LCD screen connected via 16-pin
header CON2, four pushbuttons (S1S4) with associated pull-up resistors,
an EEPROM (IC5) that’s controlled by
IC1 over an SPI serial bus, an 8MHz
crystal for accurate timing, an in-circuit
programming header (CON3) and numerous bypass capacitors.
We chose the PIC32MK0128MCA048
because it incorporates two 3.75Msa/s,
12-bit ADCs that we can operate synchronously. Well, it has three, but we
only use two. These can sample voltages at various pins; we are using five
inputs in this project (AN0, AN1, AN3,
AN6 & AN13).
This microcontroller includes a
direct memory access (DMA) subsystem that allows the ADC data to be
moved into RAM quickly by hardware
inside the microcontroller. This means
the PIC32 is only interrupted after 128
samples are captured on each channel,
allowing the PIC32 to capture a large
buffer of samples at this full sampling
rate for us to analyse.
This PIC has 32kiB of RAM and
128kiB of flash program memory. We
use the majority of the RAM for a large
data buffer. In inductor tests, this includes synchronised 10V rail voltages
and current measurements.
This processor runs at 120MHz and
includes an amazing array of peripherals for a chip that costs less than $7.
The only thing that is more amazing is
how complicated some of these modern
processors can be to set up and write
software for!
The 25AA256 EEPROM is used to
store calibration data; just about any
18
Practical Electronics | February | 2026
Power LCR Meter, part one
Fig.9: the power supply generates five rails from the 12-20V DC input: +3.3VD, +3.3VA, -3.3V, +10V_FILT and +10V. The
+10V and -3.3V rails power devices like op amps, +3.3VD powers the micro, +3.3VA is the ADC reference voltage and
+10V_FILT supplies current to the DUT.
pin-compatible SPI EEPROM will do,
as we only use a handful of locations
at the bottom of the address range.
The three pushbuttons (ENTER/UP/
DOWN) are mounted on the rear of the
PCB so they project through the case,
near the standard 16×2 character LCD
screen. We have stuck to a text display
as these are commonly available, and
aside from the power and LED connections being inconsistent between
suppliers, they are interchangeable.
While a graphical display might
be nice, it is not essential and would
add cost and complexity. It would
also complicate sourcing, as there are
many similar but incompatible graphical displays available.
The support circuitry around the
PIC microcontroller is mostly per application notes. There are separate 3.3V
digital (+3.3VD) and analog (+3.3VA)
rails. The analog rail forms the reference for the ADC, so keeping it clean
is important.
Power supply
Turning now to Fig.9, the 10V rail
is generated with an LM2576 switchmode buck regulator (REG5) for reasonable efficiency. Its switching output is
filtered by inductor L1 and the 1000μF
capacitor on its output to efficiently
produce a smooth 10V rail.
The output current from the LM2576
Practical Electronics | February | 2026
is limited to about 1.5A by PNP transistor Q1 and the 0.39W resistor, which
together pull the feedback pin of REG5
high if the current limit is exceeded. This is included to ensure that
for extended high current pulses, the
LM2576’s internal over-current protection is not activated.
There are two 10V rails. The one labelled +10V drives the op amps. This is
isolated by diode D3 and a 100μF filter
capacitor to minimise disturbances on
this rail during high-current pulses on
the +10V_FILT rail.
The +10V_FILT high-current rail is
filtered by a 330μH inductor which
feeds two 47,000μF 16V capacitors
(they are in Fig.7). This very substantial filter has been selected to ensure
that even when testing large inductors,
the +10V_FILT rail does not droop
too much.
Diodes D1 & D2 form a charge pump
with the two 10μF capacitors to generate a negative voltage from REG5's
switching node, which is regulated
down to -3.3V by REG3 (LM337). This
allows our op amps to handle signals
right down to 0V.
The +3.3VA and +3.3VD rails are
generated from the 12-20V input by
identically configured linear regulators
REG1 & REG2. We can get away with
this since there isn’t a huge demand
for current on those rails.
During calibration, we measure the
3.3VA rail voltage. This is important as
any error in this voltage will translate
to the measurement errors. The LP2950
regulators have an inherent accuracy
of about ±1%. We recommended using
the LP2950ACZ-3.3G but the non-AC
version is available widely with only
slightly reduced specs. Calibration will
take care of that.
Bulk capacitance
Using two 47,000μF capacitors seems
pretty generous but if we want to test
a 10mH inductor at 20A, these capacitors need to deliver ½LI2J of energy,
which is 2J (0.5 × 0.01H × 20A2). This
energy can only come from the capacitors, as the LM2576 can only deliver
an amp or so.
At 10V, our two capacitors store
½CV2J = 4.7J (0.5 × 0.047F × 2 × 102V).
If we take 2J from these capacitors
and put it in the inductor, the voltage rail will drop from 10V down to
7.6V or so.
We can test much larger inductors
than 10mH, but our design assumes that
they will be tested at lower currents,
which we think is reasonable as such
a large inductor will have a fairly high
DC resistance. This DC resistance will
limit the maximum current.
By the way, 2J is quite a lot of energy.
Do not touch the DUT during testing,
19
Constructional Project
and do not disconnect it while the test
is running, as the back-EMF from such
a large amount of energy will generate a very high voltage if it is disconnected while current is flowing. The
substantial P-channel Mosfet on the
board handles this back-EMF at the
end of each test.
If you disconnect the DUT from the
tester during operation, this current
path for back-EMF will be removed,
which will result in a very high voltage spike. This could deliver a serious shock if you are touching the
DUT terminals. An industrial electric fence delivers 2-5J, which is sufficient to dissuade the most stubborn
animals. You really do not want to
experience that!
So much software
The real functionality in this meter
is all in the software. While we’ll discuss it in broad strokes, you can download the complete source code from
our website. So if you are inclined,
you can take a deeper look, or perhaps could write your own functions
or display routines.
The code is written in the relatively
low-level C language, as the software
needs to run very quickly during testing. C is not too hard to learn, but it
does leave a lot of responsibility for
the user to get things right.
I am a hardware engineer, and the
code does kind of reflect this. Still,
you will find a structured state machine controlling the meter, drivers for
various hardware subsystems, and an
effort to implement code in functions
to improve its readability.
A brief look at the PIC32MK0128
data sheet is also enough to turn your
hair grey. It is 562 pages of joy, and a
lot of it directs you to sub-data-sheets
for specific functions. This project uses
multiple timers, ADC channels, direct
memory access, SPI modules and general purpose I/Os. For different measurements and component values, the
software changes the settings on many
of these.
Microchip provides a development
environment that integrates the compiler, code editor, programmer and
debugger. There is also a “Code Configurator tool”, which helps configure
the bewildering array of modules in
the microcontroller.
This is a mix of graphical representation of how parts of the microcontroller interconnect with text boxes
20
Parts List – Power LCR Meter
1 double-sided PCB coded 04103251, 156 × 118mm
1 Ritec or Hammond RP1285 186 × 146 × 75mm IP65 sealed ABS enclosure
[Mouser 546-RP1285]
1 12-20V DC 1A+ power supply
1 3D-printed LCD bezel (see text next month)
2 PCB-mount M205 fuse clips (F1)
1 1A fast-blow M205 fuse (F1)
1 16 × 22mm TO-220 PCB-mounting heatsink (HS1)
2 330μH 3A toroidal inductors (L1, L2) [Mouser 530-HCTI-330-5.2]
3 vertical PCB-mount SPDT momentary pushbuttons plus small button caps
(S1-S3) [Mouser 612-800CSP1B6M2QE + 612-800C1BLK]
1 vertical PCB-mount SPDT mini toggle (S5) [Mouser 118-2MS1T1B1M2QES]
1 8MHz low-profile crystal resonator, HC-49S (X1)
1 20kW top-adjust single-turn trimpot (VR1)
1 16 × 2 wide blue backlit alphanumeric LCD [Displaytech 162KCCBC3LP]
Cable/wire/tubing
2 200mm lengths of red/black heavy-duty hookup wire
2 200mm lengths of red/black medium-duty hookup wire
1 500mm length of light-duty figure-8 wire
1 200mm length of 16-way ribbon cable
1 100mm length of 3mm diameter black heatshrink tubing
Hardware
1 TO-220 silicone insulating washer and bush
4 M3 × 10mm tapped spacers
1 M3 × 10mm panhead machine screw
8 M3 × 6mm panhead machine screws
1 M3 hex nut
9 M3 flat washers
Connectors
3 2-pin vertical polarised headers, 2.54mm pitch, with matching plugs and
pins (CON1, CON7, CON11)
1 2×8-pin vertical header, 2.54mm pitch (CON2)
1 5-pin vertical header, 2.54mm pitch (CON3)
1 2-way mini terminal block, 5/5.08mm pitch (CON4)
2 6.3mm PCB-mount vertical spade lugs (CON5, CON6)
3 2-pin vertical headers, 2.54mm pitch (JP8-JP10)
3 jumper shunts
1 16-way IDC inline socket
2 panel-mount binding posts, red & black
2 panel-mount banana sockets, red & black
2 chassis-mount BNC sockets
1 panel-mount DC socket (to suit power supply)
Integrated circuits
1 PIC32MK0128MCA048 32-bit microcontroller programmed with
0410325A.HEX, TQFP-48 (IC1) [Silicon Chip SC7454]
1 MCP4822-E/P 12-bit SPI DAC, DIP-8 (IC2)
1 4013B dual D-type flip-flop CMOS IC, DIP-14 (IC3)
1 LM393 dual single-supply comparator, DIP-8 (IC4)
1 25AA256-I/SN 32kiB EEPROM, SOIC-8 (IC5) [Mouser 579-25AA256-I/SN]
2 INA281B1 20V/V 1.3MHz current sense amplifiers, SOT-23-5 (IC6, IC8)
1 TLC072AIP dual low-noise JFET-input op amp, DIP-8 (IC7)
2 LP2950-3.3 3.3V 100mA low-dropout linear regulators, TO-92 (REG1, REG2)
1 LM337 1A adjustable negative linear regulator, TO-220 (REG3)
1 LM2576 3A integrated buck switch-mode DC/DC converter, TO-220-5 (REG5)
Other semiconductors
2 BC558 30V 100mA PNP transistors, TO-92 (Q1, Q10)
1 SUP70101EL 100V 120A P-channel Mosfet, TO-220 (Q2)
[Mouser 78-SUP70101EL-GE3]
5 BC548 30V 100mA NPN transistors, TO-92 (Q3, Q6-Q9)
Practical Electronics | February | 2026
Power LCR Meter, part one
1 IPP013N04NF2SAKMA1 40V 197A N-channel Mosfets, TO-220 (Q4)
[Mouser 726-IPP013N04NF2SAKM]
1 TIP121 NPN Darlington transistor with integral diode, TO-220 (Q5)
2 12V 400mW/1W zener diodes, DO-35/DO-41 (ZD11, ZD12)
4 1N4148 75V 200mA signal diodes, DO-35 (D1-D3, D8)
1 1N5822 40V 3A schottky diode, DO-201AD (D4)
5 BAT85 30V 200mA schottky diodes, DO-34 (D5-D7, D9, D10)
Through-hole capacitors
2 47,000μF 16V snap-in electrolytic [Mouser 598-81LX473M016A452]
3 1000μF 25V low-ESR radial electrolytic
5 100μF 25V low-ESR radial electrolytic
6 10μF 50V low-ESR radial electrolytic
16 100nF 63/100V MKT
1 33nF 63/100V MKT
1 220pF 50V ceramic
SMD capacitors (all X7R ceramic SMD M2012/0805 unless noted)
2 10μF 10V
3 1μF 50V
8 100nF 50V SMD M2012/0805
2 18pF 50V NP0/C0G ceramic SMD M2012/0805
TH resistors (all ¼W 1% axial unless noted)
2 47kW
23 4.7kW
1 560W
1 330W
1 1W 1W 5%
1 33kW
1 2.7kW
4 470W
4 100W
1 0.39W 5W 5%
1 10kW
2 1kW
1 330W 1W 5% 1 100W 1W 5%
1 0.005W open-air [Welwyn OAR1-R005FI or similar]
SMD resistors (all ⅛W 1% SMD M2012/0805 unless noted)
1 10kW
1 1kW
1 470W
2 10W
that allow you to, for example, program
timer periods. This code configurator
generates device driver code for each
subsystem that you can use in your
program. This forms the device driver
layer for the microcontroller, making
our life much easier.
For the external parts like the SPI
EEPROM, DAC and 16×2 LCD, we don’t
have the luxury of a code configurator, but we can use libraries that we
or other people have developed in the
past. For control of things like the Mosfets, we wrote simple ‘drivers’ to allow
the main program to perform common
functions without the complication of
directly interfacing to hardware.
A good example is the “CORETIMER_
DelayMs(X)” function call, which lets
our program ask for a delay of X milliseconds. The driver looks after things
like clock frequencies and suchlike.
Similarly, HDByteWriteSPI() is a
function that allows us to write a byte to
the SPI EEPROM at a defined location.
We don’t care what specific EEPROM
it is, as long as we can save data to it
and read data from it.
By using these high-level drivers in
our program, the code is much easier
to read and also, once we have tested
them, we can treat them as ‘black
boxes’. Our top-level algorithm can
command the hardware to perform
functions such as “Pulse_Start()” without needing to bother with any of the
hardware details.
You will have noticed there are actually four fairly independent measurement modes. We won’t go into detail
here, but from a high level, the main
program file “Inductor_Tester.c” performs the main functions:
1. Configures the hardware
2. Loads and saves calibration data
3. Allow the operator to:
a. Calibrate the meter
b. Measure resistance,
inductance, capacitance and
inductor saturation
c. Display results.
These functions all live in a simple
state machine that allows the user to
select the measurement desired and
review the measurements.
Next month
The PCB mounts on the rear of the lid.
Except for the power input, the terminals on
the side are optional.
Practical Electronics | February | 2026
This article has already become
quite long, and we haven’t gotten up
to the construction, calibration or testing steps yet. We’ll have all that next
month, along with some hints on using
the device effectively.
PE
21
|