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
    6 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
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 Commenti
Risposte (1)
  Sulaymon Eshkabilov
      
 il 18 Mag 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");
Vedere anche
Categorie
				Scopri di più su Electrical Block Libraries in Help Center e File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
