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 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
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 Kommentare
Antworten (1)
Sulaymon Eshkabilov
am 18 Mai 2025
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");
Siehe auch
Kategorien
Mehr zu Electrical Block Libraries finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!