Skip to main content
Blog
Blog · LRI AEM-60DC8

Monitoreo de strings solares vía Modbus RTU: del divisor de tensión al SCADA

Cómo medir, alarmar e integrar string por string en un parque solar usando RS-485, divisores resistivos y Modbus RTU, con los errores comunes de proyecto.

LRI IngenieríaMon May 25 2026 21:00:00 GMT-0300 (Brasilia Standard Time)

Un parque solar de 1,2 MW en el interior de Brasil operó durante ocho meses con 10% de generación por debajo del PR contratado. El inversor central reportaba producción dentro de la curva esperada, sin alarmas activas, y el informe mensual sólo mostraba el total de la planta. El equipo de O&M cambió fusibles de string, lavó módulos, recalibró el piranómetro y la aguja no se movió. La pérdida sólo apareció cuando un técnico subió a la estructura con una pinza amperimétrica alquilada y encontró tres strings parcialmente en corto detrás de una rama seca, más dos con el diodo de bypass quemado por una tormenta reciente. Ocho meses de generación perdida, USD 35k de ingresos, porque el monitoreo agregaba 24 strings dentro de un único MPPT. Este post muestra cómo medir string por string con hardware sencillo y Modbus RTU, y dónde están las trampas de proyecto.

Qué es un string fotovoltaico

Un string es la asociación en serie de módulos fotovoltaicos sumando tensión hasta el punto operativo del MPPT. En sistemas comerciales y utility-scale, los números típicos hoy son:

Configuración Módulos en serie Vmp típico (25 °C) Voc típico (frío) Aplicación
Residencial pequeño 6–10 220–360 V 300–480 V Microinversor / string inverter 3–8 kW
Comercial / industrial 12–18 440–660 V 600–900 V String inverter 15–50 kW
Utility 1500 V DC 20–28 740–1030 V 1000–1500 V Central inverter / string inverter 1500 V

El string entrega corriente casi constante alrededor de Imp (8–14 A típicos para módulos de 450–550 Wp) y tensión que varía con irradiancia, temperatura de celda y — lo más importante para diagnóstico — con la integridad del propio string. Un único módulo con diodo de bypass quemado, un conector MC4 oxidado o una celda fisurada por hot-spot mueven el punto de operación de forma eléctricamente visible.

El charge controller o inversor hace MPPT (Maximum Power Point Tracking) barriendo la curva I-V varias veces por segundo y trabándose en la rodilla. El problema: un único MPPT ve sólo la suma de los strings en paralelo conectados a él, y el algoritmo de tracking esconde el mismatch porque persigue el máximo agregado, no el óptimo de cada string.

Por qué monitorear string por string

La diferencia entre monitorear inversor y monitorear string es la diferencia entre saber que el paciente tiene fiebre y saber qué órgano está inflamado. Los modos de falla que sólo aparecen con granularidad de string:

  • Sombreado parcial recurrente — rama, poste, edificio vecino, suciedad concentrada en una esquina. El MPPT del inversor hunde toda la curva para acomodar el string sombreado, perdiendo generación en todos los strings de ese tracker.
  • Mismatch de módulos — degradación desigual, tolerancia de fabricación, sustitución en campo por módulo de lote distinto. Diferencias de 2–3% en Imp dentro del mismo MPPT son invisibles en el agregado.
  • Falla de diodo de bypass — tras sobretensión o rayo cercano. El string queda con un módulo "muerto" en serie; la tensión cae aproximadamente 1/N y la potencia se desploma.
  • Suciedad no uniforme — excrementos de aves, polvo de cosecha, líquen. Lavar todos los módulos sin saber cuál duele es caro y lento.
  • Hot-spot por fisura — celda fisurada se vuelve resistor parásito, genera punto caliente, abre soldadura, evoluciona a falla de string. Detectarlo pronto evita cambio de módulo y riesgo de incendio.
  • Degradación gradual (LID, PID, LeTID) — tendencia lenta de Voc/Vmp a lo largo de meses. Sólo aparece en serie histórica por string.
  • Falla de fusible de string — común en combiner box. El string se va a cero; el inversor lo enmascara como "irradiancia baja a esa hora".

