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:

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.

D&A Software
Webpage: http://www.dasoft.com
Information: info@dasoft.com
Support: support@dasoft.com

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:

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: 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,

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:

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:

The following numbers are used to reproduce the graph dimensions upon reload.

The following lines are structured the same, each consisting of four values:

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 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