i want to extract the value of Rs an Rp in the moeling of pv arrary
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
the atteached file the value of rs and rp wrong must rs =.4 and rp approximatly
clc; clear ; close all k=1.38065e-23;%boltzman's constant q=1.602e-19; %charge of electrons isc=6.46; %short circut current voc=64.9; %open circut current ki=0.0035; %shortcct coff constant kv=-0.176; Ns=96; %no of cell series Tc=25+273;% temp actual in kilven Tn=25+273;% temperture reference gn=1000;% irradiation stc a=1.3;%identaily factor eg=1.12; % Pmaxe=327; vmp=54.7; imp=5.98; Rs=0;%resistance in series g=1000;%irradiation vt=(Ns*k*Tn)/q ; dT=Tc-Tn; Io=(isc+ki*dT)/(exp((voc+kv*dT)/(a*vt))-1); Rpmin=(vmp/(isc-imp))-((voc-vmp)/imp); Rp=Rpmin; Ipvn=(Rp+Rs)*isc/Rp; Ipv=(Ipvn+ki*dT)*(g/gn); Pmaxe=vmp*(Ipv-Io*(exp((q/(k*Tc))*((vmp+Rs*imp)/(a*Ns)))-1)-((vmp+Rs*imp)/Rp)); %r(m)=Rs; %e(m)=abs(Pmax-Pmaxe); rr(1)=Rp h=1; e(1)=1; r(1)=Rs; while e(h)>0.001 Ipvn=(Rp+Rs)*isc/Rp; Ipv=(Ipvn+ki*dT)*(g/gn); u1=vmp*(vmp+imp*Rs); u2=((vmp+imp*Rs)/(Ns*a))*(q/(k*Tc)); Rp=u1/(vmp*Ipv-vmp*Io*exp(u2)+vmp*Io-Pmaxe); rr(h)=Rp; v=0:voc; I(1)=isc; ii=I(1); P(1)=I(1)*v(1); for j=2:length(v) I(j)=Ipv-Io*(exp((v(j)+Rs*ii)/(vt*a))-1)-(v(j)+Rs*ii)/Rp; ii=I(j); P(j)=I(j)*v(j); end Pmax=max(P); Pmaxe=vmp*(Ipv-Io*(exp((q/(k*Tc))*((vmp+Rs*imp)/(a*Ns)))-1)-((vmp+Rs*imp)/Rp)); Rs=Rs+1e-3; h=h+1; r(h)=Rs; e(h)=abs(Pmax-Pmaxe); end disp('Rs Rp') disp('-------------------------') disp([Rs Rp]) figure(1) plot(v,I) xlabel('v in volt') ylabel('I in amper') title('I-V model') grid on figure(2) plot(r,e) grid on
Respuestas (0)
Ver también
Categorías
Más información sobre Filter Banks en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!