This page contains a Flash digital edition of a book.
BATTERY TECHNOLOGY


software and the microcontroller is programmed with the required profile. This type of decision is used in applications where battery charging is added as an additional feature to an existing product. In such applications, the type of the battery is known, or different types of batteries are used to make different versions of the same product. In pre-startup, the


microcontroller has both the battery profiles and the decision of the profile to be implemented is done through a conditional check. This check can be something as simple as


Figure 3: Simplified Schematic of Battery Charger


a switch position that is checked during startup. The automatic decision is done by the microcontroller after startup and it chooses the battery charger profile by detecting the type of battery. For example, a typical voltage range for a single cell NiMH is between 0.9 V to 1.25 V,


multiplexing these inputs to an ADC in the microcontroller. Based on these values, the state is decided in the firmware and the charge current is controlled by changing the duty cycle of the PWM. The PWM output is connected to the gate of the MOSFET in the SEPIC convertor that


} When the profile needs to be changed, the Figure 4: GUI to enter parameter limits of different battery chemistry


whereas a single cell Li-ion voltage ranges from 2.7 V to 4.2 V. Similarly, the temperature ranges also differ between the two, and these values can be saved and compared upon startup. The automatic check approach is limited to very specific conditions. In general, the pre- programming and pre-run time decisions are used for the majority of applications. In this article, the pre-programming is highlighted to focus on applications in which battery charging is an add- on feature.


As mentioned earlier, the hardware for sensing and controlling the battery charger is the same for the two types of chemistries. The schematic for the external hardware required for battery charging is shown in Figure 3. To determine the battery state voltage, current and temperature measurements are performed by


controls the current flowing into the battery. These steps involve the CPU and thus have some latency. Different batteries, specifically Li-ion, are very sensitive to overcharging and can become extremely unstable at higher voltages. To add additional protection for overvoltage and overcurrent conditions, hardware protection circuits are added through comparators. These comparators will shut-off charging until reset by the user or a safe condition is reached. Based on the parameter values measured and the type of battery chemistry, the CPU decides the state of the battery and changes the duty cycle of the PWM accordingly. Traditionally, the conditions required by the CPU to detect the profile were defined and as constants in the code and were changed manually. Consider the following Pseudo-code.


BATTERY_PROFILE is set to 0 or 1 to switch between the two profiles. The voltage, current, and temperature limits for all the states are also saved as constants and changed accordingly. If a different voltage level for the same battery type is required, the code needs to be changed to enter the new parameters. This means the user of the application needs to be aware of the code to change the profiles and limits for battery charging. By taking a component approach, parameters can be entered for changing battery charger profile when developer select the appropriate IP blocks. For example, component encapsulations for Li-ion and NiMH batteries are shown in Figure 4. By using these components, an application designer can add the charger component into an existing application and set up the appropriate profile. All the other hardware (comparators, PWM, etc) and software (state machines) are also generated by the component. Using a reprogrammable architecture such as the PSoC from Cypress, hardware components can be programmed and implemented with the software application. This method was used to program the hardware shown in Figure 3 with Li-ion and NiMH battery charge profiles. The battery parameters are sent to the computer by adding a USB component to the project. The data was plotted using software tool built using C#. Any other form of communication and similar tool can be used to plot the data. A battery emulator was used to emulate the Li-Ion and NiMH batteries to obtain the graphs in real time. The plots obtained as shown in Figure 5.


The noise observed in the current is the switching noise due to the change of voltage using a battery emulator. Since the voltage was changed faster using a battery emulator, the response and settling time of the PWM output in response to change in voltage is seen as switching noise in the results above. The change of voltage in a battery is very gradual and thus switching noise is not significant with a real battery. The stages of battery charging for the Li-ion and NiMH batteries in Figure 1 and Figure 2 can be observed in Figure 5. Thus it can be observed that with simple change in firmware of a SoC, a multi-chemistry battery charger can be obtained with the same hardware. The simplification obtained by making components of the profiles in components facilitates battery charging as an additional feature to a main application.


Figure 5: LiIon and NiMH Charging Profile Plot 6 CIE Power Supplement April 2012


Cypress Semiconductor | www.cypress.com Archana Yarlagadda is a senior applications engineer at Cypress Semiconductor


#define LIIon 0 #define NIMH 1 #define BATTERY_PROFILE 0


void main() {


Measure_Battery_Parameters(); //Use ADC to measure V, I and T Get_Battery_State(); Control_PWM_DutyCycle(); }


Get_Battery_State() {


if(BATTERY_PROFILE == LIION) {


//set battery state for Li-Ion }


else if(BATTERY_PROFILE == NIMH) {


//set battery state for NiMH }


else {


//battery type error }


Page 1  |  Page 2  |  Page 3  |  Page 4  |  Page 5  |  Page 6  |  Page 7  |  Page 8  |  Page 9  |  Page 10  |  Page 11  |  Page 12  |  Page 13  |  Page 14  |  Page 15  |  Page 16  |  Page 17  |  Page 18  |  Page 19  |  Page 20  |  Page 21  |  Page 22  |  Page 23  |  Page 24  |  Page 25  |  Page 26  |  Page 27  |  Page 28  |  Page 29  |  Page 30  |  Page 31  |  Page 32  |  Page 33  |  Page 34  |  Page 35  |  Page 36  |  Page 37  |  Page 38  |  Page 39  |  Page 40  |  Page 41  |  Page 42  |  Page 43  |  Page 44  |  Page 45  |  Page 46  |  Page 47  |  Page 48  |  Page 49  |  Page 50  |  Page 51  |  Page 52  |  Page 53  |  Page 54  |  Page 55  |  Page 56  |  Page 57  |  Page 58  |  Page 59  |  Page 60  |  Page 61  |  Page 62  |  Page 63  |  Page 64