ABC/LX: Advanced Battery Charging System
for the HP 100LX, 200LX, 1000CX, and OmniGo 700LX
Table of Contents
The Fine Print
As in most manuals, we have to start out with the stuff for the lawyers.
While we must ask that you read this section, in general this is what it
all means:
- ABC/LX belongs to us, not you. What you bought was a right to use
ABC/LX. You can use it on as many computers as you'd like, but each
person that uses ABC/LX must pay for a copy.
- You agree that you use ABC/LX at your own risk. We are not responsible
for anything that happens as a result of your use of this software.
- If you bought this program for use by the U.S. Government, the
Government is only allowed to use it for one person. (If we don't
include this stuff about FARS and DFARS, the Government will assume
that they can make as many copies as they would like, and that they
can do whatever they want with it. At least they're trying to save us
tax payers some money, but sorry, we can't let them do it by pirating
ABC/LX.)
Copyrights and Trademarks
ABC/LX and the ABC/LX logo are trademarks of D&A Software. HP, 100LX,
and HP 200LX are rademarks of Hewlett-Packard Company. All other product
names are copyright and registered trademarks/tradenames of their respective
owners.
Limited Warranty
ABC/LX is distributed on an "as is" basis. Neither D&A Software, nor
the software author, guarantees this program to be free from defects and
may not be held responsible for any losses caused, directly or indirectly,
by the use of this software. If you are not completely satisfied with ABC/LX
within fifteen (15) days of purchase date, you will receive a refund of
your purchase price, less a 20% administrative fee, when you return
all items along with the proof of purchase. Further, since D&A Software
does not have any direct affiliation with Hewlett Packard Co., future models
of the HP Palmtop may not be compatible with ABC/LX. D&A Software does
not guarantee that updates will be available to maintain compatibility
with future HP Palmtop models. Further, if updates are offered, an upgrade
fee may be required. Your use of this program constitutes your acceptance
of these terms.
Disclaimer of Warranty
With the exception of the Limited Warranty stated above, D&A Software,
and the software author, disclaim any and all warranties, expressed or
implied.
Use by the U.S. Government
RESTRICTED RIGHTS:
Use, duplication, or disclosure by the U.S. Government is subject to
restrictions as set forth in subparagraph (c)(1)(ii) of the Rights in
Technical Data and Computer Software clause of DFARS 252.227-7013 or
subparagraphs (c)(1) and (2) of the Commercial Computer Software Restricted
Rights at 48 CFR 52.227-19.
Table of Contents
1. INTRODUCTION TO ABC/LX
The HP100LX and HP200LX palmtops warn of low battery when the voltage drops
below approximately 2.39 Volts. The user has to enable the charging manually
from the Setup-Battery Menu. The fast charging cycle then runs for six
hours, followed by trickle charging. This method may not be sufficient
for certain batteries. This also lets the batteries get quite low before
sounding the "low battery" alert. In addition, partially charged batteries
will still receive a full charge when using the built-in algorithm, which
may cause them to heat up, thus shorten their life span.
ABC/LX implements an algorithm that augments the built-in charge process
and improves on most of its aspects. ABC/LX also adds several features
that help the palmtop owner see at a glance the condition of the batteries.
ABC/LX functions in the background, supporting the owners who do not
wish to be concerned with the technicalities of battery charging. For these
individuals, ABC/LX provides the automatic management of battery charging.
The next three paragraphs discuss in some detail how ABC/LX works and
its functions. You may skip this, and go to Chapter 2.
"Installation of ABC/LX" to read about the installation process of
ABC/LX.
How ABC/LX Works
ABC/LX consists of two programs. ABCTSR.COM is a tiny TSR (Terminate &
Stay Resident) program that uses less than 2K RAM and "lurks" in the background.
It changes the charging state whenever appropriate based on parameters
set up by the other program, ABC.EXE. ABC.EXE also provides a graph of
the charging process and the interfaces to modify the charging configuration
parameters.
ABCTSR.COM periodically checks the battery voltage and activates the
charging when the voltage drops below a preset level. While charging, ABCTSR.COM
continuously monitors the voltage and will react when it detects the following
conditions:
- The voltage has reached a certain preset level.
- The voltage did not rise for a preset amount of time.
- The total charging time has reached a preset value.
- The charging stops by manual intervention.
If desired, trickle charging of the batteries may also be specified. All
these parameters are set using ABC.EXE, and are discussed in greater detail
later in this manual.
Table of Contents
2. INSTALLATION OF ABC/LX
The installation steps consist of the following items:
- Moving the programs from the diskette to the palmtop.
- Adjustments to the AUTOEXEC.BAT file on the palmtop.
- Booting the palmtop.
- Installing ABC/LX in the Application Manager Menu.
- Initial Auto-tune process.
Note: If you do not have a desktop computer, or it is not
PC-compatible, please call us if you need assistance to move the files
to the palmtop. We will be glad to make some arrangements to accomodate
you.
Moving the Programs to the Palmtop
You will need to move two programs to the palmtop to run the system: ABC.EXE
and ABCTSR.COM. ABC.DOC contains the ASCII version of this documentation.
You can use INSTALL.EXE to copy the programs from a desktop computer
to the palmtop. To use INSTALL.EXE, establish a serial connection between
the two computers. Then,
- Start the FILER application on the palmtop (press the {FILER} key).
- Setup the remote communication parameters to 57,600 baud, COM1, and
enable Server Mode.
- Launch INSTALL.EXE on the desktop.
INSTALL.EXE prompts you for the desktop serial port number that connects
to the palmtop and for the name of the subdirectory where ABC/LX will be
copied to. If the directory does not exist, a new one will be created.
INSTALL.EXE will then copy the necessary files to the palmtop.
Adjustments to AUTOEXEC.BAT
To assure that the TSR runs properly on the palmtop, add the following
line to AUTOEXEC.BAT on the palmtop:
C:\BIN\ABCTSR.COM
Change "C:\BIN" to reflect the correct drive and path name (subdirectory)
where ABC/LX is installed.
Make sure to add the line to AUTOEXEC.BAT before the System Manager
startup (i.e., before a line specifying 100 or 200). If no AUTOEXEC.BAT
file is present, copy the one from the D: drive, file name AUTOEXEC.BAT,
to the C:\ directory (or to A:\ if you use a flash card or SRAM card).
Booting the Palmtop
Close all the applications on the palmtop. Then press the {CTRL}{ALT}{DEL}
keys at the same time. This will boot the palmtop. Now, ABCTSR should be
running.
Installing ABC/LX in Applications Manager Menu
In FILER, press {MENU} O D to go to a DOS prompt. At the prompt, enter:
C:\BIN\ABC
Change "C:\BIN" to reflect the correct drive and path name (subdirectory)
where ABC.EXE is located.
ABC prompts you if you want to install ABC.EXE in the Application Manager
menu. If you reply "Yes", it adds a new entry to the Application Manager
menu, and you can use it to start ABC in the future.
Initial Auto-Tune Process
Next, ABC/LX asks if you want to "tune" the parameters. ABCTSR has default
values for all the parameters, such as the maximum charging time, etc.
These default values are not likely to be appropriate for your batteries
because batteries vary greatly from each other. The only useful way to
set up the parameters
for your batteries is to observe their behavior
during the charge process and to set the parameters accordingly.
In order to tune ABCTSR for your batteries, they should not be completely
new (i.e., almost empty) nor fully charged. If your batteries are completely
new, charge them first. If they are fully charged, use them in the palmtop
for about one or two hours before you start tuning. Also, tuning takes
as few as 3 hours and up to 12 hours, and you must run ABC.EXE as the topmost
application during that time (i.e. the screen shows this application at all
times.) If you are not ready to tune ABCTSR, reply "No" to the tuning question.
You can tune it later (e.g., overnight) by choosing "Auto-Tune" from the
"Setup" menu.
If you decide to auto-tune, ABC/LX asks for the capacity of your batteries,
which usually appears on the batteries. If you do not know what the capacity
is, enter 850 for NiCd batteries or 1200 for NiMH batteries. If you have
no idea which type of batteries you have, then enter 1000. Auto-tune uses
this value as a first rough guess to predict the behavior of your batteries,
and approximate values are acceptable.
We STRONGLY urge you to perform the auto-tune process as soon
as possible, with your set of batteries, so ABCTSR will be able to obtain
values appropriate for your batteries. If you are not able to auto-tune
now, you can quit from ABC ({MENU} Q), and return to it when you can run
the auto-tune. In the meantime, ABCTSR will use the initial (untuned) values
for the batteries.
Chapter 3 "Tuning ABCTSR" discusses in detail the
tuning process and each of the parameters that affects the bahavior of
ABCTSR.
Chapter 4 "ABC Display and Menus" explains the
display items and menus of ABC.
Chapter 5 "Voltage and Timer Display" has information
about the voltage and timers displays. These displays replace the word
"Help" on screens which show this label for the F1 key.
Chapter 6 "ABC Graph" describes the components
of the graph and how to utilize this information.
Chapter 7 "Questions & Answers" contains a
number of typical questions and answers about ABC/LX.
Note: Hewlett Packard states that the recharging system in the
palmtop was designed to operate only with Nickel-Cadmium rechargeable
batteries, and therefore, recommends that you do not charge any other types of
rechargeable batteries in the palmtop.
Table of Contents
3. TUNING ABCTSR
When you use ABC for the first time (and also when you install another
set of batteries), you have to tune ABCTSR because the charging parameters
of ABCTSR need adjustment so that ABCTSR can work optimally for these batteries.
Some of the tuning can be done automatically by using the "Auto-Tune" command
from the "Setup" menu. You can also tune manually using the "Configure
ABCTSR" command in the "Setup" menu. Some of the values you must enter
manually because there is no automatic way to know what type of behavior
you expect from ABCTSR.
To modify the parameters in ABC, you use {F2} key, or ({MENU} S, C)
(Setup, Configure ABCTSR). ABC will pop a window as in
Figure 3A. This is the screen where you enter the
parameters.
(This image may also be seen by running program ABCFIG3A.EXE)
ABCTSR uses the following parameters:
Starting Voltage
This is the voltage at which charging will be enabled. Whenever the voltage
drops to or below this value, ABCTSR enables charging.
Ending Voltage
This is the voltage at which charging will be disabled by ABC/LX. As soon
as ABCTSR detects this voltage during charging, it disables fast charging.
Charging Time
The amount of time after which fast charging should stop. During fast charging,
ABCTSR disables charging if this amount of time has elapsed, even if the
"ending voltage" value has not been reached. The time units are hours and
minutes.
Voltage Stall Time
If the voltage does not rise for this amount of time, ABCTSR stops the
charging. If the voltage remains the same for a certain time, this is an
indication that the batteries are full and cannot be charged any more.
This parameter specifies how long that time should be. The time units are
hours and minutes.
Trickle Charge Time
The amount of time, you want to trickle charge the batteries. The default
value for this parameter is zero. If you want to "top off" your batteries
with trickle charging, enter a value here. The time units are hours and
minutes.
How to Find the Best Values for These
Parameters?
Start charging when at or below ... volts
You may have already measured the voltage, then you know that value. If
not, set it to a very low value (e.g., 2.40) in ABC. Auto-tuning does not
set this value automatically, therefore you have to provide it from your
own experience. Use the voltage displayed on the screen at the time you
would normally start charging, or perhaps slightly higher. (When you run
ABC for the first time, and it inquires about the frequency of recharging
you require, it sets rough values: 2.40 volts for "Only When Low", and
2.50 volts for "Often".)
Stop fast charging at ... volts
To get the most out of your batteries, never charge them beyond the point
when they are full. Therefore, the maximum voltage and the "stall" features
are much more useful than the maximum time since they depend on the amount
of charge of the batteries. The maximum charge time should only be used
as a safeguard (e.g. if you have accidentally set the other parameters
too high). Tuning is, therefore, mainly a matter of finding appropriate
values for the maximum voltage and the "stall" features. Between them,
the "stall" feature is more flexible because the maximum voltage your
batteries can reach may decline during their life. However, the maximum
voltage is a good criteria to indicate full batteries, because it is easier
to determine than the "stall" time.
The following procedure is suggested as a method to determine the maximum
voltage and the "stall" time. This is basically the procedure used by "Auto-tune"
to determine these values:
- Set the maximum voltage to 3.30 volts, the stall time to 5 hours and the
charging time to 16 hours. That way, your batteries will certainly get
a full charge even if they were almost empty before. The high values
also prevent a premature termination of the charging due to maximum
voltage or "stall" time.
- Enable charging manually.
- Keep ABC.EXE running in foreground and watch the graph every hour or so.
When you notice that the voltage does not rise any more for a long time
(2 or 3 hours), stop the charging manually (to prevent overcharging and
heating).
- Check the graph to find out the highest voltage reached. Use this value
as the maximum voltage
- Check on the graph again to determine the longest duration when the
voltage did not rise (ignore the last interval which you interrupted).
Add about 25% to that time and set the "stall" parameter to that value.
- Finally, set the maximum time to the value at which you stopped the
charging manually - or a little more. If you did the test with almost
full batteries, add more time.
If you find later that ABCTSR stops charging because of the time limit,
set it to a higher value.
Then trickle charge for ... hh:mm
The trickle charging time is set to zero by default (i.e. no trickle charging
will occur). This is usually a good value since ABC can charge the battery
till they are fully charged, so no "topping off" is required. If, for any
reason, you still want to trickle charge your batteries, set this parameter
to an appropriate value.
Table of Contents
4. ABC/LX DISPLAY AND MENUS
The main screen (see Figure 4A) of ABC displays
information about the current voltage and the current charging state at
the top of the screen. Below that, the screen displays a graph of the charging
process.
(This image may also be seen by running program ABCFIG4A.EXE)
The horizontal axis corresponds to the charging time and the vertical
to the voltage. Note that the graph is only updated while ABC.EXE is running
as the topmost application. However, if you enable the data collection
through ABCTSR, then the information can be displayed later (See
Chapter 6 "ABC Graph".)
In this screen, when the Menu key is pressed, a menu of possible actions
pops up. It is similar to the Menu key action of the built-in applications
on the palmtop. You can select all of the items from the menus, or you
may access settings directly by pressing the function keys.
Figure 4B shows one of the menu items.
(This image may also be seen by running program ABCFIG4B.EXE)
The menu items are described below:
File Menu: Save Graph
Saves the current charging data (the data from the graph) to a file. This
file can be imported by other applications for processing (e.g. Spreadsheet).
The structure of this file is:
Line 1 consists of a string "ABC " followed by the reason for stopping
fast charge:
- 0: the user stopped it
- 1: maximum voltage was reached
- 2: the voltage did not rise anymore
- 3: the maximum time was reached.
The following numbers are used to reproduce the graph dimensions upon reload.
The following lines are structured the same, each consisting of four
values:
- Number of seconds that voltage stayed at the same level,
- Voltage,
- A single digit:
- "0" = trickle charging
- "1" = fast charging
- The internal voltage measurement used by ABC/LX ("1" if invalid)
File Menu: Load Graph
Retrieves previously saved graphs and displays them.
File Menu: Save Config
Saves the current configuration (low voltage, stall time, maximum voltage,
maximum charging time, trickle charging time) to a file. This is useful
if you use several sets of batteries with different properties.
File Menu: Load Config
Retrieves a configuration previously saved with "Save Config".
File Menu: Exit
Exits from ABC program. Exiting ABC does not affect the TSR program. It
keeps running even if ABC.EXE is not running.
Charging Menu: Start Charging
Enables charging (if not already enabled) regardless of the current voltage
level.
Charging Menu: Force Trickle
Enables charging (if not already enabled) and switches to trickle charging
mode.
Charging Menu: Stop Charging
Stops charging if it is currently enabled.
Charging Menu: Reason
Pops up a window that explains why fast charging stopped. Knowing the reason
is useful for tuning ABC/LX.
Timers Menu: Set User Timer
Displays the current user timer value and lets you set it to a new value
(See Chapter 5 "Voltage and Timer Display"). Use this
command to set the user timer to zero.
Timers Menu: Set Battery Timer
Displays the current value of the battery timer and lets you set it to
a new value
(Chapter 5 "Voltage and Timer Display"). Use
this command to set the battery timer to zero when you install a new pair of
charged batteries. This timer can provide information about how long the
batteries last on a charge.
Setup Menu: Configure ABCTSR
Pops up a dialog box in which you can modify the parameters described in
Chapter 3 "Tuning ABCTSR".
Setup Menu: Options
Opens the "Options" dialog, with check boxes to enable or disable features.
For a description of the "Display voltage / timers" option, see Chapter 5 "Voltage and Timer Display". For a description of
the "Buffer graph data in ABCTSR" see Chapter 6 "ABC Graph"
.
Setup Menu: Auto-Tune
This menu item starts an automatic tuning session. It determines the criteria
for stopping a charge cycle that are appropriate for the currently installed
batteries.
Setup Menu: Info
Displays the following values: main battery voltage, backup battery voltage,
battery timer and user timer.
Quit
This has the same effect as "File Menu: Exit".
Help Menu: About
This selection displays information about the program.
Help Menu: Help
Displays a brief message about how to use the program.
Table of Contents
5. VOLTAGE AND TIMER DISPLAY
If the "Display voltage/timers" check box in the Options dialog is marked
(the default), ABCTSR will display the battery voltage on top of the "Help"
key label when one of the internal applications (or a PAL application)
is running.
When the voltage drops to the value selected to start charging, this
voltage display is inverted. The inverse display reminds you that you should
attach the power supply as soon as possible, since the batteries are low.
While charging, the decimal point in the voltage is replaced by a small
rectangle, to provide a visual indication that charging is active.
If the voltage and timer display feature is enabled and you press {ALT}
and {CTRL} at the same time, the display rotates through three different
values (You may have to hold the keys down for 1/2 a second or so):
- the present battery voltage
- the battery timer, in the form hh:mm
- the user timer, in the form hhh:mm
The voltage simply displays the voltage of your batteries.
The battery timer shows the total amount of time the unit is on and
running on batteries since the last full charging cycle. The battery timer
is displayed as hh:mm, i.e. with two digits for the hours.
The user timer displays the total amount of time you used your palmtop.
This timer is increased once a minute if during that minute a key was pressed.
The timer is reset when either 1000 hours are reached or when you set it
manually using "Timers Menu: Set User Timer".
The battery timer and user timer are easily distinguished from each
other: The battery timer uses two digits for the hours (hh.mm), and the
user timer uses three digits for the hours (hhh.mm).
If you do not want the "display voltage/timer" feature, you can disable
it in the Options dialog. If you disable the display, ABCTSR requires about
500 bytes less in RAM when you reboot next time.
Table of Contents
6. ABC GRAPH
ABC.EXE collects data needed for the graph while it is running. If you
switch away from ABC to another application and later return ABC, there
will be a gap in the graph. If you quit ABC, the graph is lost unless you
save it first using the "File Menu: Save Graph" command.
You can configure ABCTSR to collect and retain charging information
for ABC.EXE to use. In the Setup Menu: Options, check the box "Buffer graph
data in ABCTSR" to enable this.
If the buffering is enabled, ABCTSR requires an additional 2K of RAM,
and you must exit all applications and reboot the palmtop to activate the
feature.
Table of Contents
7. QUESTIONS AND ANSWERS
Q: When starting ABC.EXE, it says: "ABCTSR is not loaded" and immediately
aborts. What's wrong?
A: ABC cannot "talk" to the ABCTSR program. Make sure ABCTSR is started
in your AUTOEXEC.BAT.
Q: ABC displays "Wrong battery type". What's wrong?
A: You installed alkaline or lithium batteries. These battery types
are not rechargeable.
Q: ABC displays "No power supply". What's wrong?
A: ABC can do its work only when the power supply is attached. Otherwise,
it is idle and displays this message.
Q: ABC displays "Charging suspended". What does that mean?
A: If you disconnect the power supply while charging (or if there is
a power interrupt), ABCTSR will enter "suspend mode". This means that all
timers are stopped and ABCTSR is waiting until power is available again.
As soon as there is power again, charging continues where it was interrupted.
Q: When I run ABC.EXE, switch to a different application and then go
back to ABC.EXE, there are "holes" in the graph. What's wrong?
A: ABC.EXE can collects data only while it is running as the topmost
application. However, you can configure ABCTSR to keep track of that data
even if ABC.EXE is not running. You can enable that feature in the "Setup
Menu: Options" dialog box.
Q: Do NiCd batteries develop the "memory effect" when charging always
starts at the same voltage?
A: What is commonly called "memory effect" does not have anything to
do with what originally was called "memory effect", only observed once
before. That was on a satellite with extremely uniform charging/discharging
cycles. What most people call "memory effect" is when they see their batteries
are aging sooner than expected and is usually the result of periodically
overcharging the batteries and not from "training the batteries to a certain
voltage". ABC/LX is able to help prevent overcharging the batteries and, thus,
preventing the so-called "memory effect".
Q: How can I remove ABCTSR from memory?
A: Just run ABCTSR.COM again and it will remove itself from the memory.
Note that this only works if ABCTSR was the last TSR that was loaded. If
there were any TSRs loaded after ABCTSR, remove them first.
Q: The very first time I started ABC, it asked me if it want to have
ABC.EXE installed in Application Manager. I said no at that time, but now
I want to have it installed there. What can I do?
A: Edit ABC.CFG and remove the line "Installed = 1". Then run ABC.EXE
again. You can also install ABC in the Application Manager menu by following
the directions in the palmtop manual.
Q: I don't want ABC/LX to enable charging during the day, but only in
the night. How can I do that?
A: Set up an appointment that starts a system macro every night. (How
to do this is described in the HP users manual). Let the macro go to the
setup application and enable charging. ABC/LX will turn charging off again
as soon as the batteries are full. That way you have always fully charged
batteries in the morning (provided you had the power supply connected at
night).
Table of Contents
Acknowledgments
We wish to thank the people who contributed to PAL (palmtop application
library), which builds the base for ABC.EXE. We also wish to thank the
Beta Test group for their efforts:
Lee Buck, Stan Dobrowski, Mark Gitlitz, Alexander Gutfeldt, Andrew W.
Hilkowitz, Fred Kaufman, Dara Khoyi, Gilles Kohl, Harry Konstas, Boniface
Lau, Avi Meshar, Vic Roberts, Thomas Rundel, John Seymour, Larry Tachna.
ABC/LX was developed entirely on the HP 200LX Palmtop. ORDER.EXE and
final editing of ABC.DOC were done on other machines.
© Copyright 1995-1999 by D&A Software
ABC/LX distribution and support is provided by our dealers worldwide.
Please refer to our webpage for a list of our dealers -
http://www.dasoft.com and click on the
"Our Dealers" link.
March 15, 1998
HTML Adaptation September 6, 1999, Avi Meshar