Sin monitoreo string por string, todos estos modos se ven igual: "generación 10% por debajo de lo esperado, causa desconocida".

Topologías de monitoreo

Tres caminos resuelven el problema, con costos y granularidades distintas:

Topología Granularidad Costo por módulo Puntos críticos
Inverter-level 1 valor por MPPT (4–12 strings agregados) Incluido en el inversor No detecta mismatch dentro del MPPT, donde se esconde el 80% de las pérdidas
MLPE (módulo) 1 valor por módulo (optimizadores Tigo/SolarEdge, microinversores Enphase) USD 15–40 por módulo Electrónica embarcada en cada módulo, costo agregado alto en utility, punto de falla extra
String-level externo 1 valor por string en el combiner box USD 6–15 por string Sweet spot: granularidad donde realmente ocurre la falla, electrónica concentrada en un tablero, mantenimiento centralizado

El monitoreo string-level externo es el camino usado en la mayoría de plantas entre 100 kWp y 5 MWp en Latinoamérica: un monitor DC multicanal vive dentro del combiner box, lee cada string contra el barramento negativo común, expone los valores vía Modbus RTU y el SCADA agrega. LRI ve este patrón como el de mejor costo-beneficio para retrofit, justamente porque no exige tocar nada por encima del combiner.

Midiendo strings con tensión por encima del rango del monitor

La mayoría de los monitores DC industriales multicanal operan en rango 0–60 V por canal (incluido el AEM-60DC8). Los strings comerciales quedan entre 400 y 900 V, utility hasta 1500 V. La solución es el divisor resistivo de precisión, pero el proyecto del divisor es donde 90% de los retrofits fallan silenciosamente.

El divisor 10:1 o 20:1 conceptual

String (+) ──[R1]──┬──[R2]── String (−)
                   │
                   └── Entrada del monitor (Vmedida = Vstring × R2 / (R1+R2))

Ejemplo simplificado — string Vmp = 600 V, monitor 0–60 V, divisor 10:1: R1 = 1 MΩ, R2 = 111,1 kΩ. Tensión en la entrada = 600 × 111,1k / 1111,1k = 60 V. Corriente en el divisor = 600 / 1,111 MΩ = 540 µA. Potencia disipada total ≈ 0,32 W (R1 disipa 0,29 W, R2 disipa 0,032 W).

Cinco errores recurrentes de proyecto:

  1. Coeficiente de temperatura malo. Los resistores genéricos de película metálica tienen TCR de ±100 ppm/°C. Un divisor 10:1 con R1 y R2 de TCR distintos deriva 1–2% entre 0 °C de mañana y 70 °C de mediodía dentro de la caja. Use resistores de película metálica de ±15 a ±25 ppm/°C y, cuando sea posible, pareados (mismo lote, encapsulado próximo para seguir la temperatura).
  2. Disipación subdimensionada. R1 = 1 MΩ a 600 V disipa 0,29 W y soporta tensión DC de 600 V. Un resistor 1206 SMD común aguanta 0,25 W y 200 V de tensión de trabajo. Resultado: arco interno, deriva permanente, eventual falla catastrófica. Use resistor de alta tensión (1206HV, 2010HV) o dos resistores en serie dividiendo la tensión de trabajo.
  3. Impedancia de entrada del monitor no considerada. El monitor tiene entrada de, digamos, 1 MΩ. En paralelo con R2 = 111 kΩ, la impedancia efectiva cae a ≈ 100 kΩ. Error de división del 10%. Incluya siempre Z_in del monitor en el cálculo, o use buffer con op-amp de alta impedancia (TLV9061, OPA320) entre divisor y monitor.
  4. Modo común sin control. Los strings en parque grande tienen potencial flotante respecto a tierra, especialmente en combiner box no aterrizado. Medir string single-ended con referencia al GND del monitor puede inyectar corriente de modo común a través del divisor. Use divisor diferencial (4 resistores) o aislamiento galvánico entre divisor y monitor.
  5. Sin protección contra sobretensión. Los strings reciben inducción de rayos cercanos diariamente en granja solar. El divisor entra con pico de kV por la entrada; el monitor se quema. Use DPS clase II en la entrada del combiner, varistor MOV o TVS dimensionado para Voc máximo + 30% en la entrada del divisor, y diodo de clamp en la entrada del monitor.

