OPTIMIZACIÓN DEL CONTROL DE MICROINVERSORES
FOTOVOLTAICOS MEDIANTE ALGORITMOS GENÉRICOS EN
MATLAB
PROBLEMATICA
Los micro inversores utilizados en sistemas fotovoltaicos pueden no operar
con máxima eficiencia debido a variaciones en la radiación solar y
temperatura. Se propone la implementación de un algoritmo genético en
MATLAB para optimizar la eficiencia del micro inversor ajustando sus
parámetros de control dinámicamente.
ANTECEDENTES
En 2019 los sistemas fotovoltaicos aun consideraban que era un conjunto de
dispositivos que, a partir de la insolación o radiación solar y que estaban
compuestos por el módulo fotovoltaico, controlador de cargador de batería y
el cargador de batería, pero en finales de ese mismo año se implementó el
sistema solar fotovoltaico autónomo regulado con inversor asilados de red
eso permitió tener una mejor eficiencia. [1]
En los últimos años el diseño de algoritmos de seguimiento o de control se
ven exigidos por varios factores como son las condiciones de irradiación y
temperatura, en un sentido establecer métodos de optimización de estos
factores que permitirá facilitar el sistema de seguimiento del punto de
máxima potencia. [2]
Se destacan algunos inconvenientes debido a la baja densidad de conversión
de energía de la tecnología fotovoltaica, otro aspecto a optimizar
corresponde a las estrategias de aprovechamiento de la superficie. Por ellos
se propone una valorización de potencial de los tejados de edificaciones
urbanas, una plataforma de instalación de estructuras fotovoltaicas. [3]
En la optimización dinámica del arreglo heliostato del proyecto, el primer
aspecto a destacar es el diseño de un control neuronal para su
implementación sobre tecnología FPGA, que comprende el entrenamiento
sobre hardware, especificando el target a través del comportamiento de una
planta (seleccionada en este caso una enredadera). Esto permitirá que el
sistema pueda adaptarse a la dinámica de la irradiación, dada por la potencia
incidente por unidad de superficie, expresada en W/m2 [4].
En base a la eficiencia del seguimiento solar de las plantas, se ha considerado
enlazar un segmento de fibra óptica al tallo de un enredadera, para el
entrenamiento de la red neuronal artificial en hardware, lo que podrá
establecer el comportamiento del sistema de seguimiento con criterios de
alta eficiencia. [5]
En la última década, la implementación de micro inversores en sistemas
fotovoltaicos ha crecido significativamente debido a sus ventajas en
eficiencia, modularidad y fiabilidad. A diferencia de los inversores centrales,
los micro inversores permiten optimizar la generación de energía a nivel de
cada panel solar, reduciendo las pérdidas causadas por sombras parciales y
desbalances en el sistema. [6]
Uno de los principales retos en el control de micro inversores es la necesidad
de mejorar la eficiencia en la conversión de energía. Estudios recientes han
demostrado que el uso de algoritmos de optimización, como los algoritmos
genéticos, permite encontrar parámetros óptimos para el control de estos
dispositivos, mejorando su rendimiento ante variaciones de irradiación y
temperatura. [7]
MATLAB se ha consolidado como una herramienta esencial para la
simulación y validación de sistemas de conversión de energía, incluyendo
micro inversores fotovoltaicos. Su capacidad para modelar dinámicas
complejas y probar algoritmos avanzados lo ha convertido en una opción
preferida en investigaciones sobre energías renovables. Diversos estudios
han utilizado MATLAB/Simulink para implementar y evaluar estrategias de
control en micro inversores, obteniendo mejoras significativas en la
estabilidad y eficiencia del sistema. [8]
La optimización del seguimiento del punto de máxima potencia (MPPT) es un
factor clave en el rendimiento de los micro inversores. Métodos tradicionales
como Perturb and Observe (P&O) y Incremental Conductancia han sido
ampliamente utilizados, pero presentan limitaciones en condiciones de
irradiación variable. Investigaciones recientes han demostrado que los
algoritmos genéticos pueden superar estas limitaciones, proporcionando un
seguimiento más preciso y rápido del MPPT. [9]
En el ámbito de la inteligencia artificial aplicada a la energía solar, se han
desarrollado diversas técnicas de optimización para mejorar el desempeño
de los sistemas fotovoltaicos. Entre ellas, los algoritmos evolutivos, como los
algoritmos genéticos, han demostrado ser eficaces en la resolución de
problemas no lineales y en la adaptación de sistemas a entornos dinámicos.
Su aplicación en el control de micro inversores ha permitido mejorar la
eficiencia de conversión y reducir el tiempo de respuesta ante cambios en las
condiciones ambientales. [10]
La eficiencia de los sistemas fotovoltaicos residenciales depende en gran
medida de la conexión de los paneles solares en serie o en paralelo, ya que
cualquier desequilibrio provocado por sombreado parcial, envejecimiento o
fallas técnicas puede afectar la operación óptima del sistema. Este problema
ha sido ampliamente estudiado para mejorar las estrategias de mitigación
mediante el uso de electrónica de potencia. [11]
Se ha identificado que el problema del seguimiento del punto de máxima
potencia (MPPT) en sistemas fotovoltaicos es más complejo en presencia de
múltiples máximos locales, lo que dificulta la operación óptima del generador
solar. La implementación de estrategias avanzadas como los algoritmos de
optimización y técnicas de electrónica de potencia distribuida ha sido una
solución clave en la literatura. [12]
Investigaciones previas han demostrado que los sistemas de MPPT
distribuidos (DMPPT) pueden mejorar significativamente la eficiencia de los
sistemas fotovoltaicos al permitir el seguimiento independiente del punto de
máxima potencia en cada módulo. Estas estrategias incluyen micro
inversores, optimizadores DC-DC y bypass, reduciendo pérdidas por
desequilibrio y sombreado parcial. [13]
Los algoritmos de control para el seguimiento del punto de máxima potencia
han evolucionado, siendo el método de Perturb and Observe (P&O) uno de
los más utilizados debido a su simplicidad y eficiencia. Sin embargo,
investigaciones recientes han explorado la integración de algoritmos de
inteligencia artificial para mejorar la precisión y velocidad de respuesta ante
variaciones ambientales. [14]
La industria de inversores fotovoltaicos ha desarrollado múltiples estándares
internacionales para garantizar la seguridad, eficiencia y compatibilidad de
los sistemas de generación solar. Normativas como IEC 60364-7-712 y UL
1741 regulan aspectos como la conexión a la red, medidas de eficiencia y
protección ante fallos eléctricos, impulsando el desarrollo de inversores con
mejores prestaciones. [15]
JUSTIFICACIÓN
La energía solar fotovoltaica es una fuente de energía renovable y limpia que
ha ganado popularidad en los últimos años debido a su potencial para reducir
la dependencia de los combustibles fósiles y mitigar el cambio climático.
Los micro inversores son dispositivos electrónicos que se conectan a cada
panel solar individualmente y convierten la corriente continua generada por
el panel en corriente alterna utilizable en la red eléctrica.
OBJETIVOS
El objetivo de este proyecto es desarrollar un algoritmo genético en MATLAB
para optimizar el control de micro inversores fotovoltaicos y maximizar la
producción de energía
El algoritmo genético será diseñado para adaptarse a las condiciones
cambiantes del ángulo solar y encontrar la mejor configuración de
parámetros para el control de los micro inversores se pueden utilizar
sensores de irradiación solar para que permita ajustar la producción de
energía y sea más eficiente.
HIPOTESIS
La implementación de un algoritmo genético en MATLAB para optimizar el
control de micro inversores fotovoltaicos puede aumentar la eficiencia de los
sistemas fotovoltaicos en un 15% y reducir la pérdida de energía en un 20%,
en comparación con los métodos de radiación solar variable y temperatura
ambiente.
ENTRADA DEL ALGORITMO GENETICO
1. Irradiación solar (W/m²) – Información de sensores de irradiación.
2. Temperatura del panel (°C) – Influye en la eficiencia del sistema.
3. Tensión de entrada del panel (V) – Voltaje de los módulos
fotovoltaicos.
4. Corriente de entrada del panel (A) – Corriente generada por los
módulos.
5. Parámetros de control del micro inversor – Valores iniciales de la
estrategia de control.
6. Población inicial del algoritmo genético – Conjunto de soluciones
candidatas para el control del micro inversor.
7. Criterios de aptitud – Función objetivo que evalúa la eficiencia de cada
solución.
SALIDA DEL ALGORITMO GENETICO.
1. Parámetros óptimos del control del micro inversor – Valores
ajustados para mejorar la eficiencia.
2. Máxima potencia generada (W) – Optimización del seguimiento del
punto de máxima potencia (MPPT).
3. Eficiencia del sistema (%) – Comparación de la potencia de salida con
la de entrada.
4. Tiempo de respuesta del sistema (ms) – Evaluación del rendimiento
en condiciones dinámicas.
5. Reducción de pérdidas (%) – Análisis del impacto de la optimización
sobre la conversión de energía.
CODIGO DE MATLAB
function [opt_params, max_power, efficiency, response_time,
loss_reduction] = optimize_microinverter()
% Definir los parámetros de entrada
irrad = 800; % W/m²
temp = 25; % °C
v_in = 30; % V
i_in = 10; % A
control_params = [0.5, 1.0, 1.5]; % Parámetros iniciales
pop_size = 10; % Tamaño de la población
fitness_criteria = @(p, e, l) p * e / (l + 1); % Función
de aptitud
% Definir el número de generaciones y probabilidades de
mutación/cruce
num_generations = 100;
mutation_rate = 0.1;
crossover_rate = 0.8;
% Inicializar la población
population = initialize_population(pop_size,
control_params);
for gen = 1:num_generations
% Evaluar aptitud de cada individuo
fitness = evaluate_fitness(population, irrad, temp,
v_in, i_in, fitness_criteria);
% Selección de padres
parents = selection(population, fitness);
% Cruce para generar nueva población
offspring = crossover(parents, crossover_rate);
% Mutación para mantener diversidad
offspring = mutation(offspring, mutation_rate);
% Evaluar la nueva generación
new_fitness = evaluate_fitness(offspring, irrad,
temp, v_in, i_in, fitness_criteria);
% Selección de la mejor población
population = replacement(population, offspring,
fitness, new_fitness);
end
% Obtener la mejor solución
[best_fitness, best_idx] = max(fitness);
opt_params = population(best_idx, :);
% Calcular métricas de salida
[max_power, efficiency, response_time, loss_reduction] =
compute_performance(opt_params, irrad, temp, v_in, i_in);
end
function population = initialize_population(pop_size,
control_params)
population = rand(pop_size, length(control_params)) .*
repmat(control_params, pop_size, 1);
end
function fitness = evaluate_fitness(population, irrad, temp,
v_in, i_in, fitness_criteria)
fitness = zeros(size(population,1),1);
for i = 1:size(population,1)
[power, eff, ~, loss] =
compute_performance(population(i,:), irrad, temp, v_in,
i_in);
fitness(i) = fitness_criteria(power, eff, loss);
end
end
function parents = selection(population, fitness)
[~, sorted_idx] = sort(fitness, 'descend');
parents = population(sorted_idx(1:round(end/2)), :);
end
function offspring = crossover(parents, crossover_rate)
offspring = parents;
num_offspring = size(parents, 1);
for i = 1:2:num_offspring-1
if rand < crossover_rate
point = randi(size(parents,2));
offspring(i,point:end) = parents(i+1,point:end);
offspring(i+1,point:end) = parents(i,point:end);
end
end
end
function offspring = mutation(offspring, mutation_rate)
mutation_mask = rand(size(offspring)) < mutation_rate;
offspring = offspring + mutation_mask .*
(rand(size(offspring)) - 0.5);
end
function population = replacement(population, offspring,
fitness, new_fitness)
combined_pop = [population; offspring];
combined_fitness = [fitness; new_fitness];
[~, sorted_idx] = sort(combined_fitness, 'descend');
population =
combined_pop(sorted_idx(1:size(population,1)), :);
end
function [power, efficiency, response_time, loss_reduction] =
compute_performance(params, irrad, temp, v_in, i_in)
% Simulación de desempeño basado en parámetros
optimizados
power = sum(params .* v_in .* i_in .* irrad ./ (temp +
25));
efficiency = power / (v_in * i_in) * 100;
response_time = rand * 10; % Simulación de respuesta en
ms
loss_reduction = 100 - efficiency;
end
REFERENCIAS
Zhang, Y., Wang, Y.-J., Zhang, Y., & Yu, T. (2022). Photovoltaic Fuzzy Logical Control MPPT
Based on Adaptive Genetic Simulated Annealing Algorithm-Optimized BP Neural Network.
Processes, 10(7), 1411. [Link]
Al-Qaness, M. A., Ewees, A. A., Fan, H., AlRassas, A. M., & Elaziz, M. (2022). Modified
aquila optimizer for forecasting oil production. Geo-Spat. Inf. Sci., 5, 1–17.
[Link]
Robles-Algarín, C., Taborda-Giraldo, J., & Rodriguez-Alvarez, O. (2017). Fuzzy logic based
MPPT controller for a PV system. Energies, 10(12), 2036.
[Link]
Ramadan, H. S. (2017). Optimal fractional order PI control applicability for enhanced
dynamic behavior of on-grid solar PV systems. International Journal of Hydrogen Energy,
42(7), 4017–4031. [Link]
Arulmurugan, R. (2020). Optimization of perturb and observe based fuzzy logic MPPT
controller for independent PV solar system. WSEAS Transactions on Power Systems, 19,
159–167.
Ali, M. N., Mahmoud, K., Lehtonen, M., & Darwish, M. M. (2021). Promising MPPT
Methods Combining Metaheuristic, fuzzy and ANN Techniques for Grid-Connected
Photovoltaic. Sensors, 21(4), 1244. [Link]
Song, L., Huang, L., Long, B., & Li, F. (2020). A genetic-algorithm-based DC current
minimization scheme for transformless grid-connected PV inverters. Energies, 13(3), 746.
[Link]
Lyden, S., Galligan, H., & Haque, M. E. (2020). A hybrid simulated annealing and perturb
and observe maximum power point tracking method. IEEE Systems Journal, 15(3), 4325–
4333. [Link]
Obiora, V., Saha, C., Bazi, A. A., & Guha, K. (2021). Optimisation of solar photovoltaic (PV)
parameters using meta-heuristics. Microsystem Technologies, 27, 3161–3169.
[Link]
Ponce-Jara, M. A., Chancay-Castro, J. E., Velásquez-Figueroa, C., & Velásquez-Figueroa, G.
(2020). Modelado, diseño y simulación de sistemas de micro-generación solar
fotovoltaicos utilizando MATLAB [Modeling, design and simulation of photovoltaic solar
micro-generation systems using MATLAB]. Revista Arbitrada Interdisciplinaria KOINONIA,
V(2), 116–130. [Link]
Vera-Dávila, A., Delgado-Ariza, J., & Sepúlveda-Mora, S. (2018). Validación del modelo
matemático de un panel solar empleando la herramienta Simulink de Matlab [Validation
of the mathematical model of a solar panel using Matlab's Simulink tool]. REVISTA DE
INVESTIGACIÓN, DESARROLLO E INNOVACIÓN, 8(2), 343-356.
[Link]