HOW CAN DO PV MODULE WITH VARING TEMPERETURE IN MATLAB ?
조회 수: 4 (최근 30일)
이전 댓글 표시
clc
Top= 30:20:90;
q = 1.6e-19
k = 1.3805e-23
A = 1.6
B = 1.6
N = 36
Np=1
voc = 21.24
vt=N*k*A*Top/q
Tref = 25
Ego = 1.1
Iph=2.55+0.0017*(Top-25)
for w= N*k*A*Top/q
Irs=2.55/(exp(voc/w)-1)
end
Io=Irs*(Top/Tref).^3*exp (q*Ego *0.0066666667 /B*k)
x=[0:21.24]
D= N*k*A*Top/q
for z=length(D)
for Vpv=0:length(x)
% Ipv=Np*Iph-N*Io *
(exp(x/D)-1)
% plot ( x,Ipv )
end
end
댓글 수: 0
답변 (1개)
Suraj Kumar
2024년 10월 3일
From what I gather, you want to simulate the PV module in MATLAB with varying temperatures. To achieve this, you can do the following modifications in the code:
1. Convert the temperature range from Celsius to Kelvin for accurate calculations involving Boltzmann's constant.
Top = 30:20:90;
% Convert temperatures to Kelvin
TopK = Top + 273.15;
2. Calculate the necessary parameters like thermal voltage (vt), photocurrent (Iph), reverse saturation current (Irs), and saturation current (Io) for modelling the PV module's behavior.
for i = 1:length(TopK)
T = TopK(i);
vt = N * k * T / q; % Thermal voltage
Iph(i) = 2.55 + 0.0017 * (T - 298.15); % Photocurrent
Irs(i) = 2.55 / (exp(voc / vt) - 1); % Saturation current
Io(i) = Irs(i) * (T / Tref)^3 * exp(q * Ego * (1/Tref - 1/T) / (B * k)); % Saturation current
D(i) = vt;
end
3. Use linspace to define a smooth voltage range and iterate over this range to compute and plot the I-V curves for each temperature.
figure;
hold on;
x = linspace(0, voc, 100);
for i = 1:length(TopK)
Ipv = Np * Iph(i) - N * Io(i) * (exp(x / D(i)) - 1);
plot(x, Ipv);
end
You can refer to the output below for a better understanding:
Happy coding!
댓글 수: 0
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!