I need to use a scope to display the current i and the power P as functions of the voltage V, with the curves obtained for various irradiance levels and temperatures
조회 수: 3 (최근 30일)
이전 댓글 표시
1. Context
As part of my energy modeling project, I developed a simulation model in Simulink:
- A photovoltaic (PV) panel model based on the single-diode approach, accounting for irradiance and temperature effects.
the model generate time-domain outputs under standard test conditions.
2. Objectives
I need to extract the I–V and P–V curves of the PV panel for different environmental conditions:
- Irradiance (G): 200, 400, 600, 800, 1000 W/m²
- Temperature (T): 0°C, 25°C, 50°C
3. Current model status
The Simulink PV model includes:
- Computation of Iph, Irs, I0
- Equivalent PV cell circuit
- Buck-Boost converter with MPPT and PWM control
- Time-based curves: Pin(t), Pout(t)Inputs: Irradiance (G), Temperature (T)However, it does not currently output I–V or P–V curves directly.
4. Issues encountered
- No direct I–V and P–V output
- No voltage sweep mechanism to generate these curves
- No variation tracking across different G and T conditions
5. Request for help
I’d appreciate guidance on how to:
- Add a voltage sweep mechanism (controlled voltage source) to the PV model
- Automatically extract I–V and P–V curves for different G and T values
- Create a simulation script that loops over multiple irradiance and temperature settings
- Export the results (ideally to .mat or .csv)
Thank you in advance for any suggestions or shared examples!
댓글 수: 0
답변 (1개)
Sulaymon Eshkabilov
2025년 5월 18일
Here are the updated Simulink Model with outputs (time, V, I, P) and simulation script - M-file
%% MATLAB script to simulate the model for different values of G and T
Gs = [200, 400, 600, 800, 1000];
Ts = [0, 25, 50];
for ii = 1:numel(Gs)
G=Gs(ii);
for jj=1:numel(Ts)
T = Ts(jj);
sim('PVModel.slx');
% Note that Column 1: Time; Column 2: V (Module PV); Column 3: I (Module PV);
% Column 4: V (Buck Boost); Column 5: I (Buck Boost); Column 5: P;
Data = [V_I_Module.Time, V_I_Module.Data, V_I_out.Data, P_out.Data];
% Simulation data is augmented:
D_ALL(ii,jj)={Data};
end
end
%% All simulation data are stored in *.mat file:
save('PV_Sim_ALL.mat', "D_ALL");
참고 항목
카테고리
Help Center 및 File Exchange에서 Electrical Block Libraries에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!