|
Subscribe
Recommend
|
|
BattMan II: Build a Computer Controlled Battery Manager
BattMan II is a computer controlled battery manager, intended for
typical rechargeable batteries used by R/C and electronics hobbyists, as well
as various consumer product batteries. BattMan II has the following
capabilities:
-
Works with Nickel-Cadmium (NiCd), Nickel-Metal-Hydride (NiMH),
Lithium-Ion (Li-Ion), Lithium-Polymer (LiPo), Lithium-Nano-Phosphate
(LiNP), and Lead-Acid (Pb-Acid) batteries of 1.2 to 14.7 Volts.†
-
Discharges batteries to measure capacity at rates of 130mA to 2A.
-
Charges at rates of 130mA to 1.3A.†
-
Automatically performs repeated discharge/charge cycles to break in new
batteries, or erase NiCd voltage depression in old ones.
-
Measures internal resistance.
-
Monitors self-discharge.
-
Real time graphical display lets you see problems like mismatched cells.
-
Keeps a log of all operations performed, which can be imported into any
spreadsheet program.
-
Saves graphs of charge, discharge, auto-cycle, and monitor operations.
-
Connects via parallel port to any PC running Microsoft Windows (95, 98,
ME, 2000, XP, or Vista).††
-
Operating software, complete with source code, is available to
download.
†Maximum voltage and current limits depend on the power supply used.
Values shown are for the prototype.
††Requires sufficient memory to comfortably run Windows, a few
megabytes of free hard disk space, and 800x600 or higher resolution display. If
you want to modify the software, you'll also need Borland C++ Builder 5 or
newer.
BattMan II is a fairly complex project, and this article assumes that
you have some electronic project building experience. If you're reasonably
careful in construction and follow the testing and calibration instructions
closely, you should have no problems getting it to work. Your success with this
project will benefit from an understanding of how it works, so please read the
next section carefully before you plug in the soldering iron.
If you don't want to build this project but need a device like this for your
consumer electronics batteries, you might consider the
La Crosse Technology BC-900 AlphaPower Battery Charger
or
Maha Powerex MH-C9000 WizardOne Charger-Analyzer.
This performs many of the same functions as BattMan II, but only for
AA and AAA NiCd or NiMH cells (up to four at a time). The La Crosse charger
also comes with adapters to let you use AAs in devices requiring C or D sized
cells.
The Circuit
BattMan II consists of five subsystems: power supply, current
control, battery connection, voltage measurement, and logic power.
Power Supply
The power supply I used is a commercial off-the-shelf model that can supply 18
Volts at 2.2 Amps. I purchased mine at a surplus store. Any similar power
supply will do, so long as it produces 18 to 20 Volts, and enough current for
the maximum charge rate you want to be able to use. Points labeled V+ in
the schematic are connected to the positive terminal of the power supply.
Current Control
CMOS buffers Z2a through Z2d together with resistors R26 through R34 form
an R-2R ladder digital-to-analog converter. R34 is used to adjust the output
voltage range so that it spans 0 to 0.2 Volts (which can be measured at
test point TP2). The input to the converter is taken from the four low-order
data bits (D0 to D3) of the parallel printer port that BattMan is
connected to.
|
|
A Bit of History
|
|
I built my original (unpublished) BattMan computer
controlled battery manager in 1995. I had been wanting to build it for
a year or so but never found the time. Then one day, one of our
customers asked if there was anything we could do about the
performance of his aging laptop NiCd battery. This provided the
impetus to finally build it, and I successfully used it to test and
rejuvenate the battery.
I planned to write a construction article at that time but it never
happened. Eventually the original BattMan became obsolete,
primarily because it needed a computer running DOS, which was getting
rare.
Around 2000 I decided it was time for BattMan II, but
BattMan I was still working fine so I had no real need for a
newer version. Then, in 2007 we started looking at the power
consumption of all the old PCs we still kept running for various
reasons. One was used for nothing except operating BattMan I
and we determined that it's standby power consumption was 330kWh per
year ($40 per year on our electricity bill). That was enough reason to
build BattMan II, which could be connected to one of our
necessary computers instead of hogging a whole computer to itself.
|
The output of this D-to-A converter is fed into op-amp Z4a, which together with
Q3 (a TIP120 NPN Darlington transistor) and R45 (a 0.1Ω power resistor)
forms a constant current sink. Z4a adjusts the base current to Q3 so that
the voltage across R45 remains equal to the voltage from the D-to-A converter.
The effect is that there will be a constant current flowing into the collector
of Q3 (since a constant voltage across a resistor requires a constant current).
Battery Connection
Transistor Q1 and relay K1 are used to connect or disconnect the positive
terminal of the battery being charged. Q1 is controlled by bit D5 of the
parallel port. When this bit is low, the battery is disconnected; when it's
high, the battery is connected.
Whereas K1 controls if the battery is connected, relay K2 controls
how it is connected. When parallel port bit D4 is low, Q2 does not
conduct and K2 is not energized. This connects the positive battery terminal to
the collector of Q3 (the current sink), and the negative battery terminal to
ground. Any current flowing through Q3 will come from the battery, thus
discharging it.
When D4 is high, Q2 conducts and energizes K2. Now the positive battery
terminal is connected directly to the positive power supply voltage, and the
negative terminal is connected to the current sink. Current flowing through Q3
now will come from the power supply and pass through the battery, thus charging
it.
Voltage Measurement
By far the majority of the components in the circuit are dedicated to accurate
measurement of the battery voltage. Because the battery is connected between
V+ and Q3 when charging, we can't measure the battery voltage by just measuring
the positive terminal voltage relative to ground. Instead, we have to measure
the positive and negative terminal voltages (relative to ground) separately,
and then subtract to determine the actual battery voltage.
One way to do this would be with an analog-to-digital conversion chip, but
these aren't exactly easy to find (especially with the resolution we need).
Instead, BattMan II uses a digital-to-analog converter controlled by
the computer, and compares its output with the voltages being measured. Z1 is
a 12-bit CMOS counter, and together with R1 through R25, forms another R-2R
D-to-A converter that covers a range of 0 to 3 Volts. The converter is
controlled by the two high-order bits (D6 and D7) of the parallel port. Setting
D6 momentarily high clears the counter, and restores the D-to-A output (VDAC)
to 0V. Then, pulsing D7 causes the counter to increment, and thus the output
voltage to increase (the output voltage can be monitored at TP1).
The positive battery terminal is connected to a voltage divider made up of R35,
R36, and R37. During initial calibration, R35 is adjusted so that the maximum
possible input voltage (the power supply voltage) is divided down to a voltage
just slightly less than the maximum possible VDAC voltage (about 3V).
Comparator Z3a compares the divided positive terminal voltage with VDAC. The
output of Z3a is high when the divided voltage is greater than VDAC, and low
when it's less. It is connected to the ERR input pin of the parallel port.
Voltage divider R39, R40, and R41, together with comparator Z3b perform a
similar function for the negative battery terminal. The output of Z3b is
connected to the SEL input pin of the parallel port.
The way the computer determines the battery voltage is to first reset Z1, and
then start incrementing it while monitoring the SEL and ERR inputs of the
parallel port. When SEL changes state, the current count is recorded (the
computer can't read the output of the counter, but since it is controlling
the counter, it can perform it's own internal count and use that). When ERR
changes state, the current count is recorded again. Next, the voltage
corresponding to each of the two counts is computed (using a table of values
supplied during initial calibration). The two voltages are then subtracted to
arrive at the battery voltage.
Logic Power Supply and Spare Parts
A 7805 voltage regulator steps down and regulates the 18 Volt power supply to
provide a steady 5 Volt supply to the CMOS chips, the voltage comparators, and
the relay coils.
There are a few parts left
over, namely two CMOS buffers from Z2, and an op-amp from Z4. After designing
and building the prototype, I realized that these could have been used to
implement a fail-safe that would monitor parallel port bit D7, and turn off
the relay after 10 seconds or so of inactivity. This would detect cases of
the computer "falling asleep at the wheel" (i.e. it has crashed and is no
longer paying attention to running the BattMan device). I may design
such a failsafe in the future, but in the mean time, never leave BattMan
II unattended while it is turned on and connected to a battery!
Software
The BattMan II software is implemented using Borland's C++ Builder.
It is available to
download and install, and includes both
the ready-to-run software (requires calibration),
and complete source code in the form of a C++ Builder project for those of you
who like to tinker with software as much as with hardware. Reading the source
code is also helpful in understanding the operation of the hardware.
|
|
|
|
Cycling a 7-cell 2700mAh NiMH battery with BattMan II.
|
At present (version 0.1), the software provides the following functionality:
-
Discharge: Discharges battery based on selected battery chemistry,
expected capacity, number of cells, and discharge current. Plots a graph
as the discharge progresses.
-
Charge: Charges battery based on selected battery chemistry, expected
capacity, number of cells, and charge current. Plots a graph as the
charge progresses.
-
Auto Cycle: Discharges and then charges as above. Can specify maximum
number of cycles, and options to stop when capacity stops increasing, and
to save the graph to a BMP file after each cycle.
-
Resistance: Measures battery internal resistance at selected discharge
and charge currents.
-
Monitor: Monitors battery voltage and plots a graph.
-
Setup: Gives access to the setup and calibration file, and tools to help
with calibration.
-
Save: Saves a copy of the currently displayed graph in a BMP file.
Nickel-Cadmium and Nickel-Metal-Hydride Charging Algorithm
|
|
|
|
Charging a NiCd battery using a constant current and ΔV peak detection.
|
NiCd and NiMH batteries should be charged at a constant current. The trick is
knowing when to stop, and there are a number of ways of doing this. The method
used by BattMan II is to detect the voltage drop that occurs when
current continues to flow into the fully charged battery, known as negative
delta-V detection. This voltage drop is more pronounced in NiCd batteries than
it is in NiMH, so BattMan II looks for a smaller drop when charging
NiMH.
Charging begins at the selected constant current. BattMan II monitors
the voltage and keeps track of the highest voltage achieved so far during the
charge. If the voltage then drops below the highest seen by a specific amount
(0.5% for NiCd, 0.25% for NiMH) for some length of time (5 seconds), the
battery is assumed to be fully charged and charging is terminated.
The graph shown above illustrates the discharging and then charging of a
NiMH battery.
Lithium and Lead-Acid Battery Charging Algorithm
|
|
|
|
Charging a Li-Ion battery using the constant-current/pseudo-constant-voltage algorithm.
|
The proper charging method for LiPo, Li-Ion, LiNP, and Pb-Acid batteries is
constant-current/constant-voltage (CC/CV). Charging starts at a constant
current as it does for NiCd and NiMH, but once the voltage reaches a certain
threshold, the current is gradually reduced in order to hold the voltage
constant. Once the current required to hold that voltage is low enough
(generally about a C/10 rate), charging is terminated.
BattMan II cannot do constant-voltage charging, so a modification of
this method is used. Initially, charging proceeds at the selected constant
current, as in the CC/CV method. When the threshold voltage is reached
(4.17V/cell for LiPo and Li-Ion, 3.57V/cell for LiNP, and 2.45V/cell for
PbAcid), BattMan II will reduce the current to the next lower setting
(the charge rate displayed at the top of the graph remains the initially
selected rate). This will cause the voltage to drop, and charging continues
until the threshold is reached once again. The process of reducing the current
and resuming charging continues until the current is reduced to zero, at which
point charging is terminated. This algorithm is equivalent to CC/CV, except
that the current reduction is done in large steps instead of gradually and
continuously. The end result is the same, and at no time is the battery allowed
to exceed its charge cut-off voltage.
Construction
The circuit is best built on a printed circuit board. Refer to my article
on the subject, Making
Excellent Printed Circuit Boards.
Here is the printed circuit layout for BattMan II:
|
|
BattMan II printed circuit board layout. Actual size is 3.1" x 2.7".
Click to enlarge.
|
The following diagram illustrates component placement on the board:
|
|
BattMan II component placement.
Click to enlarge.
|
Note that not all components are on the board. Specifically, power transistor
Q3 is mounted to a heat sink outside the enclosure, and power resistor R45 is
mounted inside the enclosure near Q3.
On-board Components
Begin by installing jumpers J1 through J7 and the sockets for all the ICs. Then
install all the resistors. I suggest installing all the 20.0kΩ 1%
resistors
(red-black-black-red)
first, followed by all the 10.0kΩ 1% resistors
(brown-black-black-red). Be
careful, because they look very similar and the circuit won't function
correctly if you mix them up. Next install all the remaining resistors and the
capacitors. Also install pins into the test point (TP) holes.
Install the two relays next. I don't advise using sockets for these because
the pins will have to handle fairly high currents (higher than IC sockets are
meant for). Then install the diodes, transistors Q1 and Q2, and the 7805
voltage regulator. A small heat sink on the regulator will keep it sufficiently
cool. Finally install the three insulated jumpers, shown in
green on the component placement diagram
and in the photo.
|
|
|
The completed BattMan II prototype circuit board (the fan is not yet connected).
|
Connectors and Off-board Components
The lead to the battery consists of two heavy gauge (#14) conductors to carry
the charge/discharge current and two lighter conductors for measuring voltage
(the voltage is not measured through the power leads because there can be a
voltage drop along their length). Connect the sense leads to the power leads at
the battery connector end. At the circuit board, solder the power leads to BAT+
and BAT- and the sense leads to SEN+ and SEN-.
Next attach leads from the E, B, and C connections on the board to the emitter,
base, and collector Q3. The C lead should be heavy gauge because it has to
carry the full charge current. The B and E leads can be lighter because they
only carry the low base current, and the current sense feedback voltage
respectively. When connecting the the E lead to Q3's emitter, also connect
a shorter heavy gauge wire to the emitter. The other end of this wire goes to
current sense resistor R45. Connect the other side of R45 to GND on the
circuit board, again with heavy gauge wire.
Attach Q3 to a fairly large heat sink (in some cases, Q3 has to dissipate about
30 Watts of heat). Mount a small 5 Volt fan to the heat sink, and connect it
to the points marked FAN+ and FAN- on the circuit board.
|
|
|
|
BattMan II installed in a plastic enclosure.
|
Connect another pair of heavy gauge wires to V+ and GND and connect their
other ends to the power supply or a high current power connector.
For connection to the computer, obtain a DB-25M solder-type connector. Prepare
an 11-conductor cable and use it to connect the appropriate pins to the circuit
board as shown by the numbers in parentheses along the bottom of the component
placement diagram.
Enclosure
I installed the BattMan II prototype into a plastic project box. Q3 and
its heat sink and fan are bolted to the back panel on stand-offs, while current
sense resistor R45 is glued to the inside of the case.
I made up a very short parallel port cable that just reaches the back panel,
and then connected that to the computer with a 25-pin straight-through M-F
extension cable (available at any computer store). I used a Deans Ultra Plug
on a short lead for the power supply connection on the back panel. The battery
lead comes out the front panel for ease of use.
|
|
Close-up of externally mounted Q3, heat sink, and fan.
|
|
|
|
The completed BattMan II battery manager.
|
|
Testing and Calibration
Start by double checking all your work, making sure the components are
installed the right way around, and that you haven't inadvertently created any
solder bridges (a magnifying glass is helpful). Do not insert any of the ICs
into their sockets yet.
Initial Testing
Connect and turn on the power but do not connect BattMan II to a
computer or battery yet. Insert a piece of solid hookup wire (telephone wire
works well) into pin 16 of Z1's socket. Momentarily touch the other end of the
wire to the the point where parallel port line D4 connects to the board. You
should hear relay K2 turning on as you do this. Repeat for D5 and relay K1.
|
|
|
BattMan II Setup Assistant.
|
Next disconnect the power, install all the ICs, and reconnect the power. Check
that none of the components get hot. If everything seems fine, install the
BattMan II software on your computer and connect the parallel cable to
your computer's parallel port. Click the Setup button to open the
Setup Assistant. In the Configuration File panel, select the appropriate
"base port address" for the parallel port you are using (usually 378 for the
main port, 278 for the secondary port, and sometimes 3BC). Save and re-open the
Setup Assistant.
In the Relay Control panel, click the Charge radio button. Once again,
K2 should turn on. Clicking Discharge should turn it off. Repeat using
Connect and Disconnect to test K1. If this doesn't work, you've
either got a cable wiring problem, or you've selected the wrong parallel port
base address.
Voltage Measurement Calibration
Connect a digital voltmeter between test point TP1 and ground (a handy place
to connect to ground is the tab of the 7805 regulator). In the D-to-A Control
panel, set the Count To field to 0 and click the Set button. The
voltmeter should read very close to zero. Change the Count To field to
4095 and click Set again. The voltage should jump to about 3V. Record
the exact voltage, which we'll call VDACmax.
|
|
|
D-to-A converter weights (yellow) and sense multipliers (blue).
|
Next, set the Count To field to each of the following twelve values,
remembering to press Set after entering the value: 1, 2, 4, 8, 16, 32,
64, 128, 256, 512, 1024, and 2048. For each value, measure the voltage at TP1
and modify the corresponding lines in the "D/A converter bit weights" table
(highlighted in yellow in the image) in the Configuration File. As a
sanity check, adding up all the values should get you very close to
VDACmax.
Set Rate to Hex 00, set Mode to Charge,
and Battery to Connect. Connect your voltmeter between TP3 and ground.
Now connect the BAT+ and BAT- terminals (and thus also the SEN+ and SEN-)
terminals together. Adjust R35 until the reading is just slightly less than
VDACmax (an ideal setting is about 99.5% of VDACmax).
Record this voltage as SEN+max.
Move the voltmeter positive lead to TP4, adjust R39 until the voltage is as
close as possible to SEN+max, and record this as SEN-max.
Then move the voltmeter positive lead to the positive battery terminal (which
is currently connected to the positive power supply line through K1 and K2) and
record the power supply voltage (V+).
Disconnect BAT+ and BAT- from each other and set Mode and Battery to
Discharge and Disconnect respectively. In the Configuration
File, edit the two lines labeled "sensor low-side and high-side
multipliers" (highlighted in blue in the image) as follows:
-
Set the first line to V+ divided by SEN-max.
-
Set the second line to V+ divided by SEN+max.
Current Control Calibration
Connect a fully charged 8.4V to 12V NiCd, NiMH, or Lead-Acid battery to the
BAT+ and BAT- terminals, with an accurate digital ammeter (rated for at least 5
Amps) in series with the BAT+ connection (positive ammeter lead to the
battery). Set Mode to Discharge and Battery to Connect. The
current flow should be close to zero.
|
|
|
Charge (green) and discharge (red) rate pairs.
|
Now slide the Rate control to
maximum (Hex 0F) and adjust R34 to give you the desired maximum current (about 0.2
Amps less than what the power supply can provide, which worked out to 2 Amps in
the prototype). Different settings of the Rate control will then give
different discharge or charge currents ranging from zero to the maximum, in
steps of approximately 1/15th of the maximum.
Record all the rates by editing the sixteen entries in the right hand column
(highlighted in red in the image) of the "charge and discharge rate pairs"
table in the Configuration File.
Set the Rate back to 00, disconnect the fully charged battery, and
connect a discharged one. Set Mode to Charge, and once again slide the
Rate control to each of its sixteen settings. Record the charging
rates as the first value of each pair (highlighted in green in the image) in
the aforementioned table. These should be within about 2% of the corresponding
discharge rates (since the same circuit is regulating the current in both
cases).
When you've completed this step, select Disconnect and unplug the
battery. Click the Save button to save all the changes you've made to
the Configuration File and exit the Setup Assistant.
Number of Charge Rates
If you want to allow for higher discharge rates than charge rates, you can
use the "number of charge rates" setting to limit the maximum charge rate.
For example, if you adjust R34 for a maximum current of 2A, but your power
supply can provide only 1.4A, you can set the number of charge rates to 11 so
that none of the rates above 1.4A are available for charging. I had to do this
because my power supply, although rated for 2.2A, could only provide up to
1.4A with reasonable stability.
Other Settings
The remainder of the Configuration File contains additional settings
that govern operation of BattMan II. The comments in the file describe
each of these settings so I won't go into any further detail here. If you
don't understand what some of these settings do, it's probably best to leave
them set as they are.
Testing and Using the Functions
With calibration completed, you're now ready to try the various functions
BattMan II provides. The sections below describe each function. Monitor
progress carefully the first few times to make sure everything is working as
it should.
|
|
|
|
The Discharge Settings dialog.
|
Discharging
Connect a partially or fully charged battery and click the Discharge
button. In the Discharge Settings dialog, select the type of cells, the rated
capacity (in mAh), the number of cells in the battery, and the desired
discharge rate. Click the Start button to begin discharging.
The first thing BattMan II will do is measure the internal resistance
of the battery so that it knows how much the discharging current affects the
measured voltage. It will then begin discharging the battery, and plotting a
graph as it progresses. The following information appears at the top of the
graph:
-
The word "Discharge".
-
A description of the battery (e.g. "Battery: 7 NiMH" for a 7-cell NiMH
battery).
-
The selected discharge rate (e.g. "Rate: 1338mA").
-
The voltage at which discharging will stop (e.g. "VMin: 7.51").
-
The measured internal resistance (e.g. "Resistance: 0.1412 Ohms").
None of the above will change during the discharge. The bottom of the graph
shows progress information:
-
Elapsed time in hours, minutes, and seconds (e.g. "Time: 0:07:45").
-
Voltage right now (e.g. "Voltage: 9.23V").
-
Capacity discharged so far in mAh and mWh (e.g. "Discharge: 967mAh (1160mWh)").
When the battery voltage (under load) has reached VMin, discharging will stop
and the information at the bottom of the graph will reflect the total
discharged capacity. A summary of the discharge operation will also be written
to the log file "BattMan2.csv", which can be read into a
spreadsheet program for later review.
|
|
|
|
The Charge Settings dialog.
|
Charging
Connect a partially or fully discharged battery and click the Charge
button. In the Charge Settings dialog, select the type of cells, the rated
capacity (in mAh), the number of cells in the battery, and the desired
charge rate.
After you click Start, BattMan II will begin charging the battery
and plotting a graph. The following information appears at the top of the
graph:
-
The word "Charge".
-
A description of the battery (e.g. "Battery: 7 NiMH" for a 7-cell NiMH
battery).
-
The selected charge rate (e.g. "Rate: 1347mA").
-
The charge termination criterion. This will be a delta for NiCd or NiMH
batteries (e.g. "Delta: 0.33%"), or a maximum voltage for Lithium or
Lead-Acid batteries (e.g. "VMax: 12.6V").
-
A safety time limit, at which point charging will stop even if the
termination criterion has not been satisfied (e.g. "TLimit: 2:30:20").
-
The measured internal resistance (e.g. "Resistance: 0.1412 Ohms").
None of the above will change during the charge. The bottom of the graph shows
progress information:
-
Elapsed time in hours, minutes, and seconds (e.g. "Time: 0:07:45").
-
Voltage right now (e.g. "Voltage: 9.71V").
-
Capacity charged so far in mAh and mWh (e.g. "Charge: 923mAh (1092mWh)").
-
For NiCd and NiMH batteries, the present delta, and if it exceeds the
termination delta, how long it has persisted (e.g. "Delta: 0.37% (2s)").
When the termination criterion is met, charging will stop and the information
at the bottom of the graph will reflect the total capacity that was put into
the battery. A summary is also appended to "BattMan2.csv".
|
|
|
|
The Auto Cycle Settings dialog.
|
Auto Cycling
The Auto Cycle function sets BattMan II apart from other battery
chargers and dischargers. Cycling a battery can quickly tell you its capacity,
yet leave it fully charged at the end of the operation. Tired NiCd (and to
some extend NiMH) batteries can be rejuvenated by cycling, and new NiCd and
NiMH batteries can be cycled a few times to achieve their full rated capacity.
Connect a battery in any state of charge and click the Auto Cycle
button. The first three sections of the Auto Cycle Settings dialog are a
combination of the Discharge and Charge dialogs (since cycling does both).
There's also a section where you can specify:
- The maximum number of cycles to perform. Breaking in a new NiCd battery
usually requires about 5 cycles. NiMH generally needs only 3. Rejuvenating
an old battery can take 10 or more. You can choose anywhere from 1 to 99.
- That BattMan II should automatically stop cycling when the
battery's capacity has not increased significantly since the previous cycle.
This eliminates wasted cycles during break-in or rejuvenation.
- That the discharge/charge graph be saved to a bitmap file
automatically after each cycle for later review. The files' names will be
of the form "YYYYMMDD-hhmmss
.bmp", where the date and
time correspond to when the cycle ended.
The information displayed at the top and bottom of the graph during the
discharge part of a cycle operation is the same as that displayed during a
discharge operation, except that the word "Discharge" on the top is followed by
"n of m" indicating the current cycle number. Likewise, the
same information appears after the word "Charge" during the charge portion of
the cycle. Also, the capacity charged so far, as indicated at the bottom
of the graph, is followed by a slash and the capacity that was discharged
previously (e.g. "Charge: 1234mAh/2375mAh").
Between alternating discharge and charge phases, there is a delay to allow
the battery to stabilize (to avoid problems like false peak detection). By
default, this delay is 60 seconds.
|
|
|
|
The Internal Resistance Test Settings dialog.
|
Resistance Measurement
To measure the internal resistance of a battery, connect it and click the
Resistance button. BattMan II measures both charging and
discharging resistance, at the currents that you specify in the Internal
Resistance Test Settings dialog. The measured resistances, and their average,
are displayed in the graph pane (which will be otherwise blank).
Voltage Monitoring
Clicking the Monitor button lets BattMan II operate as a
voltmeter that plots the voltage on a graph as time progresses. This is useful
for monitoring the self-discharge of a battery, or perhaps monitoring the
battery voltage while it is being charged by a stand-alone charger (such as the
charger you might use on the flying field). The following information is
displayed and updated at the bottom of the graph:
-
Elapsed time in hours, minutes, and seconds (e.g.
"Time: 0:07:45").
-
Voltage right now (e.g. "Voltage:
9.32").
It is important to note that during monitoring, the negative terminal of the
battery is connected to ground. This means that the voltage monitoring feature
cannot be used if the battery being monitored is connected to a charger that
connects the negative terminal to something other than ground. Otherwise,
current will flow between BattMan II and the external device, and may
damage one or the other (or even your computer). An example of such a problem
would be monitoring the operation of a field charger that's getting its power
from a power supply.
However, if the external device is completely isolated from the AC power system
your computer is plugged into, there will be no problem (for example, a field
charger that is getting its power from a 12V deep cycle battery that is
not itself connected to a charger).
Saving Graphs
After a discharge, charge, cycle, or monitor operation has completed (or has
been interrupted by clicking the Stop button), you can save the displayed graph
in Windows Bitmap format (.BMP) by clicking Save. You can convert the
resulting file to other formats (e.g. GIF, JPEG) using image editing software
such as Adobe® PhotoShop®.
Parts List
The following table lists all the parts needed. These can be obtained at any
electronic supply house, such as
DigiKey. None of the parts
are uncommon or hard to find, so you may already have most of them in your
personal inventory. All resistors are ¼W unless otherwise noted.
Capacitors should be rated at least 10V unless otherwise noted.
|
Part
|
Description
|
|
R1, R2, R4, R6, R8, R10, R12, R14, R16, R18, R20, R22, R24, R26, R28,
R30, R32, R33, R37, R41
|
20.0kΩ 1%
|
|
R3, R5, R7, R9, R11, R13, R15, R17, R19, R21, R23, R27, R29, R31
|
10.0kΩ 1%
|
|
R25
|
15kΩ
|
|
R34
|
1kΩ trimpot
|
|
R35, R39
|
10kΩ trimpot
|
|
R36, R40
|
100kΩ
|
|
R38, R42
|
4.7kΩ
|
|
R43, R44
|
1kΩ
|
|
R45
|
0.1Ω 2W
|
|
C1
|
10µF 50V
|
|
C2, C3, C4, C5, C6, C7
|
0.1µF
|
|
Q1, Q2
|
2N3904 or 2N2222
|
|
Q3
|
TIP120
|
|
D1, D2
|
1N914 or 1N4148
|
|
Z1
|
CD4040 12-bit CMOS Counter
|
|
Z2
|
CD4050 Hex CMOS Buffer
|
|
Z3
|
LM393 Dual Voltage Comparator
|
|
Z4
|
LM358 Dual Op Amp
|
|
VR1
|
7805 Positive 5V Regulator
|
|
K1
|
HY1-5V SPDT Relay
|
|
K2
|
DS2E-M-DC5V-C DPDT Relay
|
|
Power Supply
|
18 to 24V DC, 2 to 3A
|
|
Miscellaneous
|
Heat sink for Q3, heat sink for VR1, DB-25M connector, 11-conductor
cable, 5VDC mini cooling fan, enclosure.
|
Modifications
There are a number of modifications that will make BattMan II even
better. Here are some ideas:
Fail-Safe
Currently, if the computer that is controlling BattMan II should crash
while it is charging or discharging, there's no guarantee that it will stop. If
left unattended, this could have serious consequences.
A fail-safe circuit could monitor line D7 from the parallel port, which is used
to increment the D-to-A converter counter. When the BattMan II software
is operating normally, it is constantly pulsing this line in order to take
voltage readings. If no pulses are seen on this line for some period of time
(five seconds perhaps), the fail-safe can assume that the computer has crashed
and could turn off relay K1, thus disconnecting the battery from the charger.
It's probably possible to construct the fail-safe circuit using a few
resistors and capacitors, and the unused buffers Z2e and Z2f. There might even
be room to modify the existing circuit board layout without having to
completely rearrange it.
USB Support
Parallel ports are still quite common on desktop computers, but they are
becoming rare on laptops, having been supplanted by USB. A USB-based interface
would allow BattMan II to be used with such PCs.
Rather than adding USB support directly to the circuit, it would be simpler
to use a USB Interface experimenter board such as
this one or
this one.
These provide a number of input and output lines that could be connected
directly to the parallel I/O pins of BattMan II. The software could then
easily be modified to drive the experimenter kit instead of a standard parallel
port.
Higher Current
With a sufficiently large power supply and a proportionally larger heat sink
and cooling fan for Q3, there's no reason that the charge and discharge
current limits couldn't be increased to 5 Amps or so. However, at these higher
levels, the aforementioned fail-safe is more important than ever.
I'd Like to Hear from You
If you build this circuit (or not), let me know what you think. If you
have problems, I may be able to help you, but be sure to supply a detailed
description. I can be reached at stefan@capable.ca.
Other R/C Electronic Projects
If you are interested in building more of your own R/C equipment, you may
also want to look at these articles:
|
Buy Stefan a coffee!
If you've found this article
useful, consider
leaving a donation
to help support
stefanv.com
|
|
|
Disclaimer:
Although every effort has been made to ensure accuracy and
reliability, the information on this web page is presented without
warranty of any kind, and Stefan Vorkoetter assumes no liability for direct or
consequential damages caused by its use.
It is up to you, the reader, to determine the suitability of, and
assume responsibility for, the use of this information.
Copyright:
All materials on this web site, including the text, images, and HTML
mark-up, are Copyright © 2009 by Stefan Vorkoetter unless
otherwise noted. All rights reserved. Unauthorized duplication
prohibited. You may link to this site or pages within it, but
you may not link directly to images on this site, and you may
not copy any material from this site to another web site or
other publication without express written permission. You may make
copies for your own personal use.
|
|