This is only a preview of the March 2023 issue of Silicon Chip. You can view 37 of the 104 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. Articles in this series:
Items relevant to "The Digital Potentiometer":
Items relevant to "Model Railway Turntable":
Items relevant to "Active Mains Soft Starter, Part 2":
Items relevant to "Advanced Test Tweezers, Part 2":
Purchase a printed copy of this issue for $11.50. |
Using Electronic Modules with Jim Rowe
ZPB30A1 Module
- 60W Programmable DC Load
- Battery Capacity Tester
This programmable constantcurrent DC load can be used for
testing power supplies or checking
the capacity of storage batteries. It
is essentially self-contained and delivers
good value for the money.
T
he ZPB30A1 module carries the brand name Zhiyu, but
it seems to be made in China by a firm
called AoSong ELE Co Ltd. As you can
see from the photos, it has two PCBs,
with the smaller one (69 × 36mm)
mounted above the larger main PCB
that measures 100 × 69mm.
The 50 × 50 × 23mm heatsink is at
the rear of the larger PCB, along with
its associated cooling fan on the finned
side, for cooling the main load transistor. The fan extends past the rear of the
main PCB by about 11mm.
Mounted on the flat front of the
heatsink is the power Mosfet that acts
as the controlled load (in the centre),
with a thermistor to its left used for
sensing its temperature. To its right is
a dual schottky diode that protects the
power transistor from damage due to
reversed voltage polarity.
The smaller PCB is the control and
display board, or the main ‘user interface’. Its four-digit 7-segment LED displays the voltage, battery capacity or
various control and error messages. In
contrast, the three-digit LED display
below it is mainly used to show the
current flow.
Six additional green 3mm LEDs
indicate which parameter is being
Features & Specifications
∎ Test modes: programmable constant-current DC load (“Fun1”) or battery
capacity tester (“Fun2”)
∎ Maximum dissipation: 60W
∎ Operating voltage range: 1-30V (separate 12V 500mA supply required)
∎ Operating current range: 0.1-9.99A in steps of 0.01A (10mA)
∎ Rated current measurement accuracy: ±(0.7% + 10mA)
∎ Test termination voltage range: 1-25V
∎ Voltage measurement: directly at the P+ and P− terminals or remotely for
four-terminal measurements
∎ Voltage measurement accuracy: ±(1% + 0.02V)
∎ Battery capacity maximum values: 999.9Ah, 9999Wh
∎ Battery capacity test accuracy: 2.5% <at> 0.5A, 1.5% <at> 2A or 1.2% <at> 5A+
∎ Protection: over-temperature (“otP”), transient over-power (“oPP”), overvoltage (“ouP”), reverse polarity (“Err3”) and abnormal voltage (“Err6”)
∎ Fan control: automatic, temperature-controlled
∎ Size: 69 × 111 × 57mm
∎ Weight: 270g
62
Silicon Chip
Australia's electronics magazine
displayed or which 7-segment digit is
being adjusted, while a red 3mm LED
indicates when the module is running.
The function of the 3mm yellow LED
function is not explained; it is labelled
“L-4” and seems to be a recent addition to the latest (V3.3) version of the
module.
On the right of the smaller PCB are
the two controls. The first is a rotary
encoder, which changes modes and
adjusts current and voltage values. The
second is a small pushbutton used to
confirm the module’s current and termination voltage settings and as an
on/off control.
Currently, the ZPB30A1 module is
available from several sources on the
internet, including Banggood (www.
banggood.com/search/1146280.html)
and many suppliers on AliExpress
and eBay, ranging from $14.91 plus
$7.37 for delivery to $37.53 plus $4.48
for delivery.
I ordered one from Banggood at a
price near the high end, and after the
usual wait, it arrived safely – even
though it was only wrapped in bubble
wrap inside a plastic bag.
What it does
The module has two modes of operation. One is to serve as a programmable
constant-current DC load, while the
other is to test the capacity of storage
batteries like Li-ion, Nicad or lead-acid
batteries. The basic specifications are
shown in the sidebar.
The module’s internal circuitry is
siliconchip.com.au
Fig.1: a simplified block diagram of the ZPB30A1 module.
powered by a 12V DC supply that must
be separate from the measurement current source. The supply voltage must
be between 11V and 13V, delivering
at least 500mA. Power is applied to
the module via a standard barrel-type
DC connector (5.5mm outer diameter,
2.1mm inner diameter) on the left side
of the main PCB.
When power is applied, the module powers up in whichever of its two
operating modes was last used. This
mode is displayed in the upper fourdigit 7-segment LED display as either
“Fun1” for programmable load mode
or “Fun2” for battery capacity mode.
The module defaults initially to the
Fun1 mode. If you want to switch it
to the other mode, you need to switch
off the power, wait a few seconds and
then hold down the on/off pushbutton
while re-applying power. The module
then allows you to switch modes using
the rotary encoder, after which you
press the on/off button again to lock
the module into that mode.
The module’s testing inputs are on
the right-hand side of the main PCB.
The small two-way screw terminal
block is the main test input connector, with its inputs labelled “P+” and
“P−”. The smaller two-pin socket is
siliconchip.com.au
used for the optional remote voltage
sensing, to avoid errors due to voltage
drops in the connecting wires. Its pins
are labelled “V+” and “V−”.
How it works
Fig.1 shows a simplified block diagram of the ZPB30A1. I would have
liked to show a complete schematic,
but all I could find online was a partial
circuit (at www.voltlog.com) that had
been ‘reverse engineered’ and didn’t
cover everything on the main PCB, let
alone any of the circuitry on the display/control PCB. Still, all the most
important details are shown in Fig.1.
The ‘brains’ of the device is an
STM8S105K4 microcontroller unit
(MCU), shown at lower left. This
The rotary encoder on the display
PCB is used for changing modes and
adjusting the current & voltage values.
Australia's electronics magazine
responds to the controls on the display
and control board shown at upper left
and shows the parameter values and
testing status on the same board.
The load current control circuit is
shown at upper right. This uses the
W60N10 power Mosfet (Q2) to maintain the load current between the test
terminals P+ and P−, under the control
of the MCU via the I_SET line. The current is monitored using a 10mW shunt
resistor in Q2’s source connection; op
amp IC4b compares the voltage drop
across the shunt with the control voltage from the MCU.
You can see a simplified version of
the remote differential voltage sensing
input below the current control circuit,
using op amp IC4a. Its output is taken
to the AIN2 analog input of the MCU.
The thermistor mounted next to the
Mosfet on the heatsink is shown below
the remote voltage sensing input in
Fig.1. The TEMP SENSING line from
the thermistor goes to the MCU’s AIN0
analog input.
Note that the micro doesn’t have a
way to monitor the actual load current – there is no connection from the
10mW shunt to the micro. The actual
load current will equal the set current
almost all the time; if the source cannot
March 2023 63
The “main” PCB
measures 100 x 69mm
and has the heatsink
mounted on it. It’s also
where the majority of the
components and power
socket are located.
supply enough current to meet the target, the voltage will drop to near-zero,
triggering the under-voltage alarm. So
it is a safe assumption.
The cooling fan’s driver Mosfet, Q3,
is controlled by a PWM (pulse-width
modulated) signal from the PD0 digital output pin of the MCU. This allows
the MCU to turn on the fan as soon as
the thermistor reports that the heatsink temperature has risen significantly, and to increase the fan’s speed
as necessary to keep the temperature
under control.
If the temperature keeps rising
beyond a safe level, the MCU turns
off the load current and stops the test.
The piezo sounder is driven by
the MCU’s PD4 digital output pin.
This allows the MCU to attract your
attention whenever it
needs to do so; for example, when a test comes to
an end, or it detects an
error condition.
The module I received
did not have the 6-pin
header fitted (shown
above the piezo sounder);
there was just a set of
pads and holes labelled
G, R, T, L, F and Vc.
While there was no mention of these
in the sketchy data provided on the
Banggood website, when I searched
the internet, I found a couple of suggestions that the G, R and T pins could
be used for serial communication with
the MCU, at a rate of 115,200 baud and
with the standard 8N1 protocol.
The information I found said that
the module only transmitted serial
data in programmable current mode
(Fun1), containing three-byte messages with the first two bytes representing the voltage while the third
byte indicated testing status (1 = OK,
0 = undervoltage alarm).
Trying it out
The information on using the module provided on just about all of the
supplier websites is very vague and
quite hard to follow. As a result, you
are largely ‘on your own’ when it
comes to using it. It’s a matter of trial
and error, not made easy by the multiple functions of the module’s controls
and LED displays.
That is a pity, since it performs surprisingly well when you manage to get
it doing what you want.
The first thing I did was ensure
that my module was set to constant-
current load mode (Fun1). Then I used
the rotary encoder to set the load current for the test. This can be any value
between 0.1A (100mA) and 9.99A, in
steps of 0.01A (10mA).
After this, I connected the module’s
P+ and P− terminals to a 0-30V/5A
programmable power supply, with one
high-resolution bench DMM (digital
multimeter) monitoring the current
and another monitoring the actual
voltage at the P+ and P− terminals.
Then I pressed the module’s on/off
button to begin testing.
I set the power supply to a range
of voltage levels (3.30V, 5.00V, 9.00V,
12.00V, 15.00V, 20.00V, 25.00V and
30.00V), and at each voltage level,
I set the module to draw a series of
current levels. At every current level,
I used the bench DMM to set the voltage to precisely the desired level and
used the other DMM to check the exact
current.
The results of these tests are shown
in Fig.2. As you can see, in each case,
the applied voltage remained constant
over a wide range of current levels.
That remained true to a point where
either the module stopped the test
Fig.2: I tested the load on constant-current load mode (Fun1) at a range of different voltage levels. This figure shows the
current drawn by the module at those voltages.
64
Silicon Chip
Australia's electronics magazine
siliconchip.com.au
due to the temperature rising above
the limit (plots ending in an “X”), or
my programmable power supply could
provide no more current at that voltage (plots ending in a dot).
Just to make sure, I undertook one
further test using a different power
supply capable of supplying 13.8V at
up to 12A. This resulted in the brown
plot in Fig.2. This showed that the
module could maintain a current just
below 5A at this voltage, corresponding to around 68W dissipation – not
bad considering that it is rated to handle a maximum of 60W.
During these tests, I monitored the
difference between the module’s voltage and current readings and those of
the two reference DMMs, to get an idea
of the module’s measurement accuracy. Its current readings turned out
to be less than 0.3% low for currents
of 2.0A and above, rising to 1.0% low
at 0.5A and 4% down at the lowest
current level of 100mA.
These figures compare pretty well
with the module’s rated accuracy of
±(0.7% + 0.01A).
The voltage readings turned out to
be less than 0.4% low over the entire
range, which is significantly better
than the rated accuracy of ±(1% +
0.02V).
So the ZPB30A1 module performs
well in programmable current load
(Fun1) mode. I moved on to checking
out its battery capacity/Fun2 mode.
Battery capacity testing
I fully charged an 18650 Li-ion cell,
then set up the ZPB30A1 module in
Fun2 mode with a discharge current of
1.0A and a minimum voltage of 3.00V.
After connecting the Li-ion cell to the
P+ and P− inputs, I pressed the module’s on/off button to begin testing.
Since the module doesn’t seem to
have any serial output in this mode,
I had to record the time and battery
voltage the old-fashioned way, using
a pen and paper while reading a stopwatch.
The results of this first test are
shown in Fig.3 (red plot). As you can
see, the cell didn’t last all that long at
the 1A discharge rate, with its voltage dropping below 3V after only 41
minutes.
The module then displayed its
capacity as 0.679Ah, close to my calculated figure of 683mAh (1A × 41
minutes ÷ 60 minutes). So its measurement was only about 0.58% low.
I recharged the same 18650 cell
overnight and set the ZPB30A1 to perform a second test at 500mA. I then
spent the next few hours recording
the battery voltage every five minutes,
again in the old-fashioned way.
The results of this second test are
shown in the blue plot in Fig.3. It
lasted a lot longer this time, with its
voltage only reaching just below the
test cutoff voltage of 3V after 228 minutes, corresponding to a capacity of
1900mAh. So it’s pretty clear that this
particular 18650 battery is only capable of delivering its rated capacity at
load currents of 500mA or less.
It’s also apparent that the ZPB30A1
is well suited to performing the battery capacity testing role, despite a
few minor drawbacks.
Summary
The ZPB30A1 module performs
both its main functions – a programmable constant current load and battery capacity tester – very well indeed,
especially considering its modest
price. But it does have a few failings,
including the lack of good instructions.
It’s also pretty disappointing that its
serial communications are so limited.
Having an adequately documented
serial connector that worked in all
modes and provided a complete set
of information would make it much
easier to monitor the load voltage and
time for each measurement.
Adding a serial port header and
supporting MCU firmware should
be straightforward and would make
things a lot easier, especially when
testing a battery’s capacity. Hopefully,
the module makers will add this serial
port feature to it soon, making it a
really handy piece of test gear.
Despite that, given its low cost, I still
think it is worth getting if you think
SC
you will use it.
Fig.3: battery capacity testing was performed with a fully-charged 18650 Li-ion cell and the module in Fun2 mode. The
test was done with a discharge current of 1A (and later at 0.5A) and battery voltage above 3V.
siliconchip.com.au
Australia's electronics magazine
March 2023 65
|