program main
double precision :: q, k, beta, alpha
double precision :: G, G_ref, CR_PTC, T, T_cell, T_ref, Voc_ref, Isc_ref
double precision :: Vt, n_min, n_max, coef, n
double precision :: Voc, Isc, I0, IL
double precision :: Jsc_ref, Jmp_ref, APV
double precision :: Rs, Vmp, Imp, Pmp, RA, P_mppt, Rss
double precision :: Vtt, S, Rpv, Rpvv
q = 1.602e-19 ! Carga del electrón (C)
k = 1.381e-23 ! Constante de Boltzmann (J/K)
beta = - 0.0023 ! Coef. temperatura de Voc (V/°C)
alpha = 0.0006 ! Coef. temperatura de Isc (A/°C)
Vt = (k * T)/q ! Voltaje térmico
! ---- ---- ---- ---- ---- ---- ---- Datos de ficha técnica y parámetros conocidos
G = 990 !* CR_PTC ! Irradiancia de referencia (W/m²)
G_ref = 1353 ! Irradiancia de referencia (W/m²)
CR_PTC = 16.92 ! Relación de concentración
T_cell = 54.85
T = T_cell + 273.15 ! Temperatura de la celda (°C)
T_ref = 25 + 273.15 ! Tempertura de referencia (°C)
Jsc_ref = 16.8e-3
Jmp_ref = 16.0e-3
APV = 12 ! Área de la celda solar (cm^2)
Voc_ref = 2.63 ! Voltaje de circuito abierto (Voc) de refrencia (V)
Vmp_ref = 2.29 ! Voltaje de máximo punto de potencia (MPP) de refrencia (V)
Isc_ref = Jsc_ref * APV ! Corriente de corto circuito (Isc) de referencia (A)
Imp_ref = Jmp_ref * APV ! Corriente de máximo punto de potencia (MPP) de referencia (A)
Vt = (k * T)/q ! Voltaje térmico
n_max = 2
n_min = 1
coef = 0.0015
n = n_max + (n_min - n_max) * exp(-coef * G)
! ---- ---- ---- ---- ---- ---- ---- Cálculo de Voc e Isc
Voc = Voc_ref + (((n * k * T)/q) * log(G/G_ref)) + (beta * (T - T_ref)) ! Voltaje de circuito abierto (Voc)
Isc = Isc_ref * (G/G_ref) * (1 + alpha * (T - T_ref)) * CR_PTC ! Corriente de corto circuito (Isc)
!Isc = Isc_ref * (G/G_ref) * CR_PTC ! Corriente de corto circuito (Isc)
! ---- ---- ---- ---- ---- ---- ---- Cálculo de I0 e IL
I0 = (Isc)/(exp(Voc/(n * Vt)) - 1 ) ! Corriente de saturación inversa del diodo (I0)
IL = Isc * (G/G_ref) * (1 + (alpha * (T - T_ref))) ! Fotocorriente generada (IL)
! ---- ---- ---- ---- ---- ---- ---- Cálculo de Rs
Rs = ( ( (Voc - Vmp)/(Imp) ) * ( T/T_ref )**(beta) ) * (1/CR_PTC)
Rss = ( (n * k * T)/(q * Imp ) ) * log( (IL + I0 - Imp)/(I0) ) - (Vmp/Imp)
! ---- ---- ---- ---- ---- ---- ---- Obtención del punto de máxima potencia (Pm) "
Vmp = ( (n * k * T)/q) * log( ( (n * k * T )/(q * I0) ) * (Isc/Voc) )
Imp = IL + I0 - ( (n * 1 * k * T)/q ) * ( Isc/Voc )
Pmp = Imp * Vmp
RA = 40 ! Relación entre las áreas de cada celda de PV y el total del PTC
P_mppt = Imp * (Vmp * RA) ! Potencia producida por todas las celdas del PTC
! ---- ---- ---- ---- ---- ---- ---- Modelo Explícito "
Vtt = Voc/16.11
!Vttt = - (S + )
S = 0.9
!Rpv = (Vmp/Imp) - (Vtt/(Isc-Imp))
Rpv = (Vmp/Imp) - (Voc/(16.11*(Isc-Imp)))
!Rpvv = -(S*(Isc/Imp)) + (Vmp/Imp) * (1-(Isc/Imp))
Rpvv = -(S*(Isc/Imp)) + (Vmp/Imp) * (1-(Isc/Imp))
print *, "Modelo Explícito (Rpv): ", Rpv
print *, "Modelo Explícito (Rpvv): ", Rpvv
print *, "Voc (V): ", Voc
print *, "Isc (A): ", Isc
print *, "Vmp (V): ", Vmp
print *, "Imp (A): ", Imp
print *, "I0 (A): ", I0
print *, "IL (A): ", IL
print *, "Rs (Ω): ", Rs
print *, "Rss (Ω): ", Rss
print *, "Pmp (W): ", Pmp
print *, "P_mppt (W): ", P_mppt
end program main
To embed this program on your website, copy the following code and paste it into your website's HTML: