You are on page 1of 104

Impact of Current Waveforms on Battery Behaviour

by

Thuwaragan Sritharan

A thesis submitted in conformity with the requirements
for the degree of Master of Applied Science
Graduate Department of Electrical and Computer Engineering
University of Toronto

c 2012 by Thuwaragan Sritharan
Copyright

Abstract
Impact of Current Waveforms on Battery Behaviour
Thuwaragan Sritharan
Master of Applied Science
Graduate Department of Electrical and Computer Engineering
University of Toronto
2012

With increasing emphasis on renewable energy sources and efficient energy use,
energy storage devices, and in particular electrochemical storage devices, are becoming
more prevalent. In order to interface batteries to systems, converters are used to maintain
the desired voltage, current or power. In this thesis, we explore the response of the battery to commonly seen current waveforms to understand the impact of the converter on
the battery. An electrochemical model of the electrode-electrolyte is studied to first understand its operating principles and then to pinpoint the causes of the observed battery
response. A circuit was built to test the response of the battery to current waveforms.
Experiments consisting of constant current, triangular and sinusoidal currents of varying
frequency and ripple currents, and pulsed currents were conducted. Using electrochemical principles, an explanation of the results is presented along with the impact of the
experimental results on converter design specifications.

ii

Acknowledgements
Foremost, I would like to thank my supervisors Professor Francis Dawson and
Professor Keryn Lian, for their support, guidance, and patience over the course of this
thesis. Their insight into areas outside of the field of ECE proved to be extremely valuable
and was an integral part in this thesis.
I am also grateful to Adrian Amanci, Jin Chang, Amgad EL-Deib, Valentin Bolborici, Hamid Timorabadi and Qifeng Tian for their time and assistance in various aspects
of my thesis.
I would like to also acknowledge the Flexible Energy and Electronics Laboratory
(FEE Lab) for letting me use their equipment for my tests.
Thanks and acknowledgement must be given to Haoyang Chen and Pawel Chomicki
who worked on the waveform generating circuit and the MATLAB GUI used to analyze
the data.
Last, and most importantly, I need to thank my family. For without their love,
support and patience, I could not have completed this thesis.

iii

. . . . . . . . . . . . .6 Nickel Based Batteries . . . 17 2. . . . . . . . . . . . . 25 3 Experimental Results and Discussion iv 26 . . . . . . . . . . . . . . . . . . . . . . . .2 Outline . . . . . .8 Summary of Battery Chemistries . . . . .5 Lead Acid . . . . . .Contents Abstract ii Acknowledgements iii Table of Contents iv List of Tables vi List of Figures vii 1 Introduction 1 1. . . . . . . . . . . . . . . . . 7 2. . . . . . . . . . . . . . . . . . 4 1. . . . . . . . . . . . . . . . . . . . . . . . . . . .4 Battery Model . . . . . . . . . . . . . . . . . . . 5 2 Introduction to Batteries 7 2. . . . 10 2. . . . . . . . . . . .1 Electrochemical Cell Overview . . . . . . . . . . . . . . . . . . . . . . .2 Electrode-Electrolyte Interface . .7 Lithium Based Batteries . . . . . . . . . . . . . . . .1 Objectives . . . . . . . . . . . . . . . . . . . . . 15 2. . . . . . . . . . . . . . . . . . . . . . . . . . 21 2. . . . . . . . . . . . . . . 18 2.3 Electrochemical Impedance Spectroscopy . . 19 2. . . . . . . . . . . . . . . . . . . .

. . . 29 3. . . . . .3 Triangular and Rectified Sinusoidal Currents . . . . . . . . . . . 43 4 Conclusion 49 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 Circuit Details . . . . . . . . . . . . . . 62 A. . . . . . . . . . . . . . . . . . . . . . . . .1 Experimental Setup . . . . . . . . . . . . . . . .2 Matlab Code . . . . . 51 4. . . . . . . . . . . . . . . . 52 A Battery Tester Circuit Design 54 A. . . . . 36 3. . . . . .4 Pulsed Currents . . . . . .2 Constant Current Charging and Discharging . . . . . .1 Introduction . . . . . . . . . . . 69 B Battery Tester Code 71 B. . . . . . . . . . . . . . . . . . . . . .1 Contributions . . . . . . 54 A. . . . . . .5 Testing . . . . . . . . . . 27 3. . . . . . . . . . . . . . . . . . . . . . . . . . . .4 Simulation . . . . . . . . . . . . . . . . . 55 A. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3.1 Circuit Requirements . . 71 B. . .2 Circuit Overview . . . . . . . . . . . . . . . . . . 57 A. . 78 References 92 v . . . . . . . . . . . . .2 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. 39 3. .8 2C Average Charging Current with 1kHz Sinusoidal Current Ripple . . . . . 28] . .List of Tables 2. . . . . . . . . . . . . . 40 3. vi . . . . . . . 41 B. 40 3. . . . . .2 Constant Current Discharge . . . . . . . . .1 Comparison of Secondary Batteries [27. . . . . . .1 GUI Layout Handles . . . . . . . . . 34 3. . . . . . . . . . 25 3. . 75 B.2 Data Structure Handles 76 . . .4 2C Average Charging Current with 10%C Triangular Current Ripple . . . . . . .5 2C Average Charging Current with 20%C Triangular Current Ripple . .7 2C Average Charging Current with 50%C Triangular Current Ripple . . . . . . . . .6 2C Average Charging Current with 30%C Triangular Current Ripple . . . . . . . . . . . . . . . . . . . . . . . . .1 Constant Current Charge . . . . . . . . . . . . 37 3. . . . .3 1C Average Charging Current with 10%C Triangular Current Ripple . . . 39 3. . . . . 32 3. . .

. . . . . .5C. 21 3.5 Cell response to a step in the a) applied voltage. . . . . . . . . . . . . . . . . . . . .2 Characterization of switch-mode converters by current waveforms. .8 14 16 EIS for a lithium battery from [1] as a function of charge-discharge cycle number. . .1 30 Cell voltage response for constant current charge at 0. . . . . . . . . . . 16 Electrode-electrolyte circuit model proposed by Conway [17]. . . . 18 2. . .1 A typical battery model [6]. . . . 12 2. . . . . . . . 9 2. .6 EIS with no DC bias resulting in a) the measured impedance . . . . . . . . . . . . . . . . . .9 15 EIS for a typical electrode electrolyte interface where Rct is the charge transfer resistance and Cd is the double layer capacitance [16]. . . .3 Formation of the electric double layer [11]. .List of Figures 1. . . . 10 2. 2. . . . . . . . . . 2. . . . . . 8 2. . .7 2. . . . . . . . . . . . . . . . . . . . . . . . . .10 Simplified battery equivalent circuit. . . and b) applied current assuming a perfectly conducting electrolyte and electrode. 2. . . . . . . . . . 5 2. . . . .1 Two possible methods of interconnecting battery storage to a grid. . . . . . . 17 2. . . and b) the RC circuit that models the measured impedance. ignoring diffusion rate limiting phenomena and assuming a large number of accessible active sites. . . . . .2 Schematic illustrations on the crystal structures of (a) LiCoO2 (layered structure). . . . . . . . . . . . . . . and (c) LiFePO4 (olivine structure [9]). . . vii . . . .11 Typical charging profile for Ni-MH and Ni-Cd batteries [22]. . . .4 Formation of a concentration gradient at the electrode-electrolyte interface. . . (b) LiMn2O4 (spinel structure). . . . . . . 3 1.

. . . . .5C DC current with a 100ms pulse of 1C charge current. . . resistance to calculate IR voltage drop as function of a) battery capacity and b) time. . . . 3. . .9 Cell voltage response for 2C charge with 0. . . . . . . . and b) predicted cell response from Sand’s equation. etc. . . . . . .4 Cell voltage response for constant current discharge at 0. . . . . . . . . . . . .15 Battery response to a 0. . . .5C DC current with a 100ms pulse of 2C. . . . . . . . . Voltage0 corresponds to the pulse response when the battery is depleted. . . . . . . . . . . . . . . . 44 3. 1C. . . . . . .10 Cell voltage response for 2C charge with 1kHz ripple current . .14 Cell voltage response for a 0. . . . .5C DC current with a 100ms pulse of 1C. .5 Predicted cell voltage waveforms during discharge using internal battery . .1C ripple current of varying frequencies.5C 34 3. . . . . . . . . . . . . . . .5C DC current with a 10ms pulse of 1C discharge current. Voltage25 is the response when the battery is charged to 25%. . .5C to 1C charge pulse of 10ms at various states of charge. . . . . . . 1C. . . 41 3. . . . . . . . . . 39 3. . . . .6 Cell voltage response for constant current discharge at 0. . . . . . . . .5C ripple current. . . 46 3. 2C and 3C. .3. . . . . . . . .2 Predicted cell voltage waveforms during charging using internal battery resistance to calculate IR voltage drop as function of a) battery capacity and b) time. 32 3. . .7 34 35 Cell voltage response for 1C charge with 0. . . 45 3. . . 44 3. . . . . . . . .5C. .11 a) Current pulse response for a 0. . 38 3. . . . . . . .8 Effect of ripple current on cell capacity (with a DC current of 2C). . . . . 47 viii . . . . . . . . . . . . . . . .5C. . . . . . . 3. . . . . . .13 Cell voltage response for a 0. . . . . . . . . . . . . . . . . . . . . . 42 3. . . . 2C and 3C along with the predicted voltage response.12 Cell voltage response for a 0. . . .3 31 Cell voltage response for constant current charge at 0. . 3. . .

. . . .m . . . . . . .m . . . . . . . 78 ix . . 68 A.12 Bode plot of the feedback loop (H(s)) for 1A (blue). . . . . .10 Transfer function model of a feedback controller. . . . . . . . 10A (red) and 14A (teal) currents. . . . . . . . . . . 59 A. . . . . . . 57 A.5 DAC Theory of Operation. . . . . . . . . . . . .16 Battery response to a 0. . . . . . . . . . . . . . .6 Internal resistor ladder of the DAC. . etc. . . . . . . 48 A. The second trace shows the op-amp output and the third trace shows the resulting current. . . 67 A. . . . . . . . . . . . . . . . .2 Current control loops.1 Layout Hierarchy of GUI in dataloggerGUI. . . . . . . .2 GUI Layout of dataloggerGUI. . . . . . 58 A. . . . . . . .9 The small signal model of the op-amp and BJT in the charging loop. . . Voltage0 corresponds to the pulse response when the battery is fully charged. . . . . . . . . . . . . . . . . . . . . . 5A (green). . . . . . . . 59 A. . . 70 B. . . . . 58 A. . . . 63 A. . . . . . . . . . 56 A. . . . . . . . . . .7 Simplified circuit used for PSpice simulations. 65 A. . . . . . . .3 Plot Annotations in dataloggerGUI. . . .15 DAC linearity of the input signal and the resulting output current . . . . . . . . . . .3 DAC Battery charging mode. . . . . . . . . . . . . . . . .14 Experimental circuit response of the compensated charging loop showing output current response to a 1A to 10A step. 65 A. . . . . . 69 A. . . .4 DAC Battery discharging mode. . . . . . . . . . . . . . . . . 64 A. . . . . .13 Experimental circuit response of the uncompensated charging loop showing output current oscillations. . . . . . . . . .3. . . . . . . . . . . . . . . . . . . . 70 A. . .m . . . . . 74 B. .8 Simulated circuit response of a 1A to 5A pulse.5C to 1C discharge pulse of 10ms at various states of discharge. . . . The second trace shows the op-amp output and the third trace shows the resulting current. . . . . .11 Bode plot of the op-amp open loop gain. . .1 Complete schematic of the battery charging and discharging circuit. . . . . . . . Voltage25 is the response when the battery is discharged by 25%. . . . . . . . . . . . . . 73 B. . . . . . . . . . . . . . . . . . . . . . .

The work in this thesis will focus on electrochemical energy storage. There are also schemes going forward where the cost of buying or selling energy to the grid would vary depending on the time of day.for example. There are several means of storing energy .Chapter 1 Introduction With increasing environmental concerns. 1 . In this case the sizing of the energy storage system and the management of the energy transfers has to be optimized to maximize the rate of return on the investment. Electrochemical energy storage in the form of batteries is the most common form of energy storage in use today and for the foreseeable future. compressed air in underground caverns. pump storage. The most prevalent forms of renewable energy derived from the sun or wind are not constant and thus energy storage is required to reconcile short as well as longer term mismatches between instantaneous energy supply and energy demand. flywheels or electrochemical storage. a large emphasis is being placed on renewable forms of energy. Pump storage is only practical in specific geographical areas. Flywheels are of interest but the cost of ownership is still problematic. The storage systems are charged during periods when the load demand is low and discharged when the demand is high. season and location.

These converters will always inject AC waveforms (current ripple) into the battery but the magnitude and frequency content of the ripple can be designed beforehand. Introduction 2 There are a number of battery technologies available on the market and each technology has attributes as well as drawbacks. 1. This includes Uninterruptible Power Supplies (UPS) for consumer appliances as well as for businesses that use batteries as a means of transitioning from grid power to backup diesel generation. Most applications using batteries require converters to transform the power into the needed voltage or current. Battery manufacturers typically provide data sheets showing how the batteries perform under constant current charging or discharging. batteries are also used to provide backup power for consumer applications where downtime is detrimental. 1. 1.1: Fig.Chapter 1. Two schemes for interconnecting a battery to a grid is shown in Fig. They do not give any indication on how a battery responds under pulsed current conditions which is the case in many instances depending on the converter topology which has been implemented. Fig. 1. Another application where an increase in battery use is seen is in hybrid and electric vehicles.1(a) shows a battery connected to a bus with a floating voltage. The choice of battery system ultimately is based on a site analysis.1(b) depends to some extent on how many batteries are placed in series and parallel. It is also known that the lifetime of a battery depends to a large extent on how the battery is . The choice of converter in Fig.1(b) shows the other extreme where the battery is connected through a converter to an intermediate DC bus. The current supplied to or extracted from the battery is quasi-continuous and thus would be optimal from the point of view of the battery.1(a) is exposed to pulsed currents and the voltage of the bus is always maintained between a lower and upper bound. The following discussion focuses more on the use of batteries in utility systems. Fig.1(b) shows a battery which is connected through a converter to a bus. Aside from utility applications. 1. 1. The battery in Fig.

