improving battery charging with solar panels - drs1434/... · improving battery charging with solar...
TRANSCRIPT
Improving Battery Charging with SolarPanels
Dissertation Presented
by
Florent Michael Boico
to
The Department of Electrical and Computer Engineering
in partial fulfillment of the requirements for the degree of
Doctor of Philosophy
in
Electrical Engineering
Northeastern UniversityBoston, Massachusetts
November 2008
Contents
1 Research Motivation 1
2 Introduction 62.1 Characteristics of Modern Rechargeable Batteries . . . . . . . . . . . . 7
2.1.1 Existing NiMH Charge Control Methods . . . . . . . . . . . . 102.1.2 Existing Li-ion Charge Control Methods . . . . . . . . . . . . 13
2.2 Portable Photovoltaic Generation . . . . . . . . . . . . . . . . . . . . . 152.2.1 Principle and Technologies . . . . . . . . . . . . . . . . . . . . 152.2.2 Electrical Model . . . . . . . . . . . . . . . . . . . . . . . . . 162.2.3 Maximum Power Point Tracking . . . . . . . . . . . . . . . . . 20
2.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3 Causes of Failure in Charge Control Algorithms 293.1 Failure in Voltage Based Charge Detection Methods . . . . . . . . . . . 343.2 Failure in Temperature Based Charge Detection Methods . . . . . . . . 353.3 Failure in Li-ion Charge Control Algorithms . . . . . . . . . . . . . . . 393.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4 Proposed Charge Control Algorithms 424.1 New Temperature Based Algorithm for NiMH Batteries . . . . . . . . . 43
4.1.1 Charge Control Algorithm Robustness . . . . . . . . . . . . . . 564.1.2 Experiments on Standard AA Cell System . . . . . . . . . . . . 61
4.2 Improved Voltage Based Algorithm . . . . . . . . . . . . . . . . . . . 644.3 Charge Control Algorithm for Li-ion Batteries . . . . . . . . . . . . . . 684.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
5 Comparison and Analysis of Maximum Power Point Tracking Methods 725.1 Performance of Different Feedback Methods . . . . . . . . . . . . . . . 74
ii
5.1.1 Effects of the Different Implementation Methods . . . . . . . . 795.1.2 Resolution of the Digital Controller and Dithering . . . . . . . 835.1.3 Summary of Analysis . . . . . . . . . . . . . . . . . . . . . . . 95
5.2 Improvement of Maximum Power Point Tracking Through Bypass Switch 965.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
6 Prototype For a Commercial Battery Charger 1026.0.1 Topology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
6.1 Battery Voltage and Chemistry Detection . . . . . . . . . . . . . . . . 1136.2 Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
6.2.1 Low Level Control . . . . . . . . . . . . . . . . . . . . . . . . 1156.2.2 Maximum Power Point Tracking . . . . . . . . . . . . . . . . . 1196.2.3 The State Machine . . . . . . . . . . . . . . . . . . . . . . . . 1226.2.4 Feedback Controller Design . . . . . . . . . . . . . . . . . . . 126
6.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
7 Multi panel Maximum Power Point Tracking 1517.1 The Classic Perturb and Observe Method . . . . . . . . . . . . . . . . 1537.2 Single Sensor, Multiple Panel MPPT Algorithms . . . . . . . . . . . . 155
7.2.1 Interleaving MPPT Algorithm . . . . . . . . . . . . . . . . . . 1587.2.2 Gradient Ascent Interleaved Algorithm . . . . . . . . . . . . . 166
7.3 Proposed MPPT System Architecture . . . . . . . . . . . . . . . . . . 1767.3.1 Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1797.3.2 Experiments . . . . . . . . . . . . . . . . . . . . . . . . . . . 1887.3.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
8 Conclusion 1938.1 Issues and Future Research . . . . . . . . . . . . . . . . . . . . . . . . 197
9 Annexe 2149.1 Temperature Measurements for BB390 Related Experiments . . . . . . 2159.2 Parameter Calculation for the SEPIC Converter: . . . . . . . . . . . . . 2169.3 Multi-Input Boost Converter Simulations . . . . . . . . . . . . . . . . 2239.4 SEPIC Prototype for PowerFilm, Inc. . . . . . . . . . . . . . . . . . . 2269.5 Matlab Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
9.5.1 Simulation of a Three Inputs Boost Converter Using a NewtonRaphson Algorithm . . . . . . . . . . . . . . . . . . . . . . . . 228
9.5.2 Simulation of a Three Input, Single Inductor Converter . . . . . 232
iii
9.5.3 Model of the Boost-Buck Converter . . . . . . . . . . . . . . . 234
iv
List of Figures
1.1 A 30W military grade foldable solar panel . . . . . . . . . . . . . . . . 11.2 Missions bring advanced scouts and special ops far from their recharging
sites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1 Typical charging curve for a NiMH cell under constant charging current.Top: voltage. Bottom: temperature . . . . . . . . . . . . . . . . . . . 11
2.2 Typical charging curve for a Li-ion cell . . . . . . . . . . . . . . . . . 142.3 An amourphous sillicon photovoltaic cell from Powerfilm Inc. . . . . . 162.4 Simple electrical model of a photovoltaic cell. . . . . . . . . . . . . . 172.5 Typical characteristic of a solar panel. . . . . . . . . . . . . . . . . . . 182.6 Typical power characteristic of a solar panel. . . . . . . . . . . . . . . 192.7 The Perturb & Observe algorithm. . . . . . . . . . . . . . . . . . . . . 232.8 The Perturb & Observe algorithm. . . . . . . . . . . . . . . . . . . . . 242.9 The Perturb & Observe algorithm convergence. . . . . . . . . . . . . . 242.10 The Incremental Conductance algorithm. . . . . . . . . . . . . . . . . . 26
3.1 A view of an open BB390 NiMH battery . . . . . . . . . . . . . . . . . 303.2 Experimental setup for the analysis of the battery behavior during charge. 313.3 Outdoor experimental setup. . . . . . . . . . . . . . . . . . . . . . . . 323.4 Variation of the terminal voltage of the battery with varying charging
current. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343.5 Evolution of the temperature around the point of overcharge for different
charging current. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363.6 Experiment at room temperature showing that the cells’ temperature
changes slowly compared to sags in the charging current. . . . . . . . . 373.7 Li-ion battery charging from a sagging current source (Top: voltage,
Middle: current) and charge termination indicator using Liion chargecontrol algorithm programmed in Matlab (Bottom). . . . . . . . . . . . 40
v
4.1 Evolution of the temperature inside the battery pack (two solid lines)and on the surface of the pack (dashed line) when heated by an externalsource of radiation (a halogen light). . . . . . . . . . . . . . . . . . . . 44
4.2 Proposed new method. In situation (a) and (b), overcharge cannot beproperly detected. Using a second cell as reference solves the problem. . 46
4.3 Proposed new method. In situation (a) and (b), overcharge cannot beproperly detected. Using a second cell as reference solves the problem. . 48
4.4 (a) Voltage of the two legs, (b) Charging current in each leg, (c) tem-perature of each leg, (d) Derivative of temperature at Leg1(calculatedover a sliding window of 5min), (e) Derivative of the difference of thetemperatures. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.5 (a) Voltage of the two legs, (b) Current of two legs, (c) Temperature ofeach leg (Charging from a constant current source). Potential overchargeis detected at t=15min but is then considered as a false alarm and chargecontinues until a second potential overcharge is correctly identified asreal slightly before t=100min. . . . . . . . . . . . . . . . . . . . . . . 53
4.6 Typical cloudy day outdoor experiment realized using a 30W solar panelcharging the battery pack. Despite changes in the charging current asovercharge is correctly detected at t=166min. . . . . . . . . . . . . . . 54
4.7 Clouds at the beginning of the experiment. The data recording stopswhen the battery has been identified as reaching full SOC . . . . . . . . 55
4.8 Temperature of the two legs in the battery pack with partial shadingadded and removed. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.9 Effect of wind on the temperature of the battery pack when overcharging. 584.10 Evolution of the temperature in Leg 1 and Leg 2 when only Leg 1 is
charged. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 604.11 Experimental setup for testing the new temperature algorithm on AA
NiMH cells in the lab. The system charges the four AA cells in twoindependent legs and halogen lights are used to simulate sunlight. Ther-mistors are inserted under each pair of cells . . . . . . . . . . . . . . . 61
4.12 Experiment in the lab with constant charging current. A heat source isbriefly applied at t=30min . . . . . . . . . . . . . . . . . . . . . . . . 62
4.13 New dV/dt algorithm proposed to overcome the false detection issue.Large drops of voltage or current reset the algorithm instead of haltingthe charge. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
vi
4.14 Outdoor solar battery charging with new voltage detection charge con-trol algorithm. The algorithm has the ability to handle disturbances inthe current. At t=65min, the drop in the current (due to shade) is de-tected and the algorithm does not get fooled. At t=260min, overcharge isdetected. Conventional voltage detection algorithms falsely stop charg-ing at t=65min. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
4.15 Outdoor experiment with solar panel. Top: voltage of the battery. Mid-dle: charging current. Bottom: overcharge detection . . . . . . . . . . . 67
4.16 Charge control algorithm immune to power fluctuation from the input . 684.17 Li-ion battery charging from a sagging current source (Top: voltage,
Middle: current) and charge termination indicator using Liion chargecontrol algorithm programmed in Matlab (Bottom). . . . . . . . . . . . 70
5.1 Different implementation of the Perturb and Observe control loop. (a):P&O on the duty cycle. (b) P&O on the PV array voltage with analogfeedback loop (because the microcontroller does not have a D/A con-verter, the voltage reference is output by the in the form of a duty cycleand averaged .) (c) P&O on the PV array voltage with digital feedbackloop. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
5.2 Perturb and observe algorithm. Top: output current. Bottom: Voltageacross the solar panel. The solar panel operating point around the maxi-mum power point. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
5.3 A sudden drop in the light intensity can make the system react erraticallyand cause large drop in the input voltage (Top). Bottom trace shows theoutput current . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
5.4 Response of the MPPT with voltage control to a sudden change in lightintensity. Ch2: Input voltage, Ch4: output current (1V ⇔ 1A). Thevoltage response of the controller is smooth thanks to a fast response ofthe voltage feedback loop. . . . . . . . . . . . . . . . . . . . . . . . . 80
5.5 Response to a step of the voltage reference. Top (Ch4): Output currentmeasurement. Bottom (Ch2): Solar Panel Voltage. . . . . . . . . . . . 81
5.6 Response of the input voltage (PV array’s voltage) to a step of the volt-age reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
5.7 Characteristic of the solar panel and simplified model . . . . . . . . . . 845.8 Voltage of the solar panel as a function of the duty cycle. . . . . . . . . 875.9 Variation in the steady state input voltage for 1 bit of increment of the
duty cycle as a function of the steady state duty cycle. The duty cycleregister is 5.6 bit large. . . . . . . . . . . . . . . . . . . . . . . . . . . 88
vii
5.10 Behavior of a 2 bit dither pattern: the digital PWM can generate signalby step of 1 LSB (least significant bit). Dithering alternates the PWMlevels to create virtual intermediate levels . . . . . . . . . . . . . . . . 89
5.11 Karnaugh map of the 2 bits dither function. . . . . . . . . . . . . . . . 915.12 Variation in the steady state input voltage for 1 bit of increment of the
duty cycle as a function of the steady state duty cycle. The duty cycleregister is 7.6 bit large. . . . . . . . . . . . . . . . . . . . . . . . . . . 92
5.13 Voltage regulation before dithering . . . . . . . . . . . . . . . . . . . 935.14 Voltage regulation after introduction of a 2 bits dithering . . . . . . . . 945.15 Summary of the comparison between the different configuration. . . . . 965.16 A Maximum Power Point Tracker with bypass switch (SEPIC topology). 975.17 Output power from the system for different output voltages with direct
connection, MPPT converter, and proposed hybrid system. . . . . . . . 985.18 An algorithm that switches between Perturbation of the DC/DC con-
verter and direct connection between the solar panel and the load inorder to maximize the output power in all cases. . . . . . . . . . . . . . 99
6.1 Charger prototype connected to battery and solar panel. . . . . . . . . . 1026.2 System diagram of the prototype. . . . . . . . . . . . . . . . . . . . . . 1056.3 Topology of the chosen converter. . . . . . . . . . . . . . . . . . . . . 1076.4 Schematic of the charge pump for the proper driving of the primary switch1086.5 New Boost-Buck converter. Top: Power circuit. Bottom: Control layer.
The second layer is used as a ground plane. The third layer is used foradditional routing of the control circuit as well as additional ground plane.110
6.6 Efficiency of the converter for various input voltages . . . . . . . . . . 1116.7 Pin connection diagram on the battery side (top) and on the solar panel
side(bottom) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1136.8 Simplified organization diagram of the function programmed in the charger1146.9 Low level control of the DC/DC converter. The current feedback loop
controls the output current to a reference set by the charge control al-gorithm. The voltage feedback loop controls the PV array’s voltage ac-cording to the value set by the MPPT algorithm. Switching from oneloop to another happens when the current exceeds a limit or when thecurrent cannot be maintained. Each step of this scheme is a set of rou-tines programmed in the same microcontroller. . . . . . . . . . . . . . 117
viii
6.10 Load of the CPU. executing the control algorithm for the DC/DC con-verter. The low state of the waveform indicates that the CPU is execut-ing the control algorithm while the high state represent the time whenthe CPU is free to execute the rest of the functions of the program. . . . 118
6.11 MPPT bypass algorithm for improved efficiency when the battery volt-age matches the Maximum Power Point of the solar panel . . . . . . . . 122
6.12 State machine for the NiMH BB390 battery . . . . . . . . . . . . . . . 1236.13 State machine for the Li-ion BB32590 battery . . . . . . . . . . . . . . 1246.14 Shaded area shows the possible operating area at the input of the DC/DC
converter. Dashed curves show example of typical input sources that canbe used. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
6.15 Model of the buck converter. . . . . . . . . . . . . . . . . . . . . . . . 1286.16 Model of the boost converter. . . . . . . . . . . . . . . . . . . . . . . . 1326.17 Current loop gain diagram of the digitized system and transfer func-
tion for the Buck model for different operating points (sampling time is200µs). Worst case is 35V input voltage. . . . . . . . . . . . . . . . . . 137
6.18 Current loop gain diagram of the digitized system and transfer functionfor the Boost model (sampling time is 200µs). . . . . . . . . . . . . . . 138
6.19 Closed loop transfer function of the digitized system and transfer func-tion for the Buck model (sampling time is 200µs). . . . . . . . . . . . . 139
6.20 Closed loop transfer function of the digitized system and transfer func-tion for the Boost model (sampling time is 200µs). . . . . . . . . . . . 140
6.21 Response of the Buck and Boost systems to a step in the current refer-ence. The plot show the most oscillatory response for each convertermode. Parameters for the Boost: E1 = 8V,R1 = 0Ω, I1 = 7A, Eo =
16.5V,Ro = 0.2Ω. Parameters for the Buck;E1 = 36V,R1 = 0Ω, I1 =
3A, Eo = 12V,Ro = 0.2Ω . . . . . . . . . . . . . . . . . . . . . . . . . 1416.22 Simulink modelization of the DC/DC converter and controller. . . . . . 1426.23 Simulation of the system’s response to a step in the current reference,
E1 = 20V,R1 = 0Ω. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1436.24 Experimental test of the response of the system to a step in the cur-
rent reference, the waveform is taken at the output of the current sensor(1V ⇔ 1A), E1 = 20V,R1 = 0Ω. . . . . . . . . . . . . . . . . . . . . . 144
6.25 Simulation of the system’s response to a step in the current reference,E1 = 20V,R1 = 2.5Ω, I1 = 1.1A. . . . . . . . . . . . . . . . . . . . . . 145
6.26 Experimental test of the response of the system to a step in the cur-rent reference, the waveform is taken at the output of the current sensor(1V ⇔ 1A), E1 = 20V,R1 = 2.5Ω, I1 = 1.1A. . . . . . . . . . . . . . . . 146
ix
6.27 Simulation of the system’s response to a step in the current reference,E1 = 20V,R1 = 5Ω, I1 = 1A. . . . . . . . . . . . . . . . . . . . . . . . 147
6.28 Experimental test of the response of the system to a step in the cur-rent reference, the waveform is taken at the output of the current sensor(1V ⇔ 1A), E1 = 20V,R1 = 5Ω, I1 = 1A. . . . . . . . . . . . . . . . . . 148
6.29 Proposed algorithm to alternate between direct connection and MPPT. . 149
7.1 The Perturb & Observe algorithm. . . . . . . . . . . . . . . . . . . . . 1547.2 Traditionnal Multiple array Maximum Power Point Tracking method:
The voltage and current is sensed at the output of each photovoltaic panels.1557.3 Proposed Multiple array Maximum Power Point Tracking method: only
the load current is sensed to achieve Maximum Power Point Tracking. . 1567.4 Interleaved MPPT algorithm. The duty cycle of each converter is per-
turbed turn by turn. As a result of a perturbation of one converter thenext duty cycle for that converter is calculated and stored. Then, thestored duty cycle of the next converter is applied and the process contin-ues. The algorithm cycles that way through all the converters. (step=1at initialization, N is the number of PV panels.) . . . . . . . . . . . . . 158
7.5 Experimental three inputs Maximum Power Point Tracker. . . . . . . . 1607.6 Simulation of the algorithm for a three input boost converter. . . . . . . 1617.7 Characteristic of the solar panels used in the simulation. A shade can be
simulated by using a different characteristic for the solar panel (lowercurve instead of the higher). . . . . . . . . . . . . . . . . . . . . . . . 163
7.8 Comparison between the standard P&O implementation and the pro-posed algorithm. Top curves: load current. Bottom curves: output cur-rent of each converter. The current for the proposed method is shown indark. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
7.9 Interleaved gradient ascent algorithm. . . . . . . . . . . . . . . . . . . 1677.10 Comparison of convergence speed for the classical Perturb and Observe
algorithm, the proposed interleaved algorithm and the proposed modi-fied interleaved gradient ascent algorithm. . . . . . . . . . . . . . . . . 170
7.11 Comparison of convergence speed for the classical Perturb and Observealgorithm, the proposed interleaved algorithm and the proposed modi-fied interleaved gradient ascent algorithm. . . . . . . . . . . . . . . . . 171
7.12 Trajectories of the proposed gradient climbing interleaved algorithm andthe original proposed algorithm for a two input system. . . . . . . . . . 172
x
7.13 Evolution of the duty cycles for both algorithm for a two input system.Top: basic interleaved algorithm. Bottom: gradient ascent interleavedalgorithm. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
7.14 Output current and duty cycle variation for the gradient ascent algorithmin an experimental dual input boost MPPT system. . . . . . . . . . . . 174
7.15 Experimental results showing the response time of the basic interleavedand gradient ascent interleaved MPPT algorithms. . . . . . . . . . . . . 175
7.16 Proposed Maximum Power Point Tracking architecture for multiple so-lar panels. Three solar panels are illustrated but the topology extends toarbitrary N inputs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
7.17 Timing of the proposed multiple three input converter. This figure showsone example of timing. . . . . . . . . . . . . . . . . . . . . . . . . . . 179
7.18 Inductor current (top) and inductor voltage (bottom) in the three inputconverter operating in CCM. . . . . . . . . . . . . . . . . . . . . . . . 181
7.19 Inductor current (top) and inductor voltage (bottom) in the three inputconverter operating in DCM. . . . . . . . . . . . . . . . . . . . . . . . 184
7.20 Simulation showing the expected waveform of the proposed three inputDC/DC converter with a resistive load and three different solar panels. . 185
7.21 Simulation showing the expected waveform of the proposed three inputDC/DC converter with a resistive load and three different solar panels.Top: Current in the inductor. Bottom: Input and output voltages. Thevoltage of one of the solar panel (V3) is lower than the output voltage. . 186
7.22 Three solar panels connected to the experimental Maximum Power PointTracker. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
7.23 Ch1 (Bottom): Potential between the output of the third stage and theground. Ch2(Top): Load voltage. The load is a 4.7Ω resistor . . . . . . 189
7.24 Experimental evolution of the algorithm in the three input Buck con-verter. Top: output current. Bottom: duty cycles of the three switchingcells. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
7.25 Experimental evolution of the algorithm in the three input Buck con-verter. Top: output current. Bottom: duty cycles of the three switchingcells. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
8.1 An electrical model of the battery. . . . . . . . . . . . . . . . . . . . . 1978.2 Voltage of a BB390 12V battery being charged with a current interrupted
periodically. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
xi
8.3 Voltage of the battery after the charging current is turned off (solid) andsecond order model of the battery (dashed). For better clarity, The volt-age drop due to RS is not shown (the drop occurs before t=1000s). . . . 201
9.1 Resistance vs temperature for the thermistors inside the BB390 NiMHbattery pack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
9.2 DVin product as a function of the Vin and Vout. . . . . . . . . . . . . . . 2189.3 peak to peak current ripple in L1 as a function of the inductance. . . . . 2199.4 Topology of the initially proposed converter. The system is built around
a SEPIC converter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2269.5 Sepic converter and control circuit board. Only the top (darker) and the
bottom (clearer) layer are shown. The top side (power side) is shownwith its components outlined in dark. . . . . . . . . . . . . . . . . . . . 227
xii
List of Tables
xiii
Acknowledgements
First and foremost, I would like to thank my advisor Professor Brad Lehman who guided
me through my studies since the very first day I stepped in the university, until the
final period of my dissertation. He did it with patience, and dedication, no matter how
annoying I was at times.
I would also like to thank the members of my thesis committee, Professor Alex
Stankovic and Professor Gilead Tadmor for their valuable help, ideas and encouragement
and also as professors and for the extreme quality of their teachings in Linear System
Analysis, Power Electronics and Systems and Electric Machines.
I want to extend the same thoughts to all the people in the Department of Electri-
cal Engineering at Northeastern University who taught me over the years, especially
Professor Grabel, Professors Mulukutla, Professor Serafim, Professor Shafai.
I am grateful to the Army Research Laboratory for the research grant that funded
my work as well as the funding from PowerFilm, Inc. Both gave me the financial sup-
port needed to achieve my research. I am also grateful to the provost of Northeastern
University for the fellowship I received toward dissertation completion in the summer.
My parents never failed to support me and to encourage me. Without their support I
would not have been able to live this adventure. There is no way anyone can even realize
xiv
how much I owe to them and how lucky I am to have them and therefore I thank them.
I would like to thank all my friends from the lab: Anindita, Jennifer, Rosa, Ting,
Dzung, Julian and Wei Song for their friendly support, whether technical or moral. I am
proud to have worked with them and grateful for the help and the company they gave
me.
Jacquie, Joan, Zoey, Jason and Logan, if I made it through Iowa, it’s thanks to you.
I am not sure I could have done it without you.
I would also like to thank all the people at PowerFilm for the occasion they gave me
to work with them along with the occasional chit-chat.
Finally, I would like to thank Brad again for his trust and for the respect he gave me
and his other students.
xv
Abstract
Recent technological developments in thin-film photovoltaics, such as amorphous sili-
con and hybrid dye sensitized photovoltaic (PV) cells are leading to new generations of
portable solar arrays. These new arrays are lightweight, durable, flexible, and have been
reported to achieve power efficiencies of up to 10%. Already, commercial-off-the-shelf
arrays exist that have panels embedded in fabric that can be folded to dimensions of less
than 12” x 12”, yet are able to produce up to 50 Watts of power at 12V. These new prod-
ucts make solar power available to various types of applications. In particular, military
applications are emerging to give soldier a source of power that can always be at reach.
In parallel with these developments, NiMH and Li-ion batteries are increasingly being
used to power various equipment. Currently, the military is field testing solar charging
of its batteries with portable solar arrays. However, so far, all known charge control al-
gorithm have failed as they commonly falsely detect overcharge at random times in the
charging and leave the battery partially charged. The goal of our research is to investi-
gate the origins of failure in existing charge control algorithms and to propose adequate
algorithms that would improve the battery charging. Additionally, ways to optimize
the generated photovoltaic power is critical for portable solar application as the energy
produced is limited. It is known that the use of a DC-DC converter between the solar
panel and the load allows optimization of the power delivered by the solar panel when
` Maximum Power Point Tracking´ is utilized. Therefore we are developing new solu-
tions that address the specific problem of Maximum Power Point Tracking for modular
solar panels.
ii
Chapter 1
Research Motivation
Figure 1.1: A 30W military grade foldable solar panel
Recent technological developments in thin-film photovoltaics, such as amorphous sili-
con [1] and hybrid dye sensitized/photovoltaic (PV) cells [2], are leading to new gen-
1
erations of consumer portable solar arrays. These new arrays are lightweight, durable,
flexible, and have been reported to achieve power efficiencies of up to 10%. Already,
commercial-off-the-shelf arrays exist that have panels embedded in fabric that can be
folded to dimensions of less than 12” x 12,” yet are able to produce up to 50 Watts of
power at 12V (see Fig. 1.1). These new products make solar power available to hikers,
campers, soldiers-on-the-move, etc., since the arrays can now be easily carried in back-
packs. Thus, the marketplace for portable solar power is beginning to broaden beyond
its conventional (original) boating and recreational vehicle (RV) market.
Older solar battery chargers (for RV’s and boats) were primarily developed to recharge
gel cell and lead acid batteries [3–5]. However, since the emergence of these flexible and
foldable solar arrays, there has become a need to develop solar battery chargers for more
portable batteries, such as NiMH and/or Li-ion batteries that can be carried by hikers.
However, charging these types of batteries with solar power leads to new research chal-
lenges that have yet to be discussed in the literature, such as: Is it possible to fast charge
batteries with solar arrays in unknown outdoor environmental conditions? How should
ambient temperature swings, changing illumination conditions, and other environmental
changes be incorporated into charge control algorithms? Should Maximum Power Point
Tracking (M.P.P.T.) be used? What are the best battery charger system architectures for
these portable solar arrays? etc. The purpose of this research is to answer these and
other open challenge for the portable solar powered applications.
2
Figure 1.2: Missions bring advanced scouts and special ops far from their recharg-
ing sites
The original motivation of this research is derived from the current use of both Li-ion
and NiMH rechargeable batteries by the U.S. military to power their portable electronic
equipment.The use of flexible solar panels in the field permits them to recharge batteries
on the go. Rechargeable batteries are increasingly used by the military due to their many
benefits: (1) It is expected that using rechargeable instead of non rechargeable batteries
will save the U.S. Army $70M annually [6]. (2) Portable solar panels (about 0.5kg
depending on the model) can reduce the number of batteries that the soldier needs to
carry (1.75 kg per BB390 battery), and sometimes PV panels become the only available
source of power when the soldiers find themselves isolated from their T.O.C. (Tactical
Operation Center, an advanced command post which include generators to recharge the
batteries) [7] as shown in Fig. 1.2.
3
Over recent years, the U.S. Army has field tested solar charging of its batteries with
portable solar arrays. To do so, they have decided to directly connect the solar arrays
to NiMH batteries. However, the only self-protection mechanism in the batteries is a
fuse (when the battery gets really hot, a solid state fuse is triggered). The reason for not
using a charge controller between the battery and solar array is that every known charge
control algorithm that was field tested has failed (especially in the case of NiMH batter-
ies): they usually falsely detect overcharge and leave the battery only partially charged.
However, as discussed in this research, without a proper charge control algorithm, the
batteries are usually left hooked to the solar panels by the soldiers who leave to perform
other duties, including going on a mission. The absence of any charge control results in
constant overcharge of the batteries and leads to reduced capacity and regular failure of
the batteries [8]. If the batteries are not correctly charged when the soldier returns, the
usefulness of the whole system (battery, PV array and electronic device) is reduced and
the soldiers safety and ability to operate could be endangered.
• A first objective of this thesis is to identify reasons for the failures of existing
charge control algorithms that utilize existing technologies. This is done in chapter
3. We created a test bench to test batteries currently used in the U.S. Army and
we analyze the effect of changing weather on the existing algorithms.
• The next goal of the thesis is to create new charge control algorithms that will
overcome the issue of false detection described in chapter 3 while protecting the
battery from repetitive overcharges. This is shown in chapter 4. We present a
new differential temperature charge control algorithm and a new voltage based
4
algorithm for NiMH batteries. We also address one issue that exist with charging
Li-ion from solar panels.
• Additionally, ways to increase the charging speed are critical in this application
as well as in most of other applications since portable solar panel generally have
low power production per square meter. So, this research also develops ways to
optimize solar panels’ output power while charging the batteries. These results
are discussed in Chapters 5 and 7.
• In Chapter 6 the algorithms derived in Chapter 4 and Chapter 5 are applied to a
commercial grade prototype solar battery charger in chapter 6. The circuit controls
the charge of different batteries used in the field by soldiers (the BB390 NiMH
battery and the BB2590 Li-ion battery). Optimization of the power delivered by
the solar panel is achieved through Maximum Power Point Tracking, a technique
that will be explained in detail in the following chapters. The prototype has been
delivered to the U.S. Army for field evaluation.
• New algorithms are presented in Chapter 7 that improve the power production in a
system of multiple solar panels with varying technologies and electrical character-
istics (operating voltage, output power, etc...). Because so many different types of
solar panels are available on the market, there is a need for systems that can trans-
fer power to a load from several solar panels manufactured by different companies
and having varying characteristics. The algorithms are presented along with an
architecture that improve cost and board space in small portable systems.
• Finally Conclusion is given in Chapter 8
5
Chapter 2
Introduction
In this chapter, we will review the existing technology in battery and battery manage-
ment as well as photovoltaic technologies for the application of portable electronics.
Our goal is to present the technology that has been used throughout our work and which
constitute the starting point of our research.
The chapter is organized as follows:
• The first section presents a review of rechargeable batteries for portable applica-
tions as well as the existing charge control methods associated with each of the
technology.
• Photovoltaic cells and their electrical models are presented.
• Maximum Power Point Tracking concept is introduced and different implementa-
tions of the principle are explained.
6
2.1 Characteristics of Modern Rechargeable Batteries
Historically, the first and nowadays most predominant rechargeable battery is the Lead
Acid battery. Its poor energy density is countered by its low cost in widespread appli-
cations, in particular inside automobiles. Additionally, the Lead Acid battery is able to
deliver very high current surge to the load, thanks to its low internal resistance.
In the area of portable applications, however, the weight of such a battery renders
it almost useless. With the increased need for high power applications, other battery
technologies have matured and are being used.
Nickel based batteries have been developed since the early 20th century in the form
of the Nickel Cadmium cell. Ni-Cd cells offer an increased energy density compared
to Lead Acid batteries and are compatible with portable application, although far from
being the best existing technology in terms of energy storage.
In the late 80’s and early 90’s, a modification to the Ni-Cd battery was made by re-
placing the cadmium electrode with a hydrogen-absorbing alloy, thereby improving the
battery’s energy density along with reducing its impact on the environment. The Nickel
Metal Hydride batteries (NiMH) have progressively replaced NiCd cells for portable ap-
plications in the last decade [9]. (NiCd batteries are still used as their manufacturing cost
is lower. They have a lower internal resistance, giving them some advantage to power
high current applications such as power tools.)
In the 90’s, the Li-ion battery was developed [9]. Li-ion batteries offer an increased
energy density over NiMH batteries and reduce the weight and size needed to provide the
same energy [10]. Li-ion batteries have replaced NiMH batteries in most ultra portable
7
applications such as cameras, PDAs and laptops, even though Li-ion battery have an
increased risk of explosion when overcharged or heated to high temperatures. The stan-
dard voltage for a Li-ion cell is around 3.6V [10].
Li-ion batteries are usually preferred in embedded systems because of their high
energy density [11], while NiMH batteries are common in applications where the battery
is often physically manipulated and replaced. This is due mainly to the compatibility
of Ni based batteries with alkaline non rechargeable batteries (The cells’ voltages are
close: 1.2V for NiMH and 1.5V for alkaline.), lower manufacturing cost, and increased
safety as mishandling NiMH or NiCd battery leads to less damaging effect than Li-ion
batteries.
Additionaly, the cost of a NiMH battery is lower than the Li-ion cell, and its rugged-
ness is another advantage that keep NiMH battery an important battery technology. Fi-
nally, as research continues for each technology, Ni based cells may even eventually
outperform Li cells in the future [12].
Other technologies are currently under development such as the Zinc-Air battery [13]
but they have not matured yet.
As our research is focusing on small portable applications, we will only research
charge control methods for NiMH and Li-ion technology.
The following section will detail the existing charge control methods for both NiMH
and Li-ion batteries. Different algorithms exist to detect when the battery reaches full
State Of Charge (SOC). In general, they can be classified into two different categories:
• Algorithms relying on models and records of the battery history and characteristics
[5, 14].
8
• Algorithms requiring no prior knowledge of the battery state, utilizing no or only
some general characteristics of the battery, such as number of cells or current
capabilities. State Of Charge (SOC) detections are usually based on one or more of
the following: battery voltage, charging current, cell temperature and derivatives
of these parameters [4, 5, 15–17].
The first type of algorithms are suitable when the charge controller is monitoring the
same battery all the time or when the battery is ”smart,” that is when a circuit recording
capacity, state of charge and other internal characteristics is embedded inside the battery
pack and capable of exchanging data with the charge control circuit. Models describing
the behavior of the battery have been proposed. They rely on the known chemical and
environmental parameters of the battery to estimate the state of charge. Most of the
time, a simple knowledge of the maximum charge storage capacity of the battery can
be used and compared against the value of a Coulomb counter to estimate when the
battery reaches full charge. However, the need to know the initial charge in the battery
connected to the charging circuitry prevents the use of that method in swappable battery
chargers.
In our research we are interested in algorithms that do not require any information of
the history or state of charge of the battery, as we are interested in solar charging systems
that can charge multiple, swappable batteries that do not hold information about their
charge.
9
2.1.1 Existing NiMH Charge Control Methods
The charge transfer equation of a NiMH cell is given from [18] by:
Positive electrode:
Ni(OH)2 + OH− NiOOH + H2O + e− (2.1)
Negative electrode:
N + H2O + e− MH + OH− (2.2)
where e− is a negative charge (electron). M is an intermetallic compound usually formed
with a mixture of a metal and rare earth.
10
Figure 2.1: Typical charging curve for a NiMH cell under constant charging current.
Top: voltage. Bottom: temperature
Fig. 2.1 shows the typical charge characteristic of NiMH batteries under constant
charging current at room temperature.
Common approaches to determining when NiMH batteries (charged by constant cur-
rent source) are fully charged rely on measuring battery terminal voltage [19]. Occa-
sionally, the charge process is terminated when the battery’s voltage reaches a certain
value [20]. However, this is extremely unreliable and does not work when the battery is
charged by different current levels or when it is placed in different ambient temperatures
as the terminal voltage can be influenced widely by these conditions. Hence, it is not
11
suitable for discussion here.
A second approach, which is more prevalent, is to stop the fast-charging process a bit
after the full SOC point when the battery terminal voltage begins to drop, i.e. dVdt ≤ K,
where K is a positive fixed threshold value set by the user (around 10mV to 20mV per
cell). This is commonly implemented by specifying a ∆V drop in voltage as a threshold
instead of calculating a derivative directly. This is illustrated on the voltage plot in
Fig. 2.1. However, once again, implicit in this approach is that the charging current
remains constant during the charging process. This charging method is also valid for
NiCd batteries.
After full State Of Charge (SOC) is detected, the common method is to keep the
battery charging at low current (around 0.1C Amps where C is the capacity of the battery
in Amp-hours). This ensures the battery is charged to its fullest and avoids self discharge
of the battery. That method is called trickle charge. When charge time is not an issue,
trickle charging can be used for the whole process.
There are other charging algorithms that have been published: In [16,21], overcharge
is avoided by estimating the time derivative of the voltage. This approach may be more
accurate, as it estimates the moment when the battery is about to enter overcharge. How-
ever, it will also subject to the same limitations as conventional algorithms when facing
changing current conditions.
Another technique to detect full state of charge relies on the battery impedance
changes with charging. However, in the case of NiMH chemistry, those changes are
very small and require some precise model of the battery characteristics (usually involv-
ing battery history) [22].
12
As Fig. 2.1 illustrates, when the battery approaches full SOC, temperature begins to
rise sharply. This is true for either NiMH or NiCd batteries. Thus, another approach to
determine full SOC is to place a thermistor close to battery cells. This enables detection
of charge termination when dT/dt is above a threshold value. Two temperature detection
methods are mainly used:
• Charge is halted when the battery temperature rises over a threshold ( [15]).
• Charge is halted when the slope of the temperature curve rises above a threshold
value ( [15], [19]).
Temperature based detection using the slope of the temperature curve is considered more
accurate than voltage based detection because the detection usually happens at full SOC.
As Fig. 2.1 shows,the typical voltage methods need to let the cell overcharge for a certain
time until the voltage drop is detected. With the temperature slope method, the full SOC
detection happens closer to the optimal point.
2.1.2 Existing Li-ion Charge Control Methods
The charge transfer equation of a Li-ion cell is given by:
Li1−X MO2 + LiXCcharge
dischargeLi1−X+dX MO2 + LiX−dXC (2.3)
In this battery, the Lithium ions diffuse from the anode to the cathode when discharging
and back when charging [18].
13
50 100 150 200 250 300 350 400 450
50
100
150
200
250
Figure 2.2: Typical charging curve for a Li-ion cell
The usual method to charge a Li-ion battery is to keep it charging at constant current
until a threshold voltage is reached (4.2V for Li-ion cells [23]). Current is then limited
to keep the voltage of the battery constant. Charge is terminated when the current has
dropped to a low level usually 0.1C [23] where C is the rated charging current(see Fig.
2.2). Although the threshold voltage changes slightly with the technology of the Li-ion
battery used (usually between 4.1V and 4.2V), the procedure is the same for any Li
based type [24].
If the threshold voltage is exceeded for more than a short time, the temperature of
the cell will rise very quickly and the battery will violently explode.
Models for the battery exist [22, 25] but they are not used for charge termination
alone due to their insufficient accuracy.
14
2.2 Portable Photovoltaic Generation
2.2.1 Principle and Technologies
The photovoltaic cell is typically a PN junction designed to enhance the creation of
electron-hole pairs due to sunlight. The first usable solar cell was invented in 1959 with
a 6% efficiency [26]. Since then progress has been made in the process of making solar
cells. Different semiconductors can be used although silicon is the most common due
to its low cost and high efficiency in capturing a large amount of the sun’s spectrum
(relatively low bandgap). Efficiencies are now reported to be higher than 40% [27].
The most common types of solar panel use a single crystal semiconductor material,
often associated with a glass substrate. This method yields the highest light conversion
efficiency.
Another type of existing construction is the Polycrystalline Solar Cell where the ma-
terial is composed of several crystals with random orientations. Finally the Amorphous
Silicon Cell is a possible construction where the atoms have a random orientation. Those
types of material are cheaper to manufacture because of the less stringent requirements
on the material but are also less efficient at converting light into electricity [28].
However, a great benefit of amorphous silicon is the ability to use these material
together with a metallic or plastic substrate to create thin film solar cells [29]. The
advantage of such solar cell is multiple:
First, cost is further reduced because thin film cells require much less semiconductor
material per square meter and also because the process can be performed on a roll instead
as on a wafer as it is the case for crystalline cells (simpler manufacturing process).
15
Figure 2.3: An amourphous sillicon photovoltaic cell from Powerfilm Inc.
The resulting material is lighter than crystalline cells and is flexible (see Fig. 2.3),
allowing new types of solar cells to be manufactured and new applications for those cells
are unlocked. This has a great impact in portable electric and electronic applications as
we will show in the next section.
2.2.2 Electrical Model
The following model is commonly employed to characterize the behavior of a photo-
voltaic cell, illustrated also in Fig. 2.4:
16
Figure 2.4: Simple electrical model of a photovoltaic cell.
The output current of the cell is given by:
I = IPV − I0
[e
qVnkT − 1
](2.4)
IPV is the light induced current.
I0 is the reverse saturation current of the diode.
q is the charge of an electron.
V is the voltage at the terminal of the cell.
k is the Boltzmann constant.
n is the ideality constant (usualy close to 1).
T is the temperature of the junction.
For a string of cells connected in series forming a photovoltaic panel the equation
17
becomes [30]:
I = IPV − I0
[e
qVNnkT − 1
](2.5)
where N is the number of cells connected in series.
If the series resistance RS is taken into account in the model, the equation for the cell
becomes [31]:
I = IPV − I0
[e
q(V+IRS )NnkT − 1
](2.6)
0 2 4 6 8 10 12 140
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5
Voltage (V)
Cur
rent
(A
)
Figure 2.5: Typical characteristic of a solar panel.
18
0 2 4 6 8 10 12 140
5
10
15
20
25
30
35
40
Voltage (V)
Pow
er (
W)
Figure 2.6: Typical power characteristic of a solar panel.
The I/V curves of a typical solar panel under different light intensity is shown in Fig.
2.5. For a given light intensity, the solar panel can be considered a current source for
voltages ranging between 0V (solar panel in short circuit) and a voltage that depends on
the solar panel technology and construction. The solar panel can be considered a voltage
source when it is operating close to the open voltage point. When operating close to the
knee of the curve, the solar panel will be approaching its Maximum Operating Point.
This can be seen on the corresponding Power vs. Voltage curve of the solar panel (see
Fig, 2.6).
19
2.2.3 Maximum Power Point Tracking
Maximum Power Point Tracking (MPPT) is a method used to harness the maximum
power from a solar panel. The method is based on the Power versus Voltage charac-
teristic of a solar panel shown in Fig. 2.6. The point on the curve where the power is
maximized is called the Maximum Power Point (MPP) of the solar panel. By inserting
a DC/DC converter between the solar panel and the load, the voltage of the solar panel
can be controlled to be VMPP and thus deliver maximum power to the load.
Another advantage of this technique is that, if an up/down converter is used for the
maximum power point tracker, power can then be delivered to loads with higher or lower
voltage than the solar panel, enabling new applications for the same solar panel. There
are various ways of achieving Maximum Power Point Tracking which will be described
in the following paragraphs.
Open Voltage and Short Circuit methods One of the common way to achieve Maxi-
mum Power Point Tracking relies on the panel’s open circuit voltage and is based on the
fact that the voltage at which the solar panel operates at its maximum power is a rela-
tively constant fraction of the open circuit voltage [32–34] for a given solar panel. There-
fore, Maximum Power Point Tracking can be achieved by controlling the panel’s voltage
after sensing the panel’s open circuit voltage. However, the MPP of the panel changes
with light intensity and temperature [35]. Open circuit voltage can be re-sampled at
given times to accommodate the changes. This method reacts slowly to change in the
light intensity. Additionally, the fraction of the open circuit voltage at which the solar
panel operates at MPP varies with the technology of the solar panel used. Therefore, if
20
the technology of the solar panel is not known (which is the case in a charging module
that is independent of the solar panel) the method could be greatly inaccurate. Similarly,
short circuit current measurement of the solar panel also provides information on the
location of the Maximum Power Point [33, 36, 37]. This method is subject to the same
remarks and limitation as the open circuit voltage method.
Some installations use an additional photovoltaic cell that does not supply power to
the load. The only goal of this cell is to monitor the light intensity (through open voltage
or short circuit). This way, the MPPT algorithm does not need to interrupt the flow of
energy to the load from the main solar panel when open voltage or short circuit current is
sensed [37]. However, shading of the sensing cell while the main panel receive full light
(or vice versa) will greatly affect the efficiency of the system. The addition of an extra
cell for sensing along with extra leads for connection to a MPPT circuit is expensive and
not adapted for portable applications.
Scan of the I/V characteristic In order to ensure that the solar panel will operate at its
Maximum Power Point, the system can control the DC/DC converter to operate a scan of
all possible input voltages for the converter. At the end of the scan, the voltage at which
the output power is maximized is kept as the new input voltage reference for the DC/DC
converter [38]. This method has the advantage on the previous ones that it is not de-
pendent on the solar panel technology or system configuration while its implementation
remains simple. Furthermore, this method is not affected by partial shading of the panel
that can cause local maximas in the power characteristic of the solar panel [39–41]: the
system will always operate at the global maximum power point of the solar panel. As
21
with the open circuit voltage and short circuit current, power flow will be interrupted
during the scan (when the system can operate far from the MPP). Also, if the insolation
changes between two scans, the Maximum Power Point might move, reducing the effi-
ciency of the system until the next scan occurs and the input voltage reference adjusts
to the new position of the Maximum Power Point. Therefore, this method also reacts
slowly to changes in the light intensity.
Perturb and Observe method A dynamic method that seeks the Maximum Power
Point of the solar panel and keep the panel operating around it is called the Perturb and
Observe algorithm. MPPT is often realized using a Perturb & Observe (P&O) algorithm
[3, 41–44], which is a well known and efficient way to track the maximum power point
of the solar panel.
22
Figure 2.7: The Perturb & Observe algorithm.
Perturb & Observe algorithms work by modifying the solar panel’s output voltage
and observing the result on the output power. If the power is increased due to the per-
turbation, then the algorithm keeps perturbing the voltage in the same direction until the
power begins to decrease. If the power decreases due to the perturbation, the algorithm
reverses the direction of the perturbation. The algorithm is shown in Fig. 2.7. Assuming
a PWM control of the switches, D(n) is the duty cycle of the DC/DC converter at the
sample n. α(n) is the direction of the perturbation at the sample n. Its value is either +1
or -1. PPV(n) is the output power of the solar panel at the sample n.
23
Figure 2.8: The Perturb & Observe algorithm.
A more literal definition of the algorithm is shown in Fig. 2.8. This is the same
algorithm as described in the previous figure.
Figure 2.9: The Perturb & Observe algorithm convergence.
24
When this algorithm is applied, the solar panel will be progressively moved to its
Maximum Power Point and will oscillate around it as shown in Fig. 2.9.
The advantage of the Perturb & Observe method is that the system is able to dy-
namically track the maximum power point of the solar array independent of the specific
solar panel technology or cell configurations. This is a major benefit over the Open
Circuit Voltage method. Additionally, the system adapts to the change in the maximum
power point location in real time unlike the methods described previously (including the
Scanning algorithm).
Generally, the input voltage is a monotonic function of the duty cycle. Hence, the
Perturb & Observe method can be applied using the input voltage reference in the DC-
DC converter internal feedback voltage loop as the perturbation factor [30] or directly
the duty cycle of the DC-DC converter [3,42–45]. The literature mentions both methods.
Normally, the Perturb and Observe method is applied using voltage and current mea-
surements from the solar panel. Power is then calculated from these measurements and
used in the algorithm. It has been shown in [45,46] that the Perturb and Observe method
can often be applied using only the output current measurement when the output voltage
is relatively constant, i.e. a battery type load. This is because the output power is a
function of the current and is equal to the input power if the losses in the converter are
neglected:
POUT = EoIOUT + RLI2OUT (2.7)
25
where the load is modeled as a voltage source Eo in series with a resistor RL. [47, 48].
Figure 2.10: The Incremental Conductance algorithm.
Incremental Conductance The Incremental Conductance algorithm shown in Fig.
2.10 is another dynamic method of tracking the MPP [30] and relies on the fact that,
at the Maximum Power Point, dIdV = − I
V (where I and V are the PV array’s current and
voltage). The method is dynamic as the Perturb & Observe method. It is claimed to pos-
sess a better Maximum Power Point tracking ability [30]. This is because the Perturb &
Observe method keeps oscillating around the Maximum Power Point of the solar panel
while the Incremental Conductance method reaches it and stabilizes at that point. How-
ever, stabilization is greatly dependent on the current sensing and duty cycle resolutions
26
of system. Additionally, small changes in light intensity can move the system slightly
away from the Maximum Power Point. The consequence will be that the algorithm still
tracks the Maximum Power Point of the solar panel but that small oscillation can still
exist.
Ripple Correlation Riple Correlation Control takes advantage of the existing ripple in
the currents and voltages that exist when the solar panel is connected to a high frequency
DC/DC converter. Using different techniques such as phase comparison, the controller
can detect on which part of the solar panel’s characteristic it is operating. The controller
can then adjust the operation of the converter’s switch(es) (for example by changing the
duty cycle in a converter operated in PWM) in order to approach the Maximum Power
Point.This technique is used in [49–51]. The advantage of his method is it’s fast speed
and precision [52]. However its implementation depends highly on the topology of the
converter used.
Finally, there exist some other methods of finding the maximum power point. Fuzzy
logic [53] and Neural Network approaches [54] try to improve the dynamic of the Max-
imum Power Point Tracking. However, these implementations are still based on the
algorithm that been presented above (open voltage algorithm, Perturn & Observe algo-
rithm etc...)
27
2.3 Conclusion
We have seen in this chapter how modern rechargeable batteries can provide energy to
lightweight applications in various environment. Theses batteries have different charg-
ing characteristics due to their different chemistry and implementation (package design,
number of connected cells etc...). There are well known charge control algorithms that
allow these batteries being charged efficiently and without overcharging them. These
charge control techniques have been used successfully in many applications. However,
in the following chapter, we will present our research that demonstrates failures of these
charge control algorithms when used in conjunction with solar panels as the input energy
source. In parallel, this chapter describes the behavior of the photovoltaic cell which we
will use throughout this research. The existence of a Maximum Power Point on the I/V
curve of the solar panel is an opportunity to improve the power output of the solar panel
using a power converter with specific control algorithm described as Maximum Power
Point Tracking algorithms. We will show in Chapters 5 and 7 some ways to improve the
behavior and implementation of these algorithms when used for solar battery chargers.
28
Chapter 3
Causes of Failure in Charge Control
Algorithms
In the previous chapter we presented the Li-ion and NiMH battery as the modern en-
ergy sources used to power mobile applications. We have shown that there exist efficient
charge control algorithms for these batteries that allow safe and efficient charge. How-
ever, these algorithms assume a set of conditions, such as constant charging current and
constant ambient temperature, that cannot be true when the battery is charged from solar
panels and left in the open field during the charging process. In this chapter, we will
analyze the reasons of failure of these algorithms and hint at some possible answers to
the problem.
In particular, we will show:
• Failure in voltage based detection method for Ni-MH batteries.
• Failure in temperature based detection methods for Ni-MH batteries.
29
• Possible failure in some Li-ion charge termination algorithms.
Figure 3.1: A view of an open BB390 NiMH battery
As the research focused specifically on military batteries, we used the BB390 NiMH
(see Fig. 3.1) and BB2590 Li-ion battery. These batteries consist of two independent
legs [55](12V for NiMH and 14V for Li-ion), allowing voltages sources from 12V to
28V to be created when the legs are put in series or in parallel. The BB390 includes two
internal thermistors that allow cell temperature to be sensed (one for each leg).
30
Figure 3.2: Experimental setup for the analysis of the battery behavior during
charge.
In order to analyze the causes of failure of the charge control algorithms, we set up
a test bench that allows us to test the algorithms indoor in the lab and with the test stand
outside. The system is shown in Fig. 3.2. It is centered around a microcontroller that
records the current and voltage of each leg through additional circuitry. In addition, the
cells’ temperature is measured using the thermistors embedded in the battery pack.
Two switches allow various algorithms to be programmed on the microcontroller and
tested and allow each leg to be charged independently.
Serial communication with a computer allows the data from the experiments to be
saved to a text file on a computer through a Java program and analyzed using Matlab.
Additionally, we have designed a programmable current source using the microcon-
31
troller and power transistor. Current measurements are stored in an ASCII file and read
by a program on the computer. The program (written in Java) feeds the updated current
reference to the microcontroller. That way, the current pattern recorded using a solar
panel can be reproduced in the lab.
Using the above setup, we have been able to test the algorithms and identify the
reasons of failure of existing charge control algorithms.
Figure 3.3: Outdoor experimental setup.
In Fig. 3.3, a 30 Watt P3-30 portable solar array (from ”Global Solar”) [1] is directly
connected to a 12V, 6A-Hr NiMH battery, Brentronics’ BB-390 [29] currently used by
the US Army.
Common approaches to determining when NiMH batteries (charged by constant cur-
rent source) are fully charged rely on measuring battery terminal voltage [28]. Occasion-
32
ally, the charge process is terminated when the battery’s voltage reaches a certain value.
However, this is extremely unreliable and does not work when the battery is charged by
different current levels or when it is placed in different ambient temperatures. Hence, it
is not suitable for discussion here.
A second approach, which is more prevalent, is to stop the fast-charging process (a
bit after the full SOC point) when battery terminal voltage begins to drop, i.e. dV/dt <
−K, where K is a positive fixed threshold value set by the user. This is commonly im-
plemented by specifying a ∆V drop in voltage as a threshold instead of calculating a
derivative directly (around 10 to 20mV per cell [19]). However, once again, implicit
in this approach is that the charging current remains constant during the charging pro-
cess. This charging method is also valid for NiCd batteries, but typically with a higher
threshold voltage K.
33
3.1 Failure in Voltage Based Charge Detection Methods
Figure 3.4: Variation of the terminal voltage of the battery with varying charging
current.
Fig. 3.4 presents outdoor experimental data that helps explain why negative dV/dt (or
−∆V) detection cannot be directly used to determine end-of-charge time when the power
source is a solar array.
Notice that when clouds pass across the sun, the solar array’s charging current de-
creases. This lowers the battery terminal voltage, due to the battery’s internal resis-
tance/impedance [56]. Due to the battery’s internal capacitance, the voltage continues
to drop slowly until the charging process balances and the voltage starts to rise again.
These drops are not negligible and are usually higher than the voltage drops due to over-
34
charge. Moreover, they arise from weather changes and are, therefore, unpredictable.
So, a charger using conventional voltage detection algorithms will falsely detect over-
charge and stop the charge too early.
Other charging algorithms have been published [16, 21] and are also subject to the
same limitations as conventional algorithms when facing changing illumination condi-
tions. Another technique to detect full state of charge relies on the battery impedance
changes with charging. However, in the case of NiMH chemistry, those changes are very
small and require some precise model of the battery characteristics (usually involving
battery history) [57].
3.2 Failure in Temperature Based Charge Detection Meth-
ods
As explained in Chapter 2, an efficient way to charge NiMH batteries is to use constant
current until the temperature’s rate of increase becomes large which is a sign of over-
charge. However, as with voltage based detection, some challenges exist [15] when the
battery is exposed to changing weather conditions:
35
Figure 3.5: Evolution of the temperature around the point of overcharge for different
charging current.
36
Figure 3.6: Experiment at room temperature showing that the cells’ temperature
changes slowly compared to sags in the charging current.
• The change of temperature in the battery at overcharge (∆T ) differs depending on
ambient temperature. Since the temperature can change greatly throughout the
day, comparing current battery temperature to its value at the beginning of the
charging process loses meaning.
• Ambient temperature swings can occur during the day due to the sunlight, and
change in air and ground temperature. These changes can cause fast increases and
decreases in battery temperature and also fool time derivative based algorithms.
• Fig. 3.5 shows that the rise in temperature due to overcharging is dependent on the
average charging currents. Therefore, the threshold on dT/dt required for accurate
37
detection changes with the average charging current. The maximum threshold
that can be used with a relatively low charging current will exceed the normal rise
of the cells’ temperature that takes place when the battery is charging normally.
However, experiments show that the sudden changes in current do not necessarily
affect the temperature of the battery as shown in Fig. 3.6. This indicates that it
should be possible to design an algorithm based on temperature that is robust to
sudden change in the charging current.
Furthermore, in traditional charging environments, the current is controlled to a de-
sired value and the thresholds are calculated for this specific value. However, when
charged from a PV source, the current can vary during charging. Therefore thresholds
valid for a high charging current will not trigger detection with a lower charging current
while increase in temperature can be falsely detected a overcharge when the battery is
charged with high current because of the natural increase in temperature that takes place
during the normal charging phase of the NiMH battery (that effect is more important
with higher currents).
In summary, sudden changes in the current do not translate in sudden change in the
temperature of the battery. However, the increase in temperature throughout the charging
process will depend on the average charging current.
Since existing charge control algorithms and IC’s are developed for constant ambient
room temperature and constant preset charging current, they are not reliable and often
fail when ambient temperatures vary, as in the case here.
38
3.3 Failure in Li-ion Charge Control Algorithms
As explained in the earlier chapter, the charge control system used for Li-ion battery
require charging the battery at constant current until a threshold voltage is reached and
keep the battery voltage at that given threshold (by decreasing the current). Charge is
to be terminated when the current reaches a low threshold. As with NiMH batteries, a
sag in the current will also induce drops in voltage because of the internal impedance of
the battery. The strict formulation of the Li-ion algorithm can lead to a problem if the
charging current drops below the termination threshold due to a low light level on the
solar panel. A confusion at this point could result in a false detection of the Full State
Of Charge condition.
39
20 40 60 80 100 120 140 160 180 20012
14
16
18
20
Bat
tery
Vol
tage
(V
)
20 40 60 80 100 120 140 160 180 2000
0.5
1
1.5
2
Cha
rgin
g C
urre
nt (
A)
20 40 60 80 100 120 140 160 180 2000
0.5
1
1.5
2
time (min)
Ter
min
atio
n F
lag
Figure 3.7: Li-ion battery charging from a sagging current source (Top: voltage,
Middle: current) and charge termination indicator using Liion charge
control algorithm programmed in Matlab (Bottom).
This shown in Fig. 3.7. In this experiment, the battery is hooked up to a control
circuitry and a power supply. The battery is subject to charge at constant current by the
power supply and sags in the current are added as perturbation to simulate the effect of a
cloud on a the output of a solar panel. When the battery’s voltage reaches the threshold
of 16.4V, the system enters a constant voltage mode at t=80 min and current is shown
to gradually decrease after that point as the controller tries to keep the battery voltage
constant. A sag in the current occurs between t=118 min and t=126min. The charge is
cut at t=200 min when the battery is fully charged the specification of the battery. Data
is recorded and analyzed in Matlab. An algorithm is programmed to output a ` charge
40
termination´ signal when the current drops below the programmed threshold, after the
battery entered the constant voltage mode. As seen on the plot, the signal is sent during
a current sag, before the correct moment. The desired termination point is at t=200min.
This shows that a Li-ion charger can be fooled when used with a solar panel as the
power source. In the following chapter, we will propose a proper algorithm formulation
to overcome those issues.
3.4 Conclusion
In this chapter, we identified the reasons of failure of the existing algorithms through
various experiments. We have experimentally shown that voltage algorithm for NiMH
batteries fail because of the large variations of charging current due to moving shad-
ows and passing clouds that cause variations in the battery voltage. These variations are
relatively large compared to the evolution of the voltage when constant current is used.
Therefore the information on overcharge of the battery is lost. Similarly, temperature
swings due to weather effects can greatly affect the detection of overcharge based on
temperature methods. Li-ion battery charge control algorithms have also shown possi-
bilities of failure in the presence of a varying charging current. The need for a robust
charge control algorithms immune to the issues identified in this chapter shows that more
research is needed in that field. In the following chapter we will propose new algorithms
that will eliminate or strongly reduce the failure in overcharge detection in the batteries.
41
Chapter 4
Proposed Charge Control Algorithms
This chapter presents new, robust and reliable charge control algorithms that are suitable
for charging NiMH batteries and Li-ion batteries with portable solar arrays. These algo-
rithms can easily be adapted into existing battery charger IC’s. For the NiMH battery,
one proposed algorithm relies on the battery voltage while a second algorithm relies on
the derivative of temperature. Unique to both algorithms is that they include specialized
reset mechanisms to eliminate false charge termination due to changing illumination
conditions, ambient temperature swings or other environmental changes. Either of these
two algorithms can be used separately, but they may also be combined to improve the
system robustness. The Li-ion proposed algorithm solves the loophole that was identi-
fied in the previous chapter and does not fail with large sags in the charging current.
These algorithm have demonstrated a higher robustness to changing conditions and
will allow controlled fast charge of batteries on the field with solar panels.
The chapter is organized as follows:
42
• Formulation and analysis of the proposed temperature algorithm for NiMH bat-
teries is presented. This algorithm is able to recognize between different reasons
causing change in the battery’s temperature and do not falsely detect overcharge,
as is the case with the conventional charge control temperature algorithms for
NiMH batteries.
• Description of the proposed voltage based algorithm for NiMH batteries is pre-
sented. This algorithm detects the sudden changes in the charging current to avoid
a false detection of the full SOC condition as described in the previous chapter.
• Description of the Li-ion algorithm compatible with solar charging is presented.
The formulation of the algorithm ensures that the charge controller will not incor-
rectly stop the charge when a low current charging is sensed because of clouds or
other external conditions.
4.1 New Temperature Based Algorithm for NiMH Bat-
teries
To improve the robustness of the charge control algorithm in changing environments,
we propose a new charge control algorithm that utilizes differential measurement of
temperature between battery cells.
This involves separating the batteries into two (or more) groups, which we call `legs´,
as they are charging inside the cradle or battery pack.
43
Figure 4.1: Evolution of the temperature inside the battery pack (two solid lines)
and on the surface of the pack (dashed line) when heated by an external
source of radiation (a halogen light).
The method, illustrated in principle in Fig. 4.2, relies on the fact that changes in
ambient conditions affect both legs the same (Fig. 4.1). Fig. 4.2(a) shows the classical
charging configuration with the problems described in the previous chapter: the rise in
temperature cannot be properly identified by the system as either overcharge or change
in external conditions because there is no data to differentiate the two situations. In
Fig. 4.2(b) and 4.2(c), the additional battery or leg brings another sensor that allow
better analysis of the situation: assuming only one of the leg is charged, and the source
of heat is illuminating both batteries the same way, an elevation of temperature at the
same rate in both legs (Fig. 4.2(b)) implies that the source of heat is external and due
44
to weather. On the contrary, if the temperature of the leg being charged rises sharply
while the temperature of the other leg stays roughly constant, then the source of heat
can be identified to be from inside the cells, and therefore due to overcharge. Thus, the
difference in temperature between the two legs stays close to zero unless one leg reaches
full SOC (Fig. 4.2c).
When that happens, both temperature difference and the derivative of temperature
difference between the two legs rise sharply. This way, full SOC can be detected in one
leg by calculating the derivative of temperature difference between the legs. Of course,
this assumes that the two legs are not reaching full SOC or overcharging precisely at
the same time. This can be ensured if one leg is open-circuited while the other leg is
charging. Our algorithm uses a pattern of charging compatible with these assumptions.
45
Figure 4.2: Proposed new method. In situation (a) and (b), overcharge cannot be
properly detected. Using a second cell as reference solves the problem.
The algorithm utilizes the temperature of the two legs to perform differential tem-
perature measurements rather than using the ambient temperature. This is because the
temperature measured by the ambient temperature thermistor has different thermal time
constant than the battery. Thus, it is easier to implement the algorithm by measuring
the temperature of two battery cells. (However, the principle could be extended to use
ambient temperature also.) This is illustrated and further explained in Fig. 4.1.
46
The assumption made is that both battery packs, or groups of cells, are subject to the
same external conditions. Because they share similar thermal constants, their tempera-
ture will be subject to the same swings unless one is overcharging. When that happens,
a strong differential in temperature will arise. A time derivative measurement of that
differential will restore the information about overcharge. In Fig. 4.2 only one battery is
being charged while the other serves as a reference. In practice, both batteries need to
be recharged. An algorithm utilizing this method should alternate the charging process
to achieve full SOC in both batteries in similar time.
Additionally, the amount of heat generated during the charging process depends on
the charging current. In the case of charging from a solar panel, the charging current
can vary a lot during the charging process (unlike in a standard charger). The charging
current depends also on the type of solar panel used. Fig. 3.5 illustrates the dependency
of the temperature curve with the charging current. Therefore, charge control algorithms
based on temperature need to take the sensed charging current into consideration in order
to apply the correct charge termination thresholds.
47
Figure 4.3: Proposed new method. In situation (a) and (b), overcharge cannot be
properly detected. Using a second cell as reference solves the problem.
The new differential temperature algorithm is shown in Fig. 4.3. The cells are sep-
arated into two groups (called Legs) and simultaneously charged either in parallel or
through an independent charging circuit. When a high positive temperature derivative is
detected in one of the groups (Leg 1 for example), the algorithm switches to ` potential
overcharge mode´ : The leg (Leg1) is kept charging while charging in the other leg
(Leg2) is stopped. The algorithm will run in this mode for a certain set time. Dur-
48
ing this time, if a large difference in the cells’ temperature arises (high d(T1−T2)dt and/or
high T1 − T2), then the algorithm will detect overcharge (of Leg 1 in our example). If
no overcharge has been detected after a certain time, the algorithm will switch back to
charging both legs. The unbalance that has occurred during this time can be absorbed
by either current monitoring, where the proportion of current flowing in one leg vs. the
other leg is controlled, or naturally, by having the legs in parallel (although high current
flowing from one leg to another might have to be limited). Thresholds are dependant on
the average charging current calculated over a sliding window of a few minutes and are
stored in a look-up table. The experimental section gives further explanation as to why
the algorithm is robust to ambient temperature changes.
Remark: If there is no external heating source, the algorithm behaves in the same
way as the standard dT/dt algorithm
Experimental Results:
49
Figure 4.4: (a) Voltage of the two legs, (b) Charging current in each leg, (c) tem-
perature of each leg, (d) Derivative of temperature at Leg1(calculated
over a sliding window of 5min), (e) Derivative of the difference of the
temperatures.
The charge control experiments were performed using a sealed 2x12V (two 12V
legs) BB390 NiMH battery consisting of 2 independent sections of 20 cells each (10 in
series, 2 in parallel) and built-in thermistors for each leg. A charger implementing the
algorithm of Fig. 4.3 was built around a PIC18F452 microcontroller. The algorithm is
programmed in the micro-controller and senses the cells’ temperature through the two
thermistors. The system is similar to the one in Fig. 3.2. Some experimental results are
shown in Fig. 4.4. This experiment has been carried out in the lab using a lab power
50
supply. We have chosen to put the legs in parallel when both are charging. During
the charge process, the battery is heated by a strong halogen lamp (for 20 minutes) to
simulate harsh external conditions. Referring to the experimental result in Fig. 4.4:
• The battery charging process starts at t=10min.
• At t=20min, a strong heat source (a halogen lamp) is aimed at the battery. Fig.
4.4(d) shows the derivative of temperature of Leg1 (only Leg1 shown for more
clarity).
• At t=22 min, this value reaches a threshold, the algorithm stops the charge in
Leg1, but keeps it in Leg2. (All the current is redirected to Leg2.) As can be seen
in Fig. 4.4 (e), the derivative of the difference in temperatures between the two
legs stays at very low levels during that time (t=22 to 37 min).
• At t=34 min, the source was turned off explaining the drop in the temperature of
both legs.
• At t=37min, 15 minutes after, the algorithm deduces that the elevation of temper-
ature was caused by external conditions and resumes charging both legs. During
that time no charge was lost since current kept flowing in the battery at the same
rate. A re-balance process is then occurring where the Leg1 (which was cut-off)
gets all the current from the source in addition to some current from Leg2.
• At t=105min a high rise in temperature is detected again, this time, stopping the
charge in Leg2. This rise is due to full SOC being reached on both legs.
51
With one leg cut off and another leg charging near full SOC, a strong differential arises in
the temperatures is seen in Fig. 4.4(c). This results in a large derivative of the tempera-
ture difference. The algorithm detected full SOC at t=118min. Note how detection based
on simple dT/dt measurement would have failed in this case. As Fig. 4.4 (d) shows, the
rate of elevation at t=25min (external heating) is comparable to that of t=118min (one
leg overcharging).
As explained above, the algorithm enters the ”potential overcharge mode” on Leg2
but does not identify any overcharge and resumes charging. At that time, it can be seen
that the legs naturally re-balance themselves. Leg1 receives all the current and progres-
sively shares it again with Leg2. Both legs reach full SOC at the same time. At that
moment, high temperature increase puts the algorithm again in ”potential overcharge
mode,” stopping momentarily the charge in Leg2. This time, overcharge will be de-
tected on Leg1 since d(T1-T2)/dt continues to sharply rise. By assigning trickle charge
to the two legs in parallel at the end of the process, the cells will naturally balance each
other. Additional balancing system could be designed [56], however they are not needed
here.
Some outdoor experiments are shown in Fig. 4.5, Fig. 4.6 and Fig. 4.7 showing how
the algorithm handles overcharge detection.
52
Figure 4.5: (a) Voltage of the two legs, (b) Current of two legs, (c) Temperature of
each leg (Charging from a constant current source). Potential over-
charge is detected at t=15min but is then considered as a false alarm
and charge continues until a second potential overcharge is correctly
identified as real slightly before t=100min.
53
Figure 4.6: Typical cloudy day outdoor experiment realized using a 30W solar panel
charging the battery pack. Despite changes in the charging current as
overcharge is correctly detected at t=166min.
54
Figure 4.7: Clouds at the beginning of the experiment. The data recording stops
when the battery has been identified as reaching full SOC
Both Fig. 4.6 and Fig. 4.7 show experiments performed with a 50W solar panel. Fig.
4.5 is also performed outdoor, but with a lab power supply providing constant current.
These experiments reinforce the conclusion drawn from the previous analysis that the
proposed temperature algorithm can successfully detect the point where NiMH batteries
enter the overcharge region. It can be seen in Fig. 4.5 and Fig. 4.7 that the system enters
the previously mentioned ` potential overcharge´ mode (where the controller cuts the
charge in one leg to perform a differential test). This is often the case when the battery
pack is brought from a colder shady place to a warmer environment: in both those
figures, the system enters potential overcharge towards the beginning of the experiment,
when the battery pack is brought from the lab to the roof of the building for charging.
55
Figure 4.6 shows a proper detection of overcharge despite the changing current due
to the passing clouds. This has been predicted in the previous chapter when it was noted
that the temperature elevation of the battery is not sensitive to short variations of the
charging current.
In Fig. 4.5, it can be seen that a differential arises between the temperature of the two
legs when the algorithm is in the ` potential overcharge´ mode, even when the legs are
not overchaging. This is due to the fact that the NiMH battery naturally heats up when
charged (the higher the charging current, the faster the increase in temperature). Because
only one leg is being charged during the ` potential overcharge´ mode, only that leg has a
temperature increase, therefore creating a difference in the temperature of the two legs.
However, this difference is small compared to the one arising during overcharge (The
leg in this example is being charged at almost the maximum safe current specified for
the battery.) However, this experiment shows that care must be taken when specifying
thresholds for the algorithm and the need to set varying thresholds, depending on the
average charging current for best results.
4.1.1 Charge Control Algorithm Robustness
As we discussed previously, the new temperature charge control algorithm has been
found to be more robust than the existing charge control algorithms to changes in ex-
ternal conditions. However, in some specific conditions, the new temperature algorithm
is also subject to failure. We first highlight the sensibility of the algorithm to partial
shading of the pack.
56
0 200 400 600 800 1000 1200 1400 1600 1800 200015
20
25
30
35
Time (s)
Tem
pera
ture
(C
elsi
us)
Figure 4.8: Temperature of the two legs in the battery pack with partial shading
added and removed.
In the experiment shown in Fig. 4.8, a radiating heat source (a halogen lamp) is
applied and a shade is partially placed in front of the battery pack, in effect masking
one of the leg of the battery from the light source. The shade is removed (at t=400s).
The shade is then placed again at t=850s. The heat source is turned off at t=920s. We
can see that the partial shading of the battery at t=0s creates a large difference in the
amount of heat absorbed by each leg of the battery, thereby creating a strong difference
in temperature and temperature rate of increase. In the same way, the placing of a shade
at t=850s shows that the reduced amount of heat absorbed by the shaded leg results in
a sudden decrease of the temperature of that leg while the non shaded leg keep its high
temperature due to the heating light source.
57
In summary, the resulting temperature changes show that the partial shading of the
pack has the potential to create wide disparity in the evolution of the temperature in each
leg and can therefore trigger overcharge detection in some cases with the new method
as well.
0 200 400 600 800 1000 1200 1400 160020
22
24
26
28
30
32
34
36
38
40
time (s)
tem
pera
ture
(C
elsi
us)
No WindWith Wind
Figure 4.9: Effect of wind on the temperature of the battery pack when overcharging.
Charging the battery in an open environment has been shown to cause issues on the
ability to detect overcharge using temperature. We have seen that radiation from the sun
could fool the existing charge control algorithms. This fact led us to formulate a robust
algorithm to limit the effect of sunlight on the accuracy of the overcharge detection. An-
other potential issue with temperature detection is the effect of wind. As wind increases,
the effect of convection is increased and the battery looses its excess of heat faster. This
effect could also perturb the proper function of the algorithm by modifying the rate of
58
increase of he temperature of the battery cells and affecting the thresholds values for
correct overcharge detection.
Fig. 4.9 shows the temperature of a battery leg overcharging in a high wind envi-
ronment and in a no wind environment. It can be seen that the rate of increase of the
temperature is almost identical when the battery s placed in the wind and when it is not.
This indicates that wind has little effect on the temperature of the battery pack when
overcharging. This is due to the high thermal capacitance of the battery pack that re-
duces the effect of convection over a short period of time, as well as the high intensity
of the heat produced by the cells at that moment. Therefore, it is unlikely that our pro-
posed algorithm will be affected by changing wind for the studied battery pack (BB390
battery).
Remark: It has to be noted that any of the potential issues previously mentioned
in this section also hold for the traditional temperature algorithms: if the proposed al-
gorithm fails in such a situation, so would the other temperature based algorithms. In
situations where those effects are mildly present, the proposed algorithm can actually
mitigate the effects much better than the traditional algorithms.
59
0 5 10 15 20 25 30 35 40 45 50 5513.5
14
14.5
15
15.5
16
16.5
Vol
tage
(V
)
0 5 10 15 20 25 30 35 40 45 50 5525
30
35
40
45
time(min)
Tem
p (C
)
Figure 4.10: Evolution of the temperature in Leg 1 and Leg 2 when only Leg 1 is
charged.
Fig. 4.10 shows the effect of charging one leg on the temperature of the other leg.
Because the batteries are in the same battery pack, it is expected that the heat produced
by one leg will be absorbed by the other. Therefore the leg that is not being charged
will also see its temperature increase. However, Fig. 4.10 shows that the effects are not
strong, and are starting to sensibly affect the measures only after overcharge is detected
(when the difference in temperature between the two legs becomes large).
60
4.1.2 Experiments on Standard AA Cell System
Figure 4.11: Experimental setup for testing the new temperature algorithm on AA
NiMH cells in the lab. The system charges the four AA cells in two in-
dependent legs and halogen lights are used to simulate sunlight. Ther-
mistors are inserted under each pair of cells
61
0 10 20 30 40 50 60 70 80 90 100 110 120 130 1402
2.5
3
3.5
V
0 10 20 30 40 50 60 70 80 90 100 110 120 130 14010
20
30
40
50
C
0 10 20 30 40 50 60 70 80 90 100 110 120 130 140−2
0
2
4
C/m
in
0 10 20 30 40 50 60 70 80 90 100 110 120 130 140−0.5
0
0.5
1
time (min)
C/m
in
Figure 4.12: Experiment in the lab with constant charging current. A heat source is
briefly applied at t=30min
In order to generalize the algorithm, we tested it on AA size NiMH cells available in
the market (from ` Energizer ´ ). We have built a rudimentary charger made of foam (to
shield it from the sun) with two cradles containing two cells each and inserted one ther-
mistor in each craddle. Each thermistor is connected to a microcontroller in the same
way as the previous experiments. Fig. 4.12 shows the result of charging the batteries
(here from a constant current source) with applied heat radiation to the charger. Around
t=30min, the temperature of the cradles begin to increase due to external heating. How-
ever, as in the case of previous experiments with the BB390 battery, the temperature
increases inside both cradles by about the same rate. When batteries overcharge, the
difference in the rate of increase of the temperature between the two group of batter-
62
ies is significant, especially when charge is stopped in one of the group (t=104min).
Overcharge is then properly identified at t=117min. This experiment confirms that the
algorithm is not limited to the BB390 battery and can be applied to any type of NiMH
battery. It is shown that the algorithm is particularly interesting for the wide commercial
application of recharging AA and AAA cells.
In summary, we have proposed an algorithm based on differential temperature mea-
surement between cells in order to achieve robust overcharge detection in NiMH battery
when charging in open field with varying current. The algorithm has been shown to
outperform the existing algorithm in several experiments. While the standard temper-
ature detection algorithm would falsely detect overcharge and cut the current leaving
the battery partially recharged, our proposed algorithm was able to recognize to proper
moment when to end the charge. The algorithm has been succesfully tested on a BB390
military NiMH battery pack and with standard off-the-shelf NiMH AA cells.
63
4.2 Improved Voltage Based Algorithm
Figure 4.13: New dV/dt algorithm proposed to overcome the false detection issue.
Large drops of voltage or current reset the algorithm instead of halting
the charge.
A new proposed voltage detection algorithm is presented in Fig. 4.13. The goal for the
algorithm is not to get fooled by changing weather conditions. The idea is to keep track
of the charging current and reset the algorithm whenever the current departs from an
acceptable limit. This ensures that any voltage drop due to a change in the current does
not falsely trigger the end of charge. This leads to the condition that if the maximum
or minimum of the charging current (Imax, Imin on Fig. 4.13 , recorded over a sliding
window of around 5 minutes) departs from the average value above or below a certain
64
threshold level, the algorithm should reset. Overcharge can only be detected after the
current returns to a constant value (over a period of time) again.
Figure 4.14: Outdoor solar battery charging with new voltage detection charge con-
trol algorithm. The algorithm has the ability to handle disturbances
in the current. At t=65min, the drop in the current (due to shade) is
detected and the algorithm does not get fooled. At t=260min, over-
charge is detected. Conventional voltage detection algorithms falsely
stop charging at t=65min.
Description of The New Voltage Control Algorithm:
Referring to Fig. 4.14 at each time instant
• The algorithm keeps track of the maximum battery voltage recorded by checking
whether Vbatt(n) > Vmax.
65
• If the voltage changes suddenly (|dVdt | > thsld1 ) or if the current has recently varied
by a substantial amount (Imax − Imin > thsld2 ), then the voltage measurement is
not reliable anymore. The maximum is reset to prevent false detection of peaks at
lower charging current (and therefore lower voltage peaks).
• To detect full SOC from the drop in the voltage (classical method) the algorithm
requires, also, that the derivative of the voltage first rises significantly. This is
detected when dVdt > thsld3 . ”dpos=1” means that a positive dV/dt has been
detected. When dpos=1 and the voltage drops to a threshold below its maximum,
the algorithm stops fast-charging. Imax and Imin are the max and min current of
a 5 to 10 minute sliding window.
It should be noted that because of the battery’s internal capacitance, the battery volt-
age will continue to drop long after the current has stabilized. To avoid false detection
(of full SOC) due to this phenomenon, the algorithm requires a positive dV/dt to re-arm
itself after it has reset. Therefore, the end of charge is based on both V and on the shape
of the overall voltage curve when approaching overcharge.
When charging with constant current, this algorithm performs the same as the con-
ventional algorithm with (maybe) a higher requirement in the voltage threshold required
to halt charging for robustness purpose (Vthsld=0.1V for a 12V NiMH battery or 10mV
per cell [19]). This Vthsld can be modified based on the ambient temperature measure-
ment and charging current.
Fig. 4.14 presents typical experimental results that show improved performance of
the proposed charging algorithm. As the figure shows, charge termination was properly
66
determined, despite the fact that there were changing illumination conditions causing
different charging currents. It is important to note that conventional, known voltage
detection charge algorithms fail to properly charge the battery because they falsely ter-
minate the charge at around t=65 min in this case. The experiment is based on charging
a 12V NiMH battery using a 30W commercial solar panel.
This algorithm, however, is not perfect: If the algorithm resets repeatedly, it is the-
oretically possible that it may miss the voltage inflection point due to overcharge and
therefore, keep charging the battery beyond full SOC and, the algorithm may stop charg-
ing late. Also, thresholds must be carefully chosen. However, all the experiment per-
formed showed good behavior of the algorithm.
0 20 40 60 80 100 120 140 160 180 20012
13
14
15
Vol
tage
(V
)
0 20 40 60 80 100 120 140 160 180 2000
1
2
3
4
Cur
rent
(A
)
0 20 40 60 80 100 120 140 160 180 2000
0.5
1
1.5
2
time(min)
over
char
ge
Figure 4.15: Outdoor experiment with solar panel. Top: voltage of the battery. Mid-
dle: charging current. Bottom: overcharge detection
67
Fig. 4.15 shows another experiment using solar panels. The voltage of the battery
rises as current charges it. The variations of the charging current induces sags in the
battery voltage. However the algorithm is able to detect the variations of the voltage as
a direct cause of the current variation and does not detect overcharge. The overcharge
detection is finally triggered at the desired moment at the end of the experiment.
4.3 Charge Control Algorithm for Li-ion Batteries
Figure 4.16: Charge control algorithm immune to power fluctuation from the input
68
As explained in the previous chapter, conventional Li-ion chare control algorithms can
fail if it is not programmed properly. As the battery is charged and reaches its voltage
threshold (around 3.6V per cell, see Chapter 2), the charge control algorithm controls
the transfer of energy in order to maintain the battery voltage at its threshold. As current
gradually reduces, the charge is cut when the current reaches a low threshold, typically
one tenth of the full charging current [58]. As a result, if the current drops due to a
failure of the solar array to deliver power (such as during a passing cloud), the algorithm
can trigger end of charge. A solution to this problem is shown in Fig. 4.16. In this
formulation of the charge control algorithm, the system checks if the current has reduced
under the threshold AND if the battery voltage reached its threshold before ending the
charge. If the current drops due to the low light intensity, the voltage of the battery will
also drop, due to its internal impedance. Whereas if the current drops due to the normal
voltage regulation of the converter, the battery voltage should stay at its threshold.
69
20 40 60 80 100 120 140 160 180 20012
14
16
18
20
Bat
tery
Vol
tage
(V
)
20 40 60 80 100 120 140 160 180 2000
0.5
1
1.5
2
Cha
rgin
g C
urre
nt (
A)
20 40 60 80 100 120 140 160 180 2000
0.5
1
1.5
2
Time (min)
Ter
min
atio
n F
lag
Figure 4.17: Li-ion battery charging from a sagging current source (Top: voltage,
Middle: current) and charge termination indicator using Liion charge
control algorithm programmed in Matlab (Bottom).
Fig. 4.17 shows how the new Li-ion algorithm successfully detects the proper mo-
ment when charge should be stopped. The experiment is the same as the one shown in
Fig. 3.7 in the previous chapter. However, in this figure, we used the new formulation
of the algorithm to avoid any false detection. In this experiment, the battery is hooked
up to a control circuitry and a power supply. The battery is subject to charge at con-
stant current by the power supply and sags in the current are added as perturbation to
mimic the effect of a cloud on a the output of a solar panel. When the battery’s voltage
reaches the threshold of 16.4V, the system enters a constant voltage mode at t=80 min
and current is shown to gradually decrease after that point in order to keep the battery
70
voltage constant. A sag in the current occurs between t=118 min and t=126min. Data is
recorded and analyzed in Matlab. The algorithm is programmed to output a ` charge ter-
mination´ signal when the conditions for a charge terminations are met according to the
flowchart of Fig.4.16. The proper moment to cut the charge is accurately found at t=200
min. The alorithm, therefore, is not fooled when charging current suddenly decreases
due to external conditions, such as clouds.
4.4 Conclusion
We have proposed charge control algorithms to solve the issue presented in the previous
chapter. The proposed methods outperform the existing charge control algorithms in
changing weather environments. In particular, the proposed algorithms are more robust
to false detections before the battery is fully charged. One of the methods is based on the
voltage curve of the characteristic and involves a detection and filtering of false events
while the other proposed method is based on differential temperature measurement be-
tween two groups of battery cells in order to filter out the effect of changing ambient
temperature and irradiation. Both algorithm were designed to be robust to changing
weather and to reduce the number of false overcharge detections. For both algorithm
we have shown their ability to successfully detect the correct moment to end the charge
where traditional algorithms failed and stopped the charge when the battery was not
fully charged. Finally, we have shown a proper formulation of the Li-ion charge control
algorithm for use with solar panels. This formulation ensures that the algorithm will not
be fooled by drops of power caused by low light intensity.
71
Chapter 5
Comparison and Analysis of Maximum
Power Point Tracking Methods
The goal of this chapter is to analyze and compare different Maximum Power Point
Tracking (MPPT) integration methods as well as improve charging efficiency for the
system. The system studied is charging a battery or a resistive load and the input consists
of a solar panel of unknown characteristics.
Of the numerous ways to achieve MPPT discussed in Chapter 2, some are not
adapted to the architecture studied. For example, open circuit voltage based MPPT
in which the voltage of the solar panel is controlled to be a certain fraction of the solar
panel open circuit voltage is not suitable here since that fraction changes with the tech-
nology of the solar panel (typically 0.6 to 0.8). Therefore, this technique is not adapted
for a modular application in which solar panels can be interchanged. (Workarounds may
be possible but the method loses its simplicity and practicality.) For the same reasons,
72
short circuit current measurements are not adapted.
In this chapter, we use the Perturb&Observe as a convenient and accurate way to
track the Maximum Power Point of the solar panel [47, 59]. We also used the scanning
method in part of our research, in particular for the prototype described in Chapter 6.
However we only discuss the Perturb&Observe approach here.
In the first section of this chapter, we analyze the effect of different feedback methods
on the response of the charging circuit to perturbations. We also discuss the impact of
the chosen design on components requirements (cost and space). In particular, we will
show that control of the duty cycle through a Maximum Power Point Tracking algorithm
without a feedback control on the input voltage is a cheap and simple, but sometimes
unreliable, method. We further illustrate that proper digital feedback of the solar panel’s
voltage can greatly improve the efficiency at little to no extra cost.
In the second section, we propose an improvement to the Maximum Power Point
Tracking circuit to improve the efficiency and reduce charging time.
To summarize, the contributions of our research presented in this chapter are:
• A detailed understanding of the effects of mixed signal vs. digital implementation
of the feedback loop as well as the effect of the limitations of the components (in
particular the micro-controller).
• New bypass circuitry and algorithm to improve the efficiency of Maximum Power
Point Tracking.
73
5.1 Performance of Different Feedback Methods
Different solutions exist to implement the Perturb & Observe algorithm:
• Although power needs to be sensed, it can be found that, in the case of battery
charging, the output power is a monotonic function of the output current. There-
fore the output current by itself provides enough information to run the algorithm,
as shown in [45].
• There are different ways of implementing the feedback control as shown in Fig.
5.1. The following sections will detail the different possibilities as well as their
advantages and inconveniences. However, the main difference is between the im-
plementation of Maximum Power Point Tracking with perturbation on the duty
cycle (Fig. 5.1(a)) and the one using perturbation on the input voltage reference
(Fig. 5.1(b) and 5.1(c) ).
74
Figure 5.1: Different implementation of the Perturb and Observe control loop. (a):P&O on the duty cycle. (b) P&O on the PV array voltage with analogfeedback loop (because the microcontroller does not have a D/A con-verter, the voltage reference is output by the in the form of a duty cycleand averaged .) (c) P&O on the PV array voltage with digital feedbackloop.
75
In order to test the different feedback implementations, we have retained an exper-
imental SEPIC topology for our MPPT chargers as shown in Fig. 5.1. The main ad-
vantages of the SEPIC converter for this application are its ability to step up and step
down the voltage (allowing more flexibility in the range of solar panel that can be used)
and the common ground shared between the input and the output allows simple data
transmission to the controlling circuit from the input as well as from the output. The
conclusion of the following analysis can be extended to other converters.
As discussed in Chapter 2, Maximum Power Point Tracking relies on the Power
versus Voltage (P/V) characteristic of the solar panel. The presence of a DC/DC con-
verter (a SEPIC converter in this particular example) allows the voltage of the solar
panel to be adjusted, through the converter’s duty cycle D, in order to reach the Max-
imum Power Point. The Power versus Duty ratio (P/D) characteristic of the system
(solar panel+converter+load) presents the same features as the P/V characteristic of the
solar panel which allow the Perturb&Observe algorithm to perform. Therefore, the Per-
turb&Observe algorithm can be applied by modifying the duty cycle (which will induce
a change in the solar panel’s voltage in a feedforward way), or, by modifying the refer-
ence voltage of the solar panel through a feedback loop.
To test the different configuration possibilities, we implemented MPPT in three dif-
ferent ways:
• Fully digital control of the converter with Perturb&Observe algorithm performed
on the duty cycle (Fig. 5.1 (a).)
– The output current is sensed and the duty cycle is modified following the
76
variation of the output current.
– The gate signal for the main switch is produced by the PWM generator of
the microcontroller.
– There is no feedback control between two iterations of the MPPT algorithm
(the duty cycle stays unchanged for several dozens of milliseconds.)
• Analog control of the converter with Perturb&Observe algorithm performed on
the input voltage reference (Fig. 5.1 (b).)
– The output current is sensed and the input voltage (solar panel’s voltage)
reference is modified following the variation of the output current.
– The voltage reference is transferred to an analog control circuitry with a
voltage feedback loop on the input.
– The gate signal for the main switch is produced by the analog controller.
• Fully digital control of the converter with Perturb&Observe algorithm performed
on the input voltage reference (with a digital compensator programmed in the
microcontroller.) (Fig. 5.1 (c).)
– The output current is sensed and the input voltage (solar panel’s voltage)
reference is modified following the variation of the current.
– The input voltage of the converter is controlled through a digital controller
programmed inside the microcontroller.
– The gate signal is produced by the PWM generator inside the microcon-
troller.
77
The different implementations are tested indoor. The light source is composed of
several halogen lights and the solar panel is kept at an acceptable temperature using a
fan. Such setups are commonly used to test solar panel algorithms [49, 60].
The value of the component is our experimental SEPIC converter is as follow : C =
88µF, Cin = 66µF, Cout = 66µF and L1 = L2 = 63µH.
Figure 5.2: Perturb and observe algorithm. Top: output current. Bottom: Voltage
across the solar panel. The solar panel operating point around the max-
imum power point.
The Perturb and Observe function is illustrated in Fig. 5.2. The function is pro-
grammed with the implementation shown in fig.5.1(a). The voltage oscillates around
the Maximum Power Point (lower curve) as the algorithm uses measurement of the out-
put current (upper curve) to determine the location of the Maximum Power Point.
78
5.1.1 Effects of the Different Implementation Methods
Figure 5.3: A sudden drop in the light intensity can make the system react erratically
and cause large drop in the input voltage (Top). Bottom trace shows the
output current
Although perturbing the duty cycle directly (method described in Fig. 5.1(a)) achieves
MPPT, the reaction of the system to external perturbations is usually poor; because the
Perturb and Observe algorithm is slow (> 20ms per change in the duty cycle in our
implementation,) the input voltage of the system can experience quick drops if the load
or the light intensity changes as shown in Fig. 5.3. In this experiment, the DC/DC
converters runs the Perturb&Observe algorithm while illumination on the solar panel
suddenly drops causing a sag in the input voltage (because the duty cycle does not adapt
79
quickly enough.)
Figure 5.4: Response of the MPPT with voltage control to a sudden change in light
intensity. Ch2: Input voltage, Ch4: output current (1V⇔ 1A). The volt-
age response of the controller is smooth thanks to a fast response of the
voltage feedback loop.
Therefore, control of the input voltage using a feedback loop and use of the Per-
turb&Observe method on the input voltage reference is a more suitable solution as
shown in Fig. 5.4 (waveforms obtained using setup of Fig. 5.1.b)
Response time of the analog feedback loop to a step change in the voltage reference
is shown in Fig. 5.5.
The digital solar panel voltage controller (Fig. 5.1(c)) takes advantage of the existing
microcontroller to reduce the component count. However, additional constraints are
80
added by the microcontroller on the feedback controller due to computation time and
duty cycle limitation. Both constraints are directly stemming from the clock speed.
Figure 5.5: Response to a step of the voltage reference. Top (Ch4): Output current
measurement. Bottom (Ch2): Solar Panel Voltage.
In our experiment, we used a PIC18F452 microcontroller. We will analyze the res-
olution of the system and some computation times issues as derived from the device
datasheet [61]. The analysis can be extended to other devices qualitatively.
The total computation time of the feedback loop at a clock frequency of 20MHz is :
Tloop = 2Taqu + 2Tconv + TPI = 79µs (5.1)
where Taqu and Tconv are the acquisition time and the conversion time of the A/D con-
81
verter, respectively, and TPI is the execution time of PI control loop. The total execution
time includes the input voltage sensing for voltage control and the output current mea-
surement for the MPPT algorithm. Although current measurement is not needed each
cycle, the feedback loop sampling time is forced to include the additional current sens-
ing time in order not to miss any cycle. (Because at the time when current sensing is
required, the A/D converter is forced to convert those two signals in one cycle.) The
response of the controller to a step in the input voltage reference is shown in Fig. 5.6.
Figure 5.6: Response of the input voltage (PV array’s voltage) to a step of the voltage
reference.
We can see in Fig. 5.6, the presence of limit cycling characterized by slow oscilla-
tions of the controlled voltage. In the following section, we will analyze and address
82
this issue.
5.1.2 Resolution of the Digital Controller and Dithering
Knowledge of the resolution of the controller is an important data. It is necessary for the
proper calculation of the system’s model and also to predict the existence of limit cycles
in the feedback control.
The limitation of the resolution of the PWM generator can translate into the pres-
ence of limit cycling as identified in [62]. This effect happens if the resolution of the
control (in this case, the control of the input voltage of the converter) allowed by the
digital PWM generator is lower, in steady state, than the resolution of the sensed con-
trol variable done by the A/D converter: the digital PWM generator never allows the
error to become zero since there is no value in the duty cycle register that can bring the
controlled variable in the desired value bin as set by the A/D converter.
The resolution of the digital PWM generator used in our circuit is given by:
PWMresolution =log FOS C
FPWM
log 2(5.2)
Where FOS C is the frequency of the oscillator, FPWM is the frequency of the PWM
signal generated and PWMresolution is the resolution of the PWM signal in bits. For a
PWM frequency of 100kHz and a clock frequency of 20Mhz, a resolution of 5.6 bits
will be achieved.
We also have to take into account the steady state function Vin = f (D) in order to
83
calculate the overall resolution.
Figure 5.7: Characteristic of the solar panel and simplified model
We first model the solar panel using the voltage source and resistor approximation
for VPV > VPV,MPP and as a constant current source for VPV < VPV,MPP. Fig. 5.7 shows
the characteristic of the solar panel (exponential curve) and the simplified model used.
The model is not perfectly accurate but should provide a good tool for the estimation
of the resolution in the worst case (largest slope in the D to Vin curve). The battery is
modeled as a voltage source and a resistor. We first calculate Vin = f (D) for the voltage
source in series with resistor model:
In the case of the SEPIC converter we have ideally, in steady state: Vout = D1−DVin.
We first have:
84
VPV = EPV − RPV Iin =1 − D
D(EB + RBIout) (5.3)
where EPV and RPV are, respectively, the voltage source and series resistor of the PV cell
approximation, and EB and RB are the components of the battery model. Modifying the
equation gives:
EPV − RPVD
1 − DIout =
1 − DD
(EB + RBIout) (5.4)
Iout−RPV D2 − (1 − D)2RB
(1 − D)D=
1 − DD
EB − EPV (5.5)
We finally obtain by combining (5.5) and (5.3):
VPV =1 − D
D
[EB + RB
(1 − DD
EB − EPV
)( (1 − D)D−RPV D2 − (1 − D)2RPV
)](5.6)
In the part of the characteristic where the solar panel is considered a perfect current
source, we get the following relationships:
IinVin = IoutVout (5.7)
85
IinVin =1 − D
DIin
(EB + RBIout
)(5.8)
Finally:
VPV =1 − D
DEB +
(1 − DD
)2
RBIin (5.9)
For low duty cycles, the converter will operate in discontinuous conduction mode.
Assuming that the solar panel’s voltage is constant due to the input capacitor we get:
iin,max =VPV
LDT (5.10)
Iin =VPV
2LD2T (5.11)
and
VPV = EPV − VPV
2LD2TRPV (5.12)
(5.12) gives the voltage of the solar panel’s voltage as a function of the duty cycle for
the open circuit case.
86
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10
5
10
15
20
25
Duty Cycle
Pho
tovo
ltaic
Pan
el’s
Vol
tage
Figure 5.8: Voltage of the solar panel as a function of the duty cycle.
Fig. 5.8 shows the result of the calculations for a solar panel with 23V open voltage
and 3 Amps short circuit current using (5.6), (5.9) and (5.12) (with a open circuit resis-
tance of 1Ω and a battery voltage of 14V with 1Ω series resistor). The period T is fixed
to 10µs. The approximation made on the panel’s curve in Fig. 5.7 ensures a worst case
analysis of the resolution.
87
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−1.8
−1.6
−1.4
−1.2
−1
−0.8
−0.6
−0.4
−0.2
0
D
∆VPV
Figure 5.9: Variation in the steady state input voltage for 1 bit of increment of the
duty cycle as a function of the steady state duty cycle. The duty cycle
register is 5.6 bit large.
In this example, it can be seen that the voltage levels that can be reached are about
1.8V apart in the worst case as shown in Fig. 5.9. Assuming that the voltage range of
the A/D converter is 50V and that the A/D conversion result is linear, the resolution of
the A/D conversion will be equal to 50/(2NADC )V where NADC is the resolution of the
A/D converter in bits. If the A/D resolution is higher than 4 bit, limit cycling due to the
quantization effect may occur.
To avoid limit cycling, the apparent resolution of the PWM waveform can be in-
creased using digital dithering [62]. Dithering can be programmed in software by inter-
rupting the program every cycle and alternating the value in the duty cycle latches.
88
Figure 5.10: Behavior of a 2 bit dither pattern: the digital PWM can generate signal
by step of 1 LSB (least significant bit). Dithering alternates the PWM
levels to create virtual intermediate levels
The principle of dithering, shown in Fig. 5.10, is to alternate the duty cycle by one
LSB for a certain number of cycles to create an averaged duty cycle that will be in
between the levels reachable by the PWM generator. That principle can be applied to an
infinite number of bits and the result is a virtual increase in the resolution of the PWM
generator. This technique works because the variations in the PWM duty cycle from
cycle to cycle will be absorbed and averaged by the energy storage components of the
converter (capacitors and inductors).
To eliminate those limit cycles, a 2 bit dithering is added to the control loop making
an effective 7.6 bits PWM generator (PWM duty cycle coded from 0 to 194 or 27.6).
There are several patterns possible for achieving dithering, some being more efficient in
89
the harmonic content generated. This is discussed in depth in [62].
If programmed on a microcontroller, there are different ways to implement the dither
function: the function can be implemented using a combinatorial function or through the
use of a look-up table.
If the combinatorial method is used there are ways to simplify the dither function.
We name dither function a function which output is 0 or 1 and which takes a dither
value (between 0 and 4) and a counter value (between 0 and 4) as arguments. The value
of that function will be added to the duty cycle latch. The counter is increased every
cycle. Fig. 5.11 shows the Karnaugh’s map of the function used to set the function.
For example the position of the ’1’ on the second row of the map does not change
the resulting pattern. However, placing it on the second column allows simplification of
the function and therefore more compact and faster code.
The value of the function retained is:
f (C,D) = C1D2 + C2C1D1 (5.13)
D1 and D2 represent the dither value or, in other terms, the two LSBs of the duty cycle
value. C1 and C2 represent a counter incremented each switching cycle.
90
Figure 5.11: Karnaugh map of the 2 bits dither function.
Another way to achieve dithering is to use a look-up table to produce desired dithered
waveform. In that technique, each row of the table contains the pattern used for dither-
ing and the combination of the cycle counter and dither register point to the correct
modification to add to the duty cycle. That method is usually more efficient for micro-
controllers and fixed internal connections CPUs in general. Using that technique, the
calculation time for our PIC microcontroller reduces to 3.8µs from the 5.6µs required
for the combinatorial method. It is expected that the efficiency gain of the look-up table
method over the combinatorial method will increase as the number of bits used in the
dither pattern increases (as the boolean function will grow larger and will be more cum-
bersome to program while the look up table will only require an increase in the table
size and minor modifications to allow proper indexing). However, in the case of FPGAs
where gates can be configured individually, the combinatorial method, although more
complicated to program, might become more efficient.This is due to the fact that the
computation can be made asynchronous and can execute in parallel with the other tasks
91
and as the number of gates required to execute the function might become smaller than
the number needed for the look-up table method.
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−0.5
−0.45
−0.4
−0.35
−0.3
−0.25
−0.2
−0.15
−0.1
−0.05
0
D
∆VPV
Figure 5.12: Variation in the steady state input voltage for 1 bit of increment of the
duty cycle as a function of the steady state duty cycle. The duty cycle
register is 7.6 bit large.
According to the calculation done previously and the result shown in Fig. 5.12,
for the expected resolution of the input voltage using a 5.6+2 bit PWM generator, the
maximum resolution for the A/D converter that will guarantee the absence of limit cycles
is 7 bits. However, in practical experiments, no limit cycles where noticed at 8 bits. This
is due to the fact that we used a worst case analysis approach.
92
Figure 5.13: Voltage regulation before dithering
93
Figure 5.14: Voltage regulation after introduction of a 2 bits dithering
Fig. 5.13 and Fig. 5.14 shows the benefits of dithering (as implemented using the
dithering function previously expressed) on the voltage regulation: the limit cycles as-
sociated with the limited resolution of the PWM signal is eliminated.
The 2 bits dither subroutine takes 5.6µs to execute on a 20MHz PIC microcontroller
and is executed every 10µs. Therefore, the dither subroutine takes up 56% of the execu-
tion time of the CPU. This is a heavy burden and will have a strong impact on the exe-
cution time of the other routines, particularly on the sampling rate of the feedback loop.
With that routine programmed, TPI increase to 30µs from the initial 12.8µs. Hence, the
94
minimum sampling rate will be 96µs.
5.1.3 Summary of Analysis
The Perturb & Observe method for MPPT based on the duty cycle alone performs well in
slow changing environment. However, issues arise with sudden change in load or light
intensity. In that situation, the slow response can lead to important drop in the input
voltage and cause shutdown of the converter and reset of the microcontroller. To solve
that issue, a feedback loop can be added in the circuit, controlling the input voltage.
MPPT can then be performed by changes in the voltage reference. This ensures that the
system will keep the voltage between safe boundaries. Resolution has also increased.
However, the resolution of the previous duty cycle perturbation method (Fig. 5.1) can be
increased using the dither technique discussed previously. The disadvantage of the above
configuration is that its implementation adds a PWM IC along with several resistors and
capacitors. An op-amp may also be required between the microcontroller and the PWM
IC’s error input to provide correct impedance to the feedback loop. Those additions
increase board space and cost.
To keep the component count minimal, a digital controller has been realized using
the same microcontroller. A digital control loop has been designed in agreement with
the limitation of the device. It provides similar response to the mixed signal system
described above. The component count now reduces to the same number as for the first
method. However, unlike the mixed signal approach, this system is dependent on the
frequency of the clock for proper operation. The need for dithering is a symptom of
clock frequency limitation.
95
These results are summarized in Fig. 5.15.
Figure 5.15: Summary of the comparison between the different configuration.
5.2 Improvement of Maximum Power Point Tracking
Through Bypass Switch
Solar panels are often manufactured to optimally charge a specific terminal battery volt-
age. For example, the 30W panels used in our experiments are made to charge 12V
batteries and have a VMPP around 14V. Thus, there is a range of load voltage for which
MPPT actually reduces the power delivered to the battery. This is due to the power
dissipation in the converter. To avoid this loss, a bypass switch can be used to create
96
an optional direct connection between the solar panel and the battery. This reduces the
losses through the system when the load voltage is matching the solar panel voltage and
the bypass switch is activated.
Figure 5.16: A Maximum Power Point Tracker with bypass switch (SEPIC topology).
97
Figure 5.17: Output power from the system for different output voltages with direct
connection, MPPT converter, and proposed hybrid system.
Fig. 5.16 shows the implementation of the bypass switch in the case of a SEPIC
converter: the two upper MOSFET compose the bypass switch. Fig. 5.17 shows how
power can be maximized for a broad range of solar voltage outputs using that method.
Fig. 5.18 shows an algorithm to manage the system between the two modes: direct
connection and DC/DC converter operating at MPPT.
98
Figure 5.18: An algorithm that switches between Perturbation of the DC/DC con-
verter and direct connection between the solar panel and the load in
order to maximize the output power in all cases.
When the algorithm has stabilized around the Maximum Power Point, which is as-
sumed to be done after a 5 second search ( alternatively, the stabilization can be estimated
by calculating the standard deviation of the duty cycle over a certain window of time),
the micro-controller assesses whether MPPT increases delivered power or not. This is
done by switching to direct connection and comparing the charging current delivered to
the battery. The best solution will be retained. Every 5min, the two possibilities, direct
connection or MPPT will be tried again.
Referring to Fig. 5.18, Ts is a period of time after which the algorithm is assumed
to have reached the Maximum Power Point of the solar panel. After a period of Ts has
99
passed, the current at maximum power point, IMPPT , is stored, the DC/DC converter is
momentarily turned off and Maximum Power Point Tracking interrupted. The bypass
switch is turned ON and the output current with bypass switch, Idirect, is compared with
IMPPT . If the output current using the bypass switch is higher than the output current
achieved with the DC/DC converter using Maximum Power Point Tracking, then the
bypass switch configuration is kept for a long period of time. Otherwise, the bypass
switch is turned OFF and DC/DC converter is turned ON again and the Maximum Power
Point Tracking algorithm is re-enabled.
5.3 Conclusion
We have analyzed the Perturb and Observe algorithm and its different possible im-
plementations and discovered that some configurations result in more reliable opera-
tion of the algorithm. Even though most of the literature mention the use of the Per-
turb&Observe algorithm using the duty cycle as the direct source of perturbation, we
have found that this can result in unreliable operation is some cases. The perturbation
on the input voltage reference offers better performances with little to no increase in
component count (no increase in the all-digital case). We described the issues arising
when using of a digital control of the input voltage and we showed the specific calcu-
lations required to ensure proper operation when the input of the converter is a solar
panel. Additionally we showed that the use of a bypass switch in parallel with a DC/DC
converter, along with proper control algorithms, can result in higher overall efficiency of
the system. These findings will have a direct effect on the choices that will be made in
100
Chapter 6.
101
Chapter 6
Prototype For a Commercial Battery
Charger
Figure 6.1: Charger prototype connected to battery and solar panel.
102
In this Chapter we describe the design and building of a commercial battery charger
using the research results previously described in this thesis.
The battery charger prototype has been built jointly with PowerFilm, Inc. and is
being field tested by US Army Natick Research Laboratory. The product is specifically
designed for the military application of charging BB390s (NiMH) and BB2590(Li-ion)
batteries from commercial flexible portable solar panels. Fig. 6.1 shows the charger (in
gray) connected to a BB390 battery and a solar panel. The charger features a Boost-Buck
configuration with bypass switch and purely digital controller for Maximum Power Point
Tracking and battery charging regulation. Example of such system is simulated in [63].
A Sepic configuration was also being studied. However, the Boost-Buck was ultimately
preferred to the Sepic for reasons of efficiencies and other designs issues. Some work
related to the Sepic converter are shown in Annexe.
The system is designed to charge both 12V NiMH (BB390) and 14.4V Li-ion (BB2590)
military batteries from various types of solar panels. The charger simply clamps on the
battery and connects to the solar panel through a cable. The system recognizes the type
of battery being connected (BB390 or BB2590) and applies the proper charge control
algorithm. Another useful feature is the ability to charge the battery from other batteries
such as Humvee heavy duty batteries. Since the converter topology is compatible with
this application and because the US Army has shown interest in this feature, we have
decided to add that feature in our charger.
Because the BB2590 and the BB390 are each composed of two independent legs,
the output of the DC/DC converter is fed to a set of two bidirectional solid state switch
that allow one or both of the leg to be charged.
103
This allows us to charge each leg of the battery without using two separate converter
and therefore saves space since only one inductor is necessary. However, this will reduce
the control we have over the charging process, since we can only control current in one
of the legs at a time. The other leg’s current being dictated by the difference in the legs’
admittance. Additionally, proper software management of the switches will have to be
implemented in order to avoid high surges of current between the two legs when their
charge is unbalanced, a situation which could happen at the beginning of the process,
for example.
This chapter will detail the design and function of the prototype charger board:
• Detail of the DC/DC converter topology and its operating characteristics.
• Description of the converter’s digital controller including modeling of the con-
verter and feedback loops.
• Programmed charge control algorithms for BB390 NiMH and BB2590 Li-ion bat-
teries.
• Maximum Power Point Tracking algorithm and its implementation.
Following are the initial characteristic of the charger:
• Dimension of the board (power and control): 2.2x2.2 inches
• Operating Input Voltage: 8-40V
• Output Voltage: 8V-16.5V depending on the battery type and state of charge
(Voltages out of this range will make the charger go to idle mode.)
104
• (Voltages out of this range will make the charger go to idle.)
• Maximum charging current: 6A (this limit is set by the battery)
• Maximum output power: 100W (6Amps @ 16.5V)
• Output current regulation (when in specific mode): +/- 0.1A
• Input voltage regulation (when in specific mode): +/- 0.36V
• Sampling rate: 200 s
• Switching frequency: 200kHz
• A/D converters resolution : 8bit.
Figure 6.2: System diagram of the prototype.
105
The system can charge either Li-on battery (BB2590 models) or NiMH (BB390
models) batteries. The charger clamps on the battery and uses the mechanical and elec-
trical differences between the battery packs to detect the type of battery connected. The
system relies on a microcontroller to achieve the various control functions:
• Sensing and integration of the charging parameters.
• Feedback control of the solar panel’s voltage or the battery’s charging current.
• Proper charge control of the Li-ion or NiMH battery
• Maximum Power Point Tracking of the solar panel if necessary.
A system diagram of the charger is shown in Fig. 6.2.
6.0.1 Topology
The initial design was to use a SEPIC converter. More detail on the configuration of the
circuit is given in annexe. Although the circuit performed with acceptable efficiency, the
board size was still larger than expected due to the requirement to use ”off the shelf”
components. Therefore the inductors cannot be coupled and the space taken by the
magnetic component is especially large. Additionally, the addition of a synchronous
rectifier became a problem due to the voltage swings at the terminal of the diode.
Therefore we redesigned the circuit using a Boost-Buck configuration.
106
Figure 6.3: Topology of the chosen converter.
The configuration is a Boost-Buck converter with a set of bidirectional switches that
allow the current to be directed in each leg. The schematic of the circuit is shown in
fig. 6.3. Depending on the driving of the switches, the circuit can act as a step-down
converter (when switching Q1) or a step up converter (when switching Q2 and keeping
Q1 ON). The switches (Qleg1a,Qleg1b) and (Qleg2a,Qleg2b) form two bi-directional switches
that allow the converter to charge either battery leg1 or/and battery leg2 respectively.
They also prevent current flow from one leg into the other (when the two legs have
a considerable voltage difference). The transistor Qb bypasses the diode D2 when the
circuit operates in buck mode or when it is operating as a direct connection between the
input (solar panel) and the battery. Fig. 6.5 shows the layout of the new board.
107
Figure 6.4: Schematic of the charge pump for the proper driving of the primary
switch
The primary switch for the buck converter is an N-FET. The driving is supplied by
the high side part of a dual switch driver. The voltage supply for the gate of the transistor
is provided using a bootstrap diode. However, when the circuit operates in boost mode,
the FET has to be turned on indefinitely. The bootstrap diode configuration can only sup-
ply the charge needed to keep the gate on for a short time. The charge for the supply rail
can only be refreshed when the source voltage of the FET’s source goes to zero volts due
to the power diode conduction. Therefore, a charge pump has been added to the circuit.
In order to use a minimum of additional parts, the control of the switches involved in the
charge pump function is supplied directly by the microcontroller. That allows conve-
nient timing and easy dead time addition to prevent any possible cross-conduction.The
108
function of the pump is as follow: the charge is taken from the 12V rail of the control
circuit to charge a capacitor. The capacitor is then connected to the bootstrap capacitor
to replenish it. Fig. 6.4 shows the detail of the circuitry. The control of the switches is
achieved through the ` RD2´ and ` RD3´ lines of the microcontroller. When U12 is ON
and U14 is OFF, C3 charge quickly to the voltage of the 12V rail. When U12 is OFF
and U14 is ON,U13 turns ON and C3 discharges in C4. C4 is connected in parallel to
the bootstrap capacitor. Between those two states, both U14 and U12 are switched off
to prevent shorting the source of the primary FET (connected to the lower side of C4) to
the ground.
The final board layout is shown in Fig. 6.5. The figure shows the top and bottom
layers of the board. The two additional inner layers were not shown on the figure. The
top layer is dedicated to the power component and the high current part of the DC/DC
converter. The bottom layer is dedicated to the sensing and control electronics. One of
the inner layer serves as a ground plane to minimized the EMI generated in the control
layer from the power layer.
109
Figure 6.5: New Boost-Buck converter. Top: Power circuit. Bottom: Control layer.
The second layer is used as a ground plane. The third layer is used
for additional routing of the control circuit as well as additional ground
plane.
110
Figure 6.6: Efficiency of the converter for various input voltages
Fig. 6.6 shows the efficiency of the system for various input operating points and the
following table shows the power components used in the converter:
111
Q1 IRFS3307
Q2 IRLR9103
Qb IRF7424
Qleg1a, Qleg2a IRF7424
Qleg1b, Qleg2b IRFt424
D1 VB30100
D2 B4030G
L 2300HT-470H-RC (47µH)
C1 4x10µF, ceramic
C2 3x10µF, ceramic
Rs1,Rs2 10mΩ
112
6.1 Battery Voltage and Chemistry Detection
Figure 6.7: Pin connection diagram on the battery side (top) and on the solar panel
side(bottom)
As specified above, the allowed battery voltage ranges from 8V to 16.5V depending on
the battery chemistry and state of charge. A battery with a potential lower than 8V is
considered faulty and will not be charged. A battery with a potential lower than 10V
is considered highly discharged and will be trickle charged until its voltage rises above
12V. 16.5V is the highest voltage at which the controller will charge the battery. This is
the threshold voltage for the BB2590 Li-ion battery.
Chemistry detection is achieved mechanically using the differences in the BB2590
and BB390 battery pack: the BB390 has pads connected to thermistors used to sense the
battery pack’s inner temperature while those pads are shorted in the case of the BB2590.
These pads are identified in Fig. 6.7 by the letters A and B. The temperature sensing
113
circuit inside the controller can detect the difference in the mechanical connection and
the type of battery can then be found (the sensors return a value of 0 for a BB2590 and a
thermistor related voltage for the BB390). Other primary batteries using the same con-
figuration as the BB390 and the BB2590 do not possess the additional pads. Therefore,
the sensor will return a value of 0xFF(or 5V) for these battery and the circuit will refuse
to start the charge.
6.2 Operation
Figure 6.8: Simplified organization diagram of the function programmed in the
charger
114
A simplified diagram of the functions programmed in the charger is shown in Fig. 6.8.
The program can be summarized as follow:
• A state machine stores the state of the charging process (charging, idling, end of
charge, etc) and allows (or disable) current to flow in each battery leg individually.
According to the state and the type of battery, the state machine will set the proper
current limit for the charge.
• An interrupt function (a function that interrupts the execution of the program peri-
odically to execute itself) senses the battery’s data and input voltage and executes
the proper feedback algorithm (input voltage or output current feedback).
• A Maximum Power Point function that periodically scans the range of possible
input voltage (by changing the voltage reference that the interrupt funtion uses)
and determine which operating input voltage yields the highest charging current.
Each of these functions will be described in detail.
6.2.1 Low Level Control
The charge controller will operate the DC/DC converter in order to charge the battery
according to algorithms defined in Chapter 4. The converter will be operated in two
main modes: output current regulation and input voltage regulation.
In the first mode, the output current will be controlled to a threshold value through a
feedback loop programmed in the CPU. If there is a difference in the current between the
two legs of the battery, the current threshold is applied to the leg carrying the maximum
115
of the two sensed currents. Therefore, while the system cannot control the current in
both legs together, it can ensure that the battery is charged at a safe rate.
The input voltage regulation mode is used for MPPT of the solar panel (input of the
system.) In this mode the input voltage is controlled to a given reference as provided by
the MPPT algorithm through a feedback loop programmed in the CPU. The controller
jumps from voltage control (MPPT) to current control when the output current rises
above the maximum safe charging current for the battery.
Since the DC/DC converter is formed of a step down and a step up converter mounted
around one inductor, the switches need two distinct driving signals: one for the buck
primary switch, and one for the boost primary switch. They are given respectively by
the ’PWM1’ output of the microcontroller for the boost switch and the ’PWM3’ output
for the buck switch. In order to keep the programming of the feedback loop simple, we
use the same control law for the buck and the boost mode and only one PWM value is
returned by the control routine. That PWM value is then broken up in the proper values
to assign to PWM1 and PWM3 through a dedicated routine. Additionally, the opening
or closing of the switch bypassing the Boost converter’s diode is also controlled through
that same subroutine. Hence, the switch by switch control of the converter becomes
transparent to the feedback control loops which makes those feedback controllers easy
to design and reduce the chance of software induced fault (such as the closing of two
switches at the same time or the bypass of the boost’s diode when operating in boost
mode).
116
Figure 6.9: Low level control of the DC/DC converter. The current feedback loop
controls the output current to a reference set by the charge control al-
gorithm. The voltage feedback loop controls the PV array’s voltage ac-
cording to the value set by the MPPT algorithm. Switching from one
loop to another happens when the current exceeds a limit or when the
current cannot be maintained. Each step of this scheme is a set of rou-
tines programmed in the same microcontroller.
The controller jumps from current control to voltage control (MPPT) when it detects
that current control cannot be achieved because of the limited power available at the
input(in the present state: when the duty cycle reaches a high threshold.) Fig. 6.9
illustrates the principle of operation of the converter including how the system switches
between current control and voltage control.
In the case of the Li-ion battery, when the battery’s voltage is reaching the limit of
117
16.4V, the threshold for this chemistry, the output current limit is progressively lowered
to keep the voltage under 16.4V.
Figure 6.10: Load of the CPU. executing the control algorithm for the DC/DC con-
verter. The low state of the waveform indicates that the CPU is execut-
ing the control algorithm while the high state represent the time when
the CPU is free to execute the rest of the functions of the program.
Fig. 6.10 shows the computation load of the low level feedback interrupt function for
the DC/DC converter. That interrupt is generated periodically. When executed, it senses
the different data from the battery and the input(charging current, voltage, temperature,
etc...). The interrupt routine also performs parameters check for safe operation, feedback
calculation and duty cycle calculation for the converter. To ensure a proper behavior of
the feedback controller, we need to ensure that there is enough time for the CPU to
finish calculating, checking and applying the next duty cycle before a new interrupt
118
is generated. In addition, enough time needs to be allowed for the other functions to
execute with appropriate timing. (There needs to be enough ` slack time´ between two
interrupts). The measurement needs to take into account the time taken by the CPU to
execute the dithering interruptions, which are set at a higher priority than the feedback
interrupt and executed every switching cycle. From Fig .6.10, we can see that the overall
time needed to execute the feedback control for one step is between 100µs and 150µs.
Therefore we choose to time the control loop with a period of 200µs. The sampling
period is therefore 200µ. This is close to the smallest possible period that can be applied
considering the computing load of the CPU. This gives a possibility of reaching the
desired reference in about 2 ms (assuming we achieve control in 10 samples). This is not
a fast control but is sufficient for this application, as there are no stringent requirements
on the output current to be constant (no failure in load operation will occur if the current
fluctuates).
6.2.2 Maximum Power Point Tracking
As discussed in Chapter 2 and Chapter 5, it is possible to implement MPPT by utilizing
output current as the input to the algorithm and using an inner feedback loop to control
the input voltage to the desired reference as set by the algorithm (see Chapter 5 for
details). Candidate approaches to achieve Maximum Power Point Tracking may include:
Perturb&Observe, Incremental Conductance and Scanning of the Input Voltage. The
benefits of scanning the input voltage to find the Maximum Power Point of the solar
array are: simpler implementation, greater robustness to noise in the measurement, and
the ability to find the global maximum of the power curve regardless of the operating
119
conditions [41]. This is achieved by scanning the input voltage reference(using proper
control of the DC/DC converter) and operate the panel at the voltage that yielded the
highest output power during the scan. The drawback of the complete scan method is the
interruption of efficient energy transfer during the scan and the inability to dynamically
adjust to sudden variations in the maximum power point.
This charger opts for the complete voltage scan method for the Maximum Power
Point Tracking algorithm: the charge controller performs a scan on the whole range of
input voltage approximately every 90s and re-update the reference voltage after the scan
has been performed, in order to keep the system operating at the Maximum Power Point.
The scan is achieved by operating the DC/DC converter with an input voltage feedback
loop and changing the reference voltage by steps every 100ms until all possible input
operating voltages are tried. The system then picks the voltage that yielded the highest
battery charging current (output current of the converter) as a the reference voltage for
the next 90 seconds.
If the Maximum Power Point’s voltage of the solar panel is close to the voltage of
the battery, DC/DC conversion is not necessary and direct connection between the panel
and the battery is preferable (see Chapter 5).
In theory there exists an operation point on the characteristic of the Boost-Buck
DC/DC converter where direct connection between the solar panel and the battery is
achieved. This occurs when the duty cycle of the Buck converter is set to 1 and the duty
cycle of the Boost converter is set to 0 with Qb, the FET bypassing the Boost converter’s
diode, being switched on. In this mode of operation, there is no periodic switching of
any power device and the current travels directly from the solar panel to the battery
120
through the Buck’s FET (Q1), the inductor and the FET bypassing the Boost converter’s
diode (Qb). Additionally, the current travels through the leg selector’s FETs. The total
resistance through the DC/DC converter parts is estimated to be about 50mΩ for the
components used in our design. The leg selector will add another resistance of 34mΩ
per leg (an effective resistance of 17mΩ if the current is equally split between the two
legs).
While there is a specific duty cycle value that will achieve the aforementioned con-
figuration of the switches, there is no possibility to ensure that the system will operate
in this position. That is, because the charger controls the input voltage by steps and
therefore, the steady state of the system will also be changed by steps. The reference
input voltage created by the feedback control routine in the microcontroller will not nec-
essarily generate the exact voltage that will create a duty cycle of 1 for the Buck’s main
switch and 0 for the Boost’s main switch (PWM3=1 and PWM1=0). In order to force
the system to operate in direct connection, we can use an algorithm such as the one
proposed in Fig. 6.11.
121
Figure 6.11: MPPT bypass algorithm for improved efficiency when the battery volt-
age matches the Maximum Power Point of the solar panel
In this algorithm, the system scans the whole range of input voltage using the DC/DC
converter in input voltage feedback mode as discussed earlier. If the voltage at Maximum
Power Point is found to be close to the battery voltage (smaller than a certain threshold α
in Fig. 6.11), the converter is put in bypass mode by opening Q2 and keeping Q1 and Qb
closed, essentially forming a direct connection between the solar panel and the battery.
After a certain period of time, a new scan is executed in case the Maximum Power Point
has moved.
6.2.3 The State Machine
The charge control software uses a state machine to control the DC/DC converter and
all the power switches on a high level. The state machine has the task of operating the
122
leg selector switches and assign the battery’s charging current reference.
The State Machine is a routine programmed in the microcontroller and updates itself
every 5 seconds depending on the different existing conditions. The State Machine
routine is low priority and is interrupted by the sensing and feedback interrupt.
Figure 6.12: State machine for the NiMH BB390 battery
123
Figure 6.13: State machine for the Li-ion BB32590 battery
Depending on the battery, a different state machine is used. The state machine is
shown in Fig. 6.12 for the NiMH battery and in Fig. 6.13 for the Li-ion battery. The
detail of the state machines is described:
For the BB390 (NiMH):
• State 0: This is the initial state of the system after startup. Alternatively, the
system goes to this state whenever a battery fault is detected. When the system is
in that state, the DC/DC converter is shut down.
• State 1: This state is entered when the temperature derivative of LEG1 rises above
the threshold. In this state, the DC/DC converter is on, LEG1 is ON and LEG2 is
124
turned OFF.
• State 2: This state is entered when the temperature derivative of LEG2 rises above
the threshold. In this state, the DC/DC converter is on, LEG2 is ON and LEG1 is
turned OFF.
• State 3: This state is entered when the voltage of the two legs equalize. In this
state, the DC/DC converter operates at full available load. Both leg switches are
ON.
• State 4: This state is entered when the full S.O.C. is detected. The battery keep
being charged at low current.
• State 5: This is an intermediary state when the system needs to enter State 3 (both
legs charging) but the voltages of the legs are not equal. If the system enters State
3 directly, a high current could flow from one leg to another, potentially damaging
the charger. In state 5, LEG1 is charging and LEG2 is turned off until V1 rises to
be equal to V2. The system then enters State 3
• State 6: This state is identical to State 5 but for the case when V2 is lower than
V1.
For the BB2590 (Li-ion):
The state machine for the BB2590 is similar to the BB390. State 1 and 2 are not
present:
• State 0: Same as for BB390
125
• State 3: Both legs are charged together at constant current. When the battery
voltage reaches 16.4V, the current reference is lowered to maintain the battery
voltage under 16.4V. When the current reference gets under 150mA per leg, the
system switches to State 4.
• State 4: The battery is fully charged, the converter is shut down.
• State 5: This is an intermediary state when the system needs to enter State 3 (both
legs charging), but the voltages of the legs are not equal. If the system enters state
3 directly, a high current could flow from one leg to another, potentially damaging
the charger. In State 5, LEG1 is charging and LEG2 is turned off until V1 rises to
be equal to V2. The system then enters State 3
• State 6: This state is identical to State 5 but for the case when V2 is lower than
V1.
6.2.4 Feedback Controller Design
The control of the DC/DC converter is achieved through two feedback loops programmed
in the microcontroller as described previously. Only one loop is active at any given time.
The microcontroller chooses which to activate depending on the situation. One feedback
controller regulates the output current to the battery to a reference provided by the higher
level control algorithms. The second controller regulates the input voltage of the con-
verter (in other words, the voltage of the solar panel), to a reference also provided by the
higher level control algorithms (in this case, the MPPT algorithm).
126
In this subsection, we will model the system and calculate appropriate control func-
tions for the controller.
Figure 6.14: Shaded area shows the possible operating area at the input of the
DC/DC converter. Dashed curves show example of typical input
sources that can be used.
Fig. 6.14 shows the sources that can be used with the charger. The shaded area
represent the possible operating points at the input of the DC/DC converter. The area
is bounded by the minimum and maximum output voltage of 8V and 35V respectively.
The maximum current is limited to 7A in the inductor to avoid saturation. This translates
to an average input current of 7A maximum when the converter operates in Boost mode
(average input current equals average inductor current). Finally, the charging current
(the output current of the DC/DC converter) is limited to 2.5A per leg of the battery,
127
which results in maximum power of 83W if the battery voltage is 16.5V (maximum
voltage for the Li-ion BB2590 battery). Assuming a worst case efficieny of 90%, the
maximum input power is 91W. This limits the possible operating range of the input
under the curve shown in Fig. 6.14. Also shown in Fig. 6.14 are three examples of
typical I/V characteristic of inputs that can be used with the system: two different solar
panels and a battery (modeled as a voltage source in series with a resistor).
Because the system is designed to handle a large range of inputs (see Fig. 6.14),
tradeoffs will have to be made in order to achieve a stable control of the DC/DC converter
in any situation.
Output current controller In order to analyze the behavior of the converter and the
controller, we use an averaged state space model of the converter and perform lineariza-
tion around the operating point [64].
The DC/DC converter is comprised of a buck and a boost mode. Each mode will be
modeled on its own.
Figure 6.15: Model of the buck converter.
128
Buck For the Buck, the schematic of the model is shown in Fig. 6.15. Referring
to the schematic in Fig. 6.3, Qb is always ON and Q2 is always OFF. The inductor
is modeled as an inductance and parasitic resistance rL. The transistor bypassing the
boost’s diode in buck mode is modeled by a resistance. For convenience, it is included
in rL. The capacitors are modeled with their E.S.R. (rc1and rc2). The source is modeled
as a voltage source and a resistance and so is the battery (Eo and Ro). The diode D1 is
modeled as a voltage source Vd when conducting and the main switch Q1 as a resistor
(rDS on) when conducting.
The averaged model is expressed by the following equations [64]:
x = f (x, u, d) = A(d)x + B(d)u
iout = g(x, d) = C(d)x(6.1)
with: A(d) = d · Aon + (1 − d) · Ao f f and B(d) = d · Bon + (1 − d) · Bo f f
x =
vC1
iL
vC2
and u =
e1
eo
vD
and:
Aon =
−1C1(R1+rc1)
−R1C1(R1+rc1) 0
R1L(R1+rc1)
1L (−rc1R1
rc1+R1− rc2Ro
rc2+Ro − rL − rDS on) −RoL(Ro+rc2)
0 RoC2(rc2+Ro)
−1C2(rc2+Ro)
129
Ao f f =
−1C1(R1+rc1) 0 0
0 1L (−rc2Ro
rc2+Ro − rL − rDS on) −RoL(Ro+rc2)
0 RoC2(rc2+Ro)
−1C2(rc2+Ro)
Bon =
1C1(R1+rc1) 0 0
rc1L(R1+rc1)
−rc2L(Ro+rc2) 0
0 1C2(rc2+Ro) 0
, Bo f f =
1C1(R1+rc1) 0 0
0 −rc2L(Ro+rc2)
−1L
0 1C2(rc2+Ro)
−1C2(rc2+Ro)
C =
[0 rc2
Ro+rc2
1Ro+rc2
]
Remark: If the diode D2 is bypassed as shown in Fig. 6.15 then vD = 0.
If we assume an operating point for the source, the input parameters E1 and R1 are
set along with the input current I1. If the parameters of the load (Eo and Ro) are known,
we can estimate the steady state duty cycle:
Destimate =Eo + RoIo estimate
E1 − R1I1(6.2)
with:
Io estimate =−Eo +
√E2
o + 4Ro(E1I1 − R1I21)
2Ro(6.3)
The assumption made here is that the input power is equal to the output power. While
this is not true, it will allow us to get an estimate of the duty cycle D at that operating
point. We then use that estimate of D to calculate the steady state of the system using
the model previously calculated. The reason for this step is that we are not so much
interested in a specific duty cycle but a specific operation point on the I/V characteristic
130
of the input (such as a solar panel). That calculation allows us to fix the steady state
duty cycle for a given operating point. Because of the error in the estimation, the actual
operating point obtained will not be exactly the one desired. However, that does not
affect the accuracy of the model, just the position of the operating point for the simulated
converter.
IL,steady
VC1,steady
VC2,steady
= −A−1(D)B(D)
E1
E2
VD
(6.4)
The steady state of the system is calculated using 6.4.
Remark : The model assumes that the inductor current is in continuous conduction
mode (CCM). If the system is found to be not in CCM, i.e. if the average steady state
current is smaller than the calculated peak to peak current ripple, the model is not valid.
We now linearize around the operating point:
d = D + d (6.5)
x = X + x (6.6)
D and X are the nominal value of d and x respectively. d and x are the small-time
components of d and x around the nominal value. For the analysis, the input vector u
will be assumed to be constant: u = U.
131
˙x =∂ f∂x x +
∂ f∂d d = Ad x + Bdd
iout =∂g∂x x +
∂g∂d d = Cd x
(6.7)
with: Ad = AonD + Ao f f (1 − D)
Bd = (Aon − Ao f f )X + (Bon − Bo f f )U = (Aon − Ao f f ) ·
VC1,steady
IL,steady
VC2,steady
+ (Bon − Bo f f ) ·
E1
Eo
VD
Cd =
[0 rc2
Ro+rc2
1Ro+rc2
]
From (6.7) we obtain a transfer function relating the changes in the output current
˜iout to the changes in duty cycle d for any set of E1, I1 and R1. The system is a third order
transfer function with two zeros.
In the later sections we will compute the transfer functions for the range of operation
of the solar panels.
Figure 6.16: Model of the boost converter.
132
Boost The Boost model is shown in Fig. 6.16 and expressed by the following
equations:
x = f (x, u, d) = A(d)x + B(d)u
iout = g(x, d) = C(d)x(6.8)
with:
A = d · Aon + (1 − d) · Ao f f
and B = d · Bon + (1 − d) · Bo f f
x =
vC1
iL
vC2
and u =
e1
eo
vD
and:
Aon =
−1C1(R1+rc1)
−R1C1(R1+rc1) 0
R1L(R1+rc1)
1L (−rc1R1
R1+rc1− rL − rd son) 0
0 0 −1C2(Ro+rc2)
Ao f f =
−1C1(R1+rc1)
−R1C1(R1+rc1) 0
R1L(R1+rc1)
1L (−rc1R1
R1+rc1− rL − rc2Ro
rc2+Ro) −Ro
L(Ro+rc2)
0 RoRo+rc2
−1C2(Ro+rc2)
Bon =
1C1(R1+rc1) 0 0
rc1L(R1+rc1) 0 0
0 1C2(Ro+rc2) 0
133
Bo f f =
1C1(R1+rc1) 0 0
rc1L(R1+rc1)
−rc2L(Ro+rc2) − 1
L
0 1C2(Ro+rc2) 0
C =
[0 rc2
Ro+rc2(1 − d) 1
Ro+rc2
]
We now linearize around the operating point:
˙x =∂ f∂x x +
∂ f∂d d
iout =∂g∂x x +
∂g∂d d
(6.9)
˙x = Ad x + Bdd
˜iout = Cd x + Ddd(6.10)
with:
Bd = (Aon − Ao f f ) ·
VC1,steady
IL,steady
VC2,steady
+ (Bon − Bo f f ) ·
E1
Eo
VD
Ad = AonD + Ao f f (1 − D)
Cd =
[0 rc2
Ro+rc2(1 − D) 1
Ro+rc2
]
Dd = −[0 rc2
Ro+rc20]
IL,steady
VC1,steady
VC2,steady
134
Using the same linearization method as for the Buck mode, we obtain the transfer
function for the Boost. We then use Matlab to plot and analyze the response for all the
input scenarios: various input voltages, various operating currents and different equiv-
alent resistances at each of the points to model all different possible solar panels. We
opt for an integral compensator for each loop. We then making sure that the gain of
the controller leads to the phase margin being kept higher than a minimum value in the
worst case (30°).
Remark: Because of the type of input, we cannot guarantee a minimum response
time. For example, a solar panel operating close to the Maximum Power Point will
have a duty cycle-to-output current gain that will tend to zero because it is near the
point where the power cannot be increased. Hence the response time of any classical
controller will tend to infinity. However, we can design the converter to achieve stability
for any input characteristic and any choice of current reference, as long as the current
reference is reachable by the system, ie the solar panel can deliver the required power.
The controller is digital. Therefore, the converter’s transfer functions is converted
from Laplace domain into a Z domain transfer function form using Matlab (after nu-
merical calculation of the operating point average model). The tuning of the controller
is then performed to achieve stability and fastest possible response for the worst case
model(the one having the lowest phase margin). Once a candidate controller is chosen,
we verify that it will be stable in any input configuration and operating point with the
condition that the operating voltage is higher than the voltage at Maximum Power Point
for the given configuration.
Fig. 6.17 and 6.18 show the frequency response of the converter for different operat-
135
ing points (varying the input voltage and current) for the buck mode and the boost mode,
respectively. Fig. 6.14 shows the possible input voltage and current at which the con-
verter can be operating. Additionally, if the solar panel is modeled as an voltage source
in series with a resistor, the resistor can vary depending on the solar panel’s characteris-
tic and point of operation. We therefore compute the transfer functions using these three
parameters (input voltage, input current and source resistance) as variables. One issue in
designing the controller comes from the characteristic of the solar panel. When the oper-
ating point of the solar panels approaches the Maximum Power Point of the solar panel,
the dynamic resistance increases and the response time of the controller will increase
and tend to infinite as the operating points reaches the Maximum Power Point. There-
fore, it is impossible to design a classic controller with a guaranteed convergence time
for all the possible inputs. Although it would have been possible and desirable to design
a different controller for the Boost and the Buck mode, we used a single controller for all
the range of operation due to design time limitations. Calculating the transfer function
characteristic has shown that the most oscillatory response happens when the equivalent
source resistance R1 is zero. Finally, the controller’s gain is adjusted to be 80, ensuring
a phase margin higher than 30°for the worst case.
136
Bode Diagram
Frequency (rad/sec)
Pha
se (
deg)
Mag
nitu
de (
dB)
−20
0
20
40
60
80
101
102
103
104
−180
−135
−90
increasing Vpv
Figure 6.17: Current loop gain diagram of the digitized system and transfer func-
tion for the Buck model for different operating points (sampling time is
200µs). Worst case is 35V input voltage.
137
Bode Diagram
Frequency (rad/sec)
Pha
se (
deg)
Mag
nitu
de (
dB)
−20
−10
0
10
20
30
40
50
60
101
102
103
104
−180
−135
−90
Figure 6.18: Current loop gain diagram of the digitized system and transfer function
for the Boost model (sampling time is 200µs).
The combined gain of the current amplifier on the board and A/D converter inside
the microcontroller is 51.2 (gain of 1V for 1A for the amplifier and a full range of 256
for a maximum input voltage of 5V for the A/D converter). The gain of the duty cycle
generator is 11632 (the maximum value of the duty cycle is 0h660 per converter or 1632).
Therefore, the initial gain of the loop is 51.21632 = 0.0314 or 156 × 200 · 10−6 In order
to achieve the desired gain, we will have to divide the error signal by approximately 2.
This is done by a binary right shifting of the error register. Although the proper func-
tion is achieved, there is a loss of resolution associated with the loss of the information
on the LSB (least significant bit). This is inevitable due to the resolution of the PWM
generator (the initial gain is inversely proportional with the resolution of the PWM gen-
138
erator). Another solution to reduce the initial gain of the controller without affecting the
resolution of the calculations would be to reduce the gain of the current sensor.
Bode Diagram
Frequency (rad/sec)
Pha
se (
deg)
Mag
nitu
de (
dB)
−15
−10
−5
0
5
10
102
103
104
−180
−135
−90
−45
0
Figure 6.19: Closed loop transfer function of the digitized system and transfer func-
tion for the Buck model (sampling time is 200µs).
Fig. 6.19 shows the closed loop Bode plot of the converter+controller with a battery
a output and for various operating points of the solar panel.
139
Bode Diagram
Frequency (rad/sec)
Pha
se (
deg)
Mag
nitu
de (
dB)
−20
−15
−10
−5
0
5
101
102
103
104
−180
−135
−90
−45
0
Figure 6.20: Closed loop transfer function of the digitized system and transfer func-
tion for the Boost model (sampling time is 200µs).
Fig. 6.20 shows the closed loop Bode plot of the converter+controller with a battery
a output and for various operating points of the solar panel.
140
Time (sec)
Am
plitu
de
0 0.001 0.002 0.003 0.004 0.005 0.006 0.007 0.008 0.009 0.010
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8Buck Boost
Figure 6.21: Response of the Buck and Boost systems to a step in the current refer-
ence. The plot show the most oscillatory response for each converter
mode. Parameters for the Boost: E1 = 8V,R1 = 0Ω, I1 = 7A, Eo =
16.5V,Ro = 0.2Ω. Parameters for the Buck;E1 = 36V,R1 = 0Ω, I1 =
3A, Eo = 12V,Ro = 0.2Ω
Fig. 6.21 shows the simulated most oscillatory response for the Buck and the Boost
converter. Although the system is stable, the overshoot is quite large and undesirable.
One option to solve this issue is to reduce the gain, but as stated previously, this will
cause unwanted loss in precision due to the low bound on the possible gains. We add
bounds on the variation of the duty cycle per sample (rate limiter). Additionally, a dead
zone is added on the error to reduce the possibility of limit cycling due to quantization
effects, which has the dual effect of improving the dynamic response of the system as
141
well as increasing the steady state error between the output current and the reference. A
dead zone means that any error smaller than the dead zone value will be seen as zero.
The dead zone is set between ”-3” and ”+3” in the microcontroller which means that the
steady state error will be less than 69mA.
Figure 6.22: Simulink modelization of the DC/DC converter and controller.
The converter with the digital controller is simulated with Simulink. The diagram is
shown in Fig.6.22. The dead zone is modeled as well as the limit on the variation of the
duty cycle (modeled here as a saturation block on the error). The quantization effect for
the A/D converter as well as for the PWM generator is also modeled.
142
0 0.001 0.002 0.003 0.004 0.005 0.006 0.007 0.008 0.009 0.010
0.2
0.4
0.6
0.8
1
1.2
1.4
time (s)
delta
Iout
(A
)
Figure 6.23: Simulation of the system’s response to a step in the current reference,
E1 = 20V,R1 = 0Ω.
143
Figure 6.24: Experimental test of the response of the system to a step in the current
reference, the waveform is taken at the output of the current sensor
(1V ⇔ 1A), E1 = 20V,R1 = 0Ω.
Fig. 6.23 shows an example of the expected response of the system to a step in the
current reference and fig. 6.24 shows the experimental measurement of a reference step
for the same conditions. The experiment shows that the model is accurate and that the
converter and feedback loop perform according to the design. Fig. 6.25, Fig. 6.26, Fig.
6.27 and Fig. 6.28 show the same test for different input conditions. In each case, the
real system performs according to the simulation, showing the good performance of our
model.
144
0 1 2 3 4 5−0.1
−0.05
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
time (ms)
I(A
)
Figure 6.25: Simulation of the system’s response to a step in the current reference,
E1 = 20V,R1 = 2.5Ω, I1 = 1.1A.
145
Figure 6.26: Experimental test of the response of the system to a step in the current
reference, the waveform is taken at the output of the current sensor
(1V ⇔ 1A), E1 = 20V,R1 = 2.5Ω, I1 = 1.1A.
146
0 0.001 0.002 0.003 0.004 0.005 0.006 0.007 0.008 0.009 0.01−0.1
0
0.1
0.2
0.3
0.4
time(s)
I(A
)
Figure 6.27: Simulation of the system’s response to a step in the current reference,
E1 = 20V,R1 = 5Ω, I1 = 1A.
147
Figure 6.28: Experimental test of the response of the system to a step in the current
reference, the waveform is taken at the output of the current sensor
(1V ⇔ 1A), E1 = 20V,R1 = 5Ω, I1 = 1A.
Bypass connection for MPPT
As stated previously, if the DC/DC converter operates in Buck mode with a duty
cycle of 100%, the converter becomes practically a bypass switch and the only losses in
the system are due to the ON resistance of the power FETs and the inductor. There is no
switching loss and no diode forward voltage loss and this is therefore the most efficient
operation point of the converter. If the maximum power point of the solar panel matches
the voltage of the battery under charge, it is possible and preferable to run the charger
in that mode. However, because the controller controls the reference voltage and not the
duty cycles directly, that specific configuration of the switches cannot be guaranteed to
148
be one of the steady states during the scan for the Maximum Power Point.
In order to allow the converter to operate in this mode, we propose the algorithm
shown in Fig. 6.29.
Figure 6.29: Proposed algorithm to alternate between direct connection and MPPT.
Following this algorithm, the system routinely performs a scan of the input volt-
age to locate the Maximum Power Point using the DC/DC converter. If the voltage at
Maximum Power Point is close to the output voltage (the voltage of the battery), the
controllers turns OFF the DC/DC converters and turns ON Q1 and Qb on Fig. 6.3. Oth-
erwise, the system enables the DC/DC converters and the recorded voltage at maximum
power point is used as the reference for the control.
149
6.3 Conclusion
In this chapter, we have shown the design and construction of a prototype designed to
recharge military NiMH and Li-ion batteries with portable solar panels. The prototype
uses the results from the research described in the previous chapters, in particular:
• Differential temperature algorithm for full SOC detection for the NiMH chemistry.
• Li-ion algorithm not affected by input current swings.
• MPPT using input voltage control of the converter.
• Full digital control of the converter with 3bit dithering.
150
Chapter 7
Multi panel Maximum Power Point
Tracking
The previous chapter discussed different implementation of Maximum Power Point
Tracking algorithms and improvement to these algorithms for the classical operation
of a single solar panel operation.
The purpose of this chapter is to discuss how to parallel these solar panels together
with a low cost, small size Maximum Power Point Tracker (MPPT). Often (particularly
in U.S. military applications) the portable, foldable and flexible solar panels are sewn
together to form a tent or are simply connected in parallel directly to a NiMH battery
for faster charge. Because of the diversity of the solar panel industry, different modules
with different characteristic and technology can co-exist on an application. For example,
in the U.S. Army, soldiers have a wide variety of solar panel power manufacturers to
choose from. However, this leads to fundamental research questions that have yet to
151
be examined, such as: Can a small (portable), low cost MPPT circuit be used extract
maximum power from the multiple arrays? If so, how many sensors, microprocessors,
and power converters are required? Do the solar panels have to be the same size, type or
have similar output power? Etc. We focus on the development of a MPPT that has only
one single current sensor and one microprocessor, and thus is lower in cost and size than
if each solar panel were to have their own dedicated MPPT, as in [65].
In addition, the reduction of the sensing circuitry to a single output current sen-
sor allows new topologies to be considered for the task of performing multiple MPPT.
Because MPPT can be performed using the common output current, the need for one
individual output current branch for each solar panel is not necessary (such as in the
case of several converters connected in parallel) and a single inductor topology becomes
possible. Because precision measurement of the input voltage and current is not neces-
sary in this algorithm, topologies with floating inputs can easily be implemented. In this
chapter, we will propose a topology that takes advantage of these possibilities and can
operate with a single inductor and a simple switching scheme for easy implementation.
The contributions of this chapter are summarized as follow:
• New dynamic power point tracking algorithms are presented for the proposed sin-
gle sensor ”interleaved” architecture. Two approaches are discussed in this chap-
ter. First, a simple ` interleaved´ approach is described, which is more suitable for
paralleled solar panels with similar output power capabilities. Second, a ` steepest
ascent´ MPPT is proposed that uses gradient ascent algorithms to update to the
MPPT quicker. This has particular advantages when one solar panel is able to
produce more power than other panels.
152
• Experimental, simulation and theoretical results are presented which support that
the proposed MPPT system is suitable for these types of applications. Compar-
isons are made between the interleaving of sensors and traditional MPPT with
individual dedicated sensors. Both approach reach the same final operating point.
The interleaved approach has reduced sensor cost, but with the drawback of slower
algorithm convergence.
• A single inductor topology for multiple input systems developed in [66] is used
that takes advantage of the aforementioned MPPT method to reduce size and cost
of the converter. The proposed architecture offers advantages in terms of reduced
cost, development time with its single inductor design and the fact that it can
operate with unsynchronized PWM control inputs
7.1 The Classic Perturb and Observe Method
This section will introduce the Perturb&Observe method as it was already done in Chap-
ter 2. The Perturb and Observe algorithm is a dynamic method that seeks the Maximum
Power Point of the solar panel and keep the panel operating around it [3, 41–44].
Perturb & Observe algorithms work by modifying the solar panel’s output voltage
and observing the result on the output power. If the power is increased due to the per-
turbation, then the algorithm keeps perturbing the voltage in the same direction until the
power begins to decrease. If the power decreases due to the perturbation, the algorithm
reverses the direction of the perturbation.
153
Figure 7.1: The Perturb & Observe algorithm.
The algorithm is shown in Fig. 7.1. Assuming a PWM control of the switches, D(n)
is the duty cycle of the DC/DC converter at the sample n. α(n) is the direction of the
perturbation at the sample n. Its value is either +1 or -1. PPV(n) is the output power of
the solar panel at the sample n.
154
7.2 Single Sensor, Multiple Panel MPPT Algorithms
Figure 7.2: Traditionnal Multiple array Maximum Power Point Tracking method:
The voltage and current is sensed at the output of each photovoltaic pan-
els.
The common approach to operate multiple solar panels in parallel at their MPP is to
build a dedicated tracking and sensing circuitry for each solar panel which require a
couple of sensor for each array: an input voltage sensor and an input current sensor(Fig.
7.2) [36,65,67–70]. This is an excellent approach for high power PV systems, but takes
up board space and increases cost for the portable applications described above.
155
Figure 7.3: Proposed Multiple array Maximum Power Point Tracking method: only
the load current is sensed to achieve Maximum Power Point Tracking.
In this research we propose a new MPPT design with only a single current sensor
required as shown in Fig. 7.3. The converters used with the algorithm can be of many
different type, such as the boost converter design in [71],converters proposed in [37,72–
74] a system of boost or buck converter with ORing diodes, as done in the first part of
this chapter with a multiple boost configuration or the converter proposed in the next
section. Only the load current is sensed. For a single solar panel, [45,75] shows that the
load current is (in most cases) enough to track the maximum power point of one solar
panel. It is now proposed that MPPT can be achieved for multiple solar panels using
only the sensed load current. Depending on the controller’s technology, this can result
in much smaller circuitry. Many FPGAs, for instance, do not possess A/D conversion
156
circuitry. Each line of analog information therefore needs extra circuitry to convert it to
digital. In addition, sensing circuitry is necessary for each sensed data which can greatly
increase the cost [52].
Methods exist that achieve Maximum Power Point Tracking using only the open
circuit voltage of the solar panel [33] as discussed in Chapter 2. However, this method
depends on the solar panel temperature [35] and mainly technology. In the case of a
portable system that can be connected to various types of existing commercial solar
panels, that method is not valid.
In order to achieve MPPT with only one load sensor, we introduce the idea of an
interleaving MPPT algorithm. In this algorithm, the operating point of each input will be
modified by perturbing each converter’s duty ratio turn-by-turn. This will be explained
in detail in the following section. Clearly, the idea of interleaving that we introduce is
different to the concept of interleaving the switching of DC/DC converter to reduce the
output current ripple. Here we are taking turns using a single sensor for adjustment of
each of the separate duty ratios of the individual converters.
We also analyze the dynamics of the controller and the tradeoffs compared to a more
classical method that controls each solar panel by sensing their respective output power.
157
7.2.1 Interleaving MPPT Algorithm
Figure 7.4: Interleaved MPPT algorithm. The duty cycle of each converter is per-
turbed turn by turn. As a result of a perturbation of one converter the
next duty cycle for that converter is calculated and stored. Then, the
stored duty cycle of the next converter is applied and the process contin-
ues. The algorithm cycles that way through all the converters. (step=1
at initialization, N is the number of PV panels.)
The basic proposed MPPT algorithm is presented in Fig. 7.4. It consists of an inter-
leaved Perturb&Observe scheme: The duty ratio of one converter (Duty( j) where j is
the converter’s number) is perturbed and the steady state load current (Iout) sensed and
stored. The duty cycle of the next converter is then perturbed; the load current is again
sensed, and so on. In this way, if there are N solar arrays, then it takes N perturbations
158
before a cycle is complete and individual converter’s duty ratio is perturbed again. The
direction of the duty ratio perturbation, step(j), equal to 1 or -1, depends on whether its
previous perturbation (from the last cycle) increased (if Iout is larger than Iold) decreased
the load’s output current. If it increased the load current, then the perturbation is kept
in the same direction. Otherwise, the duty ratio is adjusted in the opposite direction
(step( j) is negated). Once the new duty cycle for the j th input has been computed, it
is not directly updated but stored in Duty s( j) and will be applied in the next round of
perturbation.
The converter is operating in open loop when executing the algorithm: the duty cycle
is changed by increments every time step. No adjustment is made between the steps in
order to account for perturbations. This is commonly done in MPPT and while this is
not always desirable (see our discussion in Chapter 5), it is not the focus of this research
to address that specific issue in the proposed algorithms presented in this chapter.
159
Figure 7.5: Experimental three inputs Maximum Power Point Tracker.
To test the algorithm, the circuit of Fig. 7.5 is used. It consists of a parallel output
connection of boost type DC/DC converters. Each converter is connected to a solar
panel. There is no restriction for the solar panels to be matched. Each switching cell
(transistor + diode) can be controlled independently without the need for interleaving
the commutation of the switches, thanks to the output diode on each converter which
block any current to flow from one converter into another. Therefore, the switches can
be turned ON and OFF at different and overlapping duty ratios. Rs is the current sensing
resistor used in the MPPT algorithm. The behavior of the converter and the algorithms
are first simulated and then tested experimentally.
Remark: While the inductor current do not need to be interleaved, it is usually the
160
preferred method used in a system of parallel converters in order to achieve lower output
current ripple [76]. However, this is beyond the scope of this research.
0 500 1000 15000
2
4
6
Cur
rent
(A
)
PV 1PV 2PV 3Output
0 500 1000 15000
20
40
60
80
P.V
. Pow
er P
rodu
ced
(W)
0 500 1000 15000.2
0.4
0.6
0.8
time step
Dut
y C
ycle
Figure 7.6: Simulation of the algorithm for a three input boost converter.
Simulations in Matlab (see Fig. 7.6) have been carried out to test the feasibility of a
multi-input DC/DC converter designed to achieve simultaneous MPPT of several solar
panels (with different characteristics) with a Perturb & Observe algorithm and using a
single current sensing component. The simulation is achieved using a Newton-Raphson
algorithm that calculates the steady state of the system (converter, load and solar panels)
for a given set of source and load and for a given set of duty cycles.
161
The equations of each solar panel are given by:
I j = Il − I0[eqViAkT − 1] = f j(V j) (7.1)
where I j and V j are the output current and voltage of the jth solar panel. k is the Boltz-
mann constant, q is the electron charge, T is the temperature in Kelvin, A is a dimension-
less factor, Il is the light generated current and Io is the dark saturation current (although
the subscript j hasn’t been added to Il., Io and A, they are different for each solar panels.)
In the case of boost converters and assuming continuous conduction mode on all
converters (Iout = (1 − D) Iin for all converters), the steady equations become the fol-
lowing:
I j = f j(V j) (7.2)
V j
1 − D j= Vout (7.3)
Iload =∑
(1 − D j) I j (7.4)
These equations form the system that need to be solved in order to fully characterize
the steady state of the circuit. D j is the duty cycle of the jth converter and the load is
modeled as a voltage source in series with a resistance:
Vout = Eload + Iload Rout (7.5)
162
0 5 10 15 20 25 300
0.5
1
1.5
2
2.5
3
3.5
4
Voltage (V)
Cur
rent
(A
)
Figure 7.7: Characteristic of the solar panels used in the simulation. A shade can be
simulated by using a different characteristic for the solar panel (lower
curve instead of the higher).
The I-V curve of the solar panels modeled in our simulation is shown in Fig. 7.7.
The figure shows two I-V curves for the same simulated solar panel, but the lower cur-
rent curve is shaded. The models in the Annexe that are simulated represent a typical
solar panel (75 Watts) that is designed to have MPP at around 24V in full sun illumi-
nation. During the simulation, shade is simulated over the solar panel by changing the
characteristic of the solar panel from the higher current curve to the lowest.
The Matlab scripts for the simulation are provided in Annexe.
Fig. 7.6 shows that the system converges to the maximum power point of all three
solar panels. Initially, all three solar panels are of same characteristic. The duty cycle
163
for each converter increases until the Maximum Power Point is reached. The duty cycles
then oscillate around the value that keep the solar panels operating at their Maximum
Power Point. A sudden drop in light intensity is simulated on one of the solar panel at the
500’th step. This, in effect, makes the solar panel different from the other ones (different
I versus V characteristic). When that happens, the power output by the shaded solar
panel decreases sharply. Additionally, there is a net drop in the power produced by the
other solar panels. This is due to the fact that lower power transmitted results in a lower
voltage at the output of the converter. This will affect the current transfer of all the other
converters for a set duty cycle. Therefore, the other panels’s operating points are also
affected and moved away from the Maximum Power Points. It is shown that the system
is able to recover by changing the duty cycles and keep all the panels operating at MPP
as it can be seen that the two non shaded simulated solar panel recover their full power
production level. The initial light condition is restored around the thousandth simulation
step and the algorithm is once again capable of adjusting the duty cycles properly and
achieve MPPT.
In each situation, the system was able to reach the global maximum power point of
the system (set of duty cycles that allow each solar panel to operate at its individual Max-
imum Power Point). The advantage of such method would be: reduced current sensing
circuitry and reduced current sensing A/D conversion lines which leads to reduced board
size and cost.
164
Figure 7.8: Comparison between the standard P&O implementation and the pro-
posed algorithm. Top curves: load current. Bottom curves: output cur-
rent of each converter. The current for the proposed method is shown in
dark.
A disadvantage of the proposed method is also highlighted in Fig. 7.8. The figure
shows the evolution of the proposed interleaving algorithm with simulated solar pan-
els. At the simulation steps 500, 900 and 1200, the simulated light intensity is modified
resulting in a modification of the Maximum Power Point position and a change in the
output current. The algorithm keeps adjusting the duty cycle of the simulated converter
to track the Maximum Power Point. The figure also shows the evolution of the simula-
tion using a conventional Perturb&Observe method on each solar panels (no interleaving
and information taken using each solar panels’ output currents and voltages with sepa-
165
rate sensors). As expected, the proposed interleaving method has a slower response time
due to the fact that the current sensor’s information is shared by all the converters, which
slows the execution of the algorithm for each converter and solar panel.
7.2.2 Gradient Ascent Interleaved Algorithm
An improved version of the MPPT algorithm is also presented in Fig. 7.9. Here, the
basic concept to perturb individual duty ratios and measure the effect in an interleaved
method remains the same. However, in this case, the next converter to perturb in chosen
using a steepest gradient climbing estimation based on the previous perturbations:
∇I =∆I1
∆D1
−→d1 +
∆I2
∆D2
−→d2 +
∆I3
∆D3
−→d3 (7.6)
166
Figure 7.9: Interleaved gradient ascent algorithm.
The degrees or freedom (or axes) are the duty cycles (N directions in which the
system can be moved where N is the number of solar panels in the system). ∆I j is the
latest variation of the output current resulting from a perturbation on the jth converter,
step j ∆D is the perturbation step of the duty cycle of the jth converter (∆D is usually
a fixed value). Duty( j) is the duty cycle of the jth converter and Duty s( j) is the stored
duty cycle for the jth converter that will be applied the next time that Perturb&Observe
is performed on that converter.
167
In order to favor the evolution of the duty cycle of the most influential converter (the
one for which a variation in the duty cycle will result in the highest elevation of power
on the load), each cycle is composed of a number of steps (arbitrarily chosen here to be
2N where N is the number of inputs). The number of steps in each axis is then optimized
using the following formula:
N S ( j) = round(|∆I j|‖∇I‖1 2N) (7.7)
N S is a vector of N elements and contains the information about the amount of time
that a Perturb and Observe operation need to be executed for each panel. N S ( j) is the
amount of time the Perturb and Observe sequence must be executed for the jth solar panel
in one cycle. The values of N S are calculated following the previous formula after the
gradient of the power of the solar panels is estimated. The result is that the algorithm
will more often perturb and observe the solar panel for which an increment of the duty
cycle resulted in a larger power increase. After the cycle is completed, the gradient will
be calculated again using the past values of the current stored in the memory.
In the algorithm of Fig. 7.9, cyc count is a value that is initialized at 2N, which is the
maximum amount of time, Perturb and Observe can be executed for one solar panel in
one cycle according to our definition of the content of the vector N S . As the algorithm
cycles through the index j of the input solar panel, a check is made to see if the content
of N S ( j) is higher than the value of cyc count (if N S ( j) > cyc count). If it is the case,
a Perturb&Observe sequence will be programmed for the solar panel. If not, then, the
168
algorithm will check the content of N S ( j + 1) until all solar panels have been checked.
The value of cyc count is reduced by one and the value of j set back to 1. This goes on
until cyc count = 0. When that happens, the gradient is estimated again, the vector N S
is updated using the formula 7.7 and cyc count reset to 2N. In summary, the goal of this
part of the algorithm is to make sure that each solar panel is perturbed as often as set by
7.7.
One additional step in each axis can be added to enhance the estimation of the gradi-
ent at the end of each 2N steps. This ensures that the calculation of the gradient is done
using the most recent data.
The first proposed interleaved algorithm with one current sensor converges to the
global Maximum Power Point (MPP) of the system N times slower than the P&O algo-
rithm with N sensors. That is because the current sensor is shared by each converter in
the system. The gradient climbing algorithm can reach the MPP in a smaller number of
steps than the basic algorithm and the transient power produced will always be higher
than the interleaved algorithm. This is because the algorithm follows the highest power
increase path to the global MPP.
169
Figure 7.10: Comparison of convergence speed for the classical Perturb and Ob-
serve algorithm, the proposed interleaved algorithm and the proposed
modified interleaved gradient ascent algorithm.
170
Figure 7.11: Comparison of convergence speed for the classical Perturb and Ob-
serve algorithm, the proposed interleaved algorithm and the proposed
modified interleaved gradient ascent algorithm.
Improvement in the convergence is shown in Fig. 7.10 and Fig. 7.11. The figure
shows the current output of a simulated system with two solar panels. Steps in the
simulated light intensity are added. The system is simulated for the classical three panel
Perturb& Observe method, the basic proposed interleaved algorithm and the proposed
gradient ascent interleaved algorithm. As expected, the algorithm shown in Fig. 7.6
performs N times slower, where N is the number of solar panel in the system (in this
case N=2), than when each array runs its own individual, stand alone P&O algorithm.
The modified algorithm in Fig. 7.9 helps reducing the convergence time to the Maximum
171
Power Point of the system.
Remark: If the solar panels have the same I/V characteristic (same technology, same
illumination, etc...), the gradient algorithm will perform the same as the first newly pro-
posed algorithm presented previously.
Figure 7.12: Trajectories of the proposed gradient climbing interleaved algorithm
and the original proposed algorithm for a two input system.
Fig. 7.12 shows the map of the output power for changing set of duty cycles in a dual
PV array system calculated by solving the previous equations (calculated for a two input
system.) On top of the map, the simulated excursion path of the proposed interleaved
algorithm is shown as well as the original basic interleaved algorithm. Fig. 7.13 shows
the path of each duty cycle in the time domain. The proposed basic interleaved algorithm
172
is shown on the top plot while the proposed gradient ascent algorithm is shown on the
bottom plot. It shows how the algorithm reaches the Maximum Power Point faster than
the basic one.
Figure 7.13: Evolution of the duty cycles for both algorithm for a two input system.
Top: basic interleaved algorithm. Bottom: gradient ascent interleaved
algorithm.
Some experimental results have been obtained using a dual input boost converter.
The circuit is the same as Fig. 7.5 with the difference that only two Boost converters
are paralleled. The input capacitors C1 and C2 are 10µF each. The output capacitor is a
100µF. The results are shown in Fig. 7.14 and Fig. 7.15. Fig. 7.14 shows the evolution
of the algorithm and the oscillation around the Maximum Power Point of the system.
173
Fig. 7.15 compares the experimental response time of the two proposed algorithms.
Figure 7.14: Output current and duty cycle variation for the gradient ascent algo-
rithm in an experimental dual input boost MPPT system.
Fig. 7.14 shows the evolution of the proposed gradient ascent algorithm. It shows
how the algorithm performs perturb and observe more often on the larger solar panel
between t=0 and t=0.8s as the power gain is measured as higher after the estimation of
the gradient. Between t=0.8s and t=1.7s, as the larger solar panel reaches Maximum
Power Point, the effect of changes in the duty cycle on the output power reduces and the
algorithm gives more time to other smaller solar panel to reach its own Maximum Power
Point. When the smaller solar panel gets close to its Maximum Power Point operation,
174
the larger solar panel takes priority again in the algorithm after t=1.7s.
This experiment shows how the algorithm favors a specific solar panel when it sets
the sequence of the Perturb & Observe.
Figure 7.15: Experimental results showing the response time of the basic interleaved
and gradient ascent interleaved MPPT algorithms.
Improvement in the convergence is shown in the simulation in Fig. 7.15. Both the
proposed interleaved algorithm and the gradient climbing interleaved algorithms are ex-
perimented with the same set of solar panels. The proposed gradient climbing algorithm
is shown to converge to the global Maximum Power Point sooner.
175
7.3 Proposed MPPT System Architecture
Figure 7.16: Proposed Maximum Power Point Tracking architecture for multiple so-
lar panels. Three solar panels are illustrated but the topology extends
to arbitrary N inputs.
In the previous section, we introduced algorithms designed to track the Maximum Power
Points of several solar panel using a single sensor. The advantage of these algorithm is
the fact that only the output current needs to be sensed reducing board space and cost.
We believe that these facts make the proposed algorithm useful for low power solar
applications despite the drawback of lower tracking speed.
In this section, we propose a new architecture to improve the design of Maximum
Power Point Tracking systems for multiple solar panels. It is specially designed to be
176
used with the algorithm designed in this chapter and is made attractive due to the re-
duction in the sensing circuitry needed for MPPT that our proposed algorithm offers.
Because of that reduction, it is no longer necessary to keep the output current of each
energy conversion circuit separated. Therefore topologies with single inductor where
the energy is delivered in a single output branch are made available. The architecture
is presented in Fig. 7.16 for a three solar panel system, but the topology extends to
arbitrary N inputs. The advantages of this configuration are:
• A single inductor is required for all the input which makes design simpler and
reduces board space.
• Only one current sensor is needed for current mode control or protection of the
circuit when using synchronous rectification.
• The duty cycle of each switching cell operated in PWM mode can be selected
independently and do not need to be synchronized (two inputs can conduct at the
same time) [66].
• Voltage stress on each switch is the same compared to separate buck converters.
Multiple-input converter topologies have been widely proposed. In this research
we look at topologies to draw out the benefits in the case where the inputs are solar
arrays operating with a MPPT algorithm. A Single inductor multiple input buck-boost
converter has been proposed [72]. In [74], the inputs of a buck converter are paralleled
and connected to a single inductor which reduces the part count. Because the inputs can
be of different voltages, the control circuit must be designed in a way that no switch
177
is turned ON at the same time [77]. A double input converter with a single inductor
is proposed in [73]. It consists of a topology that combines step up and step down
function where one input has a higher voltage than the output and another one that
has a lower voltage than the output. A topology involving the series connection of
flyback converters has also been shown [78]. It involves the series connection of the
output flyback transformers and can operate with various non synchronized duty cycle
but still requires one magnetic component (transformer) per input. Numerous interesting
topologies have also been presented [79–83] that have multiple inputs.
In [66], a variety of topologies are derived from a systematic design theory. These
converters offer some interesting features, in particular, the fact that they do not require
synchronization of the duty cycle. We have retained one of the topology proposed in [66]
and shown in Fig. 7.16 as an interesting topology for our multiple solar panels Maxi-
mum Power Point Tracking architecture. Unlike the multiple buck boost of [72], the
proposed converter does not require synchronization of the duty cycle. The need for
duty cycle synchronization could make the implementation of the control more compli-
cated in some cases as microcontrollers usually do not support this function (they have
PWM outputs that are all synchronized on their rising or falling edges and therefore can-
not create the required switching pattern). However floating channels and higher current
stress in the switches of our proposed converter drawbacks of our chosen topology. Fi-
nally, proposed [66] converter offers a beneficial cost effective solution to low power
MPPT circuits compared to use of multiple flyback topologies [78, 81].
178
7.3.1 Operation
Figure 7.17: Timing of the proposed multiple three input converter. This figure shows
one example of timing.
The circuit diagram is shown, along with the flow of the current for each operational
states, in Fig. 7.17. The three inputs of the circuit are not hierarchized, the diagrams in
Fig. 7.17 represent only one example of possible sequence: cell ¨2¨switches first, then
cell ¨3¨, then cell¨1¨. All the other combinations are possible.
179
For the example shown in Fig. 7.17 the timing is as follows :
1. Q11,Q21,Q31 are switched ON, Q12,Q22,Q32 are OFF. The current flows through
all the solar panels. The configuration is equivalent with a buck converter with in-
put voltage V1 + V2 + V3. Therefore the inductor voltage is V1 + V2 + V3 − Vo.
2. Q11,Q22,Q31 are ON, Q12,Q21,Q32 are OFF. The current flows through solar
panels 1 and 3 and bypasses solar panel 2. The voltage on the input side of the
inductor is V1 + V3, and therefore, the voltage across the inductor is equal to V1 +
V3 − Vo.
3. Q11,Q22,Q32 are ON, Q12,Q21,Q31 are OFF. The current flows through solar
panel 1 and bypasses the others. The voltage across the inductor is now V1 − Vo.
4. Q12,Q22,Q32 are ON, Q11,Q21,Q31 are OFF. All solar panels are bypassed and
the inductor discharges into the load. The inductor voltage is equal to −Vo (all the
stages are bypassed).
If the input capacitors are large enough, the voltage at each input can be considered
constant during one cycle. The duty cycle of each cells do not need to be synchronized
in any way. The input capacitors C1,C2 and C3 allow high current response and are
recharged each time the associated solar panel is bypassed.
180
Figure 7.18: Inductor current (top) and inductor voltage (bottom) in the three input
converter operating in CCM.
The steady state input to output relationship can be found using the fact that the
inductor has a zero voltage average. Fig. 7.18 shows the current and voltage across the
inductor for CCM operation. Ideal switch and energy storage components are assumed
(no losses in the switches, the inductor or the capacitors).
The following relationship exists in CCM:
181
V1 D1 + V2 D2 + V3 D3 = Vout (7.8)
V1,V2,V3 are the voltage at the three inputs of the converter, or, in other words the
voltage of the solar panels. D1,D2,D3 are the duty cycles of the three switching cells of
the converters. Vout is the output voltage.
The ripple in the inductor current for the converter operating in CCM is found with
the following formula:
∆iL =(1 − max(D1,D2,D3))Vout
L f(7.9)
L is the inductor value in Henry and f is the switching frequency of the PWM gen-
erator in Hertz. This calculation of the ripple assumes a system with PWM generators
for each switching cells synchronized on their rising edge as it is done for Fig. 7.18.
Interleaved control of the switch can lead to lower ripple calculation for the same set of
parameters.
The ripple voltage at the first input can be found using the assumption that most of
the ripple current will be absorbed by the input capacitor [64] :
∆v1 =(1 − D1)ILD1T
C1(7.10)
If the load is purely resistive, the input voltage ripple becomes:
182
∆v1 =(1 − D1)(V1D1 + V2D2 + V3D3)D1T
C1Ro(7.11)
Where Ro is the value of the output resistor in Ω.
The ripple calculation can be extended to the other inputs by symmetry :
∆v2 =(1 − D2)(V1D1 + V2D2 + V3D3)D2T
C2Ro(7.12)
∆v3 =(1 − D3)(V1D1 + V2D2 + V3D3)D3T
C3Ro(7.13)
In DCM, the following relationship applies:
Pout =1L (V1 D1 + V2 D2 + V3 D3) (7.14)
Pout is the output power of the system and L is the value of the inductor.
183
Figure 7.19: Inductor current (top) and inductor voltage (bottom) in the three input
converter operating in DCM.
Fig. 7.19 shows the theoretical current and voltage waveforms through the inductor
of the proposed converter operating in DCM.
The system is first simulated in Matlab and tested using the simple interleaved algo-
rithm described in the previous section. Experimental verification will be presented in
the next section.
184
2.005 2.01 2.015 2.02 2.025 2.03
x 10−3
25
25.5
26
26.5
27
V
2.005 2.01 2.015 2.02 2.025 2.03
x 10−3
5
5.5
6
6.5
7
A
2.005 2.01 2.015 2.02 2.025 2.03
x 10−3
17.8
17.9
18
18.1
18.2
time
V
Figure 7.20: Simulation showing the expected waveform of the proposed three input
DC/DC converter with a resistive load and three different solar panels.
The simulations are achieved using a switched circuit approach and Matlab’s ODE
solver. The scripts are given in the Annexe. The result of the simulations shown in
Fig. 7.20 indicate that the circuit can operate properly in CCM mode. The input are
simulated solar panels and have different operating voltage (top plot). The inductor
current rises sharply at the beginning of each cycle as every solar panel is connected in
series. The rising rate of the current drops each time one input is disconnected from
the current path. In this simulation, each input voltage V1, V2 and V3 is greater than the
desired output voltage. Thus, for all 0 < t < T. max(d1, d2, d3), the inductor current is
185
increasing. The current finally drops when the last input is disconnected. The inductor
is set to 50µF and the input capacitor to 80µF. The output capacitor is 33µF and the
load is a 3Ω resistor.
Figure 7.21: Simulation showing the expected waveform of the proposed three input
DC/DC converter with a resistive load and three different solar panels.
Top: Current in the inductor. Bottom: Input and output voltages. The
voltage of one of the solar panel (V3) is lower than the output voltage.
One difference with this configuration compared to three bucks in parallel is that
input voltages of the sources do not have to be each higher than the output voltage for
the converter to operate. A simple example is when each input is a voltage source and
186
the duty cycle of each switching cell is the same. The system will then operate as one
regular buck converter with input voltage V1 + V2 + V3. Therefore, each input voltage
can individually be lower than the output voltage. Another, more interesting case, is
illustrated in Fig. 7.21. In this simulation, one of the input voltage (V3) is lower than
the output voltage. The order of switching is: source 1 (V1 on the plot) is switched off
first, then source 2, and finally source 3 (D1 < D2 < D3). The top plot shows that the
current in the inductor reduces when only the third source is connected. This is expected
because V3 < Vout and the inductor voltage becomes negative when t > D2 T . However,
the source is still able to transfer energy to the load.
One disadvantage of the topology is an increased switching loss on the FETs, as
each switch has to sustain the full output current when they turn ON (the current is split
between each inductor in the parallel connection.) Therefore for a three input converter,
the current stress on each switch will be in average three times higher than the stress
found in a classic parallel connection of Buck converters. The voltage stress of each
switch is the same as the parallel buck configuration.
187
7.3.2 Experiments
Figure 7.22: Three solar panels connected to the experimental Maximum Power
Point Tracker.
An experimental three input circuit is built following the proposed configuration of Fig.
7.16. The system includes a microcontroller with three independent PWM channels. The
three power stages are implemented using FDS8447 MOSFETS and ADP3120 drivers
(one per channel). Each driver is powered by their respective solar panels and the control
signal is transmitted to two of the channels using optocouplers (The first channel shares
ground with the controller and so does not require specific circuitry to receive the PWM
signal from the microcontroller). The input capacitors C1,C2 and C3 are 22µF each and
the inductor has a value of 33µH. The output capacitor Cout has a 47µF capacitance.
188
The switching frequency is 200kHz.
The proposed interleaved MPPT algorithm is programmed in the microcontroller and
data is logged through the serial port to a computer. The experimental setup is shown in
Fig. 7.22. Outdoor testing is used for all of the experiment involving this circuit. The
solar panels shown in the picture and used in the experiments are 10W solar panels from
PowerFilm Inc. (model F15-600) unless otherwise specified.
Figure 7.23: Ch1 (Bottom): Potential between the output of the third stage and the
ground. Ch2(Top): Load voltage. The load is a 4.7Ω resistor
Fig. 7.23 show some waveforms illustrating the function of the three input DC/DC
converter: the output voltage on Channel 2 and the voltage between the inductor and the
ground on Channel 1. The position of the probe can be seen on Fig. 7.16 labeled CH1
for Channel 1 and CH2 for Channel 2. The probes share the same ground as the one
shown on Fig. 7.16. As expected, the last waveform shows the potential jumping from
189
higher voltage to a lower ones as each switching cell controlling a panel’s conduction is
switched.
0 50 100 150 200 250 300 350 4000
0.5
1
1.5
2
2.5
Out
put c
urre
nt (
A)
0 50 100 150 200 250 300 350 4000
0.1
0.2
0.3
0.4
time (s)
duty
cyc
le
Panel 1Panel 2Panel 3
Figure 7.24: Experimental evolution of the algorithm in the three input Buck con-
verter. Top: output current. Bottom: duty cycles of the three switching
cells.
Fig. 7.24 shows the recorded evolution of the algorithm, the duty cycle for the three
switching cells of the converter as well as the output current. This figure shows that the
system is able to achieve maximum power point tracking for the three solar panels using
only a single current sensor. In this experiment, the algorithm is deliberately slowed
down to allow the transfer of information between the microcontroller and the computer
recording the experimental data. At t=146s a shadow obscures one of the three panels.
The shade is removed at t=245s. The system’s adaptation to the change in light intensity
is shown by the evolution of the duty cycles of the converter.
190
Fig. 7.25 show other experimental results.
0 20 40 60 80 100 120 140 1600
0.5
1
1.5
2
Cur
rent
(A
)
0 20 40 60 80 100 120 140 1600
0.1
0.2
0.3
0.4
time (s)
Dut
y C
ycle
Figure 7.25: Experimental evolution of the algorithm in the three input Buck con-
verter. Top: output current. Bottom: duty cycles of the three switching
cells.
In Fig. 7.25, one solar panel is put in the shade at t=95s resulting in a loss of power
and a reconfiguration of the duty cycle oscillation region by the controller.
7.3.3 Conclusion
We have proposed an algorithm capable of tracking the Maximum Power Point of several
solar panels using only a single current sensor. The algorithm works by interleaving a
Perturb and Observe type algorithm which enable the current sensor to be ` shared´ by
each solar panel. The advantage of this system is a reduced design cost due to lower part
count, increased flexibility to add solar panel, and increased layout simplicity for small
191
portable systems. This configuration also has some disadvantages over classic methods,
the main one being an increased convergence time to the Maximum Power Point of the
solar panels.
An additional modification of the algorithm is proposed to partially address the issue
of the increased convergence time. The proposed gradient climbing interleaved algo-
rithm can increase the speed of the system by performing a perturb and observe sequence
more often on the solar panels that produce more power. This increase the convergence
speed in the case where one of the solar panel has a higher power output than the other
panels in the system (because of its technology or because it receives a higher illumina-
tion).
Finally, an architecture is proposed that maximizes the benefits of the proposed al-
gorithm by offering a configuration that requires only one inductor and can achieve
synchronous rectification control of the converter using a single current sensor. The pro-
posed converter has the ability to function in PWM mode with unsynchronized switching
waveforms making it simple to implement.
192
Chapter 8
Conclusion
In this thesis, we have addressed some of the problems related with field operation of
rehargeable batteries. This research has been motivated by the increasing need of reliable
portable power generation for low power applications and the rise of the flexible solar
panel industry to answer those needs. These new technologies are increasingly used in
the civil as well as in the military areas. The U.S. Army, in particular, has reported issue
when using solar panels with their rechargeable batteries.
In this research, we have identified some major issues in charge control of the bat-
teries when the charging source is a solar panel. In particular, we have noticed that tra-
ditional voltage algorithms for NiMH batteries fail, due to large variations of charging
current. Moving shadows and passing clouds result in variations in the battery voltage
that fool the charger. These variations are relatively large compared to the evolution of
the voltage when constant current is used. Therefore, the information on overcharge of
the battery is lost. Similarly, temperature swings due to weather changes can greatly
193
affect the detection of overcharge based on temperature methods. Finally, Li-ion charge
control algorithms need extra care in their design, as some formulation of the algorithm
can result in failure and early termination of the charge when used with a solar panel.
In Chapter 4, we have proposed charge control algorithms to solve the previously
identified issues. The proposed methods outperform the existing charge control algo-
rithms in changing weather situations. In particular, the proposed algorithms are more
robust to false detections before the battery is fully charged. One of the methods pro-
posed is based on the voltage evolution of the battery. It involves a detection and filtering
of false events. A second charge control algorithm is based on differential temperature
measurement between two groups of battery cells in order to filter out the effect of chang-
ing ambient temperature and irradiation. This algorithm has been shown to work for the
military BB390 NiMH battery as well as for off-the-shelf standard AA cells. Finally, we
have shown a proper formulation of the Li-ion charge control algorithm for use with the
solar panels.
In Chapter 5, we have analyzed different implementations of a dynamic algorithm for
Maximum Power Point Tracking of the solar panel using the Perturb&Observe method.
While this algorithm is one of the most widely used method to track the Maximum Power
Point of a solar array, different possible implementations of that algorithm are possible.
We have discovered that some configurations result in more reliable operation of the
algorithm. Even though most of the literature mentions the use of the Perturb&Observe
algorithm using the duty cycle as the direct source of perturbation, we have found that
this can result in unreliable operation is some cases. The perturbation on the input volt-
age reference offers better performances with little to no increase in component count
194
(no increase in the all-digital case). Additionally we have shown that the use of a bypass
switch in parallel with a DC/DC converter, along with proper control algorithms, can
result in higher overall efficiency of the system.
In Chapter 6 we designed and built a commercial grade prototype that implements
the benefits of the research of the previous chapters. The circuit is specifically designed
to control the charge of military Li-ion and NiMH batteries with solar panels. The
charge control algorithms for the Li-ion and NiMH batteries use the results found in
Chapter 4 and the charger performs Maximum Power Point Tracking using results found
in Chapter 5 in order to keep the solar panel operating at its optimum point and to reduce
the charging time of the batteries.
In Chapter 7, formulation of new Maximum Power Point Tracking algorithms for
multiple solar panel systems is presented along with a proposed system architecture.
This is of special interest for small portable applications using photovoltaic modules
having different fabrication and characteristics each.
• New dynamic algorithms capable of tracking the Maximum Power Point of several
solar panels using only a single current sensor were presented.
• Experimental, simulation and theoretical results were presented which support
that the proposed MPPT system is suitable for these types of applications. Com-
parisons are made between the interleaving of sensors and traditionnal MPPT with
individual dedicated sensors. Both approach reach the same final operating point.
The interleaved approach has reduced sensor cost, but with the drawback of slower
algorithm convergence.
195
• A single inductor topology for multiple input systems is used to take advantage of
the proposed MPPT algorithms to reduce size and cost of the converter.
The algorithm works by interleaving a Perturb and Observe algorithm which enable
the current sensor to be ` shared´ by each solar panel. The advantage of this system
is a reduced design cost and increased layout simplicity for small portable systems.
However, this configuration also has some disadvantages over classic methods, the main
one being an increased convergence time to the Maximum Power Point of the solar
panels.
A modified algorithm is also proposed in Chapter 7 to partially address the issue of
the increased convergence time. The proposed gradient climbing interleaved algorithm
can increase the speed of the method by performing a perturb and observe sequence more
often on the solar panels that produce more power. This increases the convergence speed
in the case where one of the solar panel has a higher power output than the other panels
in the system (because of it’s technology or because it receives a higher illumination).
A proposed architecture is also shown in Chapter 7. It is based on a Buck topology
with multiple input in series. It has the advantage of being able to interface several solar
panels using only one inductor, one current sensor and no OR-ing components, such as
diodes. This has potential benefits in terms of board space and cost. An experimental
system using this topology and the aforementioned MPPT algorithm has successfully
been tested.
196
8.1 Issues and Future Research
While we certainly have improved the reliability of overcharge detection for NiMH bat-
teries, the algorithms we have proposed do not guarantee that the system will never be
fooled and that overcharge will be properly detected at all times. For the proposed volt-
age method, the information about overcharge can disapear after the filtering and false
error detection is done. For the proposed differential temperature algorithm, the effect
of external disturbances in the battery temperature cannot be totally decoupled due to
physical constraints (package, position of the battery, etc...). Adding additional external
temperature sensors covering all the areas of the pack could add information on the heat
transfer between the battery pack and its surrounding (such as the what part of the pack
is heated by sunlight), thereby allowing the algorithm to be balanced properly. However,
this does not appear to be a practical solution for this application at this point.
Figure 8.1: An electrical model of the battery.
Often, the electric behavior of the battery can be found using a simplified model
197
having a voltage source (open circuit voltage of the battery) and a series of RC cells
[84–86] as shown in Fig. 8.1.
The goal of future research should focus on the ability to measure the parameters of
the model on-line. While the battery is charging, the system would continuously monitor
and estimate the value of the model’s variables using only the battery’s terminal voltage
and input current (only data available). The evolution of the parameters of the model
would then be used to detect when the battery is entering overcharge.
The model of the battery can be expressed from Fig. 8.1 as follow:
Vbat = EOC + RS I + V1 + V2 + ... + VN (8.1)
Where Vbat is the battery’s terminal voltage, the only measurable voltage. EOC is the
open-circuit voltage of the battery, RS is an equivalent series resistance. V1,V2 to VN are
the voltages of the equivalent RC cells.
198
400 600 800 1000 1200 1400 1600 1800 2000 220010
10.5
11
11.5
12
12.5
13
13.5
14
14.5
time(s)
V
Figure 8.2: Voltage of a BB390 12V battery being charged with a current interrupted
periodically.
An initial result is to obtain the model of the battery using a series of tests by con-
trolling the charging current. One of such test is shown in Fig. 8.2. In this experiment,
the charging current is interrupted periodically to analyze the transient response of the
battery voltage.
V1 = − V1
R1C1+
IC1
(8.2)
One of the issues is to determine EOC, as the voltage of the battery can take days to
settle down to its steady state [87]. Methods proposed in [87] could be used for that.
199
Once EOC is obtained, other components of the system can be measured. Rs might be
estimated by cutting the charging current and measuring the drop in the voltage imme-
diately after the charge is cut. We may be interested in obtaining the smallest possible
order of the model to simplify calculation. If the approximation of a first order model
is retained for the battery, and if the current is shut down during the test, the following
formula can be used:
V1 − ˆV1 = (−1τ
V1) − (−1τ
V1) (8.3)
where V1 is the estimated voltage of the RC cell, τ is the time constant of the model,
and τ is the estimated time constant of the model.
Assuming that the current does not change and the value of the open voltage stays
constant during the period of the test, we can assume Vbatt = V1 and V1 = Vbatt − EOC.
Therefore, the time constant of the RC cell could be found from the estimate and the
error between the estimated and the measured time derivative of the voltage.
200
1000 1500 2000 2500
13.4
13.45
13.5
13.55
13.6
13.65
13.7
13.75
time(s)
V
Figure 8.3: Voltage of the battery after the charging current is turned off (solid) and
second order model of the battery (dashed). For better clarity, The volt-
age drop due to RS is not shown (the drop occurs before t=1000s).
However, initial experiments seem to indicate that the model of the battery should
be of a higher order as shown in Fig 8.3. This is in accordance with [84]. Further exper-
iments with changing current and varying temperature are needed to better characterize
the battery model and to find which parameters can be associated with a full SOC con-
dition. Some clues can be found in [84], but the results in this paper are specific to one
NiMH cell model and it needs to be determined if those results are applicable to a battery
pack (multiple cells in series and parallel), such as the BB390 and if the measurements
are precise enough to allow full SOC detection. Finally, the ability to estimate the pa-
rameters of the model on-line, without turning the charging current off and relying on
201
the natural perturbation of the charging current from a solar panel need to be determined.
The tasks required can be summarized as follow:
• Create a complete test bench with high precision measurement and automated
testing
• Acquire model using tests during charge such as open circuit and determine condi-
tions for full SOC detection that can be repeated from one battery pack to another.
• Acquire model during charge dynamically, using natural perturbations in the charg-
ing current (from events such as passing clouds) and detect full SOC condition
without having to interrupt the charge.
Future research may also address more advanced controller design for the charger
presented in Chapter 6. Due to time constraints and project deadlines, a simple con-
troller has been used with fixed gains for the two feedback loops. Although this is, a
priori, more a development issue than a research problem, new control scheme could
be designed to achieve a desired response quality (convergence time, oscillation etc...)
over a broad range of conditions (large differences in the input voltage, current and
impedance). In addition, while we proposed an algorithm to achieve Maximum Power
Point Tracking of the solar panel that takes into account the specific non-linearities of the
designed converter (the Boost-Buck topology with an output diode that can be bypassed
when operating in Buck mode, see Chapter 6 for more details), it still needs refinement
in its formulation to ensure smooth operation in all cases and specifically transitions
between Buck and Boost modes.
202
Finally, future research could be aimed at creating a system capable of better con-
trolling the power flow into the load for the multi-input converter shown in Chapter 7. In
addition to Maximum Power Point Tracking, output voltage and/or output current need
to be implemented in a real system. An intelligent output current or voltage control
would be useful in many applications (battery chargers, small electronics etc...). The
challenge of implementing output current and voltage control stems from the sensing
limitation that we imposed to the converter. Because only one output current sensor is
available, and because the system contains multiple inputs and different possible config-
urations of the switches with many possible operating points, the design of an efficient
controller becomes challenging. Some possible answer to theses problems could possi-
bly be found in [88] Additional issues can come from sudden disconnection of one input
or the need to switch part of the solar panels to MPPT while the other part is operated
to ensure the output current is controlled to its desired reference value. That last point
can also be part of a control strategy to obtain the desired behavior of the converter.
Research should focus on:
• Accurate and fast response. A cycle-by-cycle MPPT algorithm proposed in [89]
could help address the speed issue by allowing a Perturb and Observe type algo-
rithm to be executed each switching cycle, dramatically increasing speed (issues
of sampling rate and sensing precision will arise).
• Reliable operation with wide variety of input configurations: different type of so-
lar panels and weather conditions (including shading of parts of the solar panels),
different configurations at the input (some inputs not connected to any solar pan-
203
els, disconnections of some inputs while delivering power, etc...).
204
Bibliography
[1] A. Gregg, R. Blieden, A. Chang, and H. Ng, “Performance analysis of large scale,amorphous silicon, photovoltaic power systems,” Records of the IEEE PhotovoltaicSpecialists Conference, pp. 1615–1618, 2005.
[2] P. Fairley, “Solar cell rollout,” Technology Review, vol. 107, pp. 34–40, 2004.
[3] E. Koutroulis, K. Kalaitzakis, and N. Voulgaris, “Development of amicrocontroller-based, photovoltaic maximum powerpoint tracking control sys-tem,” IEEE Transaction on Power Electronics, vol. 16, pp. 46–54, 2001.
[4] J. Woodworth, M. Thomas, J. Stevens, S. Harrington, J. Dunlop, and M. R. Swarny,“Evaluation of the batteries and charge controllers in small stand-alone photo-voltaic systems,” IEEE Photovoltaics Specialists Conference, vol. 1, pp. 933–945,1994.
[5] T. Hund and B. Thompson, “Amp-hour counting charge control for photovoltaichybrid power systems,” Records of the 26th Photovoltaic Specialists Conference,pp. 1281–1284, 1997.
[6] R. Hamlen, H. Christopher, and S. Gilman, “Us army needs-present and future,”IEEE Aerospace and Electronic Systems Magazine, vol. 10, pp. 30–33, 1995.
[7] E. Plichta, M. Hendrickson, and R. Hamlen, “Mobile power challenges for thearmy’s objective force,” Battery Conference on Applications and Advances, pp.109–111, 2002.
[8] K. Hu, M. Geng, X. Gao, T. Burchardt, Z. Gong, D. Norus, and N. Nakstad, “Effectof long-term overcharge and operated temperature on performance of rechargeablenimh cells,” Journal of Power Sources, vol. 159, pp. 1478–1483, 2006.
[9] R.A.Powers, “Batteries for low power electronics,” Proceedings of the IEEE,vol. 83, pp. 687–693, 1995.
205
[10] M. J.M. Tarascon, “Issues and challenges facing rechargeable lithium batteries,”Nature, vol. 414, pp. 359–367, 2001.
[11] G.E.Blomgren, “Current status of lithium ion and lithium polymer secondary bat-teries,” Fifteenth annual battery conference on applications and advances, pp. 97–100, 2000.
[12] C. Iwakura, S. Nohara, N. Furukawa, and H. Inoue, “The possible use of polymergel electrolytes in nickel/metal hydride battery,” Solid State Ionics, vol. 148, pp.487–492, 2002.
[13] L. Jarvis, T. B. Atwater, and P. Cygan, “Alternate power source for land warrior,”Battery Conference on Applications and Advances, pp. 9–13, 2000.
[14] O. Barbarisi, R. Canaletti, L. Glielmo, M. Gosso, and F. Vasca, “State of charge es-timator for nimh batteries,” IEEE Conference on Decision and Control, pp. 1739–1744, 2002.
[15] F. C.B., “Temperature termination and the thermal characteristics of nicd and nimhbatteries,” WESCON/94. ’Idea/Microelectronics’ Conference Record, pp. 309–315,1994.
[16] A. Gonzales, M. Perez, J. Campo, and F. Ferrero, “Considerations to improve thepractical design of universal and full-effective nicd/nimh battery fast-chargers,”Applied Power Electronics Conference and Exposition, vol. 1, pp. 167–173, 1999.
[17] F. Lima, J. Ramalho, D. Tavares, J.Duarte, C. Albuquerque, T. Marques, A. Ger-aldes, A. Casimiro, G. Renkema, J. Been, and W. Groeneveld, “A novel universalbattery charger for nicd, nimh, li-ion and li-polymer,” Conference on EuropeanSolid-State Circuits, pp. 209–212, 2003.
[18] T. Osaka and M. Datta, Energy Storage Systems for Electronics. Gordon andBreach Science, 2000.
[19] G. Danese, F. Leporati, R. Lombardi, M. Nucita, G. Pedrazzini, and G. Ricotti,“An instrument for the characterization of voltage and temperature profile in nicdand nimh batteries,” Proceedings of the 23rd Euromicro Conference, pp. 178–183,1997.
[20] J. Ross, T. Markvart, and W. He, “Modelling battery charge regulation for a stand-alone photovoltaic system,” Solar Energy, vol. 69, pp. 181–190, 2000.
206
[21] M. Gonzalez, M. Perez, J. Campo, and F. Ferrero, “Accurate detection algorithm ofbattery full-capacity under fast-charge,” Proceedings of Instrumentation and Mea-surement Technology Conference, pp. 755–759, 1998.
[22] G. L, L. .S, and D. R.A, “Dynamic lithium-ion battery model for system simula-tion,” IEEE Transaction on Components and Packaging Technologies, vol. 25, pp.495–505, 2002.
[23] J. Lopez, M. Gonzales, J. Viera, and C. Blanco, “Fast-charge in lithium-ion batter-ies for portable applications,” Telecommunication Energy Conference INTELEC,pp. 248–253, 2004.
[24] M. Inaba and Z. Ogumi, “Up-to-date development of lithium-ion batteries injapan,” IEEE Electrical Insulation Magazine, vol. 17, pp. 6–20, 2001.
[25] P. Gomadam, J. Weidner, R. Dougal, and R. White, “Mathematical modeling oflithium-ion and nickel battery systems,” Journal of power sources, vol. 110, pp.267–284, 2002.
[26] T. Markvart, Solar Electricity. John Wiley and Sons, 1994.
[27] A. Barnett, C. Honsberg, D. Kirkpatrick, S. Kurtz, D. Moore, D. Salzman,R. Schwartz, J. Gray, S. Bowden, K. Goossen, M. Haney, D. Aiken, M. Wanlass,and K. Emery, “50 percent efficient solar cell architectures and designs,” Record ofthe 4th IEEE World Photovoltaic Energy Conversion Conference, pp. 2560–2564,2006.
[28] R. C. Neville, Solar Energy Conversion. Elsevier, 1995.
[29] H. Takatsuka, M. Noda, Y. Yonekura, Y. Takeuchi, and Y. Yamauchi, “Develop-ment of high efficiency large area silicon thin film modules using vhf-pecvd,” SolarEnergy, vol. 77, pp. 951–960, 2004.
[30] H. K.H., M. I., H. T., and O. M., “Maximum photovoltaic power tracking: analgorithm for rapidly changing atmospheric conditions,” IEE Proceedings of Gen-eration, Transmission and Distribution, vol. 142, pp. 59–64, 1995.
[31] J. Gow and C. Manning, “Development of a photovoltaic array model for use inpower-electronics simulation studies,” IEE Proceedings on Electric Power Appli-cations, vol. 146, pp. 193–200, 1999.
207
[32] J. Enslin, M. Wolf, D. Snyman, and W. Swiegers, “Integrated photovoltaic maxi-mum power point tracking converter,” IEEE Transaction on Industrial Electronics,vol. 44, pp. 769–773, 1997.
[33] M. Massoum, H. Dehbonei, and E. Fuchs, “Theoretical and experimental analy-ses of photovoltaic systems with voltage and current based maximum power pointtracking,” IEEE Transaction on Energy Conversion, vol. 17, pp. 514–522, 2002.
[34] M. Masoum, S. Mosavi, and E. Fuchs, “A microprocessor controlled new classof optimal battery chargers for photovoltaic applications,” IEEE Transaction onEnergy Conversion, vol. 19, 2004.
[35] E. Radziemska and E. Klugmann, “Photovoltaic maximum power point varyingwith illumination and temperature,” Journal of Solar Energy Engineering, vol. 128,pp. 34–39, 2006.
[36] T. Noguchi, S. Togashi, and R. Nakamoto, “Short-current pulse-based maximum-power-point tracking method for multiple photovoltaic-and-converter module sys-tem,” IEEE transaction on Industrial Electronics, vol. 49, pp. 217–223, 2002.
[37] H. Matsuo and F. Kurokawa, “New solar cell power supply system using a boosttype bidirectional dc-dc converter,” IEEE transactions on Industrial Electronics,vol. 31, pp. 51–55, 1984.
[38] B. Cougo, P. Cortizo, F. Rocha, G. Coelho, P. Seixas, and L. de V.B. Machado Neto,“A photovoltaic system for remote fault detection in distribution lines using a novelmppt algorithm,” IEEE International Symposium on Industrial Electronics ISIE,pp. 2397–2402, 2007.
[39] A. Kajihara and A. Harakawa, “Model of photovoltaic cell circuits under partialshading,” IEEE International Conference on Industrial Technology, pp. 866–870,2005.
[40] K. Kobayashi, I. Takano, and Y. Sawada, “A study on a two stage maximum powerpoint tracking control of a photovoltaic system under partially shaded insolationconditions,” Journal of Solar Energy Materials and Solar Cells, vol. 90, pp. 2975–2988, 2006.
[41] C. Sullivan and M. Powers, “A high-efficiency maximum power point tracker forphotovoltaic arrays in a solar-powered race vehicle,” IEEE Power Electronics Spe-cialists Conference, pp. 574–580, 1993.
208
[42] N. Femia, G. Petrone, G. Spagnuolo, and M. Vitelli, “Optimization of perturband observe maximum power point tracking method,” IEEE Transaction on PowerElectronics, vol. 20, pp. 963–973, 2005.
[43] M. Veerachary, T. Senjyu, and K. Uezato, “Maximum power point tracking ofcoupled inductor interleaved boost converter supplied pv system,” IEE Proceedingson Electric Power Applications, vol. 150, pp. 71–80, 2003.
[44] X. Weidong and W. Dunford, “A modified adaptive hill climbing mppt methodfor photovoltaic power systems,” IEEE 35th Annual Power Electronics SpecialistsConference PESC, vol. 3, pp. 1957–1963, 2004.
[45] D. Shmilovitz, “On the control of photovoltaic maximum power point tracker viaoutput parameters,” IEE Proceedings on Electric Power Applications, vol. 152, pp.239–248, 2005.
[46] P. Wolfs and L. Tang, “A single cell maximum power point tracking converterwithout a current sensor for high performance vehicle solar arrays,” IEEE PowerElectronics Specialists Conference, pp. 165–171, 2005.
[47] D. Hohm and M. Ropp, “Comparative study of maximum power point trackingalgorithms using an experimental, programmable, maximum power point trackingtest bed,” 28th IEEE Photovoltaic Specialists Conference, pp. 1699–1702, 2000.
[48] V.Salas, M. Manzanas, A. Lazaro, A. Barrado, and E. Olias, “The control strategiesfor photovoltaic regulators applied to stand-alone systems,” IECON 02, vol. 4, pp.3274–3279, 2002.
[49] H. Chung, K. Tse, S. Hui, C. Mok, and M. Ho, “A novel maximum power pointtracking technique for solar panels using a sepic or cuk converter,” IEEE Transac-tion on Power Electronics, vol. 18, pp. 717–724, 2003.
[50] Brambilla, M. Gambarara, A. Garutti, and F. Ronchi, “New approach to photo-voltaic arrays maximum power point tracking,” IEEE Power Electronics Special-ists Conference, vol. 2, pp. 632–637, 1999.
[51] P. Midya, P. Krein, R. Turnbull, R. Reppa, and J. Kimball, “Dynamic maximumpower point tracker for photovoltaic applications,” IEEE Power Electronics Spe-cialists Conference, vol. 2, pp. 1710–1716, 1996.
209
[52] T. Esram and P.L.Chapman, “Comparison of photovoltaic array maximum powerpoint tracking techniques,” IEEE Transactions on Energy Conversion, tbp.
[53] M. Simoes, N. Franceschetti, and M. Friedhofer, “A fuzzy logic based photovoltaicpeak power tracking controller,” IEEE international symposium on industrial elec-tronics, pp. 300–305, 1998.
[54] T. Hiyama, S. Kouzuma, and T. Imakubo, “Evaluation of neural network basedreal time maximum power tracking controller for pv system,” IEEE transactionson Energy Conversion, vol. 5, pp. 543–548, 1995.
[55] V. Teofilo, R. Hollandsworth, G. Mason, J. Nadell, M. Isaacson, and E. Cuel-lar, “Lithium ion solid polymer electrolyte batteries far portableelectronics andspace applications,” Battery Conference on Application and Advances, pp. 227–232, 1999.
[56] A. Hande and T. Stuart, “A selective equalizer for nimh batteries,” Journal of PowerSources, vol. 138, pp. 327–339, 2004.
[57] K. Bundy, M. Karlsson, G. Lindbergh, and A. Lundqvist, “An electrochemicalimpedance spectroscopy method for prediction of the state of charge of a nickel-metal hydride battery at open circuit and during discharge,” Journal of PowerSources, vol. 72, pp. 118–125, 1998.
[58] W. Bentley, “Cell balancing consideration for lithium-ion battery systems,” BatteryConference on Applications and Advances, pp. 14–17, 1997.
[59] H. C. and S. C., “Study of maximum power tracking techniques and control ofdc/dc converters for photovoltaic power system,” IEEE Power Electronics Special-ists Conference, vol. 1, pp. 86–93, 1998.
[60] W. Xiao and W. Dunford, “Evaluating maximum power point tracking perfor-mances by using artificial lights,” IEEE Conference on Industrial Electronics,vol. 3, pp. 2883–2887, 2004.
[61] “Pic18f452 datasheet,” Microchip, Tech. Rep.
[62] A. Peterchev and S. Sanders, “Quantization resolution and limit cycling in digitallycontrolled pwm converters,” IEEE Transaction on Power Electronics, vol. 18, pp.301–308, 2003.
210
[63] Z. Jiang and R. Dougal, “Multiobjetive mppt/charging controller for standalonepv power systems under different insolation and load conditions,” IEEE IndustryApplication Conference, pp. 1154–1160, 2004.
[64] J. Kassakian, M. Schlecht, and G. Verghese, Principles of Power Electronics.Addison-Wesley, 1992.
[65] M. Chiang, C. C. Hua, and J. Lin, “Direct power control for distributed pv powersystem,” Power Conversion Conference, vol. 1, pp. 311–315, 2002.
[66] Y. Liu and Y. Chen, “A systematic approach to synthesizing multi-input dc/dc con-verters,” Power Electronics Specialists Conference, pp. 2626–2632, 2007.
[67] W. Wu, W. Qiu, K. Rustom, T. Kasparis, and I. Batarseh, “Dsp-based multiple peakpower tracking for expandable power system,” IEEE Applied Power ElectronicsConference and Exposition, vol. 1, pp. 525–530, 2003.
[68] K. Siri, V. Caliskan, and C. Lee, “Maximum power tracking in parallel connectedconverters,” IEEE transactions on Aerospace and Electronics Systems, vol. 29, pp.935–945, 1993.
[69] C. Hua and J. Lin, “Fully digital control of distributed photovoltaic power sys-tems,” IEEE international symposium on Industrial Electronics, pp. 1–6, 2001.
[70] W. Xiao, N. Ozog, and W. Dunford, “Topology study of photovoltaic interfacefor maximum power point tracking,” IEEE transactions on Industrial Electronics,vol. 54, pp. 1696–1704, 2007.
[71] F. Caricchi, F. Crescimbini, O. Honorati, A. D. Napoli, and E. Santini, “Testingof a new dc/dc converter topology for integrated wind-photovoltaic generating sys-tems,” Proc. 5th Eur. Conf. Power Electronic Applications, vol. 8, pp. 83–88, 1993.
[72] B. Dobbs and P.L.Chapman, “A multiple-input dc-dc converter topology,” IEEEPower Electronics letters, vol. 1, pp. 6–9, 2003.
[73] Y. Chen, Y. Liu, and S. Lin, “Double input pwm dc/dc converter for high/lowvoltage sources,” Telecommunication Energy Conference INTELEC’03, pp. 27–32,2003.
[74] J. Sebastian, P. Villegas, F. Nuno, and M. Hernando, “High efficiency and widebandwidth performance obtainable from a two input buck converter,” IEEE Trans-action on Power Electronics, vol. 13, pp. 706–717, 1998.
211
[75] F. Umeda, M. Ohsato, G. Kimura, and M. Shioya, “New control method of reso-nant dc-dc converter in small scaled photovoltaic system,” IEEE Power ElectronicsSpecialists Conference, vol. 2, pp. 714–718, 1992.
[76] J. Yang, H. Bae, J. Lee, and B. Cho, “A simplified series-parallel structure forthe regulated peak power tracking (rppt) system,” IEEE Applied Power ElectronicsConference and Exposition, pp. 160–166, 2008.
[77] N. Benavides, T. Esram, and P. Chapman, “Ripple correlation control of a multiple-input dc-dc converter,” Power Electronics Specialists Conference PESC05, pp.160–164, 2005.
[78] O. Rodrigues and P. Ghosh, “Series interconnection of dc-dc converters for outputcontrols,” Power Electronics in Transportation, pp. 133–137, 2004.
[79] H. Tao, A. Kotsopoulos, J. Duarte, and M. Hendrix, “Family of multiport bidi-rectional dc-dc converters,” IEE Proceedings on Electric Power Applications, pp.451–458, 2006.
[80] H. Matsuo, T. Shigemizu, F. Kurokawa, and N.Watanabe, “Characteristics of themultiple input dc-dc converter,” Power Electronics Specialists Conference, pp.115–120, 1993.
[81] H. Matsuo, W. Lin, F. Kurokawa, T. Shigemizu, and N. Watanabe, “Characteristicsof the multiple input dc-dc converter,” IEEE Transactions on Industrial Electron-ics, vol. 51, pp. 625–631, 2004.
[82] Y. Chen, Y. Liu, F. Wu, and Y. Wu, “Multi-input converter with power factorcorrection and maximum power point tracking,” IEEE Applied Power ElectronicsConference, pp. 490–496, 2002.
[83] L. Solero, A. Lidozzi, and J. Pomilio, “Design of multiple-input power converterfor hybrid vehicles,” IEEE Transactions on Power Electronics, vol. 20, pp. 1007–1016, 2005.
[84] M. Chen and G. Rincon-Mora, “Accurate electrical battery model capable of pre-dicting runtime and i-v performance,” IEEE Transactions on Energy Conversion,vol. 21, pp. 504–511, 2006.
[85] M. Glass, “Battery electrochemical nonlinear/dynamic spice model,” Energy Con-version Engineering Conference, vol. 1, pp. 292–297, 1996.
212
[86] B. Schweighofer, K. Raab, and G. Brasseur, “Modeling of high power automotivebatteries by the use of an automated test system,” IEEE Transactions on Instru-mentation and Measurements, vol. 52, pp. 1087–1091, 2003.
[87] S. Abu-Sharkh and D. Doerffel, “Rapid test and non-linear model characterizationof solid-state lithium-ion batteries,” Journal of Power Sources, vol. 130, pp. 266–274, 2005.
[88] K. Siri and K. Conner, “Sequentially controlled distributed solar-array power sys-tem with maximum power tracking,” IEEE Aerospace Conference, vol. 4, pp.2774–2783, 2004.
[89] X. Liu and A. Lopes, “An improved perturbation and observation maximum powerpoint tracking algorithm for pv arrays,” IEEE Power Electronics Specialists Con-ference, pp. 2005–2010, 2004.
213
214
Chapter 9
Annexe
9.1 Temperature Measurements for BB390 Related Ex-
periments
2 4 6 8 10 12 14 1615
20
25
30
35
40
45
50
Resistance (in k )
Tem
pera
ture
( in
C )
Ω
Figure 9.1: Resistance vs temperature for the thermistors inside the BB390 NiMH
battery pack 215
Unless otherwise mentioned, the temperature of the battery’s cells for the BB390 are
measured using the battery pack’s internal thermistors using a voltage bridge. The data is
gathered in terms of voltage across the thermistor and can easily be transformed into the
value of the resistance of the thermistor. In order to relate that value to the temperature
of the cells, we took one of the thermistor inside a battery pack (by opening one pack
and therefore destroying it) and put it in an incubator (temperature controlled chamber).
Fig. 9.1 shows the resistance vs. temperature curve of the 10k thermistors inside the
pack.
From this curve we can calculate a linear approximation to model the thermistor.
However, a logarithmic approximation gives a better result:
T = 79.2 − 23.9ln(Rth) (9.1)
Where Rth is the resistance of the thermistor in kΩ and T is the temperature in °C. This
approximation gives a maximum error of less than 0.2 °Cover the range of measured
values.
9.2 Parameter Calculation for the SEPIC Converter:
This section informs the reader on the design choices for the SEPIC converter used in
chapter 5:
The input/output steady state equation for the SEPIC converter are given here as-
216
suming losseless conversion:
Iout =1 − D
DIin (9.2)
Vout =D
1 − DVin (9.3)
Choice of the inductors L1 and L2
Due to the limitation of the solar panel, the maximum input power for the converter
is expected to be lower than 70W. Additionally, the voltage of the solar panel is expected
to be no less than 10V at maximum power point. That gives a maximum input current
of 7A assuming input/output power conservation for design purposed (Pin = Pout).
IL2 =1 − D
DIin = Iout (9.4)
Therefore:
max(IL2) =1 − Dmin
Dminmax(Iin) (9.5)
We also have:
D =Vout
Vin + Vout(9.6)
so Dmin = 0.14 and max(IL2) = 43A. However, due to the limitation of the batteries used
in our research, we limit our converter to an output of 5A :max(Iout) = 5A
217
So max(IL2) = 5A.
∆IL1 =VinDT
L1(9.7)
The frequency is chosen to be 100kHz due to limitations of the DPWM generator on the
microcontroller. Therefore T = 10µs.
8 10 12 14 16 18 20 222
4
6
8
10
12
14
Vin
D x
Vin
Vo = 30V
Vo = 17V
Vo = 4V
Vo = 8V
Vo = 12V
Figure 9.2: DVin product as a function of the Vin and Vout.
In the worst case scenario, Vin = 23V while Vout = 30V . This gives us a maximum
duty cycle of : Dmax = 0.68. (In practice, Vin can be higher than 23V. However, the
power is expected to be significantly lower than the maximum of 70W and the current
variations are then not an issue for core saturation of the inductors). As shown in Fig.
9.2, the worst pulsation appears when Vin and Vout are both maximum.
218
0.5 1 1.5 2 2.5 3 3.5 4 4.5
x 10−4
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5
L1 (H)
∆Ι(Α
)
Figure 9.3: peak to peak current ripple in L1 as a function of the inductance.
The maximum pulsation at L1 for different values of inductance is given in Fig. 9.3.
By choosing L=50uH, we ensure a worst case current pulsation of 2.8A peak to peak.
Therefore the maximum current through the inductor will be 8.4Amps (7Amps DC +
1.4Amps of peak ripple.) By using an inductor with 10Amps saturation current, we
ensure a 20% safety range over the calculated value.
Due to the topology of the SEPIC converter,in continuous conduction mode, the
ripple in L2 will be the same as the one in L1. Therefore L2 is picked to be equal to
L1.In theory, the two inductor can be coupled on the same core since the voltage accross
L1 and L2 are equal. However, due to the limitation in the choice of available cores, we
used one separate core for each inductor.
Choice of the capacitor Cin:
The ripple in the voltage at the terminals of Cin can be expressed using the following
219
equation:
∆VCin =(1 − D)T Iin
Cin(9.8)
If we do not want the ripple to exceed 6% of the DC voltage the constraint becomes
:
Cin > f rac(1 − Dmin)Iin0.07 f Vin (9.9)
The worst case scenario as previously dicsussed will happen when the input voltage
is 10V and the input current is 7A. The smallest duty cycle will happen when the output
voltage is 4V. Therefore here, Dmin = 0.28. So C needs to be larger than 84µ F. We use
a 88 µF capacitor in practice.
Small signal model and feedack loop.
In order to design the feedback loop of the converter, we build a small signal model
of the converter.
We used a state space representation of the system:
X = AX + BU (9.10)
Y = CX + DU (9.11)
(9.12)
For practical purposes we separate the matrix A into three terms A0, A1 and A2 such
220
that the state equation becomes:
X = (A0 + DA1 + (1 − D)A2)X + BU (9.13)
Y = CX + DU (9.14)
(9.15)
221
A0 =
−rL1L1
0 0 1L1
0
0 − rL2L2
0 0 0
0 0 0 0 0
− 1Cin
0 0 − 1Cinrpv
0
0 0 0 0 − 1Coutrbatt
A1 =
0 0 0 0 0
0 0 1L2
0 0
0 −−1C 0 0 0
0 0 0 0 0
0 0 0 0 0
A2 =
0 0 − 1L1
0 − 1L1
0 0 0 0 − 1L2
1C 0 0 0 0
0 0 0 0 0
1Cout
1Cout
0 0 0
(9.16)
L1 and L2 are the inductors of the circuit as shown in Fig. 5.16. rL1 and rL2 are the
series resistance of the inductors. C is the main capacitor as shown in Fig. 5.16. Cin is
the input capacitor and Cout is the output capacitor.
The output of the system is the input voltage of the DC/DCconverter therefore it is
the voltage at Cin:
222
C =
[0 0 0 1 0
]
In order to analyze the response of the input voltage to the command, we need to
rewrite the system so that the input becomes the small signal variation in the duty cycle
: d.
˙X = AX + B
Iin
˜Vbatt
+ (A1 − A2)X0d (9.17)
X0 is the steady state value of X. X represents the small variations of the state. ˜IPV
is the small variations of the input voltage (PV panel’s side of the converter). ˜Vbatt is the
small variations of the battery’s voltage.
9.3 Multi-Input Boost Converter Simulations
In order to study the behavior of the multiple input boost converter, we use the Matlab
environment to simulate it. A switched circuit simulation is created. However, the
computation time required to achieve the simulation over a long time can become quite
large. In order to reduce the simulation time, we use a power flow type of approach
using a set of equation describing the circuit in steady state.
Let fpv1 and fpv2 be the functions describing each photovoltaic panel’s voltage as a
function of its current.
223
F1(V1, I11) = V1 − fpv1(I11) = 0 (9.18)
F2(V2, I21) = V2 − fpv2(I21) = 0 (9.19)
Each Boost converter leg satisfies the following relationship: Vout = Vin1−D . Therefore
we have :
F3 =V1
1 − D1− V2
1 − D2= 0 (9.20)
And also :
Vo = Eb + Rb(I10 + I20) = Eb + Rb((1 − D1)I11 + (1 − D2)I21) =V1
1 − D1(9.21)
So we can write :
F0 =V1
1 − D1− Eb + Rb((1 − D1)I11 + (1 − D2)I21) = 0 (9.22)
Where Eb and Rb describe the load as a voltage source in series with a resistor. D1
and D2 are the duty cycle of converter 1 and 2. We now have a set of four equation
F0, F1, F2, F3 describing the system with four independent variables :V1, I11,V2, I21.Because the sources are photovoltaic cells, the system is non linear. Therefore, to solve
it, we use a Newton-Raphson approach to solve the system.
224
We write the Jacobian of the system:
0 − F0
0 − F1
0 − F2
0 − F3
=
11−D1
−Rb(1 − D1) 0 −Rb(1 − D2)
−∂ fpv1
∂I111 0 0
0 0 1 ∂ fpv2
∂I21
11−D1
0 − 11−D2
0
∆V1
∆I11
∆V2
∆I21
(9.23)
Where ∂ fpv1
∂I11and ∂ fpv2
∂I21are the partial derivative of the solar panel’s voltage with changes
in their output current. Because the equations are non linear, this value changes with
the variables. We can either recalculate the Jacobian each time the vector of variables
change. Or, if optimization of the convergence is not particularly an issue, we can pick
values that are large enough to keep the convergence algorithm stable.
∆F = J∆X (9.24)
In order to solve the system, we assume a starting point [X]0. We then compute F
and ∆F. If the matrix J is invertible, we can write :
∆X = J−1∆F (9.25)
From ∆X we have an estimation of the modifications of X required to satisfy F =−→0 ,
the solution of the system. Because J is not exact (due to non linearity) applying those
modifications will not result in the correct vector X. Instead we apply α∆X where α is a
225
weighting factor smaller than one. The process is iterated until ‖X‖ < 1e − 3 (which is a
value chosen arbitrarily.)
Once the vector X has been estimated for a given set of duty cycles, all the systems
parameter can be extracted from it.
The previous example has been given for a two input circuit. It can easily be gener-
alized to N input.
9.4 SEPIC Prototype for PowerFilm, Inc.
Figure 9.4: Topology of the initially proposed converter. The system is built around
a SEPIC converter
226
This section shows the design of the early version of the prototype shown in chapter
6. The initial design involved a sepic converter but was later changed to a boost-buck
type converter (see chapter 6 for details on it). As shown in Fig. 9.4, the leg selector
allows current to be directed to each leg of the battery, the bypass switch is used when
the input voltage at Maximum Power Point is closed to the output voltage. In that case,
the converter is shut down and the bypass switch activated in order to reduce losses.
The control of the converter is achieved using a micro-controller with voltage sensing
(input and outputs) and current sensing (outputs). Driving circuitry for the various FET
switches and current sensing circuitry are not shown in the figure.
Figure 9.5: Sepic converter and control circuit board. Only the top (darker) and the
bottom (clearer) layer are shown. The top side (power side) is shown
with its components outlined in dark.
227
Fig. 9.5 shows the layout of the board. Although initially designed on a two layer
PCBoard, the board size requirements and the complexity of the circuit made us redesign
the board in a 4 layer board.
9.5 Matlab Scripts
9.5.1 Simulation of a Three Inputs Boost Converter Using a Newton
Raphson Algorithm
The scripts covers the simulation of three boost converter with their output connected.
the simulations covers solely the CCM operation of the converters. The inputs are mod-
els of solar panels
Script main.m:
1 close all;clear all;2 %load modelization:3 battery voltage=0;4 battery impedance=10;5
6 Rs1=1/10; %dynamic resistance of the sources7 Rs2=1/10; %needed in the N−R algorithm and randomly set8 Rs3=1/10;9
10 Iold=0; %old output current11
12 direction=[1,1,1]; %direction of the P&O algo for each input13 index=1;14 D=[0.2,0.2,0.2]; %duty cycles15 Dnew=[0.2,0.2,0.2]; %future duty cycle16 D1=0.2;17 D2=0.2;18 D3=0.2;19 % Jacobian
228
20 J=[ 1/(1−D1),−battery impedance*(1−D1), 0,−battery impedance*(1−D2), 0 ,−battery impedance*(1−D3);
21 Rs1 , 1 , 0 , 0 , 0 , 0 ;22 0 , 0 , Rs2 , 1 , 0 , 0 ;23 0 , 0 , 0 , 0 , Rs3 , 1 ;24 1/(1−D1), 0 , −1/(1−D2) , 0 , 0 , 0 ;25 1/(1−D1), 0 , 0 , 0 , −1/(1−D3) , 0];26
27 JJ=inv(J); %JJ will not be recalculated afterward. As long as it works...28
29 X=[10,0.5,10,0.5,10,0.5]; %X contains: V1 I1 V2 I2 V3 I3(input voltages and currents)30 for(j=1:1:150)31 j32 if(j==50) %This switch allows a change in the load at step j==xx33 battery impedance=10;34 end35
36 D(index)=Dnew(index); %updates the duty cycle of one of the converters37
38
39 a=0; %"a" carries the number of the Newton Raphson iteration that has been made40 dF=[1,1,1,1,1,1]; %Initialization of 'dF' so the while loop is not overlooked41
42 %while the functions are not minimized (while the equation is not solved)43 while(sum(abs(dF))>1e−6)44 a=a+1 ;45 F=source(X,[battery voltage,battery impedance,D(1),D(2),D(3)],j);46 dF=[0,0,0,0,0,0]−F;47 dX=0.01*JJ*dF'; %modification to X (with damping factor)48 X=X+dX';49 if(X(2)<0) %No current is allowed to flow backward in the converters50 X(1)=5;X(2)=0; %%%CAREFULL This can cause the algorithm to STOP converging51 end %%%BECAUSE the equations defined in "source.m" don't handle DCM52 if(X(4)<0)53 X(3)=5;X(4)=0;54 end55 end56 duty store(j,:)=D;57 I1 out=X(2)*(1−D(1));58 I2 out=X(4)*(1−D(2));59 I3 out=X(6)*(1−D(3));60 Iout=X(2)*(1−D(1))+X(4)*(1−D(2))+X(6)*(1−D(3)); %calculates output current from result61 X ext=[I1 out,I2 out,I3 out,Iout];62 X ext store(j,:)=X ext; % Stores the output current for each iteration63 X store(j,:)=X;
229
64
65 %Performs P&O66 if(Iout<Iold)67 direction(index)=−direction(index);68 end69 Dnew(index)=D(index)+direction(index)*0.04;70 Iold=Iout;71 index=index+1;72 if(index>3)73 index=1;74 end75
76
77 end
Function source.m:
1
2 %This function calculates the value of the f functions that define the system3 %The closer these equations are to 0, the closer to thruth the proposed solution is.4 function F=source(X,parameter,t)5 battery voltage=parameter(1);6 battery impedance=parameter(2);7 D1=parameter(3); %duty cycles8 D2=parameter(4);9 D3=parameter(5);
10 V1=X(1);I1=X(2);V2=X(3);I2=X(4);V3=X(5);I3=X(6); %variables of the system to find11
12
13
14 %F0,F1,F2,F3 set of non−linear equation to solve15
16 F0=V1/(1−D1)−battery impedance*((1−D1)*I1+(1−D2)*I2+(1−D3)*I3)−battery voltage;17
18 F1=I1−Curr(3,V1);19 if(t>50 & t<100)20 F2=I2−Curr2(0.5,V2);21 else22 F2=I2−Curr(3,V2);23 end24 F3=I3−Curr(3,V3);25 F4=V1/(1−D1)−V2/(1−D2);26 F5=V1/(1−D1)−V3/(1−D3);27 F=[F0,F1,F2,F3,F4,F5];28 end
230
Function curr.m
1 function [C] = Curr(Isc, V)2
3 V=V/10;4 q=1.6022e−19;5 a=6.55;6 k=1.3806e−23;7 T=300;8 I0=3.403e−07;9 Rsh=53;
10
11 %Open circuit output voltage12 mVT=(a*k*T)/q;13 Voc = mVT * log(Isc/I0+1);14 b = q*Voc/(a*k*T);15 sigma = Voc/(Rsh*Isc);16
17 C = Isc − ( Isc*( (1−sigma)/(exp(b) −1))*( exp(b*V/Voc)−1) ) − (Isc*V/Voc*sigma);18 if(V<0)19 C=Isc;20 end21 %if(V>Voc)22 % C=0;23 %end
Function curr2.m
1 function [C] = Curr(Isc, V)2
3 V=V/9.5;4 q=1.6022e−19;5 a=6.55;6 k=1.3806e−23;7 T=300;8 I0=3.403e−07;9 Rsh=53;
10
11 %Open circuit output voltage12 mVT=(a*k*T)/q;13 Voc = mVT * log(Isc/I0+1);14 b = q*Voc/(a*k*T);15 sigma = Voc/(Rsh*Isc);16
231
17 C = Isc − ( Isc*( (1−sigma)/(exp(b) −1))*( exp(b*V/Voc)−1) ) − (Isc*V/Voc*sigma);18 if(V<0)19 C=Isc;20 end21 %if(V>Voc)22 % C=0;23 %end
The functions ¨curr.m ¨and ¨curr2.m ¨contains model for the solar panels.
9.5.2 Simulation of a Three Input, Single Inductor Converter
The simulation of the converter proposed in Chapter 7 is achieved using a switched
circuit simulation in Matlab:Script main.m:
1 close all;clear all;2 options=odeset('MaxStep',1e−7);3
4 [t,Y]=ode45(@differ,[0 3e−3],[0,25,25,25,0],options);Function differ.m:
1 function dX=differ(t,X)2 IL=X(1);3 VC1=X(2);4 VC2=X(3);5 VC3=X(4);6 VCout=X(5);7
8
9 R=3; %load10
11
12 D1=0.1; %duty cycle of the cells13 D2=0.2;14 D3=0.4;15 C=80e−6; %input capacitors (all the same)16 L=50e−6; %inductor
232
17 Cout=33e−6; %output capacitor18 period=5e−6;19
20
21 dVC1=Curr(3,VC1)/C;22 dVC2=Curr(3,VC2)/C;23 dVC3=Curr(5,VC3)/C;24
25 %state vector:26 %X=[IL, VC1, VC2, VC3, VCout];27 dIL=0;28 dVCout=−VCout/(R*Cout);29 if(mod(t,period)<D1*period)30 dIL=dIL+VC1/L;31 dVC1=dVC1−IL/C;32 end33 if(mod(t,period)<D2*period)34 dIL=dIL+VC2/L;35 dVC2=dVC2−IL/C;36
37 end38 if(mod(t,period)<D3*period)39 dIL=dIL+VC3/L;40 dVC3=dVC3−IL/C;41 end42 dIL=dIL−VCout/(L);43 dVCout=dVCout+IL/(C);44 if(IL≤0 & dIL<0)45 dIL=0;46 end47
48 if(VC1≤0 & dVC1<0)49 dVC1=0;50 end51 if(VC2≤0 & dVC2<0)52 dVC2=0;53 end54 if(VC3≤0 & dVC3<0)55 dVC3=0;56 end57
58 dX=[dIL;dVC1;dVC2;dVC3;dVCout];
The program uses the functions ¨curr.m ¨and ¨curr2.m ¨defined in the previous subsec-
233
tion.
9.5.3 Model of the Boost-Buck Converter
The scripts for the calculation of the model of the Boost-Buck converter designed in
Chapter 6 are shown here.
For the Buck converter mode:
1
2 %This script calculates the averaged model of the buck converter, linearize3 %the model and extract the transfer function relating change in duty cycle4 %with output current.5 %The model can be used with Simulink to test different controller by using6 %the calculated state space model matrices AAAA,BBBB,CCCC or BBBB winputs7 %instead of BBBB and DDD winputs.8 clear all;close all;9 rdson=0.008; %ON resistance of the MOSFET switch
10 Eo=13; %load voltage11 Ro=0.200; %load resistance12 L=50e−6;13 C1=40e−6; %input capacitor14 C2=30e−6; %output capacitor15 rc1=0.006; %ESR of C116 rc2=0.007; %EST of C217 rl=0.015+0.016; %resistance of the inductor + resistance of the PFET bypassing18 %the boost's diode19 VD=0.0; %forward voltage of the diode (we bypass it so=0)20 STORE=[];21 corec=tf([1,0],[1,−1],200e−6);22
23 %the for loops allow to test different input operating point to obtain a map24 for E1in=20:5:20 %Elin is the voltage at the input of the converter25 for R1=0.1:2:2 %R1 is source resistance26 for I op=0.5:1:4 %I op is input current27
28 E1=E1in+I op*R1; %E1 is the input voltage source29
30 P estim=E1*I op−R1*I opˆ2; %quick estimate of the transfered power31 dPdV=2*I op−E1/R1;
234
32 I out estim=(−Eo+sqrt(Eoˆ2+4*Ro*(P estim)))/(2*Ro); %estimated output current33 D=(Eo+Ro*I out estim)/(E1−R1*I op)*1.01; %estimated operating duty cycle34
35
36 %model of the circuit:37 Aon=[−1/(C1*(R1+rc1)),−R1/(C1*(R1+rc1)),0;38 R1/(L*(R1+rc1)),1/L*(−rc1*R1/(rc1+R1)−rc2*Ro/(rc2+Ro)−rl−rdson)39 ,−Ro/(L*(Ro+rc2));40 0,Ro/(C2*(rc2+Ro)),−1/(C2*(rc2+Ro))];41
42 Bon=[1/(C1*(R1+rc1)),0,0;43 rc1/(L*(R1+rc1)),−rc2/(L*(Ro+rc2)),0;44 0,1/(C2*(rc2+Ro)),0];45
46 Aoff=[−1/(C1*(R1+rc1)),0,0;47 0,1/L*(−rc2*Ro/(rc2+Ro)−rl−rdson),−Ro/(L*(Ro+rc2));48 0,Ro/(C2*(rc2+Ro)),−1/(C2*(rc2+Ro))];49
50 Boff=[1/(C1*(R1+rc1)),0,0;51 0,−rc2/(L*(Ro+rc2)),−1/L;52 0,1/(C2*(rc2+Ro)),0];53
54 AAA=Aon*D+Aoff*(1−D);55 BBB=Bon*D+Boff*(1−D);56
57 %The input of the system is: [voltage source E1, battery voltage Eo,58 % forward voltage of the diode VD]59
60
61 %calculating steady state of the circuit:62 steady=−inv(AAA)*BBB*[E1;Eo;VD]63
64 %an estimate of the efficiency, not really useful:65 effi= steady(2)*steady(3)/(steady(1)*(E1−steady(1))/R1)66
67 %Linearizaton around the operating point, The input is now the68 %small variation of the duty cycle:69 BBBB=(Aon−Aoff)*[steady(1);steady(2);steady(3)]+(Bon−Boff)*[E1;Eo;VD];70 AAAA=AAA;71 CCCC=[0,rc2/(Ro+rc2),1/(Ro+rc2)]; %the output is the load current72
73 %this is to allow the simulation of perturbation of the input or/and output voltage:74 %the input vector is then [dutycycle,e1,e0,vd]75
76 BBBB winputs=[BBBB,BBB];
235
77 DDDD winputs=[0,0,−1/(Ro+rc2),0];78
79
80 sys=ss(AAAA,BBBB,CCCC,0); %this regroups the state model matrices in a81 %Matlab linear system structure.82 [num,den]=tfdata(sys);83 sys2=tf([1],[1,0]);84 sys3=sys*sys2*156;85 hold on86
87 sys4=c2d(sys,200e−6); %sampling frequency of 200us for the microcontroller88
89 [Gm,Pm,Wcg,Wcp]=margin(sys4*corec*200e−6*80);90 sys5=sys4*corec*200e−6*80;91
92 STORE=[STORE;[Gm,Pm,Wcg,Wcp,I op,E1in,R1]];93
94 bode(sys5/(1+sys5),100,1e5);95 end;96 end;97 end;98 end;
For the Boost converter mode:
1 %This script calculates the model for the Boost converter mode2 %This script is similar to the script that calculates the model3 %for the Buck converter4 clear all;close all;5 rc1=0.006;6 rc2=0.007;7 rdson=0.01;8 R1=0.001;9 Eo=13.0;
10 Ro=0.1;11 L=50e−6;12 C1=40e−6;13 C2=30e−6;14 rL=0.015;15 VD=0.4;16 STORE=[];17 %corec=tf([1,0],[1,−1],200e−6);18 for E1in=8:−2:819 for R1=0.001:1:0.001
236
20 for I op=2:1:221
22 E1=E1in+I op*R1 ;23 P estim=E1*I op−R1*I opˆ2;24 dPdV=2*I op−E1/R1;25 I out estim=(−Eo+sqrt(Eoˆ2+4*Ro*(P estim)))/(2*Ro);26 D=1−(E1−R1*I op)/(Eo+Ro*I out estim)*0.96;27
28
29
30 Aon=[−1/(C1*(R1+rc1)),−R1/(C1*(R1+rc1)),0;31 R1/(L*(R1+rc1)),(1/L)*(−rc1*R1/(R1+rc1)−rL−rdson),0;32 0,0,−1/(C2*(rc2+Ro))];33
34 Aoff=[−1/(C1*(R1+rc1)),−R1/(C1*(R1+rc1)),0;35 R1/(L*(R1+rc1)),(1/L)*(−R1*rc1/(R1+rc1)−rL−rc2*Ro/(rc2+Ro))36 ,−Ro/(L*(Ro+rc2));37 0,Ro/(C2*(Ro+rc2)),−1/(C2*(Ro+rc2))];38
39 AAA=D*Aon+(1−D)*Aoff;40
41 Bon=[1/(C1*(R1+rc1)),0,0;42 rc1/(L*(R1+rc1)),0,0;43 0,1/(C2*(rc2+Ro)),0];44
45 Boff=[1/(C1*(R1+rc1)),0,0;46 rc1/(L*(R1+rc1)),−rc2/(L*(Ro+rc2)),−1/L;47 0,1/(C2*(rc2+Ro)),0];48
49 BBB=D*Bon+(1−D)*Boff50
51
52 %Linarization around the operating point53
54 steady=−inv(AAA)*BBB*[E1;Eo;VD]55 AAAA=AAA;56 BBBB=(Aon−Aoff)*[steady(1);steady(2);steady(3)]+(Bon−Boff)*[E1;Eo;VD];57 CCCC=[0,rc2/(Ro+rc2),1/Ro];58 DDDD=−[0,rc2/(Ro+rc2),0]*[E1;Eo;VD];59
60
61 sys=ss(AAAA,BBBB,CCCC,DDDD);62 [num,den]=tfdata(sys);63 sys2=tf([1],[1,0]);64 sys3=sys*sys2*156;
237
65 % step(sys3/(1+sys3));66 % bode(sys3);67 hold on68 sys4=c2d(sys,200e−6);69 sys5=sys4*corec*200e−6*78;70 step(sys5/(1+sys5));71 %margin(sys5);72 %[Gm,Pm,Wcg,Wcp]=margin(sys4*corec*200e−6*90);73 %margin(sys3)74 STORE=[STORE;[Gm,Pm,Wcg,Wcp,I op,E1in,R1]];75 end ;76 end;77 end;
238