Difficulty Getting to MPP via Incremental Conductance on Simulink.

7 次查看(过去 30 天)
%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 个评论
Walter Roberson
Walter Roberson 2025-1-30
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 2025-1-30
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

请先登录,再进行评论。

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Solar Power 的更多信息

产品


版本

R2024a

Community Treasure Hunt

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

Start Hunting!

Translated by