Arduino based MPPT Controller

Data’s Guide of “Development of a low-cost PV system using an improved INC algorithm and a PV panel Proteus model” research paper

Mar 19, 2020

57192 views

18 respects

Components and supplies

1

Arduino UNO

1

TDC-M20-36PV panel

1

TC4420 Driver

1

B25 0 to 25V Voltage Sensor Module

1

Resistor, 70 ohm

1

INA169 Analog DC Current Sensor

1

DC-DC Switching Boost, Inverting Regulator

Apps and platforms

1

Proteus 8.6

1

Arduino IDE

Project description

Code

INC_Code.ino

c_cpp

Below the code of incremental conductance algorithm, to compile it, please go to "Sketch" menu and click on "Export compiled Binary". Then the ".hex" will be generated in the Sketch Folder.

PandO_Code.ino

c_cpp

Below the code of perturb and observe algorithm, to compile it, please go to "Sketch" menu and click on "Export compiled Binary". Then the ".hex" will be generated in the Sketch Folder.

INC_Code.ino

c_cpp

Below the code of incremental conductance algorithm, to compile it, please go to "Sketch" menu and click on "Export compiled Binary". Then the ".hex" will be generated in the Sketch Folder.

PandO_Code.ino

c_cpp

Below the code of perturb and observe algorithm, to compile it, please go to "Sketch" menu and click on "Export compiled Binary". Then the ".hex" will be generated in the Sketch Folder.

Downloadable files

Costless and effective Embedded system based control for PV system

As shown in the incremntal conductance (INC) structure (figure below), it contains several division computations which require a stronger microcontroller including large memory, high clock frequency, and floating-point computation, and this reduces the opportunity to use a low-cost development board as Arduino UNO which is based on ATMEGA328P because it does not contain a hardware divider, but it provides a one-chip 2 cycle multiplier as shown in the figure below (datasheet of ATMEGA328P). Therefore, to design a costless and effective MPPT embedded software, a modified INC algorithm is presented through the elimination of all division computations occurring in the conventional NC method. As a result, the complication of the algorithm operation can be reduced and consequently, minimize the real-time processing with faster response. This, makes the utilization of low-cost microcontrollers possible.

Costless and effective Embedded system based control for PV system

Modified Incremental conductance algorithm

Modified Incremental conductance algorithm

The experimental setup of the PV system using Arduino

The experimental setup of the PV system using Arduino

Proteus PV panel model simulation

• Please, open \Proteus\Proteus_PV_Panel_Model. • Please, go to graph menu and click on simulate graph as follows:

Proteus PV panel model simulation

Experimental results

Figure below (a) and (b) presents the experimental results of both methods under fast varying of insolation (from 1000 W/m2 to 500 W/m2). A zoom in the results is made. As shown in (a), the conventional method generates more oscillations around the peak of power compared to the modified method as presented in (b). On the other hand, the modified method presents a faster tracking speed with response time equals to 0.1 s which is very lower than the response time obtained by the conventional method (0.36 s).

Experimental results

Add Arduino into Proteus:

• Unzip Arduino Library for Proteus.rar file, you will find two files in it. • These two files are named as ArduinoTEP.LIB and ArduinoTEP.IDX. • Copy these two files and place them in the libraries folder of your Proteus software. • Now, restart your Proteus software and in components section search for ArduinoTEP as shown in below figure:

Add Arduino into Proteus:

Experimental results

Figure below (a) and (b) presents the experimental results of both methods under fast varying of insolation (from 1000 W/m2 to 500 W/m2). A zoom in the results is made. As shown in (a), the conventional method generates more oscillations around the peak of power compared to the modified method as presented in (b). On the other hand, the modified method presents a faster tracking speed with response time equals to 0.1 s which is very lower than the response time obtained by the conventional method (0.36 s).

Experimental results

MPPT-in-Proteus

Download data from gethub

https://github.com/motahhir/MPPT-in-Proteus

Simulate the MPPT controller in Proteus under variable irradiance

• Please, open Proteus\Proteus_MPPT_Irradiance Variation • Load the .hex file in the Arduino Uno. • Click on play to simulate the PV system or go to graph menu and click on simulate graph to generate Ppv(t) curve.

Simulate the MPPT controller in Proteus under variable irradiance

Simulate the MPPT controller in Proteus under stable irradiance

• Please, open Proteus\Proteus_MPPT_stable irradiance • Load the .hex file in the Arduino Uno. • Click on play to simulate the PV system or go to graph menu and click on simulate graph to generate Ppv(t) curve.

Simulate the MPPT controller in Proteus under stable irradiance

Conventional Incremental conductance algorithm

Conventional Incremental conductance algorithm

Proteus PV panel model simulation

• Please, open \Proteus\Proteus_PV_Panel_Model. • Please, go to graph menu and click on simulate graph as follows:

Proteus PV panel model simulation

Add Arduino into Proteus:

• Unzip Arduino Library for Proteus.rar file, you will find two files in it. • These two files are named as ArduinoTEP.LIB and ArduinoTEP.IDX. • Copy these two files and place them in the libraries folder of your Proteus software. • Now, restart your Proteus software and in components section search for ArduinoTEP as shown in below figure:

Add Arduino into Proteus:

Simulate the MPPT controller in Proteus under variable irradiance

• Please, open Proteus\Proteus_MPPT_Irradiance Variation • Load the .hex file in the Arduino Uno. • Click on play to simulate the PV system or go to graph menu and click on simulate graph to generate Ppv(t) curve.

Simulate the MPPT controller in Proteus under variable irradiance

MPPT-in-Proteus

Download data from gethub

https://github.com/motahhir/MPPT-in-Proteus

Conventional Incremental conductance algorithm

Conventional Incremental conductance algorithm

Modified Incremental conductance algorithm

Modified Incremental conductance algorithm

Simulate the MPPT controller in Proteus under stable irradiance

• Please, open Proteus\Proteus_MPPT_stable irradiance • Load the .hex file in the Arduino Uno. • Click on play to simulate the PV system or go to graph menu and click on simulate graph to generate Ppv(t) curve.

Simulate the MPPT controller in Proteus under stable irradiance

The experimental setup of the PV system using Arduino

The experimental setup of the PV system using Arduino

Comments

Only logged in users can leave comments