You are on page 1of 6

IOP Conference Series: Materials Science and Engineering

PAPER • OPEN ACCESS

Simplified fuzzy logic and arduino-based controller for maximum power


tracking in solar panel
To cite this article: Suherman et al 2020 IOP Conf. Ser.: Mater. Sci. Eng. 874 012037

View the article online for updates and enhancements.

This content was downloaded from IP address 38.145.82.156 on 02/07/2020 at 18:11


ICETsAS 2019 IOP Publishing
IOP Conf. Series: Materials Science and Engineering 874 (2020) 012037 doi:10.1088/1757-899X/874/1/012037

Simplified fuzzy logic and arduino-based controller for


maximum power tracking in solar panel

Suherman, Mufrihul Fajri, Raja Harahap


Electrical Engineering Department, Universitas Sumatera Utara, Medan-Indonesia

*suherman@usu.ac.id

Abstract. Maximum power tracking for solar panel has been explored since long time ago for
increasing solar panel output. Various methods have been implemented from combinational
based algorithm to intelligent system, including the use of fuzzy logic. This paper
demonstrates the implementation of fuzzy logic on the arduino microcontroller system. A
maximum power tracking prototype is developed, and experimental assessments are
conducted. Arduino uno is used for the microcontroller, small scale mechanic is developed
driven by two electric motors, and 13V solar cell is used as the object. The assessments show
that fuzzy logic algorithm is successfully implemented in arduino, the solar panel output is
enhanced up to x% and the solar panel efficiency is up to x%.

1. Introduction
Solar panel generates the electrical current by converting photon from sunlight into moveable
electrons within silicon based material. Sunlight is the most promising energy source as it is
sustainable and available whole the year. Solar panel requires materials that catch sunlight, enable to
transfer this energy to alleviate electron moving through its band gap to a conductive band. Positive-
negative (PN) junction is generally employed to enable electron excitation. Study mentioned that the
possible converted energy from sunlight achieves 7.45 x 1017 kWh [1].The solar panel system has
been used worldwide to replace the conventional energy source. Solar panel is expected to be the
main energy source in the future. However, challenges should be dealt with as solar panel efficiency
is still low [2].
Existing work have been performed to enhance solar panel efficiency, including material
enhancement [3], cooling system implementation [4], the maximum power tracking method [5] and
DC to AC conversion [6]. Solar cells that are made of methylammonium lead triiodide (MAPbI3)
exerted efficiencies greater than 20% [3]. But the stability is not well constructed for long term. Some
issues including the chemical stability, thermal stability, and current–voltage hysteresis are in research
interest. Meanwhile, active and passive cooling systems are choices to compensate the surface
temperature increment in solar panel [4]. Active cooling system applied air flow and/or water sprinkle
on surface or at the back of solar panel. Active needs electrical energy to drive pump or fan. Passive
cooling system decreased surface temperature by using heat-sink or water to absorb the heat.
Extracting solar panel maximum power is the most interesting research in solar PV system [5].
Maximum power point tracking (MPPT) is the key for efficient solar cell system. MPPT can be
performed either by using timeworn conventional methods or soft computing algorithms. The method
performance varies in terms of tracking speed, complexity, and partial shading performance. In
addition, MPPT is also used for other renewable energy sources, such as wind turbine [7]. Since solar
cell output is direct current (DC), inverter is needed to convert DC to AC. The DC-AC waveform
conversion is often costly, poor quality and harmonic contained [6]. Therefore, inverter research to
support solar cell efficiency is also important.

Content from this work may be used under the terms of the Creative Commons Attribution 3.0 licence. Any further distribution
of this work must maintain attribution to the author(s) and the title of the work, journal citation and DOI.
Published under licence by IOP Publishing Ltd 1
ICETsAS 2019 IOP Publishing
IOP Conf. Series: Materials Science and Engineering 874 (2020) 012037 doi:10.1088/1757-899X/874/1/012037