there are currently no good models available that can be used to characterize a battery’s response to arbitrary charging and discharging current pulses. The transient self-heating effect due to time varying current profiles is not accounted for. Pulse characterization has been done [4] but in hybrid applications where the battery is placed in parallel with a capacitor. Moreover. Excessive heating can lead to undesirable reactions within the battery and ultimately a reduction in the lifetime. 2] and constant current [3] exist.1: Two possible methods of interconnecting battery storage to a grid. they deal mostly with the influence of the ambient temperature. A model that incorporates the effect of self-heating in a rigorous manner is currently not available.3 Chapter 1. There are also studies on the effect of pulsed currents which show . the dynamic conditions have to be considered for over the full operating range of the battery. pulsing is known to be detrimental to battery lifetime. a battery’s response to current pulses near a fully charged state versus a nearly discharged state is different. Self-heating impacts the electrolyte conductivity as well as the electrochemical reaction rate at the electrode/electrolyte interfaces. in designing a controller and choosing a converter. Introduction (a) Battery subjected to pulsed current (b) Battery subjected to quasi-constant current Figure 1. charged and discharged. Although some studies on the behaviour of batteries under pulsed currents [1. the purpose of the capacitor is to condition the battery current so that it sees a nearly continuous current and thus the battery lifetime is extended. Unfortunately. Hence.

To understand how batteries behave under sudden changes in currents. and rectified sinusoidal currents (high frequency link resonant converters with the rectifier output connected across the battery).1 Objectives The objective of this thesis is to explore the impact that different current waveforms have on the behaviour of the battery.2 shows the categorization of the current waveforms and associated converter type. The ultimate goal is to establish design guidelines for converters that are conducive to an optimized battery performance. and ripple amplitude) impact the battery response assuming a steady state charging or discharging profile. boost or flyback converter operating in the continuous current conduction mode). The diagram is not meant to provide an exhaustive treatment of all possible converter types. 1. or continuous current). ripple frequency. near symmetrical triangular (buck in discontinuous. there has been no notable work done in testing a battery subjected to various current waveforms. Of particular interest are the waveforms that would be typically seen at the converter output. 1. Nevertheless. The thesis makes a contribution in terms of deepening our understanding of how the waveform variables. Introduction 4 the battery characteristics as the battery performance is degraded [5]. pulses are also applied. (the average current.Chapter 1. most waveforms can be fit into one of the aforementioned categories. representing the real environment. . However. Fig. minimizing the number of charge-discharge cycles for a given specification and maximizing battery lifetime. which are square (pulse width modulated converter with a floating bus.

test results are presented for constant. The voltage response to changes in current are described. A simplistic physical model for the interface is introduced and used to create a simple electrical model of the battery. 1.2 Outline The fundamental electrochemical concepts of an electrode-electrolyte interface are introduced in Chapter 2.2: Characterization of switch-mode converters by current waveforms. . In Chapter 3.Chapter 1. An overview of the three commonly used rechargeable batteries is also given in this chapter. Introduction 5 Figure 1.

The design. along with the associated documentation is presented in Appendix B. Chapter 4 summarizes the results of this thesis and areas where future work is required. Introduction 6 triangular and sinusoidal current charge and discharge as well as pulsed currents.Chapter 1. . Software developed to analyze the data. The circuit designed to create the various waveforms used to test the battery is presented in Appendix A. and the characteristics of the circuit are also included in this Appendix. simulation.

On the other hand. 2. Each of the electrodes is connected to a current collector which is connected to the external tabs. 2. pH and the species involved in the electro7 . This chapter will introduce some of the basic operating principles of batteries along with specific information on these three battery types. The current collectors are chosen such that they are chemically inactive in the operating conditions of the battery including the voltage. The following secondary batteries are most prevalent today: lead-acid. and lithium ion based batteries. the electro-chemical reactions in secondary batteries are reversible allowing for multiple charge-discharge cycles.1. nickel based. Primary batteries undergo a non-reversible electro-chemical reaction and hence are designed for single discharge purposes.Chapter 2 Introduction to Batteries Batteries can be categorized into two groups as either primary (single use) or secondary (rechargeable) cells.1 Electrochemical Cell Overview The basic structure of a battery consists of two electrodes (called the anode and the cathode) which are separated by an electrolyte as shown in Fig.

an electro-chemical reaction has a partial reaction occurring at one electrode interface and the other partial reaction occurring at the other electrode interface. Introduction to Batteries 8 chemical reactions. The individual reactions as well as the net reaction is a chemical change of the form of 2-1.Chapter 2. thereby increasing the number of reaction sites available per unit volume. The pores are designed such that they are large enough to allow the active species within . The active component of the electrode is attached to the current collector. Unlike chemical redox (reduction/oxidation) reactions where both oxidation and reduction occur together. A battery operates by undergoing an oxidization reaction (an increase in the oxidation state in which electrons are produced) at the anode. The external circuit provides the channel for electron transport. The electrons then recombine at the cathode by a reduction reaction (a decrease in the oxidation state).1: A typical battery model [6]. A highly porous structure is fabricated to maximize the surface area that is exposed to the electrolyte. Partial Reaction 1 : A −→ A+ + e− (2-1) Partial Reaction 2 : B+ + e− −→ B Net Reaction : A + B+ −→ A+ + B Figure 2.

Organic solvents provide a higher potential window and are used when the voltage or potential window is too large for aqueous solutions. a non-aqueous solution must be used if the cell voltage is to exceed 1.23V). However. Liquid electrolytes can be an aqueous solution. Figure 2.23V. They are primarily used in higher temperature applications (as conductivity increases at higher temperatures) or applications where a potential window of up to 6V is needed. Aqueous solutions (composed of highly solvated ions in water) are the least viscous and provide the highest electrical conductivity. The electrolyte can be either in a liquid or solid state and is made up of free ions that are responsible for the transfer of charge. hydrogen or oxygen gas will evolve. (b) LiMn2O4 (spinel structure).2: Schematic illustrations on the crystal structures of (a) LiCoO2 (layered structure). in lithium ion batteries the cathode can be a layer. The structure of these pores varies depending on the chemistry and the desired characteristics such as cell voltage and safety. 8] which provide very high surface area at the electrolyte interface allowing for higher currents.2). Ionic liquids are salts that are liquid at room temperature and have the highest viscosity of the three types of electrolytes. The anode is usually made up of graphene. For example. Therefore. an organic solvent. spinal or olivine structure (Fig. or an ionic liquid. when the battery potential is higher than that of water (1. Introduction to Batteries 9 the electrolyte to move freely within the pores but small enough to maximize the surface area. and as such have a relatively low conductivity [10].Chapter 2. . and (c) LiFePO4 (olivine structure [9]). However there is ongoing research in creating new structures such as nanowires [7. 2.

and are attracted to the surface due to the electrostatic forces between the positive ions in the solution and the electrons at the surface of the electrode.3). the dissolved ions are surrounded by water molecules. and for simplicity. At the electrode. Introduction to Batteries 2. Consider the case of a silver electrode in an aqueous silver nitrate electrolyte. aqueous electrolytes will be used in the following discussion. The electrons at the surface of the electrode attract water molecules that reorient themselves and become adsorbed onto the surface and this layer of adsorbed ions is called the Inner Helmholtz Plane (IHP). an electric double layer arises due to the presence of ions in the electrolyte and the dipole nature of water molecules (Fig 2.Chapter 2. At the electrode-electrolyte interface. the silver atoms exist in a solid state (Ag(s) ) while the electrolyte consists + of silver ions (Ag(aq) ). The first layer of attracted cations in the electrolyte form a layer known as the Outer Helmholtz Plane (OHP). These two planes form the electrical double layer. The reduction potential is the tendency of the species to be reduced .2 10 Electrode-Electrolyte Interface For illustrative purposes. Figure 2.3: Formation of the electric double layer [11]. In the electrolyte.

two such double layers are formed (one at the anode and one at the cathode) and the summation of these double layer voltages give rise to the open cell potential when measured externally. the ions in solution are equally distributed in the electrolyte except in the region in very close proximity of the electrodes. the ions immediately adjacent to + the electrode begin to be electroplated. Inside a battery.799V. a concentration gradient appears well beyond the interface. At equilibrium. when an external current is applied. the movement of ions in the electrolyte is governed by two forces: the electric field and the concentration gradient. Introduction to Batteries 11 (gain an electron). reducing the concentration of Ag(aq) near the surface.4. Consider the electroplating of silver (2-2) where an external power supply is connected at time t=0. Inside the battery. In the example above. the concentration + of Ag(aq) at the surface is 0 (as silver is in it’s solid form on the electrode). This leads to diffusion which brings additional silver ions to the electrode. as shown in Fig. this potential is +0. while it is uniformly distributed in the electrolyte. At t=0− . When no external forces are applied. The current that is responsible for the charging and discharging of the double layer is referred . The region where the concentration gradient appears is called the diffusion layer. and in the case of silver. this produces a concentration gradient where the concentration at the surface is at 0. This has the effect of increasing the width and changing the capacitance of the electric double layer. the system changed from that of one where the concen+ tration of the Ag(aq) adjacent to the surface was the same as the bulk to one where the ions have a lower concentration immediately adjacent to the surface. However.Chapter 2. while in the bulk (sufficiently far from the surface) the concentration is unaffected. At t=0+ . 2. 2-2. − Ag+ (aq) + e −→ Ag(s) (2-2) This potential drop is seen across the electrode-electrolyte interface and leads to an interfacial electric field and the formation of the electrical double layer.

p. which are duals of each other. Continuing with the electroplating example. When the concentration gradient reaches an equilibrium. or displacement current and does not involve any chemical reactions and hence no electron transfer. D is the diffusion coefficient and t is the time. only the faradaic current is present. a faradaic current begins to flow which causes the electroplating as well a non-faradaic current which is responsible for the change in the double layer. at t=0− there is no current in the system. to as the non-Faradaic current. It is assumed that there is no external resistance and that the electrolyte is a perfect .4: Formation of a concentration gradient at the electrode-electrolyte interface.12 Chapter 2. For simplicity. if a planar electrode (and hence a one dimensional system) is used .1) where n is the number of electrons per atom. F is Faraday’s constant. an externally applied potential step results in an output current whose limits are governed by Cottrell’s equation [12. are possible for powering a cell: apply a voltage source or apply a current source. Introduction to Batteries Figure 2. Hence the non-faradaic current is in response to the change in potential at the electrode. Two methods. 239] i= nF C∞ D1/2 πt1/2 (2. double layer current. At t=0+ . C∞ is the concentration of the species in the bulk. Faradaic current is the term given to the current caused by a chemical reaction in which electron transfer occurs at the surface of the electrode.

the faradaic . As the concentration gradient forms. this current drops off to a steady state value which is limited by the transport of new ions to the electrode from the electrolyte. such as the evolution of hydrogen gas. This results in a maximum possible current that it shown in Fig. a potential change occurs across the interface and starts the electroplating process.13 Chapter 2. the theoretical maximum current goes to infinity due to the high concentration of the electrochemically active species at the electrode species. The equations govern the diffusion limiting constraints for the current at each electrode. are promoted. but for a short duration. As the concentration gradient is formed.5(a).2) The time when the species at the electrolyte surface reaches zero (i. the interfacial potential increases rapidly until new and often undesirable reactions. 2. 2. Introduction to Batteries conductor. until the concentration gradient is fully formed.5(b)). impose a large current. Beyond this duration. 2. the potential at the interface increases slightly to promote the charge transfer. they can still be applied to batteries where although the surface is porous and nonplanar. At this time. Sand’s equation on the other hand describes the effect of this large current on the potential across the electrode-electrolyte interface. This occurs when the required current is greater than the rate at which the active species at the surface is replenished by diffusion. It also gives the maximum duration this current can be imposed before unwanted reactions begin to occur. The value of τ is experimentally determined and is a function of the applied current. When a current step is applied externally such that the current is higher than the maximum amount sustainable. in theory. the current is no longer sustainable) is labelled as τ (refer to Fig.5(b)) and is governed by Sand’s equation [13]: iτ 1/2 = nF C∞ D1/2 π 1/2 2 (2. a similar result occurs (Fig. Although Cottrell’s equation and Sand’s equation are for one dimensional flow. Cottrell’s equation shows that one can. the flow is mostly limited to one direction. Immediately after the potential is applied. When the current is applied.e.

one can. which is a constant for a given system. Alternatively. using Sand’s equation. For illustrative purposes. and the value of τ is measured to be 4s. given a system where the maximum DC current is 1A. (a) Response of Cottrell’s equation (b) Response of Sand’s equation Figure 2. Introduction to Batteries current disappears (due to the diffusion limitation) and the current goes towards charging the double layer to a higher voltage until new unwanted chemical reactions occur. For example.5: Cell response to a step in the a) applied voltage. and b) applied current assuming a perfectly conducting electrolyte and electrode. . any other pulse current durations are possible so long as the product of i · τ 1/2 . Then. assume a pulse of 10A is applied. one can calculate that a pulse of 20A can be applied for 1s. is satisfied. ignoring all losses.14 Chapter 2. apply a current pulse larger than this provided the duration of the pulse is shorter than the time constant τ .

6: EIS with no DC bias resulting in a) the measured impedance . (a) Impedance [15] (b) Circuit Model Figure 2.6. For example. a parallel combination of a resistor and capacitor produces a half-circle in the impedance spectroscopy plot as shown in Fig. The shape of the impedance can then be used to create a circuit model for a particular DC operating point. on a DC signal and measuring the resulting small signal AC impedance.3 Electrochemical Impedance Spectroscopy Electrochemical Impedance Spectroscopy (EIS) is a small signal perturbation technique used to characterize electrochemical systems by superimposing an AC signal. 2. The diagonal line is due to diffusion limits and is modelled by the Warburg impedance [14] (ZW in the figure).8. and a typical EIS for a lithium ion battery is shown in Fig. 2. . A typical electrode interface produces an impedance similar to the one shown in Fig.15 Chapter 2.7. which is frequency swept. Introduction to Batteries 2. and b) the RC circuit that models the measured impedance. 2. The measured impedance is broken into it’s real and imaginary components and these components are plotted against each other.

Chapter 2. Introduction to Batteries 16 Figure 2. .8: EIS for a lithium battery from [1] as a function of charge-discharge cycle number. Figure 2.7: EIS for a typical electrode electrolyte interface where Rct is the charge transfer resistance and Cd is the double layer capacitance [16].

