I have developed a Incremental Conductance MPPT algorithm. Initially (for the first change/increment) my algorithm tracks MPP but after first change the algorithm fails to tracks MPP and stabilizes on a common (first) operating point. I have attached the output graph and the simulink model

function duty_cycle = mppt_i_c(v_pv, i_pv, delta)

duty_min=0;

duty_max=0.85;

persistent v_prev i_prev duty_prev;

if isempty(v_prev)

v_prev = 0;

i_prev = 0;

duty_prev = 0.1;

end

dV = v_pv - v_prev;

dI = i_pv - i_prev;

if v_pv > 30

if dV == 0

if dI == 0

duty_cycle = duty_prev;

elseif dI > 0

duty_cycle = duty_prev + delta;

else

duty_cycle = duty_prev - delta;

end

else

if dI/dV == -(i_pv/v_pv)

duty_cycle = duty_prev;

elseif dI/dV > -(i_pv/v_pv)

duty_cycle = duty_prev + delta;

else

duty_cycle = duty_prev - delta;

end

end

else

duty_cycle = duty_prev;

end

if duty_cycle >= duty_max

duty_cycle = duty_max;

elseif duty_cycle < duty_min

duty_cycle = duty_min;

end

duty_prev = duty_cycle;

v_prev = v_pv;

i_prev = i_pv;

end % end of I&C algorithm

Similar questions and discussions