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 :: Rs, Vm, Im, Pm, RA, P_mppt
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 (I/°C)
Vt = (k * T)/q ! Voltaje térmico
! ---- ---- ---- ---- ---- ---- ---- Datos de ficha técnica y parámetros conocidos
G = 644 ! Irradiancia de referencia (W/m²)
G_ref = 1000 ! Irradiancia de referencia (W/m²)
CR_PTC = 437 ! Relación de concentración
T_cell = 32.24
T = T_cell + 273.15 ! Temperatura de la celda (°C)
T_ref = 25 + 273.15 ! Tempertura de referencia (°C)
Voc_ref = 3.10 ! Voltaje de circuito abierto (Voc) de refrencia (V)
Isc_ref = 7.95 ! Corriente de corto circuito (Isc) de referencia (I)
Vmp = Voc * 0.91 ! Voltaje de máximo punto de potencia (MPP) de refrencia (V)
Imp = Isc * 0.95 ! Corriente de máximo punto de potencia (MPP) de referencia (I)
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)) ! 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)
! ---- ---- ---- ---- ---- ---- ---- Obtención del punto de máxima potencia (Pm) "
Vm = ( (n * k * T)/q) * log( ( (n * k * T )/(q * I0) ) * (Isc/Voc) )
Im = IL + I0 - ( (n * 1 * k * T)/q ) * ( Isc/Voc )
Pm = Im * Vm
RA = 1200 ! Relación entre las áreas de cada celda de PV y el total del PTC
P_mppt = Pm * RA ! Potencia producida por todas las celdas del PTC
print *, "Vmp (V): ", Vm
print *, "Imp (A): ", Im
print *, "Pmp (A): ", Pm
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: