Documente Academic
Documente Profesional
Documente Cultură
FACULTATEA DE ENERGETIC
Laboratoare
Profesor:
Conf. dr. ing. Tiberiu Tudorache
Masterand:
Ciobanu Mihai
2015
1. Scopul lucrrii
Scopul acestei lucrri de laborator const n nsuirea abilitilor practice necesare
caracterizrii panourilor fotovoltaice i a determinrii experimentale a caracteristicilor specifice
de funcionare.
2. Chestiuni de studiat
2.1. Introducere
2.2. Datele principale ale panoului fotovoltaic
2.3. Caracteristicile de funcionare ale panourilor fotovoltaice
2.4. Determinarea experimental a caracterisiticilor de funcionare
2.5. Interpretarea rezultatelor. Observaii i concluzii
3. Elemente teoretice
3.1. Introducere
Principiul conversiei fotovoltaice are la baz fenomenul de conducie electric n materiale
semiconductoare. Semiconductorul poate deveni bun conductor de electricitate atunci cnd i se
transfer o anumit cantitate de energie din exterior, numit i energie de activare. Energia de
activare poate proveni din nclzirea materialului sau din iluminarea sa.
Efectul fotovoltaic const n apariia unui cmp electric (imprimat) ntr-un semiconductor
omogen sub influena luminii (de regul lumina solar), Fig. 1.1.
Celula elementar ce asigur conversia luminii n electricitate se numete celul solar sau
celul fotovoltaic. Mai multe celule fotovoltaice conectate n serie i/sau n paralel constituie un
panou fotovoltaic utilizat n mod uzual la captarea energiei solare i la conversia ei n
electricitate.
2. Chestiuni de studiat
2.1. Modelul celulei fotovoltaice ideale
2.2. Modelul celulei fotovoltaice reale implementat n Matlab
2.3. Programul de calcul Matlab utilizat pentru determinarea caracteristicilor panourilor
fotovoltaice
2.4. Rezultate numerice. Observaii i concluzii
3. Elemente teoretice
3.1. Modelul celulei fotovoltaice ideale
n Fig. 2.1 este prezentat modelul de circuit echivalent al celulei fotovoltaice ideale.
Modelul 2
% Matlab script pentru modelarea unei panou fotovoltaic
%
% Testat cu MATLAB versiunea 7.7 (R2008b)
clear all
clc
%% Informatiile din fisa tehnica a panoului solar Suntech
% Se poate modifica acesti parametri pentru a se potrivi modelului I-V
% pentru alte tipuri de panouri solare.
Iscn = 5.23;
%Curent nominal de scurt-circuit [A]
Vocn = 44.7;
%Tensiunea nominala de mers in gol [V]
Imp = 4.9;
%curent nominal al panoului @ punctul de putere maxima [A]
Vmp = 35.8;
%Tensiunea nominala a panoului @ punctul de putere maxima [V]
Pmax_e = Vmp*Imp;
%Putere maxima de vrf a panoului [W]
Kv = -0.155;
%Coeficient tensiune/temperatura [V/K]
Ki = 3.138e-3;
%Coeficient curent/temperatura [A/K]
Ns = 72;
%Numar de celule in serie
% Panoul cu Nss x module Npp
Nss = 2;
Npp = 2;
%% Constante
k = 1.3806503e-23; %constanta Boltzmann [J/K]
q = 1.60217646e-19; %Sarcina electronului [C]
a = 1.3;
%Constanta diodei
%% Valori nominale
Gn = 1000;
% Radiatia nominala [W/m^2] @ 25oC
Tn = 25+273.15;
% Temperatura nominala operativa [C]
%% Ajustarea algoritmului
% Modelul este adaptat la starea nominala
T = Tn;
G = Gn;
Vtn = k * Tn / q;
%Tensiunea jonctiunii termice (nominala)
Vt = k * T / q;
%Tensiunea jonctiunii termice (la temperaturile actuale)
Ion = Iscn/(exp(Vocn/a/Ns/Vtn)-1); % Curentul nominal de saturatie al diodei
Io = Ion;
% Valorile de referinta pentru Rs si Rp
Rs_max = (Vocn - Vmp)/ Imp;
Rp_min = Vmp/(Iscn-Imp) - Rs_max;
%Incercarea initiala pentru Rp si Rs
Rp = Rp_min;
Rs = 0;
tol = 0.05; % Toleranta
P=[0];
error = Inf; %valoare falsa
grid on
hold on
title('Curbele I-V - Ajustarea Rs si Rp');
xlabel('V [V]');
ylabel('I [A]');
xlim([0 Vocn+1]);
ylim([0 Iscn+1]);
%Plotarea curbei I x V
plot(V,I,'LineWidth',2,'Color','k')
%Ploteaza punctelor remarcabile de pe curba I x V
plot([0 Vmp Vocn],[Iscn Imp 0],'o','LineWidth',2,'MarkerSize',5,'Color','k')
%Putere x Tensiune
figure(2)
grid on
hold on
title('Curbele P-V - Ajustarea puteri de vrf');
xlabel('V [V]');
ylabel('P [W]');
xlim([0 Vocn+10])
ylim([0 Vmp*Imp+10]);
end % if(plott)
plot(V,P,'LineWidth',2,'Color','k')
plot([0 Vmp Vocn ],[0 Pmax_e 0 ],'o','LineWidth',2,'MarkerSize',5,'Color','k')
disp(sprintf('Model info:\n'));
disp(sprintf(' Rp_min = %f',Rp_min));
disp(sprintf(' Rp = %f',Rp));
disp(sprintf(' Rs_max = %f',Rs_max));
disp(sprintf(' Rs = %f',Rs));
disp(sprintf(' a = %f',a));
disp(sprintf(' T = %f',T-273.15));
disp(sprintf(' G = %f',G));
disp(sprintf(' Pmax,m = %f (model)',Pmax_m));
disp(sprintf(' Pmax,e = %f (experimental)',Pmax_e));
disp(sprintf(' tol = %f',tol));
disp(sprintf('P_error = %f',error));
disp(sprintf(' Ipv = %f',Ipv));
disp(sprintf(' Isc = %f',Isc));
disp(sprintf(' Ion = %f',Ion));
disp(sprintf('\n\n'));
Model 3
% Matlab script for evaluating the photovoltaic array model
% Tested with MATLAB Version 7.10 (R2010a)
%% Information from the Suntech solar array datasheet
% You may change these parameters to fit the I-V model
% to other kinds of solar arrays.
Iscn = 5.23;
%Curent nominal de scurt-circuit [A]
Vocn = 44.7;
%Tensiunea nominala de mers in gol [V]
Imp = 4.9;
%curent nominal al panoului @ punctul de putere maxima [A]
Vmp = 35.8;
%Tensiunea nominala a panoului @ punctul de putere maxima [V]
Pmax_e = Vmp*Imp;
%Putere maxima de vrf a panoului [W]
Kv = -0.155;
%Coeficient tensiune/temperatura [V/K]
Ki = 3.138e-3;
%Coeficient curent/temperatura [A/K]
Ns = 72;
%Numar de celule in serie
% Panoul cu Nss x module Npp
Nss = 2;
Npp = 2;
%% Constants
k = 1.3806503e-23; %Boltzmann [J/K]
q = 1.60217646e-19; %Electron charge [C]
a = 1.3;
%Diode constant
%% Evaluates the model
for jj = 1:3
%Temperatures [K]
if (jj==1) T = 25 + 273.15; end %Evaluates the model for three
if (jj==2) T = 50 + 273.15; end %different temperatures
Eg = log(Isc_*Tn^3/Ion/Tmax^3/(exp(Voc_/a/Ns/k/Tmax*q)-1))*a*k*Tn*Tmax/q/(Tmax-Tn);
%or:
Eg = -log((Iscn+Ki*(Tmax-Tn))*Tn^3/Ion/Tmax^3/(exp((Vocn+Kv*(Tmax-Tn))/a/Ns/k/Tmax*q)1))*a*k*Tn*Tmax/q/(-Tmax+Tn);
%Uncomment this line if you wish to use this equation:
%Io = Ion *(T/Tn)^(3) * exp( q * Eg/a/ k * (1/Tn-1/T) );
%Calculation of Io (method 2)
%This is the alternative Io equation suggested in:
%"Comprehensive approach to modeling and simulation of photovoltaic arrays"
dT = T - Tn;
Isc_ = ( Iscn + Ki*dT );
Voc_ = ( Vocn + Kv*dT );
%Comment this line if you wish to use the original Io equation:
Io = Isc_/(exp(Voc_/a/Ns/Vt)-1);
% Temperature and irradiation effect on the current
dT = T-Tn;
Ipvn = (Rs+Rp)/Rp * Iscn;
% Nominal light-generated current
Ipv = (Ipvn + Ki*dT) *G/Gn;
% Actual light-generated current
Isc = (Iscn + Ki*dT) *G/Gn;
% Actual short-circuit current
% Solving the I-V equation for several (V,I) pairs
clear V
clear I
V = 0:.1:45;
% Voltage vector
I = zeros(1,size(V,2)); % Current vector
for j = 1 : size(V,2) %Calculates for all voltage values
% Solves g = I - f(I,V) = 0 with Newntonn-Raphson
g(j) = Ipv-Io*(exp((V(j)+I(j)*Rs)/Vt/Ns/a)-1)-(V(j)+I(j)*Rs)/Rp-I(j);
while (abs(g(j)) > 0.001)
g(j) = Ipv-Io*(exp((V(j)+I(j)*Rs)/Vt/Ns/a)-1)-(V(j)+I(j)*Rs)/Rp-I(j);
glin(j) = -Io*Rs/Vt/Ns/a*exp((V(j)+I(j)*Rs)/Vt/Ns/a)-Rs/Rp-1;
I_(j) = I(j) - g(j)/glin(j);
I(j) = I_(j);
end
end
%% Final adjusted I-V and P-V curves
% I-V curve
figure(3)
grid on
hold on
title('Caracteristici I-U');
xlabel('V [V]');
ylabel('I [A]');
xlim([0 Vocn+1]);
ylim([0 Iscn+2]);
plot(V,I,'LineWidth',2,'Color','k') %
%plot([0 Vmp Vocn ],[Iscn Imp 0 ],'o','LineWidth',2,'MarkerSize',5,'Color','k')
% P-V curve
figure(4)
grid on
hold on
title('Adjusted P-V curves');
xlabel('V [V]');
ylabel('P [W]');
xlim([0 Vocn+1]);
ylim([0 200]);
plot(V,V.*I,'LineWidth',2,'Color','k') %
%plot([0 Vmp Vocn ],[0 Pmax_e 0 ],'o','LineWidth',2,'MarkerSize',5,'Color','k')
End
Model 4
% Matlab script for evaluating the photovoltaic array model
% Tested with MATLAB Version 7.10 (R2010a)
%% Information from the Suntech solar array datasheet
% You may change these parameters to fit the I-V model
% to other kinds of solar arrays.
Iscn = 5.23;
%Curent nominal de scurt-circuit [A]
Vocn = 44.7;
%Tensiunea nominala de mers in gol [V]
Imp = 4.9;
%curent nominal al panoului @ punctul de putere maxima [A]
Vmp = 35.8;
%Tensiunea nominala a panoului @ punctul de putere maxima [V]
Pmax_e = Vmp*Imp;
%Putere maxima de vrf a panoului [W]
Kv = -0.155;
%Coeficient tensiune/temperatura [V/K]
Ki = 3.138e-3;
%Coeficient curent/temperatura [A/K]
Ns = 72;
%Numar de celule in serie
%% Constants
k = 1.3806503e-23; %Boltzmann [J/K]
q = 1.60217646e-19; %Electron charge [C]
a = 1.3;
%Diode constant
%% Evaluates the model
for jj = 1:3
% Inputs
%Temperatures [K]
T = 25 + 273.15 ; %Evaluates the model for three
%different temperatures
%Irradiance [W/m^2]
if (jj==1) G = 400; end %Choose G=1000,700,400 to compare the model
if (jj==2) G = 700; end %with experimental data from datasheet
if (jj==3) G = 1000; end
% Constants
k = 1.3806503e-23; %Boltzmann [J/K]
q = 1.60217646e-19; %Electron charge [C]
% Nominal values
Gn = 1000;
% Nominal irradiance [W/m^2] @ 25oC
Tn = 25 + 273.15; % Nominal operating temperature [K]
% Thermal voltages
Vtn = k * Tn / q; %Thermal junction voltage (nominal)
%Calculation of Io (method 2)
%This is the alternative Io equation suggested in:
%"Comprehensive approach to modeling and simulation of photovoltaic arrays"
dT = T - Tn;
Isc_ = ( Iscn + Ki*dT );
Voc_ = ( Vocn + Kv*dT );
%Comment this line if you wish to use the original Io equation:
Io = Isc_/(exp(Voc_/a/Ns/Vt)-1);
% Temperature and irradiation effect on the current
dT = T-Tn;
Ipvn = (Rs+Rp)/Rp * Iscn;
% Nominal light-generated current
Ipv = (Ipvn + Ki*dT) *G/Gn;
% Actual light-generated current
Isc = (Iscn + Ki*dT) *G/Gn;
% Actual short-circuit current
% Solving the I-V equation for several (V,I) pairs
clear V
clear I
V = 0:.1:100;
% Voltage vector
I = zeros(1,size(V,2)); % Current vector
for j = 1 : size(V,2) %Calculates for all voltage values
% Solves g = I - f(I,V) = 0 with Newntonn-Raphson
g(j) = Ipv-Io*(exp((V(j)+I(j)*Rs)/Vt/Ns/a)-1)-(V(j)+I(j)*Rs)/Rp-I(j);
while (abs(g(j)) > 0.001)
g(j) = Ipv-Io*(exp((V(j)+I(j)*Rs)/Vt/Ns/a)-1)-(V(j)+I(j)*Rs)/Rp-I(j);
glin(j) = -Io*Rs/Vt/Ns/a*exp((V(j)+I(j)*Rs)/Vt/Ns/a)-Rs/Rp-1;
I_(j) = I(j) - g(j)/glin(j);
I(j) = I_(j);
end
end
%% Final adjusted I-V and P-V curves
% I-V curve
figure(3)
grid on
hold on
title('Adjusted I-V curves');
xlabel('V [V]');
ylabel('I [A]');
xlim([0 Vocn+1]);
ylim([0 Iscn+2]);
plot(V,I,'LineWidth',2,'Color','k') %
%plot([0 Vmp Vocn ],[Iscn Imp 0 ],'o','LineWidth',2,'MarkerSize',5,'Color','k')
% P-V curve
figure(4)
grid on
hold on
title('Adjusted P-V curves');
xlabel('V [V]');
ylabel('P [W]');
xlim([0 Vocn+1]);
ylim([0 Vmp*Imp+10]);
plot(V,V.*I,'LineWidth',2,'Color','k') %
%plot([0 Vmp Vocn ],[0 Pmax_e 0 ],'o','LineWidth',2,'MarkerSize',5,'Color','k')
End
Pmax_e = Vmp*Imp;
%Putere maxima de vrf a panoului [W]
Kv = -0.155;
%Coeficient tensiune/temperatura [V/K]
Ki = 3.138e-3;
%Coeficient curent/temperatura [A/K]
Ns = 72;
%Numar de celule in serie
% Panoul cu Nss x module Npp
Nss = 2;
Npp = 2;
%% Constants
k = 1.3806503e-23; %Boltzmann [J/K]
q = 1.60217646e-19; %Electron charge [C]
a = 1.3;
%Diode constant
%% Evaluates the model
for jj = 1:1
IEX = [
0.0
1.75
1.48
2.23
3.06
3.97
4.51
4.55
4.58
4.61
4.63
4.63
4.60
4.60];
UEX = [
82.66
79.31
79.81
78.04
75.50
70.63
55.76
38.65
22.33
7.70
4.264
2.22
1.98
0];
PEX = IEX.*UEX;
%Temperatures [K]
T = 35 + 273.15;
G = 445
; %Irradiance [W/m^2]
%Choose G=1000,800,600,400,200 to compare the model
%with experimental data from datasheet
% Constants
k = 1.3806503e-23; %Boltzmann [J/K]
q = 1.60217646e-19; %Electron charge [C]
% Nominal values
Gn = 1000;
% Nominal irradiance [W/m^2] @ 25oC
Tn = 25 + 273.15; % Nominal operating temperature [K]
% Thermal voltages
Vtn = k * Tn / q; %Thermal junction voltage (nominal)
Vt = k * T / q;
%Thermal junction voltage (actual temperature)
%Calculation of Io (method 1)
%This is the original Io equation generally found in the literature.
%This requires finding the optimal value of Eg.
%See details in:
%"Modeling and circuit-based simulation of photovoltaica arrays"
%Calculation of Eg
Tmax = 75 + 273.15;
dT_ = Tmax - Tn;
Isc_ = ( Iscn + Ki*dT_ );
Voc_ = ( Vocn + Kv*dT_ );
Vt_ = k * Tmax / q;
Eg = log(Isc_*Tn^3/Ion/Tmax^3/(exp(Voc_/a/Ns/k/Tmax*q)-1))*a*k*Tn*Tmax/q/(Tmax-Tn);
%or:
Eg = -log((Iscn+Ki*(Tmax-Tn))*Tn^3/Ion/Tmax^3/(exp((Vocn+Kv*(Tmax-Tn))/a/Ns/k/Tmax*q)1))*a*k*Tn*Tmax/q/(-Tmax+Tn);
%Uncomment this line if you wish to use this equation:
%Io = Ion *(T/Tn)^(3) * exp( q * Eg/a/ k * (1/Tn-1/T) );
%Calculation of Io (method 2)
%This is the alternative Io equation suggested in:
%"Comprehensive approach to modeling and simulation of photovoltaic arrays"
dT = T - Tn;
Isc_ = ( Iscn + Ki*dT );
Voc_ = ( Vocn + Kv*dT );
%Comment this line if you wish to use the original Io equation:
Io = Isc_/(exp(Voc_/a/Ns/Vt)-1);
% Temperature and irradiation effect on the current
dT = T-Tn;
Ipvn = (Rs+Rp)/Rp * Iscn;
% Nominal light-generated current
Ipv = (Ipvn + Ki*dT) *G/Gn;
% Actual light-generated current
Isc = (Iscn + Ki*dT) *G/Gn;
% Actual short-circuit current
% Solving the I-V equation for several (V,I) pairs
clear V
clear I
V = 0:.1:45;
% Voltage vector
I = zeros(1,size(V,2)); % Current vector
for j = 1 : size(V,2) %Calculates for all voltage values
% Solves g = I - f(I,V) = 0 with Newntonn-Raphson
g(j) = Ipv-Io*(exp((V(j)+I(j)*Rs)/Vt/Ns/a)-1)-(V(j)+I(j)*Rs)/Rp-I(j);
while (abs(g(j)) > 0.001)
g(j) = Ipv-Io*(exp((V(j)+I(j)*Rs)/Vt/Ns/a)-1)-(V(j)+I(j)*Rs)/Rp-I(j);
glin(j) = -Io*Rs/Vt/Ns/a*exp((V(j)+I(j)*Rs)/Vt/Ns/a)-Rs/Rp-1;
I_(j) = I(j) - g(j)/glin(j);
I(j) = I_(j);
end
end
%% Final adjusted I-V and P-V curves
% I-V curve
figure(3)
grid on
hold on
title('Adjusted I-V curves');
xlabel('V [V]');
ylabel('I [A]');
axis([0 100 0 15])
UEX = UEX
IEX = IEX
plot(UEX, IEX, 'ro', V*2,I*2, 'b') %
%plot([0 Vmp Vocn ],[Iscn Imp 0 ],'o','LineWidth',2,'MarkerSize',5,'Color','k')
% P-V curve
figure(4)
grid on
hold on
title('Adjusted P-V curves');
xlabel('V [V]');
ylabel('P [W]');
axis([0 100 0 800])
plot(UEX, PEX, 'ro', V*2,V.*I*4,'LineWidth',2) %
%plot([0 Vmp Vocn ],[0 Pmax_e 0 ],'o','LineWidth',2,'MarkerSize',5,'Color','k')
End
IEX = [
0.0
1.69
2.03
2.54
3.2
4.09
5.28
6.09
6.39
7.17
8.38
8.97
9.86
10.15
10.31
10.31];
UEX = [
80.6
78.33
77.91
77.27
76.38
75.05
73.11
71.73
71.02
69.55
66.46
64.35
58.92
54.11
40.01
0];
PEX = IEX.*UEX;
%Temperatures [K]
T = 57 + 273.15;
G = 980; %Irradiance [W/m^2]
%Choose G=1000,800,600,400,200 to compare the model
%with experimental data from datasheet
% Constants
k = 1.3806503e-23; %Boltzmann [J/K]
q = 1.60217646e-19; %Electron charge [C]
% Nominal values
Gn = 1000;
% Nominal irradiance [W/m^2] @ 25oC
Tn = 25 + 273.15; % Nominal operating temperature [K]
% Thermal voltages
Vtn = k * Tn / q; %Thermal junction voltage (nominal)
Vt = k * T / q;
%Thermal junction voltage (actual temperature)
%Calculation of Io (method 1)
%This is the original Io equation generally found in the literature.
%This requires finding the optimal value of Eg.
%See details in:
%"Modeling and circuit-based simulation of photovoltaica arrays"
%Calculation of Eg
Tmax = 75 + 273.15;
dT_ = Tmax - Tn;
Isc_ = ( Iscn + Ki*dT_ );
Concluzii
Comparnd rezultatele i graficele obinute n urma ajustrii modelului cu cele din
modelul ideal se pot observa diferene mari ntre caracteristicile I=f(U) i P=f(U).
n cazul modelului ideal, pentru curba I=f(U) are un punct de maxim pentru un
curent I5 A i o tensiune U35 V, dup acest punct curba ncepnd s descreasc, avnd un
curent de mers n gol I=0 A i o tensiune U45 V.
De asemenea, n cazul modelului ideal, n urma reprezentrii caracteristicii
P=f(U) punctul maxim se obine pentru valoarea puterii P190 W i a tensiunii U35 V.
Pentru cazurile studiate, cer senin i cer nnorat, se remarc diferene ale valorilor
tensiunii, curentului, respectiv puterii.
Pentru cer senin, curba I=f(U) nregistreaz valori maxime la I10 A i U65 V, iar curba
P=f(U) la P580 W i U65 V.
Pentru cer nnorat, curba I=f(U) nregistreaz valori maxime la I5 A i U65 V, iar curba
P=f(U) la P300 W i U70 V.
Aceste valori au rezultat n urma unor ajustri ale temperaturii i iradianei, mrimi care
influeneaz caracteristicile descrise. Aceste mrimi au valori mari n cazul unei zi nsorite ( T =
55+ 273.15 [K]; G =935 [W/m2K]) i mai sczute pentru o zi nnorat (T = 35+ 273.15 [K]; G
=451 [W/m2K]). Se observ o proporionalitate direct ntre mrimile studiate- curent debitat de
panou, tensiunea la borne i putere i cele ajustate temperatur i iradian