Carlos6025 ha ingeniado su Carlotrón V3.1, un sistema para derivar excedentes muy capaz. Hay
un blog y
un hilo dedicados al tema.
Me interesa mucho poder derivar excedentes, pero no tengo regulador con salida dedicada a excedentes, por lo que no me sirve el Carlotrón.
El Carlotrón en base a Arduino me ha inspirado en desarollar un sistema para derivar excedentes muy parecido a lo que hace el Carlotrón, pero con dos diferencias esenciales:
- No necesita regulador especial, funciona en base a intensidad y tensión del campo FV
- No necesita cableado entre inversor y "termo", comunica mediante WiFi (es que ya no me cabían más cables)
Hasta ahora mi proyecto se discutía en el hilo del Carlotrón, pero como va tomando forma, se merece su propio hilo, que estoy abriendo en este momento.
El que quiera participar en el proyecto, será bienvenido.
La base del concepto es un algoritmo que define la cantidad de excedentes disponibles en base a la potencia P = I * U que genera el campo FV en cada momento, siendo I la intensidad y U la tensión del campo FV.
El algoritmo es este:
. U_actual = 0
. I_actual = 0
. Incremento = const (p.e. 50W)
. PWM = 0
. Potencia_anterior = 0
Comienza el bucle
. if (PWM < 0)
. PWM = 0
. endif
. U_actual = Lee U_campoFV
. I_actual = Lee I_campoFV
. Potencia_actual = U_actual x I_actual
. if (Potencia_actual <> Potencia_anterior)
. PWM = PWM + Incremento
. else
. PWM = PWM - Incremento
. PWM = PWM - Incremento
. PWM = PWM - Incremento
. endif
. Potencia_anterior = Potencia_actual
Vuelta al principio del bucle
- - - - - - - - - - - - - - - - - - -
Breve explicación:
Para empezar, el Arduino incrementa la señal PWM un poquito (50W en el ejemplo). Si la potencia FV no le sigue, lo intenta otra vez. Si ve que la potencia FV le sigue, continúa incrementando hasta llegar a un estado de equilibrio.
En estado de equilibrio (cuando se aprovechan todos los excedentes), el Arduino da un paso adelante (incrementa la señal PWM). Si ve que la potencia FV no le sigue, da
tres pasos atrás, es decir, decrementa 3 veces la señal PWM. La potencia FV se adapta a este nuevo valor. Otra vez el Arduino da un paso adelante. Si la potencia FV le sigue, da otro paso adelante. Si la potencia FV no le sigue, vuelve a dar tres pasos atrás. Asi sucesivamente, siempre intentando aprovechar todos los excedentes, pero sin pasarse. Con el "truco" de tres pasos atrás se consigue un decremente de la señal PWM, cuando éste sea necesario. Si se desea un decremento más rapido, basta programar 4 o 5 pasos atrás, en vez de tres.
- Si la potencia FV aumenta, el Arduino sigue incrementando la señal PWM
- Si la potencia FV disminuye, el Arduino va decrementando la señal PWM, comprobando en cada paso si la potencia FV se estabiliza
- Si la potencia FV no cambia, el Arduino incrementa la señal PWM, para comprobar la estabilidad
De esta forma, el Arduino busca y encuentra rápidamente cualquier estado de equilibrio nuevo, tanto si éste está a una potencia FV más alta como más baja.
- - - - - - - - - - - - - - - - - - - - - -
El concepto actual del proyecto es:
Un Arduino UNO para medir I y U del campo FV, aplicar el algoritmo de los excedentes y calcular los excedentes disponibles. Este valor analógico (en tanto por ciento) se pasaria a una placa WeMos (la placa WeMos es como un Arduino con WiFi, pero con sólo un pin analógico), que comunicaría por WiFi con otras placas WeMos, conectadas a los módulos de potencia. Las WeMos receptoras generarían la señal PWM y la pasarían a su respectivo módulo de potencia.
De esta forma el concepto quedaría en:
- Master: Arduino UNO + placa WeMos (emisora WiFi)
- Slave (uno para cada "termo"): Placa WeMos (receptora WiFi) + módulo de potencia KEMO
Una idea alternativa sería no medir la tensión FV, con lo que se necesitaría sólo una entrada analógica para la intensidad FV.
Cuando hay excedentes, el campo FV trabaja en su MPP y la tensión estará muy cerca de 92V (en mi caso). Podría definir la tensión FV como una constante de 92V, y medir sólo la intensidad FV. La potencia FV sería I*92V. El error sería <5%, supongo.
Con este "truco" me bastaría una placa WeMos para el Master, o sea, todo sería WeMos.
.