%PV Model youtube 10:47 min
clear all:
clc;
k = 1.38065e-23;       %Boltzmann Konstante [J/K]
q = 1.60218e-19;       %Elementarladung [As]
Iscn = 9.47;             %Kurzschlussstrom bei STC [A]
Vocn = 38.8;             %Leerlaufspannung [V]
Kv = -0.123;             %Temperaturkoeffizient für Voc [%/°C] ?
Ki = 0.0032;              %Temperaturkoeffizient für Isc [%/°C] ?
Ns = 16;                %Anzahl der Zellen in Serie [/]
T = 25+273;             %Betriebstemperatur [°C -> K] !!!
Tn = 25+273;            %Zelltemperatur STC [°C -> K] !!!
G = 1000;               %Aktuelle Einstrahlung [W/m²]
Gn = 1000;              %Einstrahlung STC [W/m²]
a = 1.3;                %Ideality factor (1-2) [/] mahesh ???
Eg = 1.12;              %Bandlücke von Silizium bei 25°C [eV]
Rs = 0.012;             %Serienwiderstand [Ohm] RE Springer S. 215 ?
Rp = 1200;              %Parallelwiderstand [Ohm] RE Springer S. 215 ?
Vtn = Ns*(k*Tn/q);     %Temperaturspannung Vt, mahesh Formel (2) [V]
%Diodengleichung Isc=Ion*(e^(..)-1) umgestellt (T. Glotzbach S. 44):
Ion = Iscn/((exp(Vocn/(a*Vtn)))-1);   %vereinfacht ideal ohne R
Io = Ion*((Tn/T)^3)*exp(((q*Eg)/(a*k))*((1/Tn)-(1/T)));  %mahesh Formel (4)
Ipvn = Iscn;
Ipv = (G/Gn)*(Ipvn+Ki*(T-Tn));      %mahesh Formel (3)
Vt = Ns*(k*T/q);
I=zeros(330,1);         %Array mit 330 Leerstellen erzeugt
i=1;               %Erste Stelle des Arrays mit 0 belegt
I(1,1)=0;
for V=38.8:-0.1:0       %oder 0:0.1:38.8 Leerlaufspg
    I_part = Io*(exp((V+(I(i,1)*Rs))/(Vt*a))-1) + ((V+(Rs*I(i,1)))/Rp);
    I(i+1) = Ipv - I_part;
    V1(i)=V;
    P(i)=V*I(i);
    i=i+1;
end
V1(i)=V1(i-1);
P(i) = P(i-1);
V1 = transpose(V1);
%subplot(3,1,1)
figure(1);
plot(V1,I);
%subplot(3,1,2)
figure(2);
plot(V1,P);
%subplot(3,1,3)
%figure(3);
%plot(V1,I_part);