Alternativas al divisor resistivo para corrientes (no para tensión de string, pero vale citarlas):

  • Shunts DC — para corriente, no tensión. Resistor de bajo valor (50–150 µΩ) en el lado negativo del string, midiendo caída en mV.
  • TC DC (efecto Hall) — corriente sin contacto, aislamiento galvánico nativo, deriva de offset con temperatura.

Tensión bajo carga vs en vacío (Voc vs Vmp)

El monitor de tensión DC ve lo que está en los terminales del string en el momento de la medición, y eso depende de lo que el inversor esté haciendo con ese string:

  • Inversor encendido, MPPT trabado → tensión ≈ Vmp (del punto operativo, varía con irradiancia y temperatura).
  • Inversor apagado, combiner encendido → tensión ≈ Voc (circuito abierto, sólo función de irradiancia y temperatura, máxima al amanecer/anochecer con panel todavía frío).
  • Inversor apagado, string aislado → Voc real, lectura más limpia para diagnóstico.

La diferencia práctica:

Escenario Tensión leída Útil para detectar
Vmp en operación normal 70–80% de Voc, varía minuto a minuto Sombra, fusible abierto (tensión a cero), mismatch grueso
Voc en el borde del día 95–100% de Voc nominal Degradación de Voc por LID/PID, módulo muerto en el string (Voc cae ~Voc_módulo)
Voc con inversor en mantenimiento Voc real estable Curva I-V indirecta — comparar Voc de cada string a 6 h y 18 h del mismo día revela mismatch fino

Inferir la condición del string sólo a partir de tensión es parcial — sin medir corriente, separar "sombra" de "diodo quemado" es difícil. Pero la comparación string vs media del arreglo en el mismo instante ya entrega 80% del diagnóstico: si el string 7 del MPPT-3 está 8% debajo de la media de los otros 7 strings del mismo MPPT, y eso es repetible de las 10 h a las 14 h en cielo despejado, hay algo mal específicamente en el string 7.

Polling rate — qué tan rápido medir

Los strings solares son sistemas eléctricamente rápidos, pero operativamente lentos:

  • Cambio térmico del módulo: constante de tiempo de minutos.
  • Sombra de nube pasando: transición de 5–30 segundos.
  • Sombra de poste/rama: borde de cientos de milisegundos al entrar/salir.
  • Falla catastrófica (fusible abierto, arco DC): milisegundos a segundos.

Recomendación práctica de polling:

Objetivo Polling Justificación
Tendencia diaria, informe de PR 1 lectura cada 60 s Captura curva I-V indirecta del día, baja carga de almacenamiento
Detección de mismatch y sombreado 1 Hz (1 s) Sombra de nube dura 5–30 s; a 1 Hz ya se ven 5–30 puntos del evento
Detección de arco DC y falla rápida >10 Hz local, agregado para SCADA Modbus RTU a 1 Hz no detecta arco; requiere detector AFCI dedicado en inversor o combiner

En Modbus RTU a 19200 bps, leer 8 canales de un monitor consume ~30 ms por solicitud (8 holding registers + overhead). En barramento con 8 monitores (64 strings), el ciclo completo a 1 Hz entra con holgura. Subir a 4 Hz exige 57600 o 115200 bps. Por encima, el problema deja de ser Modbus y pasa a ser arquitectura — vale pensar en gateway Ethernet o edge compute local.

Regla de oro: 1 Hz en el string es el punto donde costo de almacenamiento, costo de barramento y calidad de diagnóstico se cruzan.

Alarmas y thresholds

