Figure 8. Discharge curve of a battery pack.
stop if the cut-off voltage is met or the time has expired.
You can also stop the test by clicking on the “End Plot”
Figure 8 shows a finished test-graph or now called a
“discharge curve” of one of my battery packs. Figure 9
shows the data table that was created. You can print the
data table by selecting “print” from the menu. In an effort
to keep the program simple, I did not include a menu
option to print or store the discharge-graph. You can store
and print the graph by copying it to the clipboard using
the “print screen” key on the keyboard. You can now
“paste” the captured graph into MS Paint where it can be
printed and saved for later review. A new test session
can’t start until the graph-form has been closed, so make
sure you copy the data and graph to a file if you want to
save the results.
If you wish to modify the VB code, there are a couple
of issues that need to be addressed. The CommX1 control will need to be added to the component section of the
VB environment before you attempt to run the program
during design-time. An error will be produced if it does not
find the CommX1 control. If you are fortunate enough to
have a version of VB that includes the MScomm control
and you would rather use that control, the code will have
to be modified by removing the CommX1 control code
and adding support for the MScomm control.
A second control issue is with the data table that
holds the voltage samples. This is a “flex grid” control
that is not found on basic editions of the VB environment.
You will get an error at design-time if the version you are
using does not have this control. If you want to modify the
code and don’t have this control, there are other methods
to print data during testing. You can simply remove all
references to the flex control and add a simple routine
that prints the data to a form in a formatted table that can
be saved using the same print screen method. There are
several solutions that are well within the capability of the
NUTS & VOLTS
1. SIMM100 PCB or similar AVR circuit.
2. Components for interface board: Mega16, Max232, Max701, and support
components as described in the Simm100 manual.
3. 2 — IRL3103 FET (T1, T2). *Logic level with a low ON resistance.
4. 1 — 2N222 NPN transistor (T3).
5. 2 — 0.3 ohm power resistors (aluminum housing).
6. 2 — 100 ohm resistors.
7. 1 — 5K ohm resistor.
8. 1 — Five-volt DC mini relay.
9. 1 — 1N4004 diode.
10. Suitable heatsink for power devices.
11. One battery connector that mates to the style used on the batteries being tested.
12. 14-gauge wire for connecting resistors and FETs to the test battery.
1. Method to program microcontroller: STK500, AVR-ISP, Kanda200, etc.
2. Computer running Windows™ operating environment.
3. Bascom-AVR software (if you want to modify the program).
4. Visual Basic programming environment (if you want to modify the program);
see “special notes.”
5. Normal project things: hand-tools, soldering iron, goggles, voltmeter, etc.
6. Fire extinguisher (you can’t be too safe!).
7. Knowledge needed to implement project requirements (priceless).
To make your modified creation
a stand-alone” .EXE” program, a version that typically costs more than
most hobbyists can afford will be
required. If access to a version with
this support is unavailable, you
will just have to run your code from
within the VB programming
A good reason for modifica-tion/enhancement would be to
change the time increments or voltage increments. A better but more
complicated program would include
a control to allow dynamic changes
to the graph for different measurement ranges and resolutions. The
program is best viewed at 800*600,
but will still work well at finer settings. The feature-rich possibilities
are endless and only limited by the
The single-cell option uses a
voltage scale from 0-2 and does not
require a voltage divider; 1.2 volts is
well below the five-volt ADC limit,