Design and Development of Maximum Power Point Tracker for Solar Module Using Microcontroller


The main objective of this paper is to design and develop a Maximum Power Point Tracker (MPPT) for solar modules using microcontroller. Maintaining a solar panel or an array of panels without an MPPT will often result in power loss, which in return requires installing more panels for the same power requirement. This will also result in premature battery failure or capacity loss. This is why the controllers of all solar power system should employ some method for maximum power point tracking (MPPT). Over the past decades many MPPT techniques have been published. In this paper, it is shown that a hardware based system has been designed using microcontroller. First based on the Perturb & Observe (P&O) MPPT algorithm, a complete code has been written and burnt into microcontroller IC. Then the whole system has been designed using buck boost converter and Hall sensor. The microcontroller takes the voltage and current output from the PV module and determines the maximum power point of the PV module. If we want to use the output power of the module to charge a battery, the MPPT will operate the PV module in its maximum power point despite the varying voltage level of the battery as well as the variation of solar radiation. The performance of the developed system has been studied and found working satisfactorily.

Share and Cite:

Tabassum, M. , Jahan, M. , Jahan, N. , Rahman, M. and Sadik, M. (2017) Design and Development of Maximum Power Point Tracker for Solar Module Using Microcontroller. Open Access Library Journal, 4, 1-12. doi: 10.4236/oalib.1103418.

1. Introduction

The world is increasing experiencing a great need for additional energy resources so as to reduce dependency on conventional sources, and photovoltaic (PV) energy could be an answer to that need. Renewable energy becomes an essential source for many applications in the last four decades. It is difficult to supply electrical energy to small applications in remote areas from the utility grid or from small generators. In order to overcome the undesired effects on the output PV power and draw its maximum power, it is possible to insert a DC/DC converter between the PV generator and the batteries, which can control the seeking of the MPP, besides including the typical functions assigned to controllers. These converters are normally named as maximum power point trackers [1] .

The objective of this paper was to design and development of a Maximum Power Point Tracker (MPPT) for a solar-powered module using microcontroller. Figure 1 shows the basic block diagram of MPPT.

In this paper, a microcontroller based module has been designed to track the maximum power point of a given solar module. The inputs of the MPPT consisted of the photovoltaic voltage and current outputs [2] [3] . The adjusted voltage and current output of the MPPT charges the power supply. Figure 2 is showing the electron and current flow in solar cells. A microcontroller was utilized to regulate the integrated circuits (ICs) and calculate the maximum power point, given the output from the solar cell. Hardware and software integration was necessary for the completion of this component [4] .

A. Solar Cell

Photovoltaic cells are devices that absorb sunlight and convert that solar energy into electrical energy. Solar cells are commonly made of silicon. A solar cell is a p-n junction which is made from two different layers of silicon doped with a

Figure 1. Basic block diagram of MPPT.

Figure 2. Electron and current flow in solar cell.

small quantity of impurity atoms. In case of n-layer, atoms with one more valence electron, called donors, and in the case of the p-layer, with one less valence electron, known as acceptors. When the two layers are joined together, near the interface the free electrons of the n-layer are diffused in the p-side, leaving behind an area positively charged by the donors [5] . Similarly, the free holes in the p-layer are diffused in the n-side, leaving behind a region negatively charged by the acceptors. This creates an electrical field between the two sides that is a potential barrier to further flow. The equilibrium is reached in the junction when the electrons and holes cannot pass the potential barrier anymore. This electric field pulls the electrons and holes in opposite directions so the current can flow in only one way only. Electrons can move from the p-side to the n-side and the holes in the opposite direction [6] .


The Maximum Power Point Tracker (MPPT) is needed to optimize the amount of power obtained from the photovoltaic array to the power supply. The output of a solar module is characterized by a performance curve of voltage versus current, called the I-V curve. In the following Figure 3, the maximum power point of a solar module is the point along the I-V curve that corresponds to the maximum output power possible for the module. This value can be determined by finding the maximum area under the current versus voltage curve [7] [8] .

C. MPPT Control Algorithm

The weather and load changes cause the operation of a PV system to vary almost all the times. A dynamic tracking technique is important to ensure maximum power is obtained from the photovoltaic arrays [9] . The following algorithms are the most fundamental MPPT algorithms, and they can be developed using micro controllers. The MPPT algorithm operates based on the truth that the derivative of the output power (P) with respect to the panel voltage (V) is equal to zero at the maximum power point [10] . Various maximum power point algorithms are available in order to improve the performance of photovoltaic system by effectively tracking the MPP. However, most widely used MPPT algorithms are considered here, they are:

Figure 3. IV characteristics curve of solar cell.

1) Perturb and Observe (P&O)

2) Incremental Conductance

3) Constant Voltage Method.

D. Power Supply

A storage battery is a reservoir, which may be used repeatedly for storing energy. Energy is charged and drained from the reservoir in the form of electricity, but it is stored as chemical energy. New battery technologies are constantly being explored that can offer better energy-to-weight ratios, lower costs and increased battery life. The nickel-metal-hydride batteries offer about twice the energy capacity for the same weight as a current lead-acid battery. Another battery type with an even greater energy density is Lithium ion [11] [12] .

2. Work Methodology

A. Open Circuit Voltage, Short Circuit Current And Maximum Power Point

Two most important points of this voltage-current characteristic should be pointed out: the open circuit voltage V o c and the short circuit current I s c . When the solar cell is operated as the open circuit, I = 0 and then the voltage across the output terminals is defined as open circuit voltage. We can assume the shunt resistance is high enough to neglect those final terms of the characteristic equation, the open circuit voltage V o c is:

V O C n k T q ln ( I L I 0 + 1 ) (1)

Similarly, when the cell is being operated as short circuit, V = 0 . The current I through the two terminals is defined as short circuit current. It is shown that for high-quality solar cell (high R s h and low Ro and Io ) the short-circuit current I S C is:

I S C I L (2)

It is impossible to extract power from the solar cell when it is operating at either short circuit or open circuit conditions. Using MPP voltage and current, V M P and I M P , the open circuit voltage ( V O C ) and the short circuit current ( I S C ), the fill factor (FF) can be defined as:

F F = V M P I M P V O C I S C (3)

The efficiency of a solar cell is mainly determined as the fraction of the incident power which is being converted to electricity and is defined as:

P max = V O C I S C F F (4)

η = V O C I S C F F P I N (5)


V O C is the open-circuit voltage;

I S C is the short-circuit current;


FF is the fill factor

η is the efficiency.

B. Buck Boost Converter

Buck Boost converter is a DC-DC converter. It can Step up the voltage as well as step down the voltage. Figure 4 shows the basic circuit of Buck Boost Converter.

While the main buck boost circuit is ON-State (Figure 5), the input voltage source is connected to the inductor (L) directly. This can result in the accumulation energy in the inductor L. In this very stage, the capacitor mainly supplies energy to output load.

On the other hand in OFF-State (Figure 6), the inductor L is connected to the capacitor and the output load, so the energy is being transferred to R and C from L.

Comparing the buck and boost converters, the characteristics of those converters are mainly:

・ Polarity of the output voltage is opposite to that of the input.

・ The output voltage can vary for an ideal converter continuously from 0 to . The output voltage ranges for a buck and a boost converter are respectively 0 to V i and V i to .

Figure 4. Basic circuit of a buck boost converter.

Figure 5. ON-state of a buck-boost converter.

Figure 6. OFF-state of a buck-boost converter.

If the current through inductor L doesn’t fall to zero during the commutation cycle, the converter then operates in the continuous mode. The voltage and current waveforms in the ideal converter can be seen in Figure 7.

D = V o V o V i (6)

From this expression it can be known that the polarity of output voltage is always negative because the duty cycle then goes from zero to one, and that the absolute value increases with the duty cycle D, theoretically up to the minus infinity when the duty cycle approaches one. Apart from polarity, the converter is either a boost converter (step up) or a buck converter (step down). Thus the name of the converter is buck-boost converter [13] .

C. Design and Development of the System

A great deal of research has been accomplished to improve the efficiency of the photovoltaic system. Several methods to track the maximum power point of a PV module have been suggested to solve the problem of efficiency.

The motto of our MPPT design is to check the output of PV module, comparing it to the battery voltage and then fixing it which is the best power that the module can actually produce to charge the battery. After that the module converts it to the best voltage to get maximum current into battery. It can also supply power to a DC load, which is connected directly to the battery.

MPPT is most effective under these conditions:

Normally, PV module works better at cold temperature and MPPT is utilized to extract maximum power available from them. When battery is deeply discharged: MPPT can extract more current and charge the battery if the state of charge in the battery is lowers.

A maximum power point tracker is used for obtaining the maximum power from the solar PV module and conversion to the load. A non-isolated DC-DC converter (step up/step down) offers the purpose of conversion maximum power to the load. A DC-DC converter acts as an interface between the load and the module. By varying the ratio of duty cycle the impedance of load as it appears by the source is varied and matched at the peak power point with the source so as to conversion the maximum power.

Figure 7. The voltage and current waveforms in an ideal converter.

Here a microcontroller based PWM controller has been developed with MPPT. The block diagram of the system is as the following (Figure 8):

a. Solar Module

A PV module is a packaged, connected assembly of solar cells. Solar modules use light energy (photons) from the sun to generate electricity through the photovoltaic effect. The majority of modules use wafer-based crystalline silicon cells or thin-film cells based on cadmium telluride or silicon. Electrical connections are made in series to achieve a desired output voltage and/or in parallel to provide a desired current capability. The conducting wires that take the current off the modules may contain silver, copper or other non-magnetic conductive transition metals. The cells must be connected electrically to one another and to the rest of the system.

b. Sensing & Controller

To sense and measure the current a hall sensor has been used at the output of solar module. This hall sensor senses the current and gives input to the MPPT module.

c. PWM controller

A PIC16F876A microcontroller has been used to work as the PWM controller of the system, which takes analog inputs as voltage and current from the PV module and changes its duty cycle according to the input power.

d. Buck Boost DC-DC converter

A DC-DC converter has been designed on breadboard to cut or boost the input voltage. An IRFP 250n MOSFET has been used to operate switching of the converter. The gate pulse was given from the developed PWM controller.

D. Simulation in Proteus

Proteus is basically a software, which is used for the simulation of drawing circuit, micro controller and PCB designing. It is made by Lab centre Electronics. All the components needed for electronic circuits are available here. The total simulation work is done with the help of Proteus. Here’s a sample of the main circuit for PWM controller is given below in Figure 9.

3. Result and Discussion

A complete PWM controlling code has been burnt on the PIC16F876A. To test

Figure 8. Block diagram of the MPPT system.

the PWM and its duty cycle, it has been tested for different output voltage of a PV module.

Variation of the duty cycle of PWM unit with the variation of PV output voltage is shown in Table 1. And the graph of these values is shown in Figure 10.

A. Conversion Of Voltage Using Buck Boost Converter

For the work, the ideal buck boost converter circuit was slightly modified to make the circuit work in the given voltage range.

In the modified buck boost converter of the practical demonstration the output of the PWM controller has been fed to the input of the optocoupler (shown in Figure 11). One of the output of the optocoupler is fed to the gate of the IRFP 250n MOSFET. The output unit or the load is connected to the buck boost converter across which the output voltage is measured.

B. Testing DC-DC converter

The designed DC-DC converter is tested for a buck operation. The input

Figure 9. Design of a microcontroller based PWM controller designed in Proteus.

Table 1. Variation of the duty cycle with the variation of output voltage of PV.

Figure 10. A graph to show the output voltage vs duty cycle of a PWM.

Figure 11. Modified circuit of the buck boost converter.

voltage is cut off to a certain level with the changing input voltage.(in Table 2) and Figure 12 shows a graph indicates the voltage changes in Buck boost Converter.

The separately designed and tested PWM controller and DC-DC converter have been connected to test the system. The PWM output is connected to an optocoupler and the output of the opto-couples is used as the gate pulse of the MOSFET. Thus for a given voltage range of 14 V - 18 V the system is tested satisfactorily.

Table 2. Changes of output voltage with the increasing input voltage in DC-DC converter.

Figure 12. A graph of output voltage vs input voltage curve of the designed buck boost converter.

4. Conclusion

There are many approaches to find and track the maximum power point for a PV module. Here we have demonstrated P&O algorithm to track MPP. Many systems may combine 2 or 3 methods together. In some cases, changing from one method to another is based on the level of irradiance. At low levels of irradiance, methods like Open Circuit Voltage and Short Circuit Current may be more appropriate as they can be more noise immune. In P&O algorithm, the MPP bounce around the maximum power point due to noise present in the power conversion system. In the laboratory demonstration, a microcontroller based PWM has been designed which is used as the perturb or the gate pulse for the MOSFET of the converter unit. A buck boost DC-DC converter has been designed using IFRP 250n MOSFET. To stabilize the output of the converter a modified circuit of buck boost converter has been used. Joining the DC-DC converter and PWM controller a DC voltage is given input to the converter and output has been measured across the load of the output unit. The system worked successfully for the voltage range of 14 V - 18 V range input. The system could not be demonstrated for a PV module due to the lack of a solar panel in the laboratory. Besides for a DC input the system worked 95% successfully and satisfactorily.


