MPPtrackIref.m
上传用户:liuztt
上传日期:2019-06-09
资源大小:15k
文件大小:1k
开发平台:

Matlab

  1. % Simple MPP "perturb and observe" tracking algorithm 
  2. % using Boost DC-DC input current Iref as the control variable
  3. % Pold, Iref and Increment are initialized in InitializeMPPtrackIref.m
  4. %
  5. % Input: power P to be maximized
  6. % Output: reference current
  7. function y = MPPtrackIref(P)
  8. global Pold;
  9. global Iref;
  10. global Increment;
  11. IrefH = 5; % upper limit for the reference current
  12. IrefL = 0; % lower limit for the reference current
  13. DeltaI = 0.02; % reference current increment
  14. if (P < Pold)
  15.     Increment = -Increment; % change direction if P decreased
  16. end
  17. % increment current reference
  18. Iref=Iref+Increment*DeltaI;
  19. % check for upper limit
  20. if (Iref > IrefH)
  21.     Iref = IrefH;
  22. end
  23. % check for lower limit
  24. if (Iref < IrefL)
  25.     Iref = IrefL;
  26. end
  27. % save power value
  28. Pold = P;
  29. % output current reference
  30. y = Iref;