Components and supplies
Arduino UNO
TDC-M20-36PV panel
TC4420 Driver
B25 0 to 25V Voltage Sensor Module
Resistor, 70 ohm
INA169 Analog DC Current Sensor
DC-DC Switching Boost, Inverting Regulator
Apps and platforms
Proteus 8.6
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