Our full hearted respect and gratitude goes to, Dr. Md. Habibur Rahman, Professor, Dept. of Electrical and Electronic Engineering, University of Dhaka, for supervising the entire work. During the work, his excellent support and guidance helped us to demonstrate the work more practically and as much as error-free. Our gratitude also goes to the Technical Officer, Md. Anwar Ali, Dept. Of Electrical and Electronic Engineering, University of Dhaka, for helping in the hardware demonstration.

Conflicts of Interest

The authors declare no conflicts of interest.


[1] Hlaili, M. and Mechergui, H. (2016) Comparison of Different MPPT Algorithms with a Proposed One Using a Power Estimator for Grid Connected PV Systems. International Journal of Photoenergy, 2016, Article ID: 1728398.
[2] El-Khozond, H.J., El-Khozondar, R.J., Matter, K. and Suntio, T. (2016) A Review Study of Photovoltaic Array Maximum Power Tracking Algorithms. Renewables: Wind, Water, and Solar, 3, 3.
[3] Huynh, D.C., Nguyen, T.A.T., Dunnigan, M.W. and Mueller, M.A. (2013) Maximum Power Point Tracking of Solar Photovoltaic Panels Using Advanced Perturbation and Observation Algorithm. 8th IEEE Conference on Industrial Electronics and Applications (ICIEA), Melbourne, 19-21 June 2013, 864-869.
[4] Huynh, D.C. (2014) An Improved Incremental Conductance Maximum Power Point Tracking Algorithm for Solar Photovoltaic Panels. International Journal of Science and Research, 3.
[5] Femia, N., Petrone, G., Spagnuolo, G. and Vitelli, M. (2005) Optimization of Perturb and Observe Maximum Power Point Tracking Method. IEEE Transactions on Power Electronics, 20, 963-973.
[6] Wang, P., Ding, H., Diao, C. and Qi, S. (2011) An Improved MPPT Algorithm Based on Traditional Incremental Conductance Method. 4th International Conference on Power Electronics Systems and Applications (PESA), Hong Kong, 8-10 June 2011, 1-4.
[7] Faranda, R. and Leva, S. (2008) Energy Comparison of MPPT Techniques for PV Systems. WSEAS Transactions on Power Systems, 3, 446-455.
[8] Bratcu, A.I., Munteanu, I., Bacha, S. and Raison, B. (2008) Maximum Power Point Tracking of Grid-Connected Photovoltaic Arrays by Using Extremum Seeking Control. CEAI, 10, 3-12.
[9] Porasad, Y. and Hosseinzadeh, H. (2008) Comparison of Voltage Control and Current Control Methods in Grid Connected Inverters. Journal of Applied Sciences, 8, 648-653.
[10] Elgendy, M.A., Zahawi, B. and Atkinson, D.J. (2012) Assessment of Perturb and Observe MPPT Algorithm Implementation Techniques for PV Pumping Applications. IEEE Transactions on Sustainable Energy, 3, 21-33.
[11] Yang, C.-Y., Hsieh, C.-Y., Feng, F.-K. and Chen, K.-H. (2012) Highly Efficient Analog Maximum Power Point Tracking (AMPPT) in a Photovoltaic System. IEEE Transactions on Circuits and Systems I: Regular Papers, 59, 1546-1556.
[12] Hou, W., Jin, Y., Zhu, C. and Li, G. (2016) A Novel Maximum Power Point Tracking Algorithm Based on Glowworm Swarm Optimization for Photovoltaic System. International Journal of Photoenergy, 2016, Article ID: 4910862.
[13] Kanimozhi, K. and Rabi, B.R.M. (2016) Development of Hybrid MPPT Algorithm for Maximum Power Harvesting under Partial Shading Conditions. Circuits and Systems, 7, 1611-1622.

Copyright © 2024 by authors and Scientific Research Publishing Inc.

Creative Commons License

This work and the related PDF file are licensed under a Creative Commons Attribution 4.0 International License.