Since many soft computing methods have been explored by many researchers, this paper focuses
on reporting how fuzzy logic implemented in arduino for MPPT application. This paper gives an
alternative guide besides reports that are provided by some papers [8-10]. Fuzzy logic components
include fuzzification interface, knowledge base, inference mechanism and defuzzification interface.
Those components objective is to solve control problem systematically. However, in some cases, it
can be simplified to some multiple IF THEN ELSE operations.

2. Methodologies
In order to implement fuzzy logic for MPPT, hardware is designed. Hardware consists of four light
dependant resistors (LDRs), voltage sensors, LCD display and an arduino nano as the controller.
Circuit is shown in Figure 1. Four light sensors; LDRs act as voltage divider, are located in the East
and West right and left panel movement, in the North and South for up and down panel movement.
LDR in series to 7500 ohm resistor produces voltage decrement as sunlight stronger. This sensing
signal is sent to arduino nano through analog pin. Sensor values are digitized by the internal analog to
digital converter (ADC) as inputs for fuzzification using fuzzy logic rules to determine which
servomotor responses. LDR is separated from one another so that it receives light only from direct
exposure to sun. Program occurrence is reported to LCD display. The solar panel prototype has a 13
Volt peak voltage.
.

Figure 1. MPPT circuit

Table 1 shows the servomotor function that moves panel up and down with vertical mechanic and
moves right and left with horizontal mechanic. Servomotor size can be enlarged depending on the size
of solar panel. Additional motor driver is required when larger motor size installed. In defuzzification
stage, vertical and horizontal motor moves step by step by one degree. Figure 2 shows software
design for horizontal motor. The vertical motor uses the same design using North and South sensors.
Arduino nano code is shown in the following page.

Table 1. Servomotor and sensor positions


Servomotor Sensors Function
Vertical North and South Moving panel up and down
Horizontal East West Moving panel right and left

2
ICETsAS 2019 IOP Publishing
IOP Conf. Series: Materials Science and Engineering 874 (2020) 012037 doi:10.1088/1757-899X/874/1/012037

Figure 2. Software design

#include <Servo.h>
#include <LiquidCrystal.h>
#define voltage_input A5
LiquidCrystal lcd(12, 11, 9, 8, 7, 6);
Servo horizontal; Servo vertical; int servoh = 90; Servo vertical; int servov = 90; int time_ = 10; int tol = 1;

void setup() {
lcd.begin(16, 2); lcd.setCursor(0,0); lcd.print("=====START====="); delay(1000); lcd.clear(); Serial.begin(9600);
horizontal.attach(4); vertical.attach(3); pinMode(A0,INPUT); pinMode(A1,INPUT); pinMode(A2,INPUT);
pinMode(A3,INPUT); pinMode(A5,INPUT);
}

void loop() {
int down = (analogRead(A3)/tol); int up = (analogRead(A2)/tol); int right = (analogRead(A1)/tol); int left = (analogRead(A0)/tol);
Serial.print("\nright="); Serial.print(right); Serial.print(" left="); Serial.print(left); Serial.print(" up=");
Serial.print(down); Serial.print(" down="); Serial.print(up);
if (up < down){ servov = ++servov; if (servov > 180){ servov = 180;}
}else if (up > down){servov= --servov; if (servov < 0){ servov = 0;}
}else if (up = down){}
vertical.write(servov);

if (left < right){servoh = --servoh; if (servoh < 0){servoh = 0;}


}else if (left > right){servoh = ++servoh; if (servoh > 180){servoh = 180;}
}else if (left = right){}
horizontal.write(servoh);
delay(time_);
read();
}

void read(){
int read = analogRead(voltage_input); float voltage = read * (5.0 / 1024.0) * 4.6;
Serial.print("\nvoltage = "); Serial.println(voltage,3); Serial.print("A5 = ");Serial.print(read); Serial.println(" ");
lcd.clear(); lcd.setCursor(0,0); lcd.print(" VOLTAGE : "); lcd.setCursor(6,1); lcd.print(voltage);
delay(200);
}
3
ICETsAS 2019 IOP Publishing
IOP Conf. Series: Materials Science and Engineering 874 (2020) 012037 doi:10.1088/1757-899X/874/1/012037

