i want to extract the value of Rs an Rp in the moeling of pv arrary

3 vues (au cours des 30 derniers jours)
nada juburi
nada juburi le 9 Jan 2018
Commenté : nada juburi le 9 Jan 2018
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

Réponses (0)

Catégories

En savoir plus sur Animation dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by