2.17 Chapter 2.10. . 2. Figure 2. etc. The faradaic reaction that takes place at the interface is modelled as a series combination of Rf and Cφ .9). Hence the effective resistance from the interface to the collector is high.). Introduction to Batteries 2. temperature. the battery can be modelled in circuit form using the circuit proposed in [17] (Fig. The pseudo-capacitance that arises from the faradaic current is Cφ [17]. Also the values for the anode are not necessarily the same as that of the cathode. state of charge. 19]. The added resistors RCC Cathode and RCC Anode represent the energy lost between the active electrode sites and the external battery terminal. A battery model can be constructed by utilizing the above interfacial model as shown in Fig.9: Electrode-electrolyte circuit model proposed by Conway [17].4 Battery Model Assuming no diffusion rate limits and a large fraction of accessible active sites. This also accounts for the fact that the current flowing into the porous electrode material is flowing through a network and thus the effective cross section for the current flow is restricted. It is important to note that the values of the capacitors and resistors in the circuit models are a function of the operating point (the DC current. Rf represents the faradaic resistance and can be calculated from the slope of the applied overpotential to the current in the Butler-Volmer equation [18. Cdl represents the double layer capacitance across the interface while Rs models the resistance of the electrolyte.

Introduction to Batteries 18 Figure 2. both electrodes are converted into lead sulphate. Also. 2. The solvating of compounds decreases the freezing point of water (know as freezing point depression). one electrode is lead while the other is lead dioxide. from the chemical formula.Chapter 2. . As the battery is discharged. The half cell reactions and the overall reaction for the lead acid battery is shown in 2-3. Therefore.5 Lead Acid Lead acid batteries were the first type of rechargeable batteries and were invented by Gaston Plant´e in 1859. When fully charged. we see that the acidity of the sulphuric acid is reduced (due to the hydrogen sulphate being consumed). the electrolyte in a fully discharged battery has a higher freezing point and can be prone to freezing during cold temperature operation.10: Simplified battery equivalent circuit. ignoring diffusion rate limiting phenomena and assuming a large number of accessible active sites.

Unlike the lead-acid batteries of the time. Introduction to Batteries + discharge: Pb + PbO2 + 2 HSO− 4 + 2 H −→ 2 PbSO4 + 2 H2 O 19 (2-3) + − anode: Pb + HSO− 4 −→ PbSO4 + H + 2 e + − cathode: PbO2 + HSO− 4 + 3 H + 2 e −→ PbSO4 + 2 H2 O The two main types of lead acid batteries are flooded and valve regulated. their cost is considerably less than other rechargeable batteries. Flooded batteries.Chapter 2. required constant maintenance. Also many variations in cell structures are available for use in either high power applications or as a high energy density variant. the earliest type. The half cell reactions and the overall reaction for Ni-Cd batteries is shown in 2-4. The only notable exception is their widespread use in automobiles. Valve regulated lead acid (VRLA) batteries are also known as maintenance free batteries since they contain catalysts that promote hydrogen and oxygen to recombine and form water. 2. these batteries were sealed and did not require any maintenance. Therefore. due to their weight. resulting in the removal of water from the battery. it is necessary to check the electrolyte level on a regular basis and add water to the battery as needed. As lead acid batteries have been in use for over a century. However. Electrolysis of water in the electrolyte occurs when the battery is overcharged.6 Nickel Based Batteries The first appearance of nickel based batteries were in the form of nickel-cadmium (Ni-Cd). their relative energy and power densities compared to newer battery chemistries remain low. As Ni-Cd batteries were lighter than lead-acid batteries of . The weight also limits the use of this type of battery to stationary applications where this is not an issue.

Introduction to Batteries similar capacity.20 Chapter 2. Due to the presence of cadmium (a toxic heavy metal) these batteries present an environmental hazard. discharge: Cd + 2 NiO(OH) + 2 H2 O −→ Cd(OH)2 + 2 Ni(OH)2 (2-4) anode: Cd + 2 OH− −→ Cd(OH)2 + 2 e− cathode: 2 NiO(OH) + 2 H2 O + 2 e− −→ 2 Ni(OH)2 + 2 OH− The cadmium was replaced by alloys capable of absorbing the hydrogen atoms. Ni-Cd batteries exhibit a phenomenon known as the memory effect wherein a battery that is not fully discharged for extended periods of time loses some of its capacity . they had a higher energy density and therefore were favoured in portable applications. The older devices. There are two types of chargers that are available for consumer applications: slow chargers and fast chargers. These chargers do not have any sensors to monitor the battery and will continue to charge the battery even when the battery is fully charged. The composition of the hydride forming alloy (the active material of the anode) influences the performance of the battery including the voltage profile and the energy density [21]. They can be charged with the same charger [22].the nickel electrode undergoes a change in it’s structure if left charged and this reduces the available capacity of the cell [20]. . discharge: MH + NiO(OH) −→ M + Ni(OH)2 (2-5) anode: MH + OH− −→ H2 O + M + e− cathode: NiO(OH) + H2 O + e− −→ Ni(OH)2 + OH− Both Ni-Cd and Ni-MH batteries have similar charge characteristics (including voltage and temperature profiles). leading to the development nickel-metal hydride (Ni-MH) batteries (2-5). slow chargers. work by charging the battery at a low current for a fixed period of time.

When exposed to moisture in the air. Fast chargers have sensors that determine when the battery is fully charged. Also. 2. they all rely on monitoring either the voltage or the temperature. Introduction to Batteries 21 The excess charge is converted into heat and can damage the battery. As the battery is charged. as lithium is relatively light (being the third element on the periodic table) and is the strongest reducing agent (releasing the most energy during oxidation). thus giving it a high energy to weight ratio. 24]. Figure 2.11: Typical charging profile for Ni-MH and Ni-Cd batteries [22].Chapter 2. Although many different charging algorithms have been proposed [23. The high reactivity also makes lithium a more difficult material to use compared to other battery chemistries. the cell voltage rises until the cell is fully charged. Lithium appeared as a promising means of storing energy. special consideration must be made when storing lithium. Therefore. 2.11) as the energy used to charge the battery is converted into heat.7 Lithium Based Batteries The use of lithium-ions for energy storage was first reported in a paper in 1976 [25]. after which the voltage actually begins to drop and the temperature rises sharply (Fig. the structural integrity of the cell . By detecting either the negative voltage change or the sharp increase in temperature. for commercial batteries using this technology. lithium reacts violently with the water molecules. the chargers are designed to prevent the batteries from being overcharged.

The transitional metal at the cathode is reduced to a lower oxidation state during discharge. as it is isolated and cannot participate in reactions. The first commercialized lithium-ion batteries used lithium cobalt oxide. lithium salts such as LiPF6 and LiBF4 dissolved in organic solvents are used. the lithium is intercalated through a more complex porous structure (Fig. the lithium remains stable. The SEI layer forms during the first few charging cycles of the cell.23V. cause the formation of a Solid Electrolyte Interface (SEI). as well as manganese dioxide and iron phosphate. or any other conceivable combination. with the electron being supplied by lithium. The high cell voltage.Chapter 2. aqueous electrolytes cannot be used since water electrolyses at 1.2V. The SEI forms a solid coating at the anode which is actually beneficial because it creates a protective barrier around the graphite. safety and weight restriction of the application. Introduction to Batteries 22 must be considered to ensure the cell remains sealed when damaged. LiNi1/2 Mn1/1 O2 . When surrounded by carbon this way. in conjunction with the organic electrolyte. As the open cell voltage can vary between 3V up to 4. depending on the electrode materials.2). discharge: xLi(graphite) + Li1−x CoO2 −→ LiCoO2 (2-6) anode: xLi(graphite) −→ xLi+ + xe− cathode: Li1−x CoO2 + xLi+ + xe− −→ LiCoO2 Further research efforts continue to develop new cathode materials containing different transitional metals and structures. the SEI layer is . 2. However. These metals can be mixed together to form such electrodes as LiCo1/3 Ni1/3 Mn1/3 O2 . These are designed by various manufacturers and are tuned for the cell voltage. The half-cell reactions as well as the total reaction is shown in 2-6. Therefore. In the cathode. The anode of a lithium battery typically consists of lithium atoms stored between sheets of carbon graphite through a process knows as intercalation.

oxidization of the transitional metal occurs. Since batteries can be made up of multiple cells. speeding up the oxygen . the cathode should not be oxidized to a point where more than half of the cobalt cells are in the 4+ oxidation state. Therefore. For some transitional metals. this process is relatively safe. which adds to the weight and size of the battery. This principle holds for other materials as well.Chapter 2. which is unstable. however. although the value of ’x’ varies depending on the metal type. The availability of excess electrons. for high voltage and high energy storage batteries. Overcharging a cell can cause problems at both the electrodes. cell temperatures increased during overcharging. Introduction to Batteries 23 porous enough to allow lithium ions to pass through while adding only a slight internal resistance. The excess electrons can freely interact with the electrolyte. The biggest issue with lithium-ion batteries are their delicate range of operation. but it degrades rapidly when ’x’ is near 0. At the anode. the cobalt changes from a 3+ oxidization state to 4+. In consumer electronics. in LiCoO2. this is usually done by on-board electronics outside the individual cells but integrated into the overall battery unit. For example.5. as the cell is overcharged. and in particular the oxygen available in the organic electrolyte compounds. According to [26]. When cells are overcharged. oxygen and lithium ions promotes the formation of lithium oxide that coats the electrode surface through a non-reversible reaction reducing the overall capacity of the battery. unwanted growth of the SEI layer occurs which increases the resistance of the cell. this can be a problem. overcharging causes a build up of electrons on the graphite layer with the lithium ions forming a plate over the anode as they are unable to enter the graphite. Care must be taken during charging and discharging to ensure that the battery is not pushed to its limits (especially high currents which can lead to cell heating). the reversibility of Lix CoO2 is generally good. In the experiments carried out in [26]. At the cathode. each cell must have its own monitoring circuit.

Recent developments in nanostructures for use in manufacturing electrodes (which increase the surface area of the electrode) have improved the rate of lithium extraction and insertion. deep discharge of the battery is a problem. during deep discharges. a lack of sites for the lithium to be inserted into can cause the following reaction: LiCoO2 (s) + Li+ + e− −→ CoO + Li2 O Although this is not as dangerous as the overcharging situation. Also.Chapter 2. As a precautionary measure. this produces a bottle neck for high power applications. . the reaction converts the cathode into an inert species. as a low voltage indication can be a sign of other problems such as an internal short circuit. If not caught quickly enough. During deep discharge. reducing the capacity of the battery. this results in thermal runaway. Introduction to Batteries 24 liberation reaction (as cobalt oxidized from 4+ to 3+) at the cathode even more. the monitoring circuit for the cell can permanently shut down the cell if the voltage drops below a threshold. as the current is limited by how fast the lithium can be removed and inserted. This oxygen is then free to react with the lithium causing further increases to the temperature. the cell is shut down. As lithium is intercalated in the anode and cathode for safety. As with overcharging.

25 1.25 3.1 Table 2.1: Comparison of Secondary Batteries [27. These redox shuttles preform the role of electron transport. If these impurities are easily reduced/oxidized by the potentials across the interface. the over-potential needed to form the double layer is dissipated across the faradaic resistor.25 Chapter 2. . The final mechanism that causes self-discharge is internal short circuits caused by an improper separation of the two electrodes. This process occurs until the over-potential goes to zero. The second mechanism of self discharge is caused by redox reactions occurring at an electrode/electrolyte interface in the presence of impurities. 28] Lead Acid N iCd N iM H Lithium Ion Nominal Cell Voltage (V) 2 1. then they form a redox shuttle that diffuse between the two electrodes. Introduction to Batteries 2. Immediately after the battery is charged. a summary of the characteristics of commonly used rechargeable batteries is presented in Table 2.8 Summary of Battery Chemistries For comparison purposes.6 Energy Density (Wh/kg) 30-50 45-80 60-120 110-160 Energy Density (Wh/L) 60-90 50-150 140-300 210-270 Power Density (W/kg) 180 150 250-1000 1800 Cycle life 200-300 1500 300-500 500-1000 Self Discharge(%) per Month 5 20 30 10 Self discharge in batteries in can be caused by three mechanisms [29].

On the other hand. It is convenient to characterize the steady state component in terms of belonging to one of the following class of loads: constant resistance load.Chapter 3 Experimental Results and Discussion In real world applications. the transient load in most cases must be established on a case by case basis. Bounds on acceptable rates are currently established on the basis of a qualitative analysis. There have been many articles written describing how batteries should be charged or discharged. the battery load can be considered to be a combination of a steady state characteristic and a superimposed transient characteristic. 26 . These methods are similar in many respects but the design approaches taken have been by and large heuristic since the details of the battery model are still not well understood. As mentioned earlier. constant current load. the most common charging/discharging strategy is to simultaneously control the current and monitor the voltage to ensure that the battery state of charge remains bounded. batteries prefer to be charged or discharged at a constant rate but can tolerate slow changes from one rate of current charge/discharge to another. or constant power load. not excessively overcharged or discharged. As previously mentioned in the Introduction.

The circuit was designed to provide a) constant current. 3. However. amplitude and ripple and c) pulsed currents. Complete circuit details including simulations and circuit behaviour can be found in Appendix A. b) triangular and rectified sinusoidal currents of varying frequency. Although a switch mode supply could have been built. we only needed a low current experimental setup (around 15A maximum). there are many switch-mode power supplies on the market so to focus on just one circuit is not warranted.1. The circuit was also designed for both charging and discharging of the battery.Chapter 3. This information would be used to characterize the steady state operation of the battery. triangular current and rectified sinusoidal current. the amplitude of the pulses and the repetition rate of the pulses. Experimental Results and Discussion 27 The circuits used to control the current are for the most part switch-mode power supplies. As the experiments were to be carried out on AA batteries. it can be stated that the current waveforms produced by these power supplies generally fall into one of the following classes: pulsed square current. a battery tester circuit was first built. As described in the introduction and shown in Fig. The use of these power supplies ensure that the efficiency of the conversion process remains high.1 Experimental Setup To understand the behaviour of batteries subjected to different current waveforms. 1. Data collection was done using an 8 channel synchronously sampled Agilent data . the linear amplifier was easier to design for our purposes and the efficiency of the power supply was not an issue. Transient behaviour cannot be characterized as easily and so for the time being we inject a square pulse of specific amplitude and pulse width and observe how the battery behaves. The average current produced by these power supplies can be controlled so what is important is the width of the pulses.

