Difficulty Getting to MPP via Incremental Conductance on Simulink.

7 visualizzazioni (ultimi 30 giorni)
%CODE
function out = fcn(V, I, Vo, Io, d, step)
dv = V - Vo;
di = I - Io;
if(dv == 0)
if(di == 0)
out = d;
else
if(di > 0)
%increase duty cycle
d=d-step;
else
%decrease duty cycle
d=d+step;
end
out = d;
end
else
if(di/dv == -(I/V))
out = d;
else
if(di/dv > -(I/V))
%decrease duty cycle
d=d-step;
else
%increase duty cycle
d=d+step;
end
out = d;
end
end
%CODE
We have this model for Inc Cond for solar panel MPPT project. The code is also provided for the block, our output used to be perfect when our power gui was set to 1e-7 but our other models are using 1e-6 and we have tried messing with the step size constant to no avail. We are unsure what is going on, if it is relevant we are using a synchronous buck converter for the output of our solar panel.
  2 Commenti
Walter Roberson
Walter Roberson il 30 Gen 2025
It is better to post code as text rather than as image. There are no known MATLAB versions that are able to execute images.
Walter Roberson
Walter Roberson il 30 Gen 2025
if (di/dv == -(I/V))
first off, you compute di/dv and -(I/V) twice. It would be more efficient to assign the parts into variables and then compare the variables.
Secondly, there would be fewer fragile division operations if you would to cross-multiply to compare di*V and -I*dv

Accedi per commentare.

Risposte (0)

Categorie

Scopri di più su Solar Power in Help Center e File Exchange

Prodotti


Release

R2024a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by