Threshold absoluto ("tensión < 400 V dispara alarma") es el peor tipo de alarma en string solar: la tensión cambia con la irradiancia, así que la alarma se dispara cada amanecer. Tres familias de alarma funcionan:

  1. Desvío respecto a la media del arreglo — para cada string i, calcular desvio_i = (V_i − media_strings_mismo_MPPT) / media. Alarmar cuando |desvio_i| > 5% por más de 5 minutos continuos con irradiancia > 300 W/m². Inmune al clima, capta mismatch y sombreado crónico.
  2. Deriva temporal (degradación) — para cada string, comparar el Voc del amanecer con la media móvil de los últimos 30 días en el mismo horario/temperatura. Caída > 2% indica degradación anómala (PID, módulo cambiado por lote peor, conector oxidándose).
  3. Tensión mínima de operación — alarmar cuando V_string < 0,5 × Voc_nominal en horario con irradiancia > 200 W/m². Capta fusible abierto, string desconectado, falla gruesa.

Para que el SCADA consuma bien, exponer por string en los holding registers del monitor:

  • Tensión instantánea (actualizada en el polling).
  • Tensión filtrada (media móvil de 60 s) — reduce alarma falsa.
  • Flag de saturación (canal por encima del rango).
  • Estado de calibración del canal.

La inteligencia de threshold puede vivir en el monitor (firmware) o en el SCADA (reglas de Ignition/Elipse/Grafana). Distribuir la alarma crítica en el firmware con latencia < 1 s y la alarma de tendencia en el SCADA con ventana de minutos es lo mejor de ambos mundos.

Integración SCADA

Modbus RTU es el protocolo dominante en parques solares latinoamericanos por tres razones: el barramento RS-485 ya está cableado para los inversores, los drivers Modbus existen en todo SCADA industrial, y los fabricantes principales (Sungrow, Huawei, ABB, Growatt, WEG) exponen los inversores en Modbus RTU o Modbus TCP nativo.

Topología típica de combiner box monitoreado:

