Difficulty Getting to MPP via Incremental Conductance on Simulink.

조회 수: 7 (최근 30일)
Micaela
Micaela 2025년 1월 30일
편집: Walter Roberson 2025년 1월 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