k = 1.38e-23;
q = 1.60e-19;
A = 1.2;
Vg = 1.12;
Ns = 36;
T1 = 273 + 25;
Voc_T1 = 21.06 /Ns; % open cct voltage per cell at temperature T1
Isc_T1 = 3.80; % short cct current per cell at temp T1
T2 = 273 + 75;
Voc_T2 = 17.05 /Ns; % open cct voltage per cell at temperature T2
Isc_T2 = 3.92; % short cct current per cell at temp T2
TaK = 273 + 30; % array working temp
TrK = 273 + 25; % reference temp
E=1;
% when Va = 0, light generated current Iph_T1 = array short cct current
% constant "a" can be determined from Isc vs T
Iph_T1 = Isc_T1 * E;
a = (Isc_T2 - Isc_T1)/Isc_T1 * 1/(T2 - T1);
Iph = Iph_T1 * (1 + a*(TaK - T1));
Vt_T1 = k * T1 / q; % = A * kT/q
Ir_T1 = Isc_T1 / (exp(Voc_T1/(A*Vt_T1))-1);
Ir_T2 = Isc_T2 / (exp(Voc_T2/(A*Vt_T1))-1);
b = Vg * q/(A*k);
Ir = Ir_T1 * (TaK/T1).^(3/A) .* exp(-b.*(1./TaK - 1/T1));
X2v = Ir_T1/(A*Vt_T1) * exp(Voc_T1/(A*Vt_T1));
dVdI_Voc = - 1.15/Ns / 2; % dV/dI at Voc per cell --
% from manufacturers graph
Rs = - dVdI_Voc - 1/X2v; % series resistance per cell
% Ia = 0:0.01:Iph;
Vt_Ta = A * 1.38e-23 * TaK / 1.60e-19; %=A *kT/q
% Ia1 = Iph - Ir.*( exp((Vc+Ia.*Rs)./Vt_Ta) -1);
% solve for Ia: f(Ia) = Iph - Ia - Ir.*( exp((Vc+Ia.*Rs)./Vt_Ta) -1) = 0;
% Newtons method: Ia2 = Ia1 - f(Ia1)/f(Ia1)
Va=0:0.1:21;
Vc = Va/Ns;
Ia = zeros(size(Vc));
%Ia0=0;
% while ( Ia>Ia0)
% Ia0=Ia;
%end
%Ia0
if Ia<0;
Ia=0
end
% Iav = Ia;
%for j=1:1:4;
Ia = Ia - (Iph - Ia - Ir.*( exp((Vc+Ia.*Rs)./Vt_Ta) -1))./ (-1 - (Ir.*( exp((Vc+Ia.*Rs)./Vt_Ta) -1)).*Rs./Vt_Ta);
% Iav = [Iav;Ia]; % to observe convergence for debugging.
%p=Ia.*Va;
%Rsh=(vtT*(1+g)^2)/g*Iph
%I=(Iph-(vc/Rsh))./(1+g*exp(vc/vtT)+(Rs/Rsh));
plot(Va,Ia);
title('caracteristique I(v) une module ')
xlabel('V')
ylabel('A')
grid;
axis([0 22 0 4])
%*******************************************************
%*********************************************************
hold on
E=0.8;
% when Va = 0, light generated current Iph_T1 = array short cct current
% constant "a" can be determined from Isc vs T
Iph_T1 = Isc_T1 * E;
a = (Isc_T2 - Isc_T1)/Isc_T1 * 1/(T2 - T1);
Iph = Iph_T1 * (1 + a*(TaK - T1));
Vt_T1 = k * T1 / q; % = A * kT/q
Ir_T1 = Isc_T1 / (exp(Voc_T1/(A*Vt_T1))-1);
Ir_T2 = Isc_T2 / (exp(Voc_T2/(A*Vt_T1))-1);
b = Vg * q/(A*k);
Ir = Ir_T1 * (TaK/T1).^(3/A) .* exp(-b.*(1./TaK - 1/T1));
X2v = Ir_T1/(A*Vt_T1) * exp(Voc_T1/(A*Vt_T1));
dVdI_Voc = - 1.15/Ns / 2; % dV/dI at Voc per cell --
% from manufacturers graph
Rs = - dVdI_Voc - 1/X2v; % series resistance per cell
% Ia = 0:0.01:Iph;
Vt_Ta = A * 1.38e-23 * TaK / 1.60e-19; %=A *kT/q
% Ia1 = Iph - Ir.*( exp((Vc+Ia.*Rs)./Vt_Ta) -1);
% solve for Ia: f(Ia) = Iph - Ia - Ir.*( exp((Vc+Ia.*Rs)./Vt_Ta) -1) = 0;
% Newtons method: Ia2 = Ia1 - f(Ia1)/f(Ia1)
Va=0:0.1:21;
Vc = Va/Ns;
Ia = zeros(size(Vc));
%Ia0=0;
% while ( Ia>Ia0)
% Ia0=Ia;
%end
%Ia0
if Ia<0;
Ia=0
end
% Iav = Ia;
%for j=1:1:4;
Ia = Ia - (Iph - Ia - Ir.*( exp((Vc+Ia.*Rs)./Vt_Ta) -1))./ (-1 - (Ir.*( exp((Vc+Ia.*Rs)./Vt_Ta) -1)).*Rs./Vt_Ta);
% Iav = [Iav;Ia]; % to observe convergence for debugging.
%p=Ia.*Va;
%Rsh=(vtT*(1+g)^2)/g*Iph
%I=(Iph-(vc/Rsh))./(1+g*exp(vc/vtT)+(Rs/Rsh));
plot(Va,Ia);
title('caracteristique I(v) une module ')
xlabel('V')
ylabel('A')
grid;
axis([0 22 0 4])
%*******************************************************
%*********************************************************
hold on
E=0.6;
% when Va = 0, light generated current Iph_T1 = array short cct current
% constant "a" can be determined from Isc vs T
Iph_T1 = Isc_T1 * E;
a = (Isc_T2 - Isc_T1)/Isc_T1 * 1/(T2 - T1);
Iph = Iph_T1 * (1 + a*(TaK - T1));
Vt_T1 = k * T1 / q; % = A * kT/q
Ir_T1 = Isc_T1 / (exp(Voc_T1/(A*Vt_T1))-1);
Ir_T2 = Isc_T2 / (exp(Voc_T2/(A*Vt_T1))-1);
b = Vg * q/(A*k);
Ir = Ir_T1 * (TaK/T1).^(3/A) .* exp(-b.*(1./TaK - 1/T1));
X2v = Ir_T1/(A*Vt_T1) * exp(Voc_T1/(A*Vt_T1));
dVdI_Voc = - 1.15/Ns / 2; % dV/dI at Voc per cell --
% from manufacturers graph
Rs = - dVdI_Voc - 1/X2v; % series resistance per cell
% Ia = 0:0.01:Iph;
Vt_Ta = A * 1.38e-23 * TaK / 1.60e-19; %=A *kT/q
% Ia1 = Iph - Ir.*( exp((Vc+Ia.*Rs)./Vt_Ta) -1);
% solve for Ia: f(Ia) = Iph - Ia - Ir.*( exp((Vc+Ia.*Rs)./Vt_Ta) -1) = 0;
% Newtons method: Ia2 = Ia1 - f(Ia1)/f(Ia1)
Va=0:0.1:21;
Vc = Va/Ns;
Ia = zeros(size(Vc));
%Ia0=0;
% while ( Ia>Ia0)
% Ia0=Ia;
%end
%Ia0
if Ia<0;
Ia=0
end
% Iav = Ia;
%for j=1:1:4;
Ia = Ia - (Iph - Ia - Ir.*( exp((Vc+Ia.*Rs)./Vt_Ta) -1))./ (-1 - (Ir.*( exp((Vc+Ia.*Rs)./Vt_Ta) -1)).*Rs./Vt_Ta);
% Iav = [Iav;Ia]; % to observe convergence for debugging.
%p=Ia.*Va;
%Rsh=(vtT*(1+g)^2)/g*Iph
%I=(Iph-(vc/Rsh))./(1+g*exp(vc/vtT)+(Rs/Rsh));
plot(Va,Ia);
title('caracteristique I(v) une module ')
xlabel('V')
ylabel('A')
grid;
axis([0 22 0 4])
%*******************************************************
%*********************************************************
hold on
E=0.4;
% when Va = 0, light generated current Iph_T1 = array short cct current
% constant "a" can be determined from Isc vs T
Iph_T1 = Isc_T1 * E;
a = (Isc_T2 - Isc_T1)/Isc_T1 * 1/(T2 - T1);
Iph = Iph_T1 * (1 + a*(TaK - T1));
Vt_T1 = k * T1 / q; % = A * kT/q
Ir_T1 = Isc_T1 / (exp(Voc_T1/(A*Vt_T1))-1);
Ir_T2 = Isc_T2 / (exp(Voc_T2/(A*Vt_T1))-1);
b = Vg * q/(A*k);
Ir = Ir_T1 * (TaK/T1).^(3/A) .* exp(-b.*(1./TaK - 1/T1));
X2v = Ir_T1/(A*Vt_T1) * exp(Voc_T1/(A*Vt_T1));
dVdI_Voc = - 1.15/Ns / 2; % dV/dI at Voc per cell --
% from manufacturers graph
Rs = - dVdI_Voc - 1/X2v; % series resistance per cell
% Ia = 0:0.01:Iph;
Vt_Ta = A * 1.38e-23 * TaK / 1.60e-19; %=A *kT/q
% Ia1 = Iph - Ir.*( exp((Vc+Ia.*Rs)./Vt_Ta) -1);
% solve for Ia: f(Ia) = Iph - Ia - Ir.*( exp((Vc+Ia.*Rs)./Vt_Ta) -1) = 0;
% Newtons method: Ia2 = Ia1 - f(Ia1)/f(Ia1)
Va=0:0.1:21;
Vc = Va/Ns;
Ia = zeros(size(Vc));
%Ia0=0;
% while ( Ia>Ia0)
% Ia0=Ia;
%end
%Ia0
if Ia<0;
Ia=0
end
% Iav = Ia;
%for j=1:1:4;
Ia = Ia - (Iph - Ia - Ir.*( exp((Vc+Ia.*Rs)./Vt_Ta) -1))./ (-1 - (Ir.*( exp((Vc+Ia.*Rs)./Vt_Ta) -1)).*Rs./Vt_Ta);
% Iav = [Iav;Ia]; % to observe convergence for debugging.
%p=Ia.*Va;
%Rsh=(vtT*(1+g)^2)/g*Iph
%I=(Iph-(vc/Rsh))./(1+g*exp(vc/vtT)+(Rs/Rsh));
plot(Va,Ia);
title('caracteristique I(v) une module ')
xlabel('V')
ylabel('A')
grid;
axis([0 22 0 4])
%*******************************************************
%*********************************************************
hold on
E=0.2;
% when Va = 0, light generated current Iph_T1 = array short cct current
% constant "a" can be determined from Isc vs T
Iph_T1 = Isc_T1 * E;
a = (Isc_T2 - Isc_T1)/Isc_T1 * 1/(T2 - T1);
Iph = Iph_T1 * (1 + a*(TaK - T1));
Vt_T1 = k * T1 / q; % = A * kT/q
Ir_T1 = Isc_T1 / (exp(Voc_T1/(A*Vt_T1))-1);
Ir_T2 = Isc_T2 / (exp(Voc_T2/(A*Vt_T1))-1);
b = Vg * q/(A*k);
Ir = Ir_T1 * (TaK/T1).^(3/A) .* exp(-b.*(1./TaK - 1/T1));
X2v = Ir_T1/(A*Vt_T1) * exp(Voc_T1/(A*Vt_T1));
dVdI_Voc = - 1.15/Ns / 2; % dV/dI at Voc per cell --
% from manufacturers graph
Rs = - dVdI_Voc - 1/X2v; % series resistance per cell
% Ia = 0:0.01:Iph;
Vt_Ta = A * 1.38e-23 * TaK / 1.60e-19; %=A *kT/q
% Ia1 = Iph - Ir.*( exp((Vc+Ia.*Rs)./Vt_Ta) -1);
% solve for Ia: f(Ia) = Iph - Ia - Ir.*( exp((Vc+Ia.*Rs)./Vt_Ta) -1) = 0;
% Newtons method: Ia2 = Ia1 - f(Ia1)/f(Ia1)
Va=0:0.1:21;
Vc = Va/Ns;
Ia = zeros(size(Vc));
%Ia0=0;
% while ( Ia>Ia0)
% Ia0=Ia;
%end
%Ia0
if Ia<0;
Ia=0
end
% Iav = Ia;
%for j=1:1:4;
Ia = Ia - (Iph - Ia - Ir.*( exp((Vc+Ia.*Rs)./Vt_Ta) -1))./ (-1 - (Ir.*( exp((Vc+Ia.*Rs)./Vt_Ta) -1)).*Rs./Vt_Ta);
% Iav = [Iav;Ia]; % to observe convergence for debugging.
%p=Ia.*Va;
%Rsh=(vtT*(1+g)^2)/g*Iph
%I=(Iph-(vc/Rsh))./(1+g*exp(vc/vtT)+(Rs/Rsh));
plot(Va,Ia);
title('caracteristique I(v) une module ')
xlabel('V')
ylabel('A')
grid;
axis([0 22 0 4])
%*******************************************************
%**********************
没有合适的资源?快使用搜索试试~ 我知道了~
Test_Caracteristiq_I_G.zip_The Test_propose pv_pv cell matlab co
共1个文件
m:1个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 22 浏览量
2022-09-19
22:27:58
上传
评论
收藏 1KB ZIP 举报
温馨提示
we propose this code to calculate the I-Q current in a PV cell
资源推荐
资源详情
资源评论
收起资源包目录
Test_Caracteristiq_I_G.zip (1个子文件)
Test_Caracteristiq_I_G.m 8KB
共 1 条
- 1
资源评论
JonSco
- 粉丝: 67
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功