[16 strings] → [Combiner box]
                     │
                     ├── [Monitor DC string-level, RS-485 #1, slave 1]
                     │
                  [Fusibles + DPS]
                     │
                     └── [DC out → Inversor, RS-485 #2, slave 10]
                                       │
                                  [Gateway RS-485 → Ethernet]
                                       │
                                  [SCADA central]

Puntos prácticos de la integración:

  • Direcciones Modbus separadas — monitor de combiner en RS-485 #1 (subred de monitoreo), inversor en RS-485 #2 (subred del fabricante). Intentar poner todo en el mismo RS-485 crea conflicto de master y deja al inversor indisponible durante el polling del monitor.
  • Gateway Modbus RTU → Modbus TCP — concentra los dos RS-485 en un único puerto Ethernet. Modelos comunes en la región: Moxa MGate MB3170, ICP DAS tGW-715, NPort 5230. Configurar timeouts > 200 ms por slave en red ruidosa.
  • Mapa Modbus del inversor — varía por fabricante. Sungrow expone ~80 registers por inversor, Huawei expone estructura jerárquica con sub-units para optimizadores. Cruzar el dato de string del monitor con DC current per MPPT del inversor permite reconstruir la corriente de cada string por sustracción.
  • Timestamp coherente — el monitor reporta valor instantáneo; el SCADA estampa al llegar. En parque grande, el jitter de lectura entre slaves puede llegar a segundos. Para análisis de evento rápido (sombra entrando), guardar timestamp del monitor (si el firmware expone RTC) es mejor que el del SCADA.
  • Persistencia — el supervisorio guarda valor por string por timestamp. A 1 Hz × 64 strings × 12 h de generación/día × 365 días, da ~1 mil millones de puntos/año. Usar historiador con compresión (PI, InfluxDB, TimescaleDB) es obligatorio.

El AEM-60DC8 en monitoreo solar

El AEM-60DC8 es una Plataforma Industrial de Supervisión DC con 8 canales 0–60 V aislados, Modbus RTU server y mapa de 147 holding registers en firmware v1.03. Para monitoreo solar string-level, resuelve:

  • Strings 24 V / 48 V de off-grid y telecom solar — lectura directa en el rango 0–60 V, sin divisor. 1 unidad = 8 strings.
  • Strings 200–600 V de comercial/utility — con divisor resistivo externo certificado (10:1 o 20:1, proyectado con las 5 reglas de la sección 5), el AEM-60DC8 cubre un combiner de 8 strings.
  • Combiners mayores de 8 strings — múltiples unidades en el mismo RS-485 con direcciones distintas; 2 unidades = 16 strings, 4 unidades = 32 strings.

Por canal, el equipo expone en los 147 registers: tensión instantánea, tensión filtrada, contadores de lecturas válidas, contador de saturación, estado de calibración, configuración de threshold. La alarma local dispara LED ámbar/rojo y flag Modbus en < 1 s; el SCADA consume vía Modbus RTU a 4800–115200 bps.

Cuándo el AEM-60DC8 es la elección correcta:

  • Combiner box con 1–32 strings, con divisor proyectado por canal por encima de 60 V.
  • Proyecto de monitoreo RS-485 integrable al inversor existente (Sungrow, Huawei, ABB, Growatt, WEG).
  • Requisito de ciberseguridad alineado a IEC 62443-4-2 SL2 (Secure by Design).
  • Aplicación 24/7 con ventana de polling de 1 Hz por canal.

Cuándo se necesita otro producto:

  • Strings 1500 V DC — divisor 25:1 termina con R1 muy alto y disipación irreal; mejor un monitor dedicado 0–1500 V con aislamiento nativo.
  • Granularidad por módulo (no por string) — exige MLPE / optimizador / microinversor.
  • Detección de arco DC (AFCI) — no es función del AEM-60DC8; usar AFCI dedicado en el inversor o combiner.
  • Medida de corriente por string — el AEM-60DC8 lee tensión; la corriente exige shunt + transductor aislado, o TC DC, y canal compatible.

Para el parque de 1,2 MW del inicio de este post: 24 strings por MPPT × 3 MPPTs = 72 strings. Con 9 unidades AEM-60DC8 distribuidas en 3 combiners (3 unidades por combiner, 24 strings cada uno), toda la planta gana visibilidad string por string a 1 Hz, integrada en el mismo SCADA ya en uso. Inversión estimada: < 10% de los ingresos de 8 meses perdidos en el caso real.

FAQ

1. ¿Puedo conectar un string 600 V directo al AEM-60DC8? No. El rango es 0–60 V por canal. Conectar tensión por encima de eso daña el canal y propaga riesgo a los otros canales vía aislamiento. Use divisor resistivo externo certificado, con protección contra sobretensión en la entrada del divisor.

2. ¿El AEM-60DC8 detecta arco DC? No. La detección de arco DC (AFCI) exige análisis de espectro de alta frecuencia (10 kHz–100 kHz) en la corriente y es función del inversor o de un detector AFCI dedicado. El AEM-60DC8 monitorea tensión DC continua hasta 115200 bps de polling, suficiente para mismatch y falla de string, no para arco.

3. ¿Cuál es la precisión práctica con divisor 10:1 en campo? Con divisor de película metálica ±25 ppm/°C pareado, protección de sobretensión adecuada y calibración punto a punto contra referencia trazable, es viable mantener ±1% en el rango completo entre 0 °C y 60 °C ambiente. Sin cuidado de TCR y disipación, la precisión degrada a ±3–5%.

4. ¿Cuántos strings caben en un único barramento RS-485 con AEM-60DC8? RS-485 soporta 32 cargas eléctricas por segmento. En polling útil de 1 Hz a 19200 bps, hasta 8 unidades (64 strings) caben con holgura. A 115200 bps, 16 unidades (128 strings) todavía cierran el ciclo en < 1 s.

5. ¿Cómo convive el monitor con el sistema del inversor sin conflicto? Usar dos barramentos RS-485 distintos: uno para los monitores AEM-60DC8 (subred de monitoreo) y otro para los inversores (subred del fabricante, normalmente con direccionamiento y baudrate definidos por el gateway del inversor). Concentrar ambos en un único gateway Modbus RTU → TCP en la cabina de control.

Contenido relacionado

Más materiales técnicos de LRI sobre temas adyacentes.