each capable of four channel analog inputs with a sampling rate of 500KSa/s and a 16-bit resolution. it is then stored in a .384475&pageMode=OV&cc=CA&lc=eng 3 http://www. a sampling pulse is sent before the system is finished with the previous set of data.00&id=1250149 2 http://www. 000. The custom software from Agilent allowed the acquisition to be controlled by a pulse from an external source (the FPGA on the battery tester circuit in this case refer to AppendixA). however.agilent. This writing time varies linearly with the number of data points per sample. As we wanted to be able push the battery to its limits (in terms of applied current) while keeping the current relatively low (to reduce component size). After the data is acquired.home. The sampling rate can be varied from 1Sa/s up to 500KSa/s with the number of samples varying from 1 to 2.0.com/agilent/product. the pulse is simply ignored by the data logger. Currently. The leading edge of the pulse triggers data acquisition at the set sampling rate and the number of samples specified in the software. A MATLAB GUI was coded in order to process the acquired data. If. the two main types of rechargeable batteries are 1 http://www. The acquisition cards were connected to the circuit using a terminal block (model U2901A2 ). the next sampling pulse cannot be sent until the previous data is written to the hard drive.home. Due to limitations in the processing of the data. Experimental Results and Discussion 28 logger. The GUI is also capable of overlapping the pulses on top of each to make comparisons easier. 000.739736.Chapter 3.agilent. The details of the MATLAB code can be found in Appendix B.com/agilent/product.agilent.jspx?nid=-33621.com/agilent/product.jspx?cc=CA&lc=eng&ckey=1250149&nid=35073. The GUI is able to display the waveforms against time or other waveforms.home. or the instantaneous power over time. AA rechargeable batteries were chosen.csv file format and the data logger waits for the next sampling pulse.00&cc=CA&lc=eng . The data logger consists of two data samplers (model U2542A1 ). The cards were housed in a six slot chassis (model U2781A3 ) which was connected to a computer along with the provided customized software.jspx?cc=CA&lc=eng&nid=35075.

the battery capacity is 101% of the manu4 http://data. Since batteries come in different sizes. The experiments were conducted on a cell and repeated to verify the results. a charging rate of C/2 was used as the control current to determine the capacity of the battery and to confirm the manufacturer’s claim of 2300mAh.energizer. Experimental Results and Discussion lithium-ion and nickel based. As lithium batteries have a stricter range of operation and are more dangerous if overcharged. The resulting cell voltage for C/2 during constant charging is plotted in Fig. 3.29 Chapter 3. while a battery rated at 2Ah has a 1C current of 2A. the 1C and 2C charging rates are 1A and 2A. 3. When charging the battery.1. it is not practical to compare batteries of different sizes at the same current.2 Constant Current Charging and Discharging Constant current waveforms were first applied to the battery for the purpose of understanding the battery response including the voltage profile. Ni-MH batteries were chosen (specifically Energizer NH15-2300mAh4 due to their availability). The current at any given C-rate is the current needed to fully discharge the battery in 1 C hours assuming no loss in battery capacity.6V (higher voltages promote the decomposition of water and the evolution of hydrogen and oxygen gases). respectively. At this charging rate. variations in the internal resistance and variations in the cell capacity at different currents. for a battery rated at 1Ah. a battery is fully charged/discharged in one hour. the cells were replaced after a few tests. A scaling of the battery is done using the C-rate to normalize the charging/discharging current to the battery capacity such that at 1C current. Therefore. As battery capacity decreases with increased current.pdf . As batteries lose capacity with each charge/discharge cycle. the tests were terminated when the battery reached full charge as indicated by either a negative delta V or once the cell voltage reached 1.com/PDFs/nh15-2300.

The values were recorded near the midpoint of the charge.3 and a summary of the results is given in Table 3.6V cutoff voltage should come into effect before the battery is fully charged and hence a decrease in cell capacity is expected. the battery was fully discharged using a rate of C/2 to ensure similar starting states.1: Cell voltage response for constant current charge at 0. we can make a prediction of the waveforms by using a shift in the voltage that corresponds to the internal resistance of the battery. For higher currents. The experimental results verify the prediction of the voltage shift caused by the internal resistance. Figure 3.Chapter 3. 3. and the error can be attributed to the need to overcharge the battery in order to get the negative delta V. Experimental Results and Discussion 30 facturer’s claim.1. 3. From this.5C. we can see that as the current increases. there is an uncertainty on . the 1.6V is reached at about 92% at 1C and 65% at 2C.2. The figure shows that the cutoff voltage 1. However. The measured cell temperatures (using a temperature gun) are also included in the table. In this case. The experimental waveforms are seen in Fig. Note that before each run. the battery has an internal resistance of 40mΩ (given by the manufacturer’s datasheet) and by shifting the voltage of the C/2 charge rate results one obtains the plot in Fig.

This results in a lower battery voltage (as shown in Fig. the temperature values presented may be slightly underestimated and may not represent the steady state value for a given charge/discharge cycle. . Experimental Results and Discussion (a) Percentage of Cell Capacity 31 (b) Time Scale Figure 3. Also. The results show a much higher capacity than was predicted and this can be attributed to the battery temperature. 3. This is the main reason why quick chargers often charge a battery at a fast rate (to allow for quick partial charging) followed by a slower rate to insure that the battery is fully charged.Chapter 3. The results show that there is a large drop in the capacity when the charging current increases and the battery is only charged to a third of its capacity during a 3C rate. A similar. determining the midpoint as it was based on the predicted waveforms. For this set of tests. The slow charge allows active sites deep in the pores to be populated and is used after most of the readily accessible surface sites are populated. the battery temperature was observed to rise to 46◦ C and this rise in temperature would result in a decrease of the internal resistance of the battery. At the 3C charge rate.2: Predicted cell voltage waveforms during charging using internal battery resistance to calculate IR voltage drop as function of a) battery capacity and b) time.3). Therefore. albeit smaller. increase in temperature was observed for the other charging currents. the battery heats up over the duration of each test. attributed to a drop in the voltage across the electrolyte region. while the others were limited by the cutoff voltage. only the C/2 rate of charge showed the negative delta voltage to indicate a complete charge.

5C.570 1392 1767 76.463 40 27 1 2. Experimental Results and Discussion (a) 0.8 11.790 406 766 33. Table 3.32 Chapter 3. 1C.370 1.099 7633 2330 101.5 1.5C Charge (b) 1C Charge (c) 2C Charge (d) 3C Charge Figure 3.1: Constant Current Charge Current T ime Capacity Capacity Energy Vavg Rint T emperature (C-rate) (A) (s) (mAh) (%) (kJ) (V) (mΩ) (◦ C) 0.8 9.230 3409 2112 91.30 1.543 31 43 3 6. giving rise to the higher than predicted capacity.3: Cell voltage response for constant current charge at 0.3 4.585 30 46 thus allowing the battery to charge for a longer time before the cutoff voltage is reached.27 1. By curve fitting the predicted charge .818 1.487 35 36 2 4.3 12. 2C and 3C along with the predicted voltage response.

15V from the cutoff voltage. Experimental Results and Discussion 33 profile to the experimental results. the internal resistance of the battery was calculated. or in this case. 3. the voltage of the battery (at the midpoint of charge) was around 1.1. we see that during charging. The results are included in Table 3. Higher currents were not tried due to the battery exceeding the manufacturer’s recommended temperature at a 3C charging/discharging rate. we can expect higher discharge currents to be possible. a higher cell capacity. We assume that this thermal time constant is much smaller than the charge time.9V . where the tests were terminated once the cell voltage reached 0. a decrease in capacity is observed as the current increases. at which point it falls relatively quickly. The waveforms indicate that even at a 3C discharge. 3.5). The results of the constant current discharge (voltage profiles are plotted in Fig.6) confirm the predicted cell capacity. the predicted waveforms for the higher currents were calculated (shown in Fig.Chapter 3. we should see around 95% of the cell capacity. Therefore. A similar experiment was carried out for constant current discharge. As with the charging current. The results from the C/2 discharge current (Fig.4) show that the voltage of the battery remains fairly constant until approximately 80% of discharge.2. It is important to note that this does not take into account the thermal time constant (since the battery is at room temperature at the start of the test and rises to near steady state a specific time later). Using only the internal resistance.45V which is only 0. 3.25V is 0. but the decrease is not as significant as in the charging case and we see a loss of only 10% capacity at 3C. where the battery voltage showed a steady climb from around 50% charge. whereas during discharge. This is in contrast to the charging profile.35V from the cutoff. The summary of the results for the constant discharge is given in Table 3. . the midpoint voltage of 1. Also.

164 6830 2208 96.198 35 39 2 -4.5 -1.0 8.879 1.5: Predicted cell voltage waveforms during discharge using internal battery resistance to calculate IR voltage drop as function of a) battery capacity and b) time.800 1.230 3510 2198 95.0 9.5C (a) Percentage of Cell Capacity (b) Time Scale Figure 3.478 1.2 7.812 1.243 40 28 1 -2.4: Cell voltage response for constant current discharge at 0. Experimental Results and Discussion Figure 3.133 30 49 3 -6.860 1077 2052 89.056 30 56 . Table 3.2: Constant Current Discharge Current T ime Capacity Capacity Energy Vavg Rint T emperature (C-rate) (A) (s) (mAh) (%) (kJ) (V) (mΩ) (◦ C) 0.5 9.34 Chapter 3.536 1715 2161 94.

1C. . Experimental Results and Discussion (a) 0.6: Cell voltage response for constant current discharge at 0. 2C and 3C.5C Discharge (b) 1C Discharge (c) 2C Discharge (d) 3C Discharge 35 Figure 3.5C.Chapter 3.

A ripple current of 0. a charge rate of C/2 had a negative delta V to indicate a complete charge. another way of looking at this is by considering the EIS of the double layer and noting that at higher frequencies the double layer capacitor is a short circuit. From the experimental results. we know that the cell is capable of delivering a 3C constant current and hence is not diffusion limited in this set of tests (which have a DC current of 1C).7). As we are not diffusion limited.Chapter 3. if the cell does not have time to react to the change in concentration gradient.3) show that when the ripple amplitude is kept constant the cell has a higher capacity with increasing frequency. a large current can be applied for a short period of time. this negative delta V would be difficult to detect with a varying current. This is reflected in the voltage ripple caused by the current ripple (or the effective impedance of the current ripple). The main reason for this can be explained by the decreasing voltage ripple with increasing frequency (shown in Fig. The first set of tests were performed with a fixed ripple current and the ripple frequency was varied to determine any frequency dependence of the cell. which decreases with increasing frequency. there will be no potential change across the interface. we saw that when the current is not limited by diffusion. Therefore. the battery characteristics are dominated by the electrolyte resistance. . From the double layer discussion from Chapter 2 (and in particular the Sand’s equation). The results (summarized in Table 3.1C (resulting in a peak to peak of 0. However. From the constant current experiments. As seen in the previous section. we see that that above a frequency of around 5kHz. so a charge rate of 1C was used as this does not contain the negative delta V while maintaining a high cell capacity. 3.3 36 Triangular and Rectified Sinusoidal Currents To understand the effect of switch mode converters (and in particular the inductor shaping of the output current) on the cell performance. triangular current waveforms were applied to the cell. Experimental Results and Discussion 3.2C) was chosen for the initial tests.

This decreases the .8 11.6 9. The DC current was next increased to 2C to understand it’s effect on the cell while maintaining the same ripple current. Therefore only the lowest frequency component of the ripple. The ripple current component introduces an additional rms heating term which has an impact on temperature and indirectly impacts the electrolyte resistance (decreases with increasing current) and to some extent decreases the faradaic current.511 10 0. the voltage ripple and hence the impedance remained relatively constant throughout the frequency range. with the exception of the 1Hz ripple.01 10000 0.2 585 18 33 81.4 9.2 567 17 33 82.2 572 16 28 84. the ripple current has less of an impact on the voltage ripple across the interfacial layer.12 DC - - - - 91.4).967 5000 0.2 588 16 27 85.714 1000 0.9 9.4 10. higher frequency components decay rapidly.2 10.30 The commonly seen current waveforms can be broken down into a Fourier series. From the results (shown in Table 3. the mobility of species in the electrolyte increases. Experimental Results and Discussion Table 3.795 100 0. At higher frequencies. The probable explanation for the constant impedance is the cell heating caused by the high DC current.37 Chapter 3. As the temperature increases at higher currents.9 9.2 555 15 27 86.2 595 23 39 79. In these set of tests.3: 1C Average Charging Current with 10%C Triangular Current Ripple F requency ipk−pk vpk−pk Impedance Capacity Energy (Hz) C-rate (mA) (mV) (mΩ) (%) (kJ) 1 0. the ripple frequency did not play a major factor. below 5 kHz for the battery under consideration. needs to be accounted for.

Also. 3. . The main reason for this is that the higher ripple current results in a higher voltage ripple. the battery waveforms (in Fig. at these frequencies.1C to 0. the current ripple was increased from 0.6V coming into effect before the cell is fully charged. similar to the low current tests.3C and 0.8.9) show that there is no noticeable phase shift between the current and the voltage. As expected. resulting in virtually no frequency dependence. 3. which leads to the voltage cutoff of 1.7: Cell voltage response for 1C charge with 0. cell electrolyte resistance. Using a DC current of 2C.2C. the heating of the cell from the high current had the largest influence on the cell impedance. 0. there was only a slight frequency dependence for a fixed ripple current.1C ripple current of varying frequencies.5C. Therefore.Chapter 3. but the capacity decreased as the ripple current was increased as shown in Fig. Experimental Results and Discussion (a) 1Hz ripple (b) 10Hz ripple (c) 100Hz ripple (d) 1kHz ripple 38 Figure 3.

Figure 3.642 10000 0. Table 3.698 10 0.124 .2 7.6 (0. Experimental Results and Discussion Table 3.2 8.5 (for 0.6 8. 3.8 9.4 1.809 1000 0.3C ripple).513 10 0.2C ripple).1 8.04 28 27 65.2 8.5 8.2 575 15 27 73.818 A summary of the results is presented in Tables 3.300 DC - - - - 76.03 23 23 68.4 1.2 569 15 26 75.4: 2C Average Charging Current with 10%C Triangular Current Ripple F requency ipk−pk vpk−pk Impedance Capacity Energy (Hz) C-rate (mA) (mV) (mΩ) (%) (kJ) 1 0. and 3.5C ripple).2 7.2 566 13 24 73.472 1000 0.39 Chapter 3.05 26 25 66.2 590 13 23 71.8: Effect of ripple current on cell capacity (with a DC current of 2C).5: 2C Average Charging Current with 20%C Triangular Current Ripple F requency ipk−pk vpk−pk Impedance Capacity Energy (Hz) C-rate (A) (mV) (mΩ) (%) (kJ) 1 0.7 (0.4 1.

6 1. The waveforms (shown in Fig.779 1000 0.664 1000 1 2.7 6.10) reaffirm that there is no phase shift between the current and voltage.6 7.6 7.426 Table 3.479 100 1 2.035 100 0.610 Similar experiments were performed with a half-sine waveform to simulate a rectified converter output. Experimental Results and Discussion Table 3.7 7.3 6.290 10 0.8.8 6.6 1.50 33 22 64. That is. 3.47 38 26 60. we can see that the battery shows similar impedance values to the triangular waveforms.6 1. as expected. The experiments show that they follow a similar pattern to the triangular waveforms in that the ripple plays the largest role.3 7.48 38 26 58.40 Chapter 3. . the interfacial region can be considered as a near short circuit at theses frequencies and thus the impedance is purely due to the electrolyte resistance.56 58 23 52.7: 2C Average Charging Current with 50%C Triangular Current Ripple F requency ipk−pk vpk−pk Impedance Capacity Energy (Hz) C-rate (A) (mV) (mΩ) (%) (kJ) 10 1 2. From the results shown in Table 3.51 34 22 61.6 1.55 62 24 51.6: 2C Average Charging Current with 30%C Triangular Current Ripple F requency ipk−pk vpk−pk Impedance Capacity Energy (Hz) C-rate (A) (mV) (mΩ) (%) (kJ) 1 0.53 58 23 53.

2C 0.240 1C 2.966 0.4C 1.589 14 24 77.6C 1.441 35 24 69.41 Chapter 3.9: Cell voltage response for 2C charge with 0.5 7. Experimental Results and Discussion (a) 10Hz ripple (b) 100Hz ripple (c) 1kHz ripple Figure 3.4 8.5C ripple current.3 8.030 24 24 74.2 8.718 0.8: 2C Average Charging Current with 1kHz Sinusoidal Current Ripple ipk−pk vpk−pk Impedance Capacity Energy (C-rate) (A) (mV) (mΩ) (%) (kJ) 0. Table 3.498 62 25 61.539 .

1C ripple (b) 0.3C ripple (d) 0.2C ripple (c) 0.5C ripple Figure 3.Chapter 3. Experimental Results and Discussion (a) 0.10: Cell voltage response for 2C charge with 1kHz ripple current 42 .

The pulse current was then increased to 2C and the waveforms are shown in Fig.04V (1. we see that the settling time for the voltage is around 1.12).15A). This replicates the case when a battery is connected across a DC bus and is fed/discharged by a VSI (Voltage Source Inverter) from the grid. except with the initial jump being 0. However. there is an immediate jump in the voltage.31V ) which corresponds to the IR drop of the battery’s internal resistance (0.28V to1.13. followed by a more gradual increase. The settling time also increases slightly to about 1. 3.0ms. the initial voltage jump is around 0. Also. During a 0. In order to verify this.04Ω × 1. as seen in the previous chapter. the battery should be able to source (or sink) a large current provided that the pulse is short enough. at the edges of the pulse. The pulses also give us information about the effect of sudden changes in the load. Theoretically.11 along with the predicted voltage response.27V to1.4 43 Pulsed Currents Pulsed currents were applied to the battery in order to understand the battery behaviour under sudden changes in currents.5ms. 3. 3. When the pulse is first applied. the pulse currents give us information on the battery behaviour during sudden transitions in current and can be used to extrapolate square wave behaviour. The results are similar to the first test. Experimental Results and Discussion 3. the battery’s immediate response to a pulse application was observed. When we zoom in to the rising edge of the pulse (Fig. This increase in the settling time is expected because . Although square waves are also quite commonly seen in switch mode converters. a pulse of 1C was applied for 100ms and the resulting waveforms are shown in Fig.5C constant current.Chapter 3.41V ) which agrees with the expected IR drop.14V (1. The initial jump in voltage is due to the internal resistance of the battery. we did not exclusively test this waveform. while the gradual increase can be attributed to the change in the equilibrium potential across the electrode-electrolyte interfaces.

Experimental Results and Discussion (a) Experimental Results 44 (b) Predicted Waveform Figure 3.11: a) Current pulse response for a 0.14. and b) predicted cell response from Sand’s equation. The results agree with the double layer voltage response predicted by Sand’s equation. we can see if there are any variations in the response. (a) Zoomed in on the rising edge (b) Zoomed in on the falling edge Figure 3. The voltage change during this period also increased from approximately 0. As the battery voltage varies with the .12: Cell voltage response for a 0. 3. By plotting the pulse response at various states of charge of the battery.02V to 0.5C DC current with a 100ms pulse of 1C.05V . More time is needed for the double layer current to create a new equilibrium. Discharge currents also produced similar results to those of charging currents. a higher pulse leads to a bigger concentration gradient forming at the electrode interface. The resulting waveforms for a 1C pulse discharge are shown in Fig.5C DC current with a 100ms pulse of 1C charge current.Chapter 3.

