MAXIMUM POWER POINT TRACKING USING
HILL CLIMBING ALGORITHM
An efficient Photovoltaic system is implemented in any place with
minimum modifications. The PV energy conversion system implemented in
this thesis using neural network is trained for MPP depending upon the place
of installation. The system implemented using fuzzy logic requires prior
knowledge about the variation in geographical data. The hill climbing method
of MPPT implemented by Maheshappa et al (1998), dealt with increasing or
decreasing the array operating voltage and observing its impact on the array
output power. This algorithm is independent of place of installation and prior
study of the geographical data is not required. Any system implemented using
the hill climbing algorithm is considered to be most efficient system.
Noguchi et al (2000) proposed a novel maximum-power-point
tracking (MPPT) method with a simple algorithm by using a short-current
pulse of the PV array to determine an optimum operating current for the
maximum output power. Here, the optimum operating current was
instantaneously determined by taking a product of the short-current pulse
amplitude and a parameter k because the optimum operating current was
exactly proportional to the short circuit current
Nicola Femia et al (2005) proposed that optimization approach lies
in customization of the perturb and observe MPPT parameters to the dynamic
behaviour of the PV system. Kasa et al (2000) presented a perturbation and
observation method with a capacitor identifier for MPPT. The variation of
duty ratio was determined by considering its circuit parameters. The actual
capacitance of an electrolytic capacitor in parallel with the photovoltaic array
has 50% tolerance of its nominal value. Teulings et al (1993) presented a
digital hill-climbing control strategy combined with a bidirectional current
mode power cell that makes to get a regulated bus voltage topology, suitable
for space applications, by means of two converters. MOSFET-based power
conditioning unit (PCU) along with a control algorithm to track the maximum
power point was discussed. Maximum power from each PV array was
extracted in spite of mismatch in the array characteristics. When the variation
of duty ratio was determined based on its nominal value, the performance of
the MPPT was degraded.
7.2 HILL CLIMBING ALGORITHM
The hill climbing algorithm locates the maximum power point by
relating changes in the power to changes in the control variable used to
control the array. This system includes the perturb and absorb algorithm
which was proposed by Xiao et al (2004).
Hill-climbing algorithm involves a perturbation in the duty ratio of
the power inverter. In the case of a PV array connected to a system,
perturbing the duty ratio of power inverter perturbs the PV array current and
consequently perturbs the PV array voltage. Figure 7.1 shows the
characteristic of PV array curve. In this method, by incrementing the voltage,
the power increases when operating on the left of the MPP and decreases the
power when on the right of the MPP. Therefore, if there is an increase in
power, the subsequent perturbation is kept at same point to reach the MPP and
if there is a decrease in power, the perturbation is reversed. This algorithm is
summarized in Table 7.1. The process is repeated periodically until the MPP
is reached. The system then oscillates about the MPP. The oscillation is
minimized by reducing the perturbation step size.
Figure 7.1 Characteristic PV Array Power Curve
Table 7.1 Summary of Hill Climbing Algorithm
Perturbation Change in Power Next Perturbation
Positive Positive Positive
Positive Negative Negative
Negative Positive Negative
Negative Negative Positive
Max.Power Point (Slope is Zero)
Slope =P/ v
7.3 BLOCK DIAGRAM OF THE PROPOSED SYSTEM
Figure 7.2 shows the entire block diagram of the proposed system.
In this, the PV array output vary with temperature, insolation, angle of
incidence and the PV characteristics of the PV cell or array which is used. So
in order to track the maximum power point for a particular condition, the
voltage and current is sensed and is scaled to 5V through an operational
amplifier and is given as an input to the analog channel of the PIC
microcontroller for making necessary control action. The PIC microcontroller
tracks the variation of dp/dv which is either positive, negative or zero. If it is
zero, it doesnt make any change in control signal. Whereas if it is positive, it
increments the modulation index and if it is negative, it decrements the
modulation index. The PIC microcontroller sends necessary signal to PWM
generator which generates gate pulses for triggering the inverter.
Figure 7.2 Block Diagram of Entire System
Control unit for Implementing Hill
PWM Generation and Driving Circuits
Chihchiang Hua et al (1998) proposed to track, the maximum
power point of the PV panel in real time using a simple algorithm based on
perturbation and observation (P&O) method which was widely used because
of its simple feed back structure and fewer parameters. Nobuyuki Kasa et al
(2005) proposed the digital signal processing kit to control power
conditioning unit and MPPT including the PV current and pulse width
modulation calculation. Figure 7.3 shows the flow chart of the implemented
algorithm by measuring the array voltage and array current information. The
PV array output is calculated and compared to the previous PV array output
power. Initially the modulation index (m) value is set and if the final output
power is equal to the initially measured output power, the control circuit
maintains the same m value. If it is greater, then m value is increased and
Eftichios Koutroulis et al (2001), proposed a simple method in
which the PV array output power delivered to a load was maximized using
MPPT control systems, in which the control unit drive the power conditioner
such that it extracted the maximum power from a PV array. In this method, a
Buck-type dc/dc converter was used where the duty cycle variation was not
analysed. To overcome this, PWM technique is implemented to switch on the
The level of power flow depends on the desired array voltage value
determined by the MPPT algorithm. There are two possible situations that
need to be addressed. First, an increase in the array voltage is required, and
secondly, a decrease is required. The voltage output of the voltage source
inverter (VSI) is fixed, the power flow is varied by altering the VSI output
current. If the MPPT algorithm requires a decrease in the array voltage, the
output current is increased in phase with the grid voltage to a stable
magnitude determined by modulation index using PWM generator.
Figure 7.3 Flow Chart for Calculating Modulation Index Value
Measure voltage and current
Initialize modulation index (m)
Power (Pin) = voltage * current
Increases the m
Measure voltage and current input
Power (Pfin) = voltage * current
If Pin =Pfin
If Pin < Pfin
If Pin >Pfin
m = m+1 m = m-1 m = m
This causes an increase in the positive power flow towards the load.
The extra power comes from the array, which causes the array voltage to fall
to the desired value as suggested by Krein et al (2003). The desired voltage is
reached, the output current goes down to a level that the power on the array
and load are equal once again. If an increase in the array voltage is required,
the opposite effect occurs by which a constant voltage is maintained.
Algorithm and flow chart:
The algorithm used for MPPT is discussed below:
Step 1: Sensing and measuring the voltage and current of PV
Step 2: Initialize the modulation index to a particular value
Step 3: The initial power Pin is calculated
Step 4: Increase the value of m
Step 5: Sense the PV array voltage and current
Step 6: Calculate the modified power Pfin
Step 7: If the change in power is positive, increase m value; if it
is negative, decrease m value and if there is no change
in power, m value is retained.
Step 8: Repeat step 5.
The above algorithm for MPPT is incorporated in PIC
microcontroller 18F452 using MPLAB IDE.
7.4 SIMULATION MODEL
Figure 7.4 shows the simulation model of the proposed system. The
input parameters from the PV array are sensed through hill climbing block.
According to the variations in the PV array parameters, the corresponding
modulation index (m) value is obtained. Salas et al (2006) implemented a new
algorithm for MPPT. The algorithm was programmed in a PIC
microcontroller and according to the panel input parameters, the duty cycle is
varied in order to track the maximum power output. Based on this technique
in this proposed work, the m value is varied using hill climbing algorithm and
the corresponding PWM pulses are produced to trigger the inverter.
Figure 7.4 Simulation Model of the PV System Using Hill Climbing
Figure 7.5 shows the simulation block of hill climbing algorithm.
The input parameters current and voltage is sensed from the PV panel. Any
positive change in power indicates increase in m value; and any negative
change in power indicates decrease in m value and no change in power
indicates to retain the m value.
Figure 7.5 Hill Climbing Simulation Block
Based on the variation in m value obtained using hill climbing
algorithm, the corresponding gate pulses are produced in the PWM circuit.
These pulses are used to trigger the MOSFET used in the inverter circuit. The
output voltage generated by the inverter is given by the equation (7.1).
acVV m (7.1)
where m is modulation index, the ratio of amplitude of sine wave to
Vdc is the dc supply given to inverter.
7.5 SIMULATION RESULTS
The bridge inverter circuit requires four gate pulses in order to
trigger the MOSFET. The first two pulses for one arm of the inverter bridge
are generated by comparing the triangular and the zero phase shifted sine
wave such that each pulse is a complement of the other. In the similar way
pulses for the second arm is generated by comparing the triangular wave and
180 degree phase shifted sine wave as suggested by Krein et al (2004).
The variation in the modulation index given to the PWM generation
generates gate pulses to trigger the inverter and produces a constant output.
Figure 7.6 shows the output waveform of PWM generator. In this, the gate
pulses G1, G2, G3 and G4 are given to the corresponding MOSFETS T1, T2,
T3 and T4 respectively.
Figure 7.6 Gate Pulse output
The variation in the modulation index given to the PWM generation
generates gate pulses to trigger the inverter and produces a constant output.
The gate pulses G1, G2, G3 and G4 are given to the corresponding
MOSFETS T1, T2, T3 and T4 respectively. Figure 7.7 represents the inverter
output current and voltage waveforms.
Figure 7.7 Inverter Output Current and Voltage Waveform
7.6 HARDWARE IMPLEMENTATION
The hardware is implemented using hill climbing algorithm for
tracking the maximum power from the solar panel. Figure 7.8 shows the solar
panel used for this work. The output of the panel namely voltage and current
is sensed and given to the PIC microcontroller for determining the variation in
power. The hill climbing algorithm for traction of maximum power point
depending on variation in solar intensity is implemented using this
Figure 7.8 Solar Panel (1812=216 cells)
The first requirement in designing the hardware is solar panel and
its specifications. The specification of the panel used is represented in the
Table 7.2. It indicates the rating of open circuit voltage, short circuit current,
peak power delivered by the panel, etc.
Table 7.2 Solar Panel Specification (1812 = 216 cells)
S.No. Parameter Value
1 Open circuit voltage (Voc) 62.8 V dc
2 Peak voltage (Vp) 50.7 V dc
3 Short circuit current (Isc) 6.4 A dc
4 Peak current (Ip) 5.8 A dc
5 Peak power (Pp) 295 W
Based on the specifications of the PV panel rating listed in
Table 7.2 the control circuit parameters are designed.
7.6.1 Control Circuit
Figure 7.9 Control Circuit of the PV System
188.8.131.52 Sensing Panel Parameters
The control circuit is shown in Figure 7.9. The panel parameters
like voltage and current are sensed and transferred as an input to the
microcontroller for determining the variation in power. The voltage is sensed
by a voltage divider circuit and the current is sensed using shunt.
184.108.40.206 Voltage sensing
The voltage divider circuit consists of resistances R1 and R2.The
output of the voltage divider is given by the equation (7.2).
*( )vo s
RV VR R
where Vs = Output from solar panel in volts
Vvo = Voltage proportional to output voltage from solar panel
R1,R2 = Resistances in ohms
The zener diode Z1 is used to limit the voltage input to the
microcontroller to 5V.
220.127.116.11 Current sensing
The dc current from the panel is sensed using a shunt which gives
the output of 75 mV when a current of 10A flows. The voltage obtained from
the shunt is five scaled using the operational amplifier connected in non
inverting mode. The output across the zener diode is given by the
* 75*10 * ( 1)10
where Is = Output current from solar panel in ampere
Vio = Voltage proportional to output current from solar panel
R5, R4 = Resistances in ohms
18.104.22.168 Microcontroller Logic Circuit
The hill climbing algorithm for the traction of maximum power
point depending on variation in solar intensity is implemented using
In this circuit, the reset switch is used to reset all the registers in the
microcontroller whenever it is necessary. The variation in voltage and current
is sensed and based on that, the modulation index value (m) is produced as an
eight bit digital output in the port B of the microcontroller.
22.214.171.124 Digital to Analog Converter
The output from the microcontroller is converted into analog form
using the digital to analog converter DAC 0808. The reference signal given to
the DAC is 5V .The output of the DAC is given by the equation (7.4).
1 2 3 4 5 6 7 85 *2 4 8 16 32 64 128 256A A A A A A A AModulation index
where A1 to A8 is MSB to LSB of digital modulation index
126.96.36.199 Modulating signal generation
The modulating signal is used for the generation of inverter gate
signals. In order to maintain the output of the inverter as 50Hz, the signal is
tapped from the grid and stepped down to 5V. Then it is multiplied with the
modulation index using analog multiplier AD532 to get the required
modulating signal. The 6V signal generated from the transformer is converted
into 5V using operational amplifier U1 and U2. The resultant modulating
signal from the output of the multiplier is converted into two sinusoidal
signals each phase shifted by 180 degree.
188.8.131.52 Triangular carrier signal generation
The triangular wave is generated using the combination of
operational amplifier operated as a square wave generator and integrator.
7.6.2 Gate Pulse Generation Circuit Figure 7.10 shows the gate pulse generating circuit. In this G1, G2,
G3 and G4 represents gate pulses and R1, R2, R3 and R4 represents the
respective references. The variation in the modulation index given to the
PWM generation generates gate pulses to trigger the inverter and produces a
constant output. The bridge inverter circuit requires four gate pulses in order
to trigger the MOSFET. The first two pulses for one arm of the inverter
bridge are generated by comparing the triangular and the zero phase shifted
sine wave obtained from the control circuit, such that each pulse is an
complement of the other. In the similar way pulses for the second arm is
generated by comparing the triangular wave and 180 degree phase shifted sine
wave. All the four pulses are then given to the opto-coupler MCT 2E which
act as an isolator to prevent the controlling circuit from the surges arising in
Figure 7.10 Gate Pulse Generation Circuit
Figure 7.11 shows the gate pulses generated in the gate pulse
generating circuit. The pulses G1, G2, G3, G4 are obtained using
oscilloscope. According to the variation in solar insolation the response of the
modulation index varies. Based on the change in m value the gate pulses
generated also varies its time duration. Gate pulses generated using simulation
model presented in Figure 7.7 matches with the hardware gate pulse
generation circuit waveforms.
Figure 7.11 Gate Pulses G1, G2, G3 and G4 given to the Inverter
7.6.3 Inverter Circuit
The generated gate pulses from the driver circuit are connected to
the MOSFET IRF 640 which is connected in bridge configuration. The
snubber circuit is connected in parallel to all the four MOSFET in order to
avoid device damage due to surges. The inverter circuit is shown in the
Figure 7.12 Inverter Circuit
The output voltage waveform of the inverter is connected to the
step up transformer to obtain a constant secondary output voltage for a load of
15W lamp. The output of the inverter is connected to the primary side of the
step up transformer which is provided with tappings of 10V, 20V, 30V, 40V.
According to the inverters output the corresponding tappings are used in the
transformer in order to produce constant secondary voltage. Figure 7.13
shows the output voltage waveform of the inverter given to the primary of the
transformer and the step up voltage output given to the load.
Primary side Secondary side
Figure 7.13 Voltage Waveform of Inverter with 15W Lamp Load
Figures 7.14 and 7.15 shows the experimental setup for different
load conditions. Depending on the solar insolation, the control circuit PC
board senses and drives the gate pulse circuit which is given to the inverter
circuit. The output of the inverter is given to the suitable transformer tapping
in the primary side in order to produce a constant secondary output required
by the load.
Figure 7.14 Experimental Setup with 15W Lamp Load
Figure 7.15 Experimental Setup with 60W Lamp Load
Figures 7.16 and 7.17 shows the output waveform of array power
versus time and array current. The graph indicates the curve drawn for two
sets of datas one with MPPT control and the other without MPPT control.
The graph drawn between the array power and time shows the difference in
variation in the power generated with MPPT and without MPPT during the
morning and evenings. By using the hill climbing algorithm, it is observed
that the amount of power produced by the PV generator trained using MPPT
follows the pattern of irradiance.
Figure 7.16 Output waveform of Array Power Vs Time
Figure 7.17 Output Waveform of Array Power Vs Array Current
The panel is trained statically using hill climbing algorithm for
maximum radiation. It predicts the maximum power point voltage and the
modulation index value. The pulse width modulation scheme is used to trigger
the gate of the switching device, which reduces the lower order harmonics at
the output of the inverter. The simulation results match with the
implementation results. The implementation complexity of the system is low
compared to the above two algorithms. The main advantage is, the system is
not array dependent and periodic tuning is not required.