This is only a preview of the March 2025 issue of Silicon Chip. You can view 49 of the 112 pages in the full issue, including the advertisments. For full access, purchase the issue for $10.00 or subscribe for access to the latest issues. Items relevant to "Power LCR Tester, Part 1":
Articles in this series:
Items relevant to "RF Remote Receiver":
Videos relevant to "RF Remote Receiver":
Articles in this series:
Articles in this series:
Items relevant to "Versatile Waveform Generator":
Articles in this series:
Items relevant to "Pico 2 Audio Analyser":
Items relevant to "Transitioning to the RPi Pico 2":
Purchase a printed copy of this issue for $13.00. |
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
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
28
Silicon Chip
Australia's electronics magazine
past its saturation point. The result of
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 amplifier
siliconchip.com.au
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
siliconchip.com.au
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 backEMF 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.
Australia's electronics magazine
March 2025 29
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
microcontroller 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).
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 on through to
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).
30
Silicon Chip
Australia's electronics magazine
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
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
Fig.3, the software looks for two points
siliconchip.com.au
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
siliconchip.com.au
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 high-gain 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
Australia's electronics magazine
March 2025 31
the measurement of 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.
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.
32
Silicon Chip
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
Australia's electronics magazine
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
siliconchip.com.au
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.
siliconchip.com.au
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.
Australia's electronics magazine
March 2025 33
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-
resistance 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).
34
Silicon Chip
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.
Australia's electronics magazine
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
switched on, and it will carry the full
siliconchip.com.au
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.
Current Inductance
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.
siliconchip.com.au
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
Australia's electronics magazine
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
March 2025 35
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
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.
36
Silicon Chip
Australia's electronics magazine
resistors, 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
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 PIC32MK0128
MCA048 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
siliconchip.com.au
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
siliconchip.com.au
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.
Australia's electronics magazine
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
from local stores 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 ×
202A). 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,
March 2025 37
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 that
allow you to, for example, program
38
Silicon Chip
Parts List – Power LCR Meter
1 double-sided PCB coded 04103251, 156 × 118mm
1 Ritec RP1285 186 × 146 × 75mm IP65 sealed ABS enclosure
[Altronics H0310]
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) [Altronics H0650]
2 330μH 3A toroidal inductors (L1, L2) [Altronics L6527]
3 vertical PCB-mount SPDT momentary pushbuttons plus small button caps
(S1-S3) [Altronics S1493 + S1481]
1 vertical PCB-mount SPDT mini toggle switch (S5) [Altronics S1315]
1 8MHz low-profile crystal resonator, HC-49S (X1)
1 20kW top-adjust single-turn trimpot (VR1)
1 16 × 2 wide blue LED-backlight alphanumeric LCD [Altronics Z7018]
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)
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)
Australia's electronics magazine
siliconchip.com.au
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
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.
siliconchip.com.au
Australia's electronics magazine
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.
SC
March 2025 39
|