for each pulse. Therefore. the state of charge doesn’t appear to be a factor. the voltage of the battery 1ms before the pulse was used as a reference to calculate the voltage change. we need to look only at the voltage change that was a direct result of the pulse. the battery has a higher internal resistance. As the electrolyte and the current collectors are not affected by the state of charge of the battery. Experimental Results and Discussion 45 (a) Complete pulse response (b) Zoomed in on the rising edge (c) Zoomed in on the falling edge Figure 3.13: Cell voltage response for a 0. Also.15).Chapter 3. state of charge. The results of this experiment in the charging state (Fig. the pulse causes a greater change in voltage. once this initial stage is passed. although the characteristics mentioned above (the initial jump in voltage due to IR followed by a slower change) are still present. 3. this indicates that it is the charge transfer resistance which is . show that when the battery is near its depleted state.5C DC current with a 100ms pulse of 2C. This indicates that when the battery is nearly discharged.

3. As a battery consists of two electrode-electrolyte interfaces (the anode and cathode). This indicates that this phenomenon is caused by the state of charge. which was beyond the scope of this thesis. the charging rate was quite low and no noticeable temperature change was noted. 2. the cathode. we cannot conclude if the higher resistance occurs at the anode.14: Cell voltage response for a 0. Experimental Results and Discussion 46 Figure 3. or a combination of both. Charging the battery does cause an increase in the temperature and hence a decrease in the resistance. To confirm temperature was not a factor. One would need to test each one separately using a reference electrode. This poor conductivity (reflected as an increase in the resistor RCC cathode in the small signal model of Fig. a discharge was performed in a similar manner with the results shown in Fig.16. the active species in the cathode consists mainly of Ni(OH)2 which is a poor conductor. In the case of fully discharged Ni-MH batteries. From the graphs we can see that again the battery shows higher resistances when the battery is nearly discharged. However.10) explains the larger IR drop seen when the battery is nearly depleted. .Chapter 3.5C DC current with a 10ms pulse of 1C discharge current. varying and is larger when the battery is nearly at its discharged state.

Chapter 3. . etc. Voltage0 corresponds to the pulse response when the battery is depleted. Experimental Results and Discussion 47 Figure 3.5C to 1C charge pulse of 10ms at various states of charge.15: Battery response to a 0. Voltage25 is the response when the battery is charged to 25%.

16: Battery response to a 0. Experimental Results and Discussion 48 Figure 3.Chapter 3. etc. Voltage0 corresponds to the pulse response when the battery is fully charged.5C to 1C discharge pulse of 10ms at various states of discharge. . Voltage25 is the response when the battery is discharged by 25%.

Triangular and sinusoidal waveforms were applied as these are the types of waveforms that would exist for a range of switch mode converters. the battery exhibited a similar capacity to the DC current. care must be taken in considering any internal temperature changes that can affect the internal resistance of the battery. the waveform at any other currents could be determined by shifting the voltage by the IR drop of the battery. Given the voltage profile for a low current charge and discharge rate. Using a rechargeable Energizer NI15-2300 AA battery. the frequency of the current ripple had the greatest impact in influencing the battery voltage. At ripple frequencies above 5kHz. However. We saw that when the average current was relatively low (below 1C resulting in minimal heating). at currents over 2C. These results could in future be used to provide improved guidelines as to how to charge and discharge a battery. There are no models currently available that can incorporate the temperature dynamics due to self heating.Chapter 4 Conclusion This thesis explored how current waveforms impact the voltage response of a battery. the battery behaviour can be easily predicted. we showed that in the ideal case of a constant current with no ripple. the impedance of the battery is not as highly affected by 49 . However.

The battery exhibited the response predicted by the electrode-electrolyte theory and showed that there is a short time between when the pulse is applied and a new . in higher current applications where there is a significant rise in temperature. This means that the frequency has to be even higher in order to lower the impedance representing the space charge zone. as this allows the high frequency components to be shunted to the capacitor. the impedance of the interfacial region must decrease further in order to make the electrolyte resistance dominate. Usually. However. the combined electrolyte and faradaic resistances. but rather by the higher temperatures. We saw that in slow charging applications where there is a minimal temperature increase. the small signal impedance of the battery decreased from 40mΩ at DC to 26mΩ for high frequency currents.Chapter 4. This indicates that the voltage modulation across the space charge interfacial regions can be neglected and most of the voltage drop appears across the electrolyte resistance. This implies that although the impedance of the battery decreased. a low current ripple amplitude and a high ripple frequency will result in a higher charge capacity of the battery. the rate of charge plays an important role in determining the impact of the ripple current and frequency on the battery. Therefore. Also. which is strongly influenced by temperature. This must be taken into account when deciding on the size of capacitor that will be placed in parallel to the battery. What we have not stated is that there may also be package inductance which would increase the battery impedance even further. One must first determine the current waveforms the battery will see (to determine the impedance of the battery). the capacitor is chosen such that the resistance of the capacitor is a tenth of the size of the battery’s resistance. when designing a battery charger. one can tolerate a higher ripple current amplitude at higher frequencies without seeing an increase in the ripple voltage. the ripple frequency plays a smaller role. then use this impedance to choose the appropriate estimated series resistance ESR rating of the capacitor. Conclusion 50 the frequency. At low currents.

we showed that the charging current had a large impact on the cell capacity. two possible methods exist to ensure the battery remains within safe operating voltages: use the smallest of this set. This premature cutoff of the charging or discharging current occurs due to the peak of the voltage ripple hitting the voltage limit. . The variation in the voltage response to the current pulses also shows the need to consider the full operating range of the battery when determining the battery response and the maximum current pulse that can be applied. whereas the discharging current was not as significant. or use a controller that limits the current pulse based on the state of charge of the battery. The pulse utilizes the excess species to provide a short burst of current but only as long as the active species at the surface can be replenished by diffusion. This indicated that for any given battery. 4. Therefore. Using this data. The pulses are possible because under a non-diffusion limiting DC current. one could apply large current pulses with amplitudes that are larger than the maximum DC current. Energizer’s NH15-2300 AA rechargeable. The thermal effects of the high current rates on cell impedance were also measured. the voltage ripple across the interfacial region (and hence the battery) is reduced. • We showed that with a DC current below 1C (where a minimum amount of self heating occurs). there are an excess of active species in the electrolyte near the electrode surface. ripple frequency plays the most important role and the ripple frequency should be increased to maximize the time the battery can be charged before the instantaneous voltage reaches the limit of the battery. it is necessary to know the maximum pulse that can be applied at different states of charge. Conclusion 51 equilibrium is reached in the battery. By increasing the frequency of the ripple.1 Contributions • For the battery that was used.Chapter 4.

it would be interesting to see if any other phenomenon can be observed if one were to increase the frequency and the amplitude of the current ripple. we weren’t able to push the circuit to high frequencies. This is accomplished by pushing the frequency even higher to lower the impedance of the space charge region. and the differences between batteries designed for higher energy density vs power density. This implies that the impedance of the interfacial zone must be decreased further in order to make the electrolyte resistance lower than the impedance representing the interfacial space charge region.2 Future Work Further research is needed to understand how current waveforms affect the long- term performance of the battery including battery degradation and lifetime. • It was confirmed experimentally that pulse currents result in a behaviour predicted by electrochemical theory.Chapter 4. It would also be interesting to try short pulses of high magnitudes to see how high we can push the current before diffusion limiting effects become evident. Other batteries should also be used to understand their responses to the current waveforms. As the current collectors . particularly the impact of different chemistries. The pulses present a unique situation where the high currents would not change the internal temperature of the battery (given a short duration). Although this may not be needed. Due to circuit constraints. 4. battery sizes. Conclusion 52 • Under high DC currents (where there is a significant temperature increase). Of particular interest would be to understand the battery behaviour at the very extreme current limits. we observed minimal ripple frequency dependence on battery capacity.

the high currents could be destructive to the current collectors (from the local heating due to the high current density). the possible degradation of the battery must also be studied. . Conclusion 53 are designed to be as small as possible (to increase the volume available for the active electrodes).Chapter 4. Therefore.

These are rectangular. triangular and half-sinusoidal waveforms with varying frequencies and average DC values. and circuit should be rated at 2-5 times the nominal battery current in order to understand the effects of pulsed inputs.Appendix A Battery Tester Circuit Design This appendix describes the circuit used for testing the battery by first going through the circuit design. A. Simulations were then performed using PSpice in order to verify the circuit behaviour. Upon building the circuit (on a solder board). • Current should be easily controllable. testing was done to characterize the circuit and to validate the proper operation of the circuit.1 Circuit Requirements • Replicate the waveforms seen at the output of common converter topologies. 54 . • The circuit should be able to perform charging and discharging.

A. The current signal is then used at the non-inverting input of a BJT driver. Similarly. A. the power supply used for charging the battery. This creates the current loop consisting of the battery.2 55 Circuit Overview The circuit designed to charge and discharge the battery is shown in Fig. as well as a PNP BJT and power supply used for the discharging of the battery. the DAC labelled DAC P sets the discharging current and this signal is sent to a BJT driver. the current sensing resistor. The circuit is controlled using an FPGA (Field Programmable Gate Array) and is connected to the circuit via a 40-pin connector. The upper DAC (DAC N on Fig.Appendix A. Battery Tester Circuit Design A. The FPGA outputs two 8-bit signals as well as the timing signals that are connected to a pair of DACs (Digital to Analog Converters). This creates a second loop consisting of the battery and current sensing resistor (which are shared with the charging loop).1. .1) and the op-amp ’DAC OUTB’ is used to set the charging current. and an NPN BJT. with the inverting input connected to the current sensing resistor.

1: Complete schematic of the battery charging and discharging circuit. Appendix A. Battery Tester Circuit Design 56 .Figure A.

The connectors CHR-1 and CHR-2 are connected to a +5V power supply that is used to charge the battery.3). As determined from the datasheet. A. and their theory of operation is the same. In accordance with the DAC operation (Fig. the maximum current allowed for both charging and discharging is 17A. while DIS-1 and DIS-2 connect to the source used for discharging of the battery. A.Appendix A.4. . both DACs are connected to +5V and GND supplies in order to properly connect with the FPGA. As R1 is rated for 3W (i. Digital 8-bit signals are sent from the FPGA to the DAC along with two trigger signals. A.3 57 Circuit Details The current controlling scheme is shown in Fig. the reference voltage is connected to the negative power supply (-5V) to give a positive output voltage. These signals are used to initiate the loading of data into internal buffers and the conversion from a digital to an analog signal. During the charging stage of operation (Fig. Battery Tester Circuit Design A. The circuit diagrams for the two DACs (TLC7524) are shown in Fig. 17A) and the transistors rated for 20A. R1 is the current sensing resistor and is 10mΩ. Figure A. A.e. the voltage on the sensing resistor will be positive (explained later). A.2: Current control loops.2.3 and Fig.5). BAT-1 and BAT-2 represent the positive and negative terminals of the battery respectively.

regardless of the position of the switches S1 to S8 (i. As IOU T 2 is connected to ground and the value of R is given as 10kΩ in the datasheet.1) where R10 is the external resistor.6). Therefore.e. Battery Tester Circuit Design 58 Figure A. Terminal RF B is connected to the output of the op-amp (with resistorR9 in series). the effective input resistance from the Vref terminal to IOU T 2 is R. A. Based on the internal structure of the DAC (Fig.4: DAC Battery discharging mode. when all bits are set to 0 (as seen in the figure).Appendix A. the current flowing through the resistor ladder is given by: −5V R + R10 (A. Therefore. IOU T 1 is a virtual ground. As IOU T 1 is connected to the inverting input of an op-amp whose non-inverting input is connected to ground. Figure A. Resistors R10 (connected to the Vref terminal) and R9 (connected to RF B ) are used to vary the range of the output analog signal swing. the bits of the DAC) the current flowing through the DAC’s internal resistor ladder remains constant. the series connection of R9 and the internal resistance R behave as the feedback .3: DAC Battery charging mode.

Vref should be connected to a negative voltage (-5V).5: DAC Theory of Operation. hence . In order to get a current output from 0 to 20A.6: Internal resistor ladder of the DAC. R + R10 (A. Figure A. The resulting output voltage is given by: −Vref (R + R9 ) . resistor for an inverting amplifier.2) The negative sign dictates that for the charging signal (for which a positive voltage signal is required). Resistors R10 and R9 can be used to vary the range of the signal based on the desired current levels. we need a voltage signal from 0 to 200mV. Battery Tester Circuit Design 59 Figure A.Appendix A.

Appendix A. Battery Tester Circuit Design

60

R10 should be 240kΩ, while R9 is shorted. During the discharge mode (Fig. A.4), the
charging DAC will be set to 0, while the 8-bit signal is used to drive the discharge DAC.
The circuit for the discharging signal is similar, with the reference voltage connected to
+5V in order to provide negative voltages.
During the charging phase, the output signal from the DAC (Fig. A.3) is sent to
the non-inverting input of the op-amp and sets the desired current level while the voltage
across the sensing resistor R1 is used for feedback. The op-amp is used to drive the NPN
Darlington transistor (MJH11019) to obtain the current requested. The minimum VCE
across the transistor to ensure saturation is not reached is 3.0V at 20A. This is under
the minimum voltage that will be seen during operation (5V power supply minus 1.6V
maximum on the battery). During this charging phase, the output of the discharging
DAC and hence the input to the PNP driver op amp will be at 0V (GND). However, as
the voltage across R1 is positive, this will cause the op-amp to saturate to the positive
power supply. Therefore to ensure the emitter-base voltage of the PNP Darlington does
not exceed the maximum rating of 5V, the power supply of the discharging op-amp is
connected to GND and -5V. The operation of the circuit during discharging is similar to
that of charging, but with the polarity of the sensed current (from R1) being negative.
To prevent both BJTs from turning on simultaneously, a control circuit (Q1 &
Q2 for charging, and Q3 & Q4 for discharging) is used to control the power supply of the
BJT drivers. The driver for the the charging circuit is connected to GND on the negative
terminal, while the positive rail can be connected to either ground or +5V depending on
the signal sent to Q2. A value of 0 turns off Q2 which then turns Q1 off and the result
is a driver that is connected to GND at both terminals. Similarly, the driver for the
the discharging circuit is connected to GND on the positive terminal, while the negative
terminal is connected to either ground or -5V depending on the input signal to Q4. A
value of 1 turns off Q4 which then turns Q3 off and the result is again a driver that is

Appendix A. Battery Tester Circuit Design

61

connected to GND at both terminals. The main reason why two MOSFETs are used
is that the voltage levels and the current limit on the signals coming from the FPGA
are not sufficiently high enough to drive the MOSFETs. Hence the first FET acts as a
voltage shifter.
During the discharge operation, the PNP transistor will be operational with the
current as sensed by resistor R1 being negative. However, this is lower than the 0V input
being sent to the charging BJT driver (to indicate no charging). This will activate the
charging circuit and create a short circuit between the two power supplies. The control
circuit ensures that this erroneous activation of the BJTs does not occur.

62

Appendix A. Battery Tester Circuit Design

A.4

Simulation
A simplified circuit (Fig. A.7) was simulated using a time domain (transient) anal-

ysis in PSpice. Without adding any stray impedances, a change in the requested current
from 1A to 5A shows the circuit is well behaved as seen in Fig. A.8(a). However, the
circuit behaves quite differently when wire inductances are taken into account, however
small they may be. Using [30], the inductance can be calculated using the equation
L = 2l[2.303 log

µ
d
4l
−l+ + ]
d
4 2l

(A.3)

where l and d are the length and diameter of the wire. The parasitic inductance in the
circuit was estimated to be 46nH. This was calculated using a diameter of 1mm and a
length of 5cm which reflects the dimension of the built circuit. Using this inductance in
the simulation causes the system to be unstable as discussed in the next section. The
op-amp output cannot maintain a constant voltage and this results in the output current
oscillating (Fig. A.8(b)). To prevent the oscillation in the output, a capacitor was added
from the base to the emitter of the BJT. This has the effect of slowing the rate of change
of the op-amp output due to the added load. This in turn stabilizes the circuit as it
prevents any large swings in the output voltage. The trade-off is a reduced speed in the
change in the output current for a given step input. From simulation and experimental
results, a capacitor of 47µF was added across the base and emitter, and the resulting
simulation results are shown in Fig. A.8(c).
To understand the reason for the oscillations in the uncompensated circuit, it’s
necessary to look at the Bode plot of the small signal model. A small signal model is
needed as this is the only method of bringing in frequency dependence to the system.
Although the current changes will be large (potentially from 0A to 15A), the large signal
model can only capture the slew rate and steady state information. As the charging
and discharging circuits operate independently of each other, we can look at each loop

it must be first converted into a transfer function form shown in Fig A. A. The hybrid-pi model of the BJT was used and the small signal model of the charging system is shown in Fig.6b) . the current command seen on the non-inverting input to the op-amp can be taken as a fixed voltage source along with the power supply used to charge the battery. The transfer function 0 H 0 is the ratio of the op-amp output voltage VO to VE .6a) (A. In order to analyze the stability of this circuit. separately. A.9.10.4) the transfer function 0 G0 is simply the op-amp open loop gain AO .10 the values 0 u0 and 0 y 0 representVsig and VO from Fig. Battery Tester Circuit Design Figure A.5) where Ic = gm VBE = gm VB = Cπ ||rπ (VO − VE ) Lπ + (Cπ ||rπ ) Cπ ||rπ (VO − VE ) Lπ + (Cπ ||rπ ) (A. This can be found from the equation of voltage at the emitter of the BJT (and hence the sensed current) and is given by VE = Rsense Ic + (VB − VE ) Rsense Zπ (A. Also. A.63 Appendix A.9. As the transfer function for the op-amp is given by VB = (V+ − V− )AO (A. In Fig.7: Simplified circuit used for PSpice simulations.

Appendix A. Battery Tester Circuit Design

(a) no parasitic inductances

(b) with parasitic inductance

(c) with parasitic inductance and compensation capacitor

Figure A.8: Simulated circuit response of a 1A to 5A pulse.

64

65

Appendix A. Battery Tester Circuit Design

Figure A.9: The small signal model of the op-amp and BJT in the charging loop.

Figure A.10: Transfer function model of a feedback controller.

Zπ = Cπ ||rπ

(A.6c)

Combining the two sets of equations above, the transfer function 0 H 0 is
Cπ ||rπ
Rsense
+ gm Rsense Lπ +(C
VO
Lπ +(Cπ ||rπ )
π ||rπ )
H=
=
Cπ ||rπ
Rsense
VE
1 + Lπ +(Cπ ||rπ ) + gm Rsense Lπ +(Cπ ||rπ )

(A.7)

To check the stability of the system, one must look at the Bode plot of G(s)·H(s).
Using MATLAB, a Bode plot of the op-amp open loop transfer function AO was created
using the given datasheet. From Fig. A.11 we see that at room temperature the op-amp
provides a good phase margin but this shrinks to 25◦ at higher temperatures. Looking
at just the transfer function of the feedback loop (H(s)), the bode plot (Fig. A.12(a))
shows that at low frequencies there is a constant magnitude gain with no phase change.
However, there is a resonant frequency at approximately 4MHz, but more importantly
there is a sharp drop in phase. This occurs at approximately at the zero gain frequency
of the op-amp. During the experimental stage, it was seen that there was an oscillation

Appendix A. Battery Tester Circuit Design

66

present in the circuit at approximate 100kHz (shown in the next section). In order to
remove this oscillation, a capacitor was added across the base and emitter junction of the
BJT and this had the effect of producing a phase lead. By using a capacitor of 47µF ,
the phase peaks at around 100kHz as shown in Fig. A.12(b).

Battery Tester Circuit Design (a) under room temperature (b) at high temperatures Figure A. 67 .11: Bode plot of the op-amp open loop gain.Appendix A.

12: Bode plot of the feedback loop (H(s)) for 1A (blue). 5A (green). Battery Tester Circuit Design 68 (a) under room temperature (b) under room temperature Figure A.Appendix A. . 10A (red) and 14A (teal) currents.

it shows a linear change in the current for a linear change in input. The second trace shows the op-amp output and the third trace shows the resulting current. More importantly. A. Battery Tester Circuit Design A.13 shows the output of the op-amp (centre trace) and the voltage across the current sensing resistor (bottom trace) for a 1A current set-point request.Appendix A. there is a delay of approximately 400µs that is caused by the capacitor at the output of the op-amp. . Fig. The partial experimental results are shown in Fig.13: Experimental circuit response of the uncompensated charging loop showing output current oscillations. the response to a step in current from 1A to 10A (shown in Fig. However.5 69 Testing In the uncompensated circuit (without the added capacitor across the base-emitter).14) shows that the circuit stabilizes.2A/256 bits). From the DAC’s theory of operation mentioned above and using a value of 250kΩ for R10 with R9 shorted. A. the experimental results show an oscillatory behaviour which is similar to the simulation. After adding the capacitor. the expected change in the output current for change in the LSB of the DAC is 75mA (19. A. Figure A.15. The results show that the slopes of the graphs are close to the predicted value with the error resulting mostly due to both the external resistor R10 and the internal DAC resistors.

14: Experimental circuit response of the compensated charging loop showing output current response to a 1A to 10A step. Figure A. Battery Tester Circuit Design 70 Figure A.Appendix A.15: DAC linearity of the input signal and the resulting output current . The second trace shows the op-amp output and the third trace shows the resulting current.

developed in the MATLAB environment.csv) file created by a high-fidelity. The following is the MATLAB code and a description of the functions. The User Interface provides an environment that gives the user ultimate control over which information is displayed and how it is displayed. A MATLAB Graphical User Interface GUI was developed by Pawel Chomicki. textual overlays. multi-channel data logger device and imports the information into MATLAB data structures for processing. The data structures are then interpreted into figures which provide a visual and interactive display of the information captured by the Data Logger. B. interprets information from a comma separated value (. 71 .Appendix B Battery Tester Code In order to help analyze the data obtained by the data logger. including: single/multi-channel plots. The GUI makes use of the MATLAB’s GUI Layout Toolbox (version 9).1 Introduction This software. I was responsible for assisting in the management of his workload over the summer. a 1st year undergraduate student. The document was written by Pawel and parts were rewritten to conform with the format of the thesis.

createInterface() This function builds the majority of the program’s user interface . laid out hierarchically using vertical and horizontal sections that can either remain fixed-size.Appendix B.csv files are of a specific format. This software. etc. improves the usability and provides additional functionality as compared to the Data Logger as a standalone device. Battery Tester Code 72 and various post-processing functions (integration. multiplication. simplifying synthesis and analysis of large data sets. The following paragraphs describe the program’s main features on a function-by-function basis. . The . One such library was used in the development of this software: Ben Tordoff’s GUI Layout Toolbox [31]. The main benefit of doing so is very apparent to anyone reading the program’s source code: a programmatically developed GUI provides a more readable source. based on reference files obtained from the Data Logger Hardware. A programmatically developed GUI is also able to leverage the libraries available on MATLAB Central’s File Exchange.the buttons and menus which make up the software’s skeleton are constructed here. it was decided that building the GUI programmatically would be advantageous. when used in conjunction with the Data Logger hardware. The program is able to process the data and display it graphically.csv files.m This MATLAB file is a program which provides a GUI for processing . or resized along with the dimensions of the GUI window. After exploring various alternatives in MATLAB’s GUI design environment (GUIDE). The code is structured according to the following m-files: dataloggerGUI. The toolbox is aptly-named: it allows for the development of a more intelligent GUI.). which is particularly beneficial for anyone unfamiliar with MATLAB libraries and commands associated with GUIs.

fileName and gui.1: Layout Hierarchy of GUI in dataloggerGUI.2 below shows how these components are visually layed out within the program. and will be used to call upon the file for processing later. The function opens up the file operating system’s file browser for a file to be selected . This function does not load any of the file data into the program. the GUI layout toolbox allows the programmer to divide GUI components into horizontal and vertical sections. Since large files take a .1 shows how the UI components are related as parents and children (vertically) and siblings (horizontally). Battery Tester Code 73 As previously mentioned. This is intuitive as each UI component has a parent component (ie: buttons are part of button groups) and therefore has its own place within the interface. The function then stores the file name in gui.statusBox is updated to let the user know that a new file has been selected. B.1. only .csv files (as well as folders) are visible. Figure B. The filename is stored in the data structure.Appendix B. providing a grid-like structure for the user interface. Fig. Fig. Since the software is designed to specifically read files from the data logger.m onSelectNewFile() This function is initiated when the selectFile button is pressed. B. For a better understanding of the GUI Layout Hierarchy. handle descriptions are available in Table B.

csv files are structured differently. Besides the current implementation of onLoadNewFile. Battery Tester Code 74 Figure B. it opens the file and reads it into memory. From there. such functions posed compatibility issues and offered .2 provides a list of handles used to organize the processed data. Using the string from gui. onLoadNewFile() This function is initiated when the loadData pushbutton is pressed. unprocessed. the function reads through the data line by line. Table B.Appendix B. various helper functions must be used to extract the data in a useful manner such as convertTime. which processes the timestamp and converts it into seconds relative to the initial pulse’s timestamp. additional methods were considered: primarily csvread and xlsread which were initially used during the development of this function. it makes sense to separate file selection and loading into two separate actions which the user may perform. However. For a better understanding of the data structure. processing both the header and pulse information.fileName.2: GUI Layout of dataloggerGUI.m long time to load. Since different portions of the .

There is an irregularity with certain data sets: when a channel’s values remain almost-constant throughout the data logger file.[handle] Description Window The parent figure (or window) containing the data logger GUI FileMenu Provides new. in accordance to the visibility and plot options selected in the menus. onUpdatePlot() This function is initiated when the updatePlot button is pressed. load. It updates the plot of the currently tabbed axes.1: GUI Layout Handles GUI. Battery Tester Code Table B. save and exit functionality mainBox Master parent in GUI layout hierarchy menuBox Fixed-width column that contains menus and settings displayBox Variable-width column that contains actions and data visibilityOptions Checkbox menu that allows for control over channel visibility plotType Pop-up menu that allows for control over plot type plotOptions Checkbox menu that allows for control over plot settings buttonBox Contains various action buttons viewAxes Contains three tabbed axes for plotting statusBox Textual information. the data will be presented in an . status updates plotAxes Axes (graphs) which are plotted on selectFile Select new File loadData Load last selected file updatePlot Update plot with using current plot/visibility Options clearPlot Clear the current axes less performance than fgetl. textread and strread should be explored. If the performance of fgetl is still an issue.75 Appendix B.

extracted from the pulse’s times- . • Interval Comparison: Each value is plotted against its index. • True Time: Each value is plotted against time.) Table Stores Pulse data iLine/jLine Used to iterate through the CSV during processing masterLine Marks the first line of pulse data masterTime Timestamp of first pulse. Thankfully. • Concatenated: Each value is plotted against its index.2: Data Structure Handles data. different pulses are tagged with a marker for differentiation. used as reference time samples Samples per channel (per pulse) unreadable and rather useless fashion . etc. Battery Tester Code Table B. this should not be the case with the vast majority of data sets obtained by the data logger. Pulses are overlayed to compare subsequent pulses. This plot type is disabled when more than a single channel is selected. A solution to this may be to plot a rounded set of data. plotType() This function is initiated by the updatePlot function. however the drawback of lower-fidelity detracts from the implementation.76 Appendix B. An example of this can be seen in Fig. samples per channel. as too many pulses make the data unreadable.2 (note the slight variation in value in the y-column). this function plots a series of lines to the currently tabbed plotTabs.[handle] Description CSV Stores the unprocessed CSV file HeaderTable Stores Header Information (ie: operator. Depending on which option is selected in plotOptions. B.

onLoad() This function loads a data structure (a previously processed and saved . onExit() This function deletes the Window. as seen in Fig.Appendix B. onNew() This function opens a new instance of the program. This feature can be disabled in the Plot Options. closing the program. This is beneficial as large data sets do not need to be processed more than once. making it possible for another session at a later time. It changes the current axes in view without clearing any of the figures. Additionally.csv) . except the axes are inverted. This function clears the figure of the currently tabbed axes. annotatePlot() This function is called exclusively for the Concatenated Plot (see plotType() above). onSave() This function saves the data structure from the workspace. • A vs B: Instead of a plot against time. there are three plot types that require multiple channels of data to be processed before a plot can be produced. onClearPlot() This function is initiated by the clearPlot button. Each of these plot types requires exactly two channels of data. integral) for every pulse recorded for a channel by the data logger. it is also called whenever updatePlot is called. changeTab() This function is called whenever the user switched between the tabbed figures.3. two channels are plotted against each other. B. Battery Tester Code 77 tamp and the frequency of the sample. • B vs A: Similar to the previous option. however the GUI can be easily reloaded and requires very little resources to do so. • A x B: Two channels are multiplied together and then plotted against their index/time. This function does not save the GUI. This function provides relevant textual data (timestamp. Additionally.

3: Plot Annotations in dataloggerGUI.2 Matlab Code function dataloggerGUI() % Processes . B. Battery Tester Code Figure B.Appendix B.csv files which can be viewed graphically though a GUI. % 78 .m to be used in the current instance of the program.

uimenu( gui. % Add File menu. @onNew ). ’NumberTitle’.14. uimenu( gui.Window. ’ off ’ . [150 −1] ). gui. % function builds the GUI %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− function gui = createInterface() % Create the user interface for the application & % return structures of handles for global use. ’Data Logger GUI’. ’Callback’. Battery Tester Code 79 % dataloggerGUI() is an interface which processes specifically formatted % . @onLoad ). ’Callback’. Load & Exit Capability gui. uimenu( gui. ’File’ ).. ’Sizes’ .. . ... % Adjust Panels: 150px fixed menuBox. ’Load’.VBox( ’Parent’. ’Label’. ’Callback’... gui. ’Label’. @onSave ). gui. .HBox( .FileMenu. ’OuterPosition’. % allowing for enhanced manipulation and usability of the data. ’ HandleVisibility ’ .mainBox ). ’Save’. gui = createInterface () . . % Create Left and Right Panels gui. with New.. ’Label’.FileMenu.. ’MenuBar’. ’Exit’.. uimenu( gui. ’ Position ’ .VBox( ’Parent’. . ’Label’. .. % Structure for GUI Elements % Open a figure gui..FileMenu.Appendix B. ’normalized’.csv files from a data logger and displays the data graphically . [0 0 1 1] ) . . ’ off ’ ) .mainBox )..mainBox.Window = figure( . ’New’.FileMenu. ’Parent’.. ’Units’ . Save.2011 data = struct(). ’ figure ’ .. ’Toolbar’. ’Name’.Window.mainBox = uiextras. gui. % Master GUI Parent gui. scalable displayBox set( gui. ’Callback’. ’none’.displayBox = uiextras.. % % Written by: Pawel Chomicki % Last Updated on 08. ’Label’.. [100 100 600 600]. .. @onExit ). gui = struct() .menuBox = uiextras..FileMenu = uimenu( gui.

% Create Axes Tabs gui. ’ String’ . ’on’ ) ... gui. ’Parent’.. ’Enable Plot Annotations’. ’Callback’.boxPanel{1}..menuBox ).menuBox. .. gui. % Create displayBox subpanels gui. . ’ off ’ ) .BoxPanel( . gui.displayBox ).. ’Parent’. ’Plot Options’. .. @changeTab.BoxPanel( ... gui. 80 ...boxPanel{2} = uiextras. 50 ) . ’Padding’. ’Parent’. [ 0 0 1 1] ) . ’ Title ’ . Battery Tester Code % Create visibilityOptions subpanel and options gui. gui. ... can be reconfigured gui.. ’popup’... gui. . 0... ’ Title ’ .. . [−1 80 80] ) .displayBox. gui. ’ Style ’ . . . gui.. ’ Visible ’ . ’ String’ ..menuBox ). ’Parent’.... ’Plot Type’. {’ Select 1 or more channels’} . % Create plotOptions subpanel and Options gui. ’Parent’. ’Sizes’...BoxPanel( ..... ... gui. ’Padding’.boxPanel{3}.TabPanel( .buttonBox = uiextras. . ’ Title ’ .viewAxes = uiextras.Appendix B. gui.plotAxes(plotIndex) = axes( . ’checkbox’. .menuBox ). % Adjust Panels: Scalable visibility subpanel.VButtonGroup( .viewAxes. ’ Style ’ . . ’ Position ’ . gui....boxPanel{3} = uiextras.. for plotIndex= 1:3 % 3 Tabs. visibilityOptions = uiextras..HButtonBox( ’Parent’.plotOptions(1) = uicontrol( .... ’ Visible ’ . . 0. ’Parent’....plotType = uicontrol( . % Create plotType subpanel and Options gui. ’Parent’. ’ off ’ ) . ’Parent’...boxPanel{2}.. ’Channel Select’.boxPanel{1} = uiextras. ’ Visible ’ . fixed plot subpanels set( gui. ’Padding’. gui.. .

currentTab = text( .buttonBox..buttonBox... gui. ’Update Plot’.viewAxes.. ’Callback’. gui. . ’Welcome to the Data Logger GUI... selectFile = uicontrol( .... ’Parent’.SelectedChild)). .. clearPlot = uicontrol( .. @onUpdatePlot). set( gui..updatePlot = uicontrol( . 1’.. Battery Tester Code 81 end gui.. gui. 3’ }.. let user browse .csv’).. ’Parent’. [gui..displayBox. % Use GUI. @onClearPlot). . % Fill buttonBox gui. 1 % Modified by @changeTab gui. % Adjust Panels: 50px buttonBox.. ’ String ’ .’ ).. @onSelectNewFile ). ’Fig.. 2’. gui. % Defaults to Fig. ’Callback’. gui. gui.plotAxes(gui.fullFileName = fullfile (pathname.Appendix B. . gui.. ’ String ’ .loadData = uicontrol( . ’ Style ’ . % Provides Textual data about program gui.. ’ Sizes ’ .. . ’Fig. . . ’Callback’. end %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− function onSelectNewFile( ˜. gui.SelectedChild = 1.viewAxes.viewAxes.. ’ String ’ .gui. @onLoadNewFile ).buttonBox. gui.buttonBox. ˜ ) % User wants to select a new file ..statusBox = uicontrol( ..TabNames = {’Fig.. ’Callback’. [50 −1 50] ). .fileName). ’ String ’ .. ’Parent’. ’Parent’.csv files . ’Clear Plot’ . . 50px statusBox. ’ text ’ . scalable axes. . ’Parent’. .. ’ String ’ .. ’ Select File ’ .. ’Parent’. ’Load Data’.fileName. gui. pathname] = uigetfile(’∗.. gui.displayBox.

Battery Tester Code 82 % Update statusBox with fileName. convertHeaderCells() data. ’ ”.’Delimiter’ . ’ File selection failed .iLine. % Stores processed header data data. ˜ ) % Structure for Data Elements data. set( gui. ’\n’.masterLine = data.Appendix B. % Counter used to process CSV data.Table = {}. ’whitespace’. . .masterTime = convertTime(data. convertHeaderCells() data.fileName.iLine = skipLine(data. gui. strcat ( . skipping insignificant lines convertHeaderCells() data. Please wait. ’ String’ .statusBox. ’ ) ) . % Stores processed pulse data % User wants to load . .’ ) .. data. strcat ( ’You selected file : ”’ . ’ is being processed.. Try again.fileName..statusBox.iLine = skipLine(data. gui..iLine−1).CSV = textscan(fid.CSV = [].iLine. end end %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− function onLoadNewFile ( ˜. used as point of reference data. .iLine..fileName == 0 set( gui. % Timestamp from first pulse. if gui.HeaderTable = {}.. ’ ’ ) .fullFileName).’%s’.statusBox... else set( gui. % Process CSV header. ’ String’ .iLine = skipLine(data.iLine−1.. ’ ) ) .iLine = 1. . ’ String’ .3) . % Counter used to process CSV data.csv data % Update statusBox with loading message. data.jLine = 1.1) .. % Unprocessed CSV file data. % Read CSV into memory fid = fopen(gui.4) .

HeaderTable).2}).] currentLine = strread .Table{2.3) . ( data. 2 } . end data. i} = currentLine{i}.samples − 1)).HeaderTable{5. ’ ) . iData) end data.. while data. for iData = 1:str2num(data.Table{2.iLine = data.jLine. ’TRUE’ ) n = 1.samples:length(data.HeaderTable{ iHeader.1}{data. ’%s’.trapz(iHeader−12.1}. convertNumRow(tempTime. ’TRUE’ ) name = getChannelName(iHeader). % samples per channel % Build Channel Select Options & % Process Trapezoidal Integral of Pulses nLengthHeader = size(data.iLine. trapz(data. Battery Tester Code 83 % Process Channel Titles [ie: CH101.iLine + 1. 2 } . nLengthRow = size(currentLine). ’ delimiter ’ .iLine = skipLine(data. % Process Data from Pulses nLengthColumn = size(data..2}). ’ . n = n + 1.iLine < nLengthColumn(1) tempTime = convertTime(data. n) = . end data.Appendix B. etc.HeaderTable{5.iLine−2).iLine. CH204.samples = str2num(data. for iHeader = 13: nLengthHeader(1) if isequal ( data.iHeader−12}) data... for iHeader = 13: nLengthHeader(1) if isequal ( data.CSV{1. for headerIndex=1:data. .iHeader−12}(headerIndex: headerIndex + data.1}).HeaderTable).CSV{1. end end end updateGUI() end %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− function updateGUI() nLengthHeader = size(data. for i = 1:nLengthRow(1) data.HeaderTable{ iHeader.Table{data.

.iLine. . ’On’ ).2}) ). ’ delimiter ’ . Used exclusively % for CSV header data.. . ’ String’ . ’%s’.numChannels = uicontrol( ..CSV{1.statusBox.. ’on’.. ’Load Complete..CSV{1.. ’ ) .. . ’ Style ’ .channel(iHeader − 12) = uicontrol( .. ’on’.. ’ Visible ’ . 0).. .intColor = hsv( .1}) / str2num(data.. gui. ( data. . nLengthRow = size(currentLine). ’Number of Active Channels: 0’. ’Parent’.1}{data.. gui. ’ForegroundColor’. ’’ ) % Seperate a line from the .plotOptions. visibilityOptions . ’ text ’ .. gui. .1}{data. ’Parent’. ’ Style ’ .. Battery Tester Code 84 gui..:) ). ’On’ )..plotType.csv file % and splits each element into its own cell . end end gui. gui. ’Value’. end %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− function convertHeaderCells() % Processes a cell which represents a line from the . @countChannels ).1}. ’ Visible ’ . set( gui.channel(headerIndex). end % Update GUI Elements set( gui. while ˜strcmp( data. Please select 1 or more channels to begin plotting ..concatColor = hsv(length(gui.. . . .. ’ ) . for headerIndex = 1: length(gui. ’ String’ ..channel)). . set( gui.iLine.1}. % Build Color Vectors for Interval and Concatenated/True Time Plots gui...csv into cells currentLine = strread . ’checkbox’.concatColor(headerIndex. ’ Visible ’ . ’ Visible ’ .. ’ String’ .. visibilityOptions . . ’ ...Table{2. ’Callback’.HeaderTable{5.channel) set( gui.Appendix B. name.. length(data.

iLine + 1. ’ ) . ’%s’.HeaderTable{i + 12 . end end %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− function convertNumRow(tempTime. % as requested (to deal with negative voltage values).iLine = data. nLengthRow(1)+ 1}(data. Used for pulse data. nLengthRow = size(currentLine).. amount ) .CSV{1.jLine) = . data. converts voltages to absolute value.. Used for plotting purposes.Table{2. i} = currentLine{i}. i}(data.1}. end %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− function [tempTime] = convertTime(cell) % Processes the timestamp of each pulse. ’%f’.6}. end %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− function [counter] = skipLine( counter. if strcmp(data. iData) % Processes a cell which represents a line from the . i}(data..2})).jLine = data.masterTime) + (iData ∗ str2num(data. ’ delimiter ’ . ’ .jLine + 1. ’ . currentLine = strread . time = strread( splitter {2}. ’ ) .iLine.iLine = data.iLine + 1. ’%d’. else data. splitter = strread( data. Battery Tester Code 85 % Insert seperated cells into HeaderTable for i = 1:nLengthRow(1) data.iLine.csv file % and splits each element into its own cell . ’ delimiter ’ .Appendix B. tempTime = time(1)∗3600 + time(2)∗60 + time(3). end data. converting the stamp to % seconds. ’ delimiter ’ .1}{data.1}{cell}. (tempTime − data.CSV{1. ( data.jLine) = currentLine(i).jLine) = abs(currentLine(i)).Table{2. ’ : ’ ) .Table{2.HeaderTable{data. % including each pulses timestamp.HeaderTable{6. for i = 1:nLengthRow(1) % Special Case. data.. end end data.’V’) data.

˜) % User wants to change the current tab. elseif counter == 1 set(gui. end %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− function countChannels(˜. % Makes skipping lines more understandable to someone % reading the code. gui. 1 }. end end if counter == 0 set(gui.6}. Battery Tester Code 86 % Used to skip lines when processing the CSV file. if strcmp(data. 1 }. {’ Select 1 or more channels’}).’’) name = data. ’ Interval Comparison’.viewAxes. ’ [ ’ ..HeaderTable{ iHeader.plotType. . ’Max’) counter = counter + 1.. {’Concatenated’.currentTab. for x = 1:length(gui. ’]’ ) .HeaderTable{ iHeader.channel) if get(gui. ’Value’) == get(gui.6}. data.SelectedChild) ). ’Parent’.HeaderTable{iHeader.plotAxes(gui. set( gui. and updates the plotting % options accordingly.channel(x). Used to label each % channel in the visibility options. ’String ’ .channel(x). else name = strcat( data. ˜) % Counts the number of channels that have been selected for % plotting and/or processing by the user. counter = 0.HeaderTable{iHeader. ’String ’ . end end %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− function changeTab(˜.plotType. counter = counter + amount.Appendix B. extracting % a channel’s name and descriptions. ’True Time’}). . end %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− function [name] = getChannelName(iHeader) % Processes data from the Header Table.

counter). ’A x B’}). % Clear the axes. set(gui.viewAxes.channel) if gui. end end end hold (gui.viewAxes. ’String’. {’Concatenated’.channel(headerIndex) ˜= 0 checkboxStatus = get(gui.plotType.SelectedChild).. num2str(counter) )). {’Concatenated’.viewAxes. ’String ’ . plot type % and plot settings .plotAxes(gui. ’A vs B’. . % Single Channel Data Plots for headerIndex = 1: length(gui. else set(gui. Battery Tester Code 87 elseif counter == 2 set(gui.’Value’).SelectedChild)). % Determine which element of the plotType popup menu is selected . end %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− function plotType(n) % Plots in a different format depeding on user plot type selection .numChannels. % Currently Tabbed Figure iFig = gui. plot the channel plotType(headerIndex). Updates the current axes % based on user settings including channels selected .. end %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− function onUpdatePlot( ˜. ’String ’ .numChannels..Appendix B.SelectedChild). ’Value’.plotAxes(gui.channel(headerIndex). ˜ ) % User wants to update the plot. ’True Time’. set(gui. ’Number of Active Channels: ’.viewAxes.plotType. hold (gui. strcat ( . ’ off ’ ) . if (checkboxStatus) %if box is checked.plotAxes(gui.SelectedChild).plotAxes(gui. ’True Time’}). ’on’) . end % Updates GUI and data structures. turn on hold (to plot multiple lines ) cla(gui. ’B vs A’..

..m})...plotType.. case ’Concatenated’ % Plot data plot( iFig . 88 .Table{2. pulse(headerIndex: headerIndex + samples − 1).plotAxes(gui.HeaderTable{5. ’Value’).n}.viewAxes. . samples.viewAxes. 6.:) ) . ’String’) . ’MarkerSize’.. % samples per channel pulse = data... % Update the plot with textual information about every % pulse annotatePlot(n.plotAxes(gui. ’MarkerFaceColor’.. pulse (1:samples:end).intColor(iColor ..concatColor(n. pulse) .plotType. data. ’black’. end case ’True Time’ for headerIndex=1:samples:length(pulse) plot(iFig.:) ) . if m ˜= 0 plot(gui. . Battery Tester Code str = get(gui.. data. . ’o’ . .Table{2. pulse(headerIndex: headerIndex+ samples−1)).Table{2. samples = str2num(data. ’Color’... iColor = iColor + 1. gui....Table{2. pulse.9}(headerIndex: headerIndex+ samples−1). 1:samples:length(pulse).. for headerIndex=1:samples:length(pulse) plot(iFig.. end case ’B vs A’ m = findOtherChannel(n). gui. .SelectedChild). .n}. gui. ’Color’ .:)) . % Plot pulse leaders ( first data point of a pulse) plot( iFig .Appendix B. ’MarkerEdgeColor’.SelectedChild). data. if m ˜= 0 plot(gui. ..2}). val = get(gui.. end case ’A vs B’ m = findOtherChannel(n). . % Plot depending on the selection made switch str{val}. case ’ Interval Comparison’ iColor = 1..concatColor(n. .

’Value’).∗ data. .:).SelectedChild).viewAxes. plot(gui.Appendix B.viewAxes. mult). data. backColor = brighten(gui.channel) while checkboxStatus ˜= 1 checkboxStatus = get(gui.. ’Max’) % Currently Tabbed Figure iFig = gui.Table{2. data.m} .m}. samples.Table{2. for index = 1:samples:length(pulse) .plotOptions(1).n}.Table{2.9).plotAxes(gui.Table{2. for headerIndex = n+1: length(gui.concatColor(n. end end end %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− function [m] = findOtherChannel(n) % Used for particular plot type cases ( A vs B. ’Value’) == get(gui.plotAxes(gui. the graph can be updated with % relevant textual data depending on user preference (checkbox). end end end if checkboxStatus == 0 m = 0. m = 0. if get(gui.Table{2.channel(headerIndex). end end %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− function annotatePlot(n..SelectedChild). pulse) % When Concatenated data is plotted. A x B) % where 2 channels of data are necesarry to plot a line in the % current figure checkboxStatus = 0. end case ’A x B’ m = findOtherChannel(n). if (checkboxStatus) m = headerIndex.n}). Battery Tester Code 89 data.0. if m ˜= 0 mult = data. B vs A.9}.plotOptions(1).

SelectedChild))... %allow the user to specify where to save the settings file [filename. ’data’). integral = [ ’ Integral : ’ num2str(data.pathname] = uiputfile(’untitled’. integral ) .plotAxes(gui. %saves the gui data save(saveDataName.. cla(gui.masterLine + index − 1 + (m∗3)} ]. end end end %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− function onClearPlot( ˜. ’Top’. ’HorizontalAlignment’. iFig ) . Battery Tester Code 90 time = [ ’Time: ’ . pulse(index). end %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− . ’Rotation’. textInfo . . handles) % User wants to save the current instance of the application ...viewAxes.’Save your GUI settings’). data. ’VerticalAlignment’. then we exit this callback return end %construct the path name of the save location saveDataName = fullfile(pathname. ˜ ) % User wants to open a new instance of the application.Appendix B. . ’FontSize’ . .. 11. textInfo = strvcat(time.. backColor.m+1)) ]. ’BackgroundColor’. m = m + 1. text(index. eventdata. .1}{data. ..trapz(n..filename).. ’Parent’..... ’Left ’ . 30. . end %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− function onSave(hObject..CSV{1. .. dataloggerGUI(). if pathname == 0 %if the user pressed cancelled. end %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− function onNew( ˜.. ˜ ) % User wants to clear the plot .

’ String’ . pathname] = uigetfile(’∗. set( gui. %this is the gui that will be closed once we load the new settings newdata = load(loadDataName).filename). %allow the user to choose which settings to load [filename. eventdata.Window ). delete( gui. Battery Tester Code 91 function onLoad( hObject.Appendix B. end %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− function onExit( ˜. ’Choose the GUI settings file to load’) . %construct the path name of the file to be loaded loadDataName = fullfile(pathname. num2str(newdata. qdata = newdata updateGUI(). handles ) % User wants to load a previous instance of the application .data.statusBox. end %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− end .iLine) ). ˜ ) % User wants to quit out of the application .mat’.

R. E. [6] L. Nakayama. J. K. 1-2. and X. vol. G. T. vol. no. 20110715 2011. Z. J. P. 2005.” Journal of Power Sources. pp. “Mathematical modeling of a lithium ion battery with thermal effects in comsol inc. Saito. no. 535–542. Ohshima. F. “Thermal behavior of nickelmetal hydride battery during charging at a wide range of ambient temperatures.” Journal of Power Sources. pp. R. E. Araki. Fang. 1-2. [3] K. 196. pp. Dougal. W. 770–774. Fukuda.” Journal of Thermal Analysis and Calorimetry. A. no. 2011. “Thermal behavior of small lithium-ion battery during rapid charge and discharge cycles. and R. pp. 1. pp. vol.” Journal of Power Sources. [2] K. 158. White. vol. White. no. E. and T. pp. Onda. 383–388. P. 1. Ma. 109.References [1] Y. Chen. D. Y. and E. Mu. Moss. Holland. 1. “Experimental characterization of hybrid power systems under pulse current loads. Cai and R. [5] J. “Thermal behaviors of lithium-ion batteries during high-rate pulse cycling. Weidner. Fu. 146. 92 . vol. 2006. multiphysics (mp) software. M. Wu. Xin.” Journal of Power Sources. Zheng.” Journal of Power Sources. vol. 753–757. Plichta. 2005. 5985–5989. Zeng. 32–37. S. 2002. Au. L. [4] C. 146. 105. “Capacity degradation of lithium rechargeable batteries. no.

” Journal of Power Sources. pp. A.References 93 [7] C. 1991. vol. R. G. pp. [12] F. 3.. Chan. “An overview of positive-electrode materials for advanced lithium-ion batteries. Ann. Huggins.kfupm. 1132–1140. “Experimental investigation of mass transport in pulse plating. pp. pp. New York: Blackie Academic Professional. [13] M. 67.” Electrochimica Acta. pp. Macdonald. K. vol. Galinski. vol. McLennan. 198506 1985. 174. 20071206 2007.” Annual Review of Analytical Chemistry. pp. “Surface chemistry and morphology of the solid electrolyte interphase on silicon nanowire lithium-ion battery anodes. and Y. 97–110. . pp. Datta and D. no. “Reflections on the history of electrochemical impedance spectroscopy. Chem. 5567–5580. Process analytical chemistry. F. 449–456. 6. and I.” Surface Technology. Lewandowski. 25.” Journal of The Electrochemical Society. 2006. Phys. Ohzuku and R. and Y.-Y. Ruffo. “High-performance lithium battery anodes using silicon nanowires. Landolt. no. [15] B.htm. 1376–1388.edu. A. Chan.05.” Nat Nano. 19 July 2010 2010. J. 207–229. 493 1899. “Electrochemical impedance spectroscopy.” Electrochimica Acta. K. 1st ed. 51. [14] E. 31–35. Park. E. S. [10] M. 20090415 2009. K. McIlwrath. 2006. pp. 1995. [11] http://faculty. Cui. 189. Hong. X. vol. 26. R. [8] C. print 2008. Brodd. 8-9. “Transition from ”supercapacitor” to ”battery” behavior in electrochemical energy storage. [9] T. Chang and S. 138. S. vol.-M. 1539–1548. vol. Peng. Liu. “Ionic liquids as electrolytes. vol. no. Zhang.sa/ME/hussaini/Corrosion%20Engineering/02. Cui. 51. 3. Conway. Warburg. [17] B. vol. D. Stepniak.04. [16] D. H.” Journal of Power Sources.

“An innovative battery charger for safe charging of nimh/nicd batteries. no. and D. Electrochemical methods.” IEEE Transactions on Consumer Electronics. [21] F. vol. 4244.C. no. “Electrochemical behaviour of intermetallic-based metal hydrides used in ni/metal hydride (mh) batteries: a review. vol. vol. Mundra and A. 22. Bard and L. S. pp. [19] E. 1126–1127. B. and J. pp. 725–734. 1976. pp. 26.” Science. pp. Jossinet. 2. vol.” IEEE Transactions on Power Electronics. . 53. [20] R. 2007 AUG. [25] M. 1980. vol. Kumar. 2001. ”The art of battery charging. 1994.” International Journal of Hydrogen Energy. Howard. Boico. 60. 830–838. [23] T. no. J. 1999. no.” Journal of The Electrochemical Society. pp. 2011 MARCH 2011. [27] http://batteryuniversity. 1044–1052. 233-235. 7.References 94 [18] A. pp. 1999. “Electrical energy storage and intercalation chemistry. Podrazhansky. “Physical interpretation of schwans limit voltage of linearity. S. John Wiley & Sons. 126– 130. G. “Solar battery chargers for nimh batteries. and K. 3224–3229. M. Maleki. A. 2007. Hussein and I. Faulkner. Shujaee. 2007 SEPT. 32.” IEEE Transactions on Vehicular Technology. 1600–1609.-H. pp. R. vol. Feng. Batarseh. Whittingham. Lehman. 9. vol.” Medical and Biological Engineering and Computing. Anani. Northwood. “Thermal stability studies of liion cells and components. A. [22] A. pp. [24] F. O. 2007. 192. “A review of charging algorithms for nickel and lithium battery chargers. McAdams and J. Cope and Y. 146.” Annual Battery Conference on Applications and Advances. [26] H. Geng. Deng.com/.

Cadex Electronics. Pell. 2011. E. Ben.. “Gui layout toolbox. W. and T. [31] T. Accessed: July 14. 1997. Liu. “Diagnostic analyses for mechanisms of selfdischarge of electrochemical capacitors and batteries.References 95 [28] Batteries in a portable world: a handbook on rechargeable batteries for non-engineers.mathworks. pp. 1962. 44th Ed. . Conway. [29] B.” Journal of Power Sources. Cleveland. vol.” http://www. 53 – 59.-C. [30] Handbook of Chemistry and Physics.com/matlabcentral/fileexchange/27758gui-layout-toolbox. 12. Chemical Rubber Publishing Co. 2001. 65. OH. no.