3. Assessment results
Figure 3 shows the MPPT impact to output voltage, current and power of the solar panel, compared to
static solar panel. Increments on those parameters are obvious. Voltages, current and power are
consistently increased in every hour, especially in the morning and afternoon. This is caused by static
panel put horizontally so that output increments between 11.30 to 13.30 at noon are less that morning
and afternoon.

(a) Voltage

(b) Current

(c) Power
Figure 3. Fuzzy logic-based MPPT versus static solar panel
4
ICETsAS 2019 IOP Publishing
IOP Conf. Series: Materials Science and Engineering 874 (2020) 012037 doi:10.1088/1757-899X/874/1/012037

Voltage increases up to 1.5 V, current increases up to 0.21 mA and power increases up to 4.1
mW. In percentage, compared to static panel, voltage, current and power increments achieve 5.65%,
6.10% and 12.24% subsequently. In this simple fuzzy implementation, motor moves one degree in
each program looping, so that the time required to set MPPT is quite tremendous, more than 10 s
(Figure 4). This duration can be suppressed, by adding more degree for each movement. However,
MPPT may not be optimal.

Figure 4. Tracking time

4. Conclusions
This paper has discussed the implementation of fuzzy logic for MPPT of solar panel. Hardware
requires at least 4 light sensors located separately in the East, West, North and South. Fuzzyfication
and defuzzification processes are simply denoted by using IF THEN ELSE rules to determine servo
motor movements. Assessment shows that voltage, current and power increments achieve 5.65%,
6.10% and 12.24% subsequently compared to static panel. Future work should consider more detail
fuzzification and defuzzification processes to achieve optimal results for bigger solar panel.

References
[1] Chopra, K. L., & Das, S. R. (1983). Why thin film solar cells?. In Thin film solar cells (pp. 1-18). Springer,
Boston, MA.
[2] Suherman, S., Sunarno, A., Hasan, S., & Harahap, R. (2020). Water and Heat-sink Cooling System for
Increasing the Solar Cell Performances. EAI Endorsed Transactions on Energy Web, 7(26).
[3] Ming, W., Yang, D., Li, T., Zhang, L., & Du, M. H. (2018). Formation and diffusion of metal impurities in
perovskite solar cell material CH3NH3PbI3: implications on solar cell degradation and choice of electrode.
Advanced Science, 5(2), 1700662.
[4] Oropeza-Perez, I., Østergaa rd, P. A. (2018) Active and passive cooling methods for dwellings: A review.
Renewable and Sustainable Energy Reviews, 82, 531-544.
[5] Ram, J. P., Babu, T. S., & Rajasekar, N. (2017). A comprehensive review on solar PV maximum power
point tracking techniques. Renewable and Sustainable Energy Reviews, 67, 826-847.
[6] Hutabarat, M. A., Hasan, S., Rambe, A. H. (2020). Design and simulation hybrid filter for 17 level
multilevel inverter. Bulletin of Electrical Engineering and Informatics, 9(3), 886-897.
[7] Ardiles, R., Hasan, S., Pane, Z. (2019, November). Maximizing Power Tracking of an Offshore Wind
Turbine Using Perturb and Observe Method. In Journal of Physics: Conference Series (Vol. 1373, No. 1, p.
012008). IOP Publishing.
[8] Fannakh, M., Elhafyani, M. L., & Zouggar, S. (2018). Hardware implementation of the fuzzy logic MPPT
in an Arduino card using a Simulink support package for PV application. IET Renewable Power
Generation, 13(3), 510-518.
[9] Bhattacharya, T., & Sarkar, P. (2018, March). ARDUINO UNO based packed U cell inverter for
photovoltaic application. In 2018 International Symposium on Devices, Circuits and Systems (ISDCS) (pp.
1-6). IEEE.
[10] Ammar, A. G., Mohammed, A. S., Sarab, A. C., Craciunescu, A., & FADEL, M. A. (2018, October).
Experimental installation of photovoltaic MPPT controller using Arduino board. In 2018 International
Conference on Applied and Theoretical Electricity (ICATE) (pp. 1-6). IEEE.

You might also like