# ‘Soft computing’ in action

## When designing a battery pack a few years ago, I found the “classical” programming approach based on exact relations among process variables to be a very painful process requiring countless “corrections” to deal with high uncertainty of the processed information. When process variables are not reliable, neural networks, fuzzy logic, and free agents can simplify the desig...

September 1, 2007

When designing a battery pack a few years ago, I found the “classical” programming approach based on exact relations among process variables to be a very painful process requiring countless “corrections” to deal with high uncertainty of the processed information. When process variables are not reliable, neural networks, fuzzy logic, and free agents can simplify the design process and create end products with considerably higher reliability.

Battery chargers monitor several process variables, including cell voltage (UC), cell temperature (TC), and cell charge (QC), which is calculated as the integral of the current flowing to the cell. An additional variable—the negative delta voltage (-DUC)—accompanies the cell-charging process.

Those four parameters change with time during the charging process of a NiCd or NiMh cell. The first three parameters exhibit significant dispersion due to different cell and environment conditions, such as ambient temperature, ventilation, initial capacity, and age expressed as number of charging cycles.

Fuzzy logic provides a robust means of controlling a battery pack charger.

The negative delta voltage is not highly reliable, either. A cell might exhibit about 20 mV temporary voltage drop, which can last only a few minutes before voltage resumes rising. Another cell might exhibit this different voltage drop at a different time.

This phenomenon becomes a problem when a battery consists of, for example, 10 cells connected in series. The probability that all 10 cells will exhibit their voltage drops exactly at the same time is very low. Catching a voltage drop of two or three cells, which would sum to 40 – 60 mV, out of a measuring range of 14 V can be a challenging task.

Is there a way to build a reliable battery charger if the accompanying process variables are not very reliable? The answer is: yes.

One of the best ways to solving such tasks is to use soft computing techniques.

The soft computing technique uses sophisticated algorithms well known from the field of artificial intelligence, like neural networks and fuzzy logic. The intelligent battery pack can be suitably built upon fuzzy logic combined with free agents, another modern technique mainly used in robotics and other artificial intelligence applications.

A fuzzy approach to solving the battery charger problem uses four free agents monitoring the four process variables. Each agent continuously monitors one variable and, with the exception of the negative delta voltage agent, “fuzzifies” measured value into three fuzzy states: low, medium and high. The negative delta voltage agent uses only two states: false or true.

A fuzzy states processing and defuzzification module processes the fuzzified variables provided by the agents. This module’s output is a “crisp” (in other words, non-fuzzy) value for the charging/discharging current. (NiCd and NiMh batteries require an occasional complete discharge to avoid the memory effect.)

The charge/discharge control module uses this crisp value as a PID-loop set point during the charge/discharge operation.

The operation mode control module determines the operation mode of the intelligent battery pack and its internal modules. It works like an FSM (finite state machine), processing four input variables and generating the following output states or operation modes:

Discharge batteries;

Charge batteries;

Supply power to all appliances including fan running in booster mode;

Supply power to all appliances including fan running in normal mode; and

Supply power to all (external) appliances excluding fan.

Turn off power supply and go to sleep.

The battery pack can go to sleep mode itself if the power supply is too low to power any external or internal devices. In such a case it will “wake up” only when the ac/dc adapter is plugged in to the unit, when it will go immediately to charge mode.

Four main characteristics of a NiCD cell: the cell voltage, UC, the cell temperature, TC, the cell charge, QC and the negative delta voltage.

In addition, the operation mode control module continuously monitors and indicates critical information on the LCD or LED panel, including:

Current operation mode;

Charge/discharge current during the charge/discharge operation;

Consumed current and remaining time to charge; and

Abnormal conditions.

Fuzzified information provided by free running agents includes charging state (gold volume), trickle charging state (orange volume), moderate charging state (clear). The charging current in brown areas depends on the negative delta voltage agent value during either moderate or trickle charge stages. The defuzzified output variable acquires a crisp value according to the selected charging current range.

The fan control module uses open loop control to set the speed of a fan in the breathing equipment. Three push buttons provide inputs to this control module and the operation mode control module can disable the fan’s booster mode if the remaining charge is low.

Author Information

Peter Galan is a specialist in control software engineering. He has worked on many projects for industrial and telecommunication companies; currently he works at JDS Uniphase in Ottawa, Canada. He can be reached at petergalan@rogers.com .