how can i interconnect pso code to mppt code
22 次查看(过去 30 天)
显示 更早的评论
function duty = MPPT_algorithm(vpv,ipv,delta)
%MPPT CODE
duty_init = 0.1;
%min and max value are used to limit duty between 0 & 0.85
duty_min=0;
duty_max=0.85;
persistent Vold Pold duty_old;
%persistent variable type can be stored the data
%we need the old data by obtain difference between old and new value
if isempty(Vold)
Vold = 0;
Pold = 0;
duty_old = duty_init;
end
P=vpv*ipv;%power
dV = vpv - Vold;%difference between old and new voltage
dP = P - Pold;%difference between old and new power
%the algorithm is below search the dP/dV=0
%if the derivative=0,duty will not change
%if old and new power not equal & pv voltage bigger than 30v
%the algorithm will works
if dP ~= 0 && vpv>30
if dP < 0
if dV < 0
duty = duty_old - delta;
else
duty = duty_old + delta;
end
else
if dV < 0
duty = duty_old + delta;
else
duty = duty_old - delta;
end
end
else
duty = duty_old;
end
%the below if limits the duty between min and max
if duty >= duty_max
duty = duty_max;
elseif duty<duty_min
duty = duty_min;
end
% stored data
duty_old = duty;
Vold = vpv;
Pold = P;
0 个评论
回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Particle Swarm 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!