PVControl+ en Sistema FV aislado estándar
- Corazon_de_perro
- Supernova
- Mensajes: 1797
- Registrado: 23 Ene 2019, 14:36
- Been thanked: 4 times
Re: PVControl+ en Sistema FV aislado estándar
Entonces, la señal de excedentes es fácil, utilizando la tensión de las placas conectadas al Xantrex.
Hail & Kill !
- nikitto
- Agujero negro
- Mensajes: 176
- Registrado: 24 Ene 2019, 10:04
- Ubicación: Cambrils
- Has thanked: 74 times
- Been thanked: 111 times
Re: PVControl+ en Sistema FV aislado estándar
Entonces mejor usaríamos el brico clásico. El mismo que describe manuel. Un par de ADS1115 con 4 divisores de tensión (Vbat,Vplaca1, Vplaca2 y Vexcedentes) y 2 SHUNTS (Ibat e Iplaca). Se corresponde con la imagen que puse, pero mejor echale un vistazo a la de la página 1.
O Vexcedentes = Vplaca_Xantrex como dice Gabriel.
- nikitto
- Agujero negro
- Mensajes: 176
- Registrado: 24 Ene 2019, 10:04
- Ubicación: Cambrils
- Has thanked: 74 times
- Been thanked: 111 times
Re: PVControl+ en Sistema FV aislado estándar
Yo todavía tengo montado el prototipo, y va para 2 años y medio
Y una imagen de los SHUNTS:
Esta primavera, ya colocaré la PCB que lleva medio año cogiendo polvo.
Y una imagen de los SHUNTS:
Esta primavera, ya colocaré la PCB que lleva medio año cogiendo polvo.
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
Re: PVControl+ en Sistema FV aislado estándar
Aquí están los shunt en instalación aislada
Se ven los cablecillos que van a la PCB, para obtener las señales que van a la RPINo tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
- Mleon
- Enana blanca
- Mensajes: 428
- Registrado: 26 Ene 2019, 01:25
- Has thanked: 11 times
- Been thanked: 230 times
Re: PVControl+ en Sistema FV aislado estándar
CAPITULO 3 - DEFINIENDO RELES Y SUS CONDICIONES ON/OFF
Una vez que ya tenemos capturada y guardada la información de la instalación FV, vamos a ver como utilizar el Brico PVControl+ para dar de alta reles y ponerles condiciones de ON/OFF
PVcontrol+ se diseñó para admitir cualquier numero de relés (mas vale que sobre que no que falte )
Para controlar los reles PVControl+ utiliza varios métodos:
A) Reles locales mecanicos (3XX)
Controlados por la Rpi por el bus I2C, a través de los integrados PCF8574p (PCF en adelante) ...cada PCF permite controlar hasta 8 reles
B) Reles locales con capacidad PWM (4XX)
Controlados por los GPIO de la Rpi y por tanto se puede sacar una señal PWM para control de excedentes
C) Reles via wifi (2XX)
Controlados a través de wifi por medio de la comunicación entre Rpi y el micro NodeMCU V3 usando el protocolo MQTT (que se usa típicamente en el IoT)
D) Reles via wifi tipo SONOFF (5XX)
Controlados igualmente a través de wifi y usando el protocolo MQTT pero adaptado al SW TASMOTA que usan los reles SONOFF
Cada Relé se identifica unívocamente por un id:rele, por ejm:
- Id_rele 331 : Rele 1 en el PCF en direccion 33
- Id_rele 335 : Rele 5 en el PCF en direccion 33
- Id_rele 343 : Relé 3 en el PCF en direccion 34
- ....
Si se utiliza la PCB diseñada para el PVControl+ admite hasta 4 PCF con direcciones 33,34,35,y 36...luego tendremos hasta 32 relés locales
Igualmente la PCB diseñada para el PVControl+ para los reles 4XX permite la utilización de hasta 8 reles PWM con la siguiente identificación:
- Id_rele 411: Rele correspondiente al pin 11 de la RPi
- Id_rele 412: Rele correspondiente al pin 12 de la RPi
y asi para lo 8 reles correspondientes a los pines del conector de la RPi (11, 12,13, 15, 16,18, 22,29)
En el caso de relés via wifi:
- Id_rele 221 : Rele 1 en el NodeMCU con topic MQTT.. 'PVControl/Reles/22' (IP = xxx.xxx.x.22)*
- Id_rele 232 : Rele 2 en el NodeMCU con topic MQTT.. 'PVControl/Reles/23' (IP = xxx.xxx.x.23)*
- ....
(*) Por facilidad, aunque no es obligatorio, las IP de los NodeMCU se hace coincidir con el topic
Lo mismo para los reles SONOFF que se le asigna el Id de reles 5XX
3.1 -DAR DE ALTA/MODIFICAR UN RELE
Hay varias formas de hacerlo, veamos como se haría usando phpmyadmin
Simplemente hay que entrar en la tabla "relés" y crear o modificar los relés que se quieran
Es importante tener en cuenta el criterio sobre el id_rele descrito arriba
Un ejemplo de table de relés seria la siguiente
Vemos los distintos campos y su significado
- id_rele : creo que ya esta aclarado (si no lo tienes claro vuelve a leer desde el inicio )
- nombre : Pues el nombre que queramos ponerle..intentad que sea lo mas corto posible
- modo : admite tres posibles valores
PRG: El relé se apagara o encenderá dependiendo de las condiciones que le pongamos
ON : El relé permanecerá encendido siempre independientemente de las condiciones que tenga
OFF: El relé permanecerá apagado siempre independientemente de las condiciones que tenga
- estado : muestra el estado actual del relé, siendo 100 totalmente encendido y 0 totalmente apagado
- grabacion : se grabaran o no las transiciones del relé en una tabla para verlo gráficamente
- salto : incremento de estado permitido (100 obligatorio para relés mecánicos, 5 típicamente para relés SSR en control de excedentes)
- prioridad: prioridad para control de excedentes
0 : el rele no se considera para control de excedentes
1 : el relé esta en primera prioridad para aplicar excedentes
2 : el relé esta en segunda prioridad para aplicar excedentes
.....
Por tanto, interpretando la tabla de arriba tendríamos
Relé 201 : es un relé via wifi... esta en prioridad 2 para control de excedentes y su potencia se incrementa/decrementa en un 5%
Relé 221 : es un relé via wifi... esta en prioridad 1 para control de excedentes y su potencia se incrementa/decrementa en un 5%
Hay 6 relées dados de alta en el PCF de dirección 33.... hay algunos puestos a OFF u ON manualmente y otro en modo PRG
Hay 3 relés dados de alta en el PCF de dirección 34... todos están en modo PRG
3.2 -DAR DE ALTA/MODIFICAR CONDICIONES FV
Una vez ya hemos dado de alta los distintos relés, lo lógico es dar se alta las condiciones de ON/OFF que queremos aplicarles
PVControl+ también se diseño para admitir cualquier numero de condiciones por cada relé
Veamos su uso también desde phpmyadmin analizando la tabla "reles_c"
- id_rele : identificador del rele al que se le aplica la condición
- operacion : condición para ON o para OFF
- parametro : parámetro a considerar...por ahora en PVControl+ se admiten los siguientes parámetros:
* Vbat
* Ibat
* SOC
* Iplaca
* Vflot (valor que se almacena en el campo vflot de la tabla datos)
* Temp
* Vplaca
* Diver (señal de excedentes....)
- condicion : si es mayor ">" o menor "<"
- valor : valor a comparar
- id_rele_c : campo id de la condición admite cualquier valor entero numérico pero debe ser único para cada condición
Si hay mas de una condición para un mismo relé, se considera que:
- ON : TODAS las condiciones se deben cumplir (and lógico) para conmutar a ON
- OFF: AL MENOS UNA condición se debe cumplir (or lógico) para conmutar a OFF
Por tanto si interpretamos un poco la tabla anterior vemos por ejm que:
El relé 336 (Calefaccion Dormitorio) se encenderá si el SOC es mayor de 95% Y Vbat es mayor de 27v Y Iplaca es mayor de 40A
Y se apagará si el SOC es menor de 94.7% O Vbat es menor de 24.7v O Iplaca es menor de 30A
O el relé 341 (Luz Exterior) se enciende cuando Vplaca < 20v y se apaga cuando Vplaca es mayor de 25V (forma fácil de luz nocturna)
......
3.2 -DAR DE ALTA/MODIFICAR CONDICIONES HORARIAS
PVControl+ también admite condiciones de ON/OFF basadas en horario y/o día de la semana
En este caso las condiciones se dan de alta en la tabla "reles_h"
Como se ve se indica el intervalo ON- OFF
En el campo parametro_h se puede incluir el día en concreto de la semana (L, M, X, J, V, S, D) o T para todos los días
......próximo capitulo......Control de Excedentes
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
Última edición por Mleon el 08 Jun 2020, 22:12, editado 4 veces en total.
- nikitto
- Agujero negro
- Mensajes: 176
- Registrado: 24 Ene 2019, 10:04
- Ubicación: Cambrils
- Has thanked: 74 times
- Been thanked: 111 times
Re: PVControl+ en Sistema FV aislado estándar
Aquí puede verse con más detalle lo que mencionaba Manuel sobre los días de la semana. En mi caso, el relé 202 es el que activa el riego los lunes, miércoles, viernes y domingos, y con distinata duración. Asimismo el relé 202 está sujeto a otras condiciones fotovoltaicas:
Entonces, para que funcione el riego, son necesarias varias condiciones: día de la semana, hora y SOC.
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
- Mleon
- Enana blanca
- Mensajes: 428
- Registrado: 26 Ene 2019, 01:25
- Has thanked: 11 times
- Been thanked: 230 times
Re: PVControl+ en Sistema FV aislado estándar
CAPITULO 4 - CONTROL DE EXCEDENTES
2020-01-01: Actualmente hemos cambiado la forma de controlar los excedentes en PVControl+ usando un control basado en PID,
https://adnsolar.eu/viewtopic.php?f=17& ... t=30#p7322
es mas preciso y potente, los fundamentos basicos que se explica en este post se mantienen,pero se han cambiado algunos parametros para usar dicho control PID
Este es un tema curioso
Lo primero vamos a intentar definir que es el concepto de "Excedentes"
En un sistema FV "clásico" (con baterías, regulador etc) en el ciclo diario de carga/descarga se pasa por distintas situaciones, intento explicarlo someramente
- Al principio de la mañana el regulador de carga deja pasar todo lo que las placas pueden generar, la batería va aumentando su nivel de voltaje según se va cargando ...es lo que se llama fase bulk
- Una vez que la batería llega a un nivel de voltaje, el regulador empieza a cortar la potencia que le llega de las placas para mantener dicho voltaje de absorción durante un tiempo (por ejm 2 horas) .... es lo que se llama fase de absorción
- Una vez que ha pasado el tiempo programado de la fase de absorción el regulador sigue controlando la potencia que le llega de las placas pero para mantener un voltaje en baterías denominado voltaje de flotación..... hemos llegado a la fase de flotación
En este mismo foro o en internet tenéis explicaciones mucho mas detalladas de estas fases
https://adnsolar.eu/viewtopic.php?f=14&t=87
Pues bien...como se ve hay situaciones (Absorción y Flotación) en las que el regulador limita la potencia que pueden entregar las placas
Como los sistemas FV se dimensionan para garantizar que se tenga suficiente potencia la mayoría de los días (con algo de nubes, invierno, etc) lo normal es que existan muchos días en donde la capacidad de generación de las placas sea superior a lo que realmente se aprovecha
El poder aprovechar esta capacidad de generación "extra" (Excedentes) es lo que se llama Control de Excedentes
Hay tantas soluciones como ingenio y/o tiempo tenga quien tiene esta preocupación de aprovechar los excedentes
- Estar pendiente de la carga de la batería e ir encendiendo cosas (calefactor, etc) si se ve que el regulador esta en fase de absorción o flotación
- Mirar al cielo y las previsiones del tiempo y encender o no cosas estimando lo que se va a generar
- ....
En el Brico PVControl+ hay básicamente dos formas de aprovechar dichos excedentes
A) A nivel aproximado: usando la posibilidad de conmutar relés por condiciones..por tanto podremos por ejm encender un termo o calefacción solo si el SOC es alto
Este Control es una primera forma que muchas veces es perfectamente válida, pero tiene el defecto de no asegurar un aprovechamiento completo de los excedentes y que puede producir algo mas de ciclado de las baterías
B) Control "real" de excedentes
Imaginemos que en un momento dado las placas pueden producir 1000w pero que el regulador solo deja pasar 400w para mantener el nivel de voltaje de la batería...lo ideal es que se encienda algo que gaste solo los 600w sobrantes
Si viene una nube y las placas pasan a producir 500w en lugar de los 1000w... lo ideal es que el control de excedentes se adapte rápidamente para gastar solo los 100w sobrantes
Si vuelve a salir el sol...pues el control de excedentes debe aumentar su salida para gastar todo lo que las placas pueden producir
Para poder realizar este Control "real" de Excedentes tenemos dos cosas a solucionar
1.- Detectar que el regulador esta limitando la potencia de las placas
2.- Hacer un dispositivo que pueda regular el consumo de lo que se le enchufe para ir adaptándose a los excedentes disponibles
Veamos como soluciona a fecha actual estas dos cuestiones el Brico PVControl+
1.- Detectando Señal de Excedentes
Según lo comentado vemos que existen excedentes cuando el regulador esta limitando la potencia que entregan las placas, luego la forma mas "fácil" es poder sacar del regulador la información de cuando esta o no esta limitando la potencia de las placas
Esta información hay algunos reguladores que si la dan (por ejm el FM-80 a través de su salida auxiliar), por tanto lo lógico es poder utilizarla
Lamentablemente no todos los reguladores tienen esta posibilidad, por lo que ademas, durante el desarrollo de Brico, también se implementó otra forma de detectar que hay excedentes a través de medir el voltaje de la placas
Si vemos la curva característica de una placa solar se observa que la Voltaje de la placa (Vplaca) subirá algo cuando el regulador empiece a limitar la potencia (tanto en reguladores PWM como MPPT), por lo que, aunque no sea la situación ideal para detectar excedentes, nos puede servir
En este sentido el Brico usa:
- La variable "diver" para saber si hay excedentes o no...diver=1 si hay excedentes, diver=0 si no los hay
- La variable TIPO_DIVER: para seleccionar si lo detectamos por "vaux" (señal que da el regulador) o "vplaca" (señal de voltaje de las placas)
Lógicamente si seleccionamos detección por Vplaca, hay que decirle a partir de que nivel de voltaje de placas se considera que hay excedentes
Dicha información se introduce en la tabla "parametros" de la Base de datos
Así, en este ejemplo, estamos seleccionando detección por "vaux" y, en el caso de introducir "vplaca" en el campo tipo_diver, el limite inferior para considerar que hay excedentes sería de 62v
2.- Controlando la potencia de Excedentes
Una vez que tenemos la señal de excedentes, hay que utilizar un dispositivo que controle la potencia que gasta la carga que se enchufe (idealmente desde el 0% hasta el 100%)
Intentando que fuera lo mas versátil posible, se decidió que dicho dispositivo fuera vía wifi, y así permitir controlar cargas a distancia sin necesidad de tirar cables específicos etc
Esta decisión de hacerlo vía wifi tiene alguna consecuencia negativa, como por ejemplo que no podremos actualizar el nivel de salida de potencia muy rápidamente, aunque lo hacemos enviando mensajes con el protocolo MQTT, actualmente lo normal es tener una actualización cada medio segundo (lo cual tampoco esta mal )
Para dicho control via wifi actualmente utilizamos un micro (NodeMCU V3) programado con micropython con el que se maneja un rele SSR que nos permite controlar la potencia AC entregada a cargas resistivas de 220VAC (termo, calefacción,..)
Un mayor detalle de como se configura el NodeMCU para el Brico lo teneis aqui https://adnsolar.eu/viewtopic.php?f=13&t=99
No hay problema conceptual en utilizar otro tipo de micro (ESP32,..) o usar reles SSR de continua para controlar cargas DC (a 24, 48V,...)
En la forma de controlar la potencia había varias opciones (control por angulo de fase, control por semiciclo completo de AC,....)
Lo mas "tradicional" es utilizar control por angulo de fase en donde en cada semiciclo AC de 220VAC se deja pasar un "trozo" de la onda AC
Esta técnica tiene las ventajas de poder regular la potencia a pequeños saltos y que produce menos "parpadeo" dado que se conduce en cada semiciclo
Sin embargo vemos que el consumo empieza cuando la señal AC ya tiene un valor, por ejm con un 50% de potencia sería en el punto mas alto de la onda AC, por lo que generalmente se producen mas armónicos etc
Ademas los reles SSR mas habituales/baratos solo disparan la salida cuando la señal AC pasa por cero, por lo que, usando estos SSR, un control por angulo de fase no sería posible
En el Brico PVControl+ usamos otra técnica de control de potencia que consiste en tener una "ventana" de un numero de semiciclos completos y controlar los que están apagados o encendidos
Lo explico con ejemplos:
- Si se manda una potencia del 50%.... pues una ventana de dos semiciclos y haciendo que 1 semiciclo este apagado y uno encendido
- Si se manda una potencia del 25%... pues una ventana de 4 semiciclos y teniendo 3 semiciclos apagados y 1 encendido
- Manejamos una resolución máxima del 5%, en cuyo caso tendríamos una ventana de 20 semiciclos (200 milisegundos) y haciendo que este encendido 1 semiciclo y apagado 19 semiciclos
Es evidente que pueden existir otras estrategias de control de potencia, pero hasta la fecha esta nos funciona "decentemente"
3.- Usando el Control de Excedentes
Una vez explicados los fundamentos usados en el Brico, toca ver como usamos el Control de Excedentes
Lo primero es dar de alta el rele o reles que se usaran para dicho control del excedentes
Esto se hace igual que el resto de reles (en la tabla reles de la base de datos) pero los identificamos porque empiezan por el numero 2
En este ejemplo hay dos reles para control de excedentes...el 201 y el 221
Si se observa, hay unos campos que merece la pena detenerse en su uso
- salto: es el valor del escalón para arriba o para abajo que tendrá el rele cuando vaya subiendo o bajando la potencia (en este caso el 5%)
- prioridad: es donde se establece la estrategia de asignación de excedentes...primero se aplicaran a los de prioridad 1 y cuando estén al 100% se pasara a los de 2 prioridad y así sucesivamente
No es habitual, pero se permite que existan mas de un rele en la misma prioridad... en este caso el salto de potencia se ira aplicando alternativamente a cada rele en la misma prioridad
Como se observa en el ejemplo hemos establecido el rele 221 en prioridad 1 y el 201 en prioridad 2...luego en caso de existir excedentes el rele 221 se ira encendiendo hasta llegar al 100%, y, si siguen existiendo excedentes, se aplicaran al rele 201
En el caso de que se tenga que bajar la potencia la secuencia lógicamente es justo al contrario, empezando por los de mas baja prioridad hasta llegar al 0%
Aunque es posible, no tiene mucha lógica que en los reles de excedentes se ponga el campo de grabación a "S", dado que lo normal es que tengan muchas conmutaciones
Con esto, ya tenemos el el Brico PVControl+ la posibilidad de poder usar los excedentes de una instalación FV, hay distintas mejoras o ampliaciones posibles (por ejm detectar la señal de excedentes mediante la frecuencia AC dado que esta técnica la utilizan algunas marcas comerciales ) por lo que seguro que esta parte de Brico seguirá evolucionando
Una imagen típica de como funciona el control de excedentes, como se ve la Iplaca va adaptándose a la radiación del Sol permitiendo mayor consumo, y la Ibat hace bastante bien el ciclo de carga (absorción/flotación)
próximo .....CAPITULO 5 - CAPACIDADES GRAFICAS
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
Última edición por Mleon el 02 Ene 2020, 03:23, editado 3 veces en total.
- nikitto
- Agujero negro
- Mensajes: 176
- Registrado: 24 Ene 2019, 10:04
- Ubicación: Cambrils
- Has thanked: 74 times
- Been thanked: 111 times
Re: PVControl+ en Sistema FV aislado estándar
Como ya he mencionado en otro hilo, estamos trabajando en la creación de un nuevo software que permita la derivación de excedentes directamente desde la propia RPi, sin necesidad de usar los nodemcu o ESP32.
Si no queremos/podemos usar wifi en casa y/o tenemos los consumos cerca de la Raspberry, podemos usar esta solución. Básicamente consiste en activar una o varias salidas (GPIO) de la Raspberry. Esta salida atacará a la base de un transistor y éste, a un relé de estado sólido (SSR).
*Ejemplo usando un led en vez de un SSR.
** Foto de @Muhurtam.
Cuanto más tiempo está encendido el led más excedentes tenemos.
Si no queremos/podemos usar wifi en casa y/o tenemos los consumos cerca de la Raspberry, podemos usar esta solución. Básicamente consiste en activar una o varias salidas (GPIO) de la Raspberry. Esta salida atacará a la base de un transistor y éste, a un relé de estado sólido (SSR).
*Ejemplo usando un led en vez de un SSR.
** Foto de @Muhurtam.
Cuanto más tiempo está encendido el led más excedentes tenemos.
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
- Mleon
- Enana blanca
- Mensajes: 428
- Registrado: 26 Ene 2019, 01:25
- Has thanked: 11 times
- Been thanked: 230 times
Re: PVControl+ en Sistema FV aislado estándar
CAPITULO 5 - CAPACIDADES GRAFICAS
Una ventaja evidente de guardar cada X segundos los datos relevantes de la instalación FV, es que podemos usarlos para crear gráficas que nos ayuden a "ver" mas facilmente lo que esta ocurriendo o ha ocurrido en cualquier momento
En el Brico PVControl+ hemos usado dos formas para ver las graficas relevantes
A) Creandolas en el propio servidor web del Brico con la ayuda de las librerias de Higchart
B) Teniendo la posibilidad de mandar los datos a una web especializada en FV (pvoutput.org) para poder ver los gráficos y estadisticas que nos proporciona dicha web
Hablemos un poco de cada una de ellas
A) Gráficos creados en PVControl+
En este caso se han creado distintas paginas web con los gráficos que nos parecieron mas relevantes tener:
- Gráficos de carga/descarga
- Gráficos de Kwh generados o gastados al dia, semana, mes etc
- ....
para no repetir hay una serie de ejemplos a partir de https://adnsolar.eu/viewtopic.php?f=17&t=149#p1858
Desde mi punto de vista, la mas importante para ver si tenemos bien la instalación FV o ayudarnos en los parámetros a poner en el regulador es la gráfica diaria de carga/descarga, dado que nos da bastante información (valores de absorción, flotación, tiempo de absorción, evolución SOC, uso de excedentes, Intensidad de cola...)
Quien esté interesado en ver las gráficas creadas hasta la fecha puede visitar por ejm mi web "espejo" en http://mleon.sytes.net
Si alguien tiene una idea sobre una gráfica útil que merezca la pena añadir que avise
B) Gráficos creados en PVOutput.org
Como he comentado PVControl+ permite mandar cada 5 minutos los valores relevantes a la web pvoutput.org
En dicha web hay toda una serie de gráficas y estadísticas que podemos aprovechar
Por ejemplo se puede ver como es nuestra curva de generación con respecto a la insolación
Hay muchas mas gráficas y estadísticas por lo que invito a visitar dicha web
Tambien pvouput.org tiene una app de android con distintas funcionalidades y gráficas asociadas en el movil
próximo .....CAPITULO 6 - USO DE TELEGRAM
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
- nikitto
- Agujero negro
- Mensajes: 176
- Registrado: 24 Ene 2019, 10:04
- Ubicación: Cambrils
- Has thanked: 74 times
- Been thanked: 111 times
Re: PVControl+ en Sistema FV aislado estándar
Esta versión puede ir montada directamente sobre la RPi 3.
Control de hasta 16 relés físicos, 2 OLED, 4 entradas con divisor de tensión (Vbat, Vplaca, Vaux, Vaux2), 2 entradas por diferencial (p.e. 2 Shunt), 2 DS18B20 (uno puede ir directamente montado sobre la placa y otro para medir la temperatura de la batería).
* La comunicación se realiza mediante el bus I2C.
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
- nikitto
- Agujero negro
- Mensajes: 176
- Registrado: 24 Ene 2019, 10:04
- Ubicación: Cambrils
- Has thanked: 74 times
- Been thanked: 111 times
Re: PVControl+ en Sistema FV aislado estándar
Hicimos una tirada de 10 PCB y ya han llegado.
Éste es el resultado:
Y así como quedaría ya conectada a la Raspberry:
Éste es el resultado:
Y así como quedaría ya conectada a la Raspberry:
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
- Homo_non_sapiens
- Galáctico
- Mensajes: 4887
- Registrado: 23 Ene 2019, 15:10
- Ubicación: Sa Roqueta
- Has thanked: 187 times
- Been thanked: 584 times
Re: PVControl+ en Sistema FV aislado estándar
Hola [mention]iridium[/mention] . Estoy muy interesado en configurar parámetros de mi InfinSolar V con una Rpi (ver este hilo: viewtopic.php?f=22&t=314&start=5)
Como soy un novato total en Python y nunca había conectado el Infini al PC con el programa "SolarPower", necesito tu ayuda, por favor:
(1) Cómo entrar en el modo "debug" de SolarPower, para ver la denominación de los parámetros del Infini ?
(2) Necesito un ejemplo sencillo de código Python para leer y configurar esos parámetros con el PC / la Rpi
Muchas gracias de antemano ...
5000 Wp en placa; híbrido InfiniSolar_V1 4kW(solar) + 5.5kW(red); control total DIY con Rpi;
24 vasos PzS 500Ah C5 (~30 kWh C20); cosecha 300-750 kWh/mes; consumo 500-800 kWh/mes
Nuestra especie es "Homo non sapiens": Sabemos hacer mucho, pero no sabemos controlarlo ...
24 vasos PzS 500Ah C5 (~30 kWh C20); cosecha 300-750 kWh/mes; consumo 500-800 kWh/mes
Nuestra especie es "Homo non sapiens": Sabemos hacer mucho, pero no sabemos controlarlo ...
- Mleon
- Enana blanca
- Mensajes: 428
- Registrado: 26 Ene 2019, 01:25
- Has thanked: 11 times
- Been thanked: 230 times
Re: PVControl+ en Sistema FV aislado estándar
CAPITULO 6 - USO DE TELEGRAM
En el Brico PVControl+ estuvimos Nikitto y yo viendo opciones para que la Rpi pudiera mandar mensajes (email, Whatsapp...)
Finalmente nos decidimos por usar Telegram por tener varias ventajas:
- Permite usar tanto Movil como PC
- Tiene la posibilidad de crearse y usar un BOT lo que nos permitirá "chatear" con la RPi y por ejm perdile cosas (mándame información, ejecuta el comando tal, etc)
- No necesita IP publica, por lo que se puede usar con datos tipo SIM de movil
Una vez creada la cuenta en Telegram y creado el BOT lo primero que hicimos fue que PVControl+ mandara mensajes periódicos con la información relevante de la FV
A) Mensajes Periódicos
Creamos el programa fvbot_msg.py que se ejecuta desde crontab con la frecuencia que queramos (por defecto cada hora) y nos manda este tipo de información Como se ve, en mi caso se manda cada 30 minutos y nos da información de Vbat,Ibat, Kwh, Temperaturas, estado de relés etc
Para mi esta funcionalidad es bastante útil, dado que podemos ver de un vistazo rápido la situación y evolución del sistema FV en el día
Lógicamente cada cual puede editar el archivo fvbot_msg.py y adaptar la información que quiera que le llegue
Tras el tema de mandar mensajes periódicos, no metimos con el BOT de Telegram, para así poder mandar comandos / recibir información, de la misma forma que se chatea en Whatsapp con alguien pero en este caso "Chateando" con PVControl+
A) Chatear con PVControl+
Para ello se creo un programa llamado fvbot.py y se configuró como servicio para que esté continuamente funcionando
Su misión es estar siempre a la "escucha" y procesar los mensajes que le mandemos
Por tanto lo primero es definir que comandos va a procesar
Nikitto y yo nos inventamos una sintaxis de comandos de este tipo:
- El mensaje debe empezar por #
Lo primero fue implementar algún tipo de ayuda o recordatorio de los comandos disponibles.... lo hicimos con el comando #?
Como se ve, a fecha actual, hay varios tipo de comandos implementados
#i : Nos manda el mismo tipo de información de los mensajes periódicos....pero cuando se lo pidamos #r: Nos da con mas detalle la situación de los relés y ademas nos da una ayuda delos comandos asociados a los relés que se aceptan (apagarlo, encenderlo, ponerlo en modo programación....) Así por ejm si queremos encender o apagar el rele 338 sería: Es verdad que PVControl+ permite cambiar el estado de los reles desde la web, pero esta forma es la que yo mas uso dado que es rápido y además te queda el histórico de los comandos que mandas
#p : Nos sirve para actualizar los valores de configuración que tenemos en la tabla parámetros de la Base de Datos Por ejm nos sirve para actualizar el SOC del sistema si vemos que esta algo desfasado
#h : Dado que tanto Nikitto como yo tenemos un hibrido tipo Voltronic Axpert, implementamos poder mandarle comandos al Híbrido
Para ello simplemente se pone el comando a mandar empezando por #h Como se ve, si se manda un comando que el Híbrido no reconoce, el Híbrido nos manda la respuesta NAKss
Implementamos otra sintaxis con los comandos empezando por /... con la idea de usar la funcionalidad tipo pulsar botones... reconozco que yo la uso poco, por lo que no tengo claro que funcione al 100% Creo que es todo.. si alguien se le ocurre alguna funcionalidad adicional para usar el BOT que avise
Próximo ........ CAPITULO 7 - USANDO MQTT
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
- Mleon
- Enana blanca
- Mensajes: 428
- Registrado: 26 Ene 2019, 01:25
- Has thanked: 11 times
- Been thanked: 230 times
Re: PVControl+ en Sistema FV aislado estándar
Pues como tenia una cámara de la Raspberry sin usar, se me ha ocurrido una "mejora" para PVControl+:
He instalado el programa de vigilancia "motion" y adaptado el Bot de Telegram (fvbot.py) para que admita ordenes para la cámara
- Poner en modo vigilancia o no
- Solicitar foto o video
- ....
He adaptado lo que se lee aquí
https://ginolhac.github.io/posts/diy-ra ... -telegram/
He cambiado un poco los comandos para seguir con la misma lógica de PVControl+
Así, un comando para la cámara empezará por #V (podía haber puesto #C...pero la V viene tanto de Vigilancia como Video )
Ejemplos de comandos que acepta (ya veré si dejos estos nombres o pongo otros):
#Vfoto : Nos manda una foto
#Vvideo: Nos manda el último vídeo grabado
#Vstart: Activa el modo vigilancia y nos mandar una foto cada vez que se dispare
#Vpausa: Desactiva el modo vigilancia
#Vestado: Nos da el estado de la cámara
#Vcheck: Nos responde si esta OK la cámara o no
las capturas las manda como este ejemplo
Funciona bien... pero es evidente que en modo vigilancia te manda fotos de detección de movimiento erróneas de vez en cuando (por cambio de luz etc)
Me ha llamado la atención como en este enlace se ha resuelto este problema utilizando el servicio de Inteligencia artificial que proporciona Amazon
https://www.bouvet.no/bouvet-deler/utbr ... ces-part-1
Bueno.. una funcionalidad mas
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
- Mleon
- Enana blanca
- Mensajes: 428
- Registrado: 26 Ene 2019, 01:25
- Has thanked: 11 times
- Been thanked: 230 times
Re: PVControl+ en Sistema FV aislado estándar
Bueno ..... ya me lié con lo del reconocimiento de imágenes
Me he creado una cuenta en Clarifai y estoy entrenando un modelo propio para que me distinga si hay alarma o no
Ahora toca entrenar el modelo que he creado con las imágenes que le voy mandando
También se puede usar algunos de los modelos que tiene implementados el propio Clarifai
Por ejm, yo ahora estoy usando el modelo de reconocimiento facial para detectar si en la imagen hay "caras" o no y mandar la foto a Telegram con dicha información
Aquí dos ejemplos de "falsas alarmas"
Pero aquí un ejemplo de un hijo pillado hoy llegando de una fiesta casi a las 7:00 de la mañana
Es una forma de detectar falsas alarmas dado que he visto que reconoce caras bastante bien, pero supongo que no estaría a prueba de "ladrones con capucha"
Me he creado una cuenta en Clarifai y estoy entrenando un modelo propio para que me distinga si hay alarma o no
Ahora toca entrenar el modelo que he creado con las imágenes que le voy mandando
También se puede usar algunos de los modelos que tiene implementados el propio Clarifai
Por ejm, yo ahora estoy usando el modelo de reconocimiento facial para detectar si en la imagen hay "caras" o no y mandar la foto a Telegram con dicha información
Aquí dos ejemplos de "falsas alarmas"
Pero aquí un ejemplo de un hijo pillado hoy llegando de una fiesta casi a las 7:00 de la mañana
Es una forma de detectar falsas alarmas dado que he visto que reconoce caras bastante bien, pero supongo que no estaría a prueba de "ladrones con capucha"
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
-
- Forero con ADNSolar
-
Gigante roja
- Mensajes: 783
- Registrado: 23 Ene 2019, 17:12
- Has thanked: 142 times
- Been thanked: 93 times
Re: PVControl+ en Sistema FV aislado estándar
Ahora sí que es perfecto pvcontrol+, no le falta de nada , hasta te controla a los xurumbeles.
- nikitto
- Agujero negro
- Mensajes: 176
- Registrado: 24 Ene 2019, 10:04
- Ubicación: Cambrils
- Has thanked: 74 times
- Been thanked: 111 times
Re: PVControl+ en Sistema FV aislado estándar
Después de algunos meses, empiezan a verse las primeras V3.1 en funcionamiento:
Ya sabéis que esta versión puede ir montada directamente sobre la RPi3
Ya sabéis que esta versión puede ir montada directamente sobre la RPi3
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
- Mleon
- Enana blanca
- Mensajes: 428
- Registrado: 26 Ene 2019, 01:25
- Has thanked: 11 times
- Been thanked: 230 times
Re: PVControl+ en Sistema FV aislado estándar
En mi caso he puesto la PCB version 3.1 encima de la caja de la Raspberry, a falta de que se anime alguien a diseñar una caja para impresora 3D y que quede aun mas compacto
Asi queda....
Asi queda....
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
- Mleon
- Enana blanca
- Mensajes: 428
- Registrado: 26 Ene 2019, 01:25
- Has thanked: 11 times
- Been thanked: 230 times
Re: PVControl+ en Sistema FV aislado estándar
Nuevo año, nuevas funcionalidades
Se burló Gabriel hace algún tiempo de que el control de excedentes implementado en PVControl+ aunque funcionaba bastante bien generaba un rizado no digno de un "Teleco"
Como este Brico me lo he tomado como "Hobby pre-jubilacion", aprovechando los conocimientos de Gabriel de control via PID, he implementado un nuevo control de excedentes basado en PID
Dado que ademas ya se algo mas de Python (no mucho), me plantee algunos retos:
- Que se pueda usar cualquier variable de las que se capturan como variable "sensora" de excedentes (Vbat, Vplaca, Ibat, Aux1, etc)
- Que se pueda cambiar dinamicamente sin interrumpir el programa tanto la variable sensora como el valor a conseguir
- Que se pueda cambiar dinamicamente sin interrumpir el programa las constantes PID que definen la sensibilidad del control PID (Kp, Ki, Kd)
Tras algunas pruebas, ya esta implementado, y debo decir que el resultado me ha sorprendido gratamente
Si no fuera por la sombra mañanera del Pino, se ve que la curva de potencia generada se acerca mucho a la tipica curva de potencia disponible el 31/Dic...y el 30 como ya estaba caliente el termo de agua pues no tenia donde echar mas excedentes (ahora mismo tengo 3 reles SSR para excedentes . Termo y dos acumuladores de calor)
Aunque hay que tunear los valores a poner en Kp, Ki,Kd para optimizarlos a mi instalación, ahora mismo con 25/0/25 reacciona bastante rápido (encendido de microondas etc) y el rizado creo que ya es digno (mejoraría con un tiempo de muestra menor, pero con 1sg va suficientemente bien)
He actualizado el manual de instalación desde imagen SD (en mi pie de firma), y en breve estará disponible dicha imagen
PD:Aunque no era la funcionalidad inicialmente buscada...dado que tengo un hibrido que no permite valores superiores a 29,2V de Vabs, pues he tenido problemas de sulfatacion en esta mala época del año
Como tenia un vaso mas moderno que los otros 11, he optado por poner 11 vasos y hacer una ecualización intensiva estos días de Sol, ademas como tenia confianza, he puesto las placas conectadas en directo a las baterías y quien ha vigilado el valor de Vbat ha sido PVControl+ derivando mas o menos excedentes para mantener el valor de Vbat que le iba poniendo (en mi caso a distancia mandandole mensajes de Telegram dado que la FV esta a 40Km de casa)
Se burló Gabriel hace algún tiempo de que el control de excedentes implementado en PVControl+ aunque funcionaba bastante bien generaba un rizado no digno de un "Teleco"
Como este Brico me lo he tomado como "Hobby pre-jubilacion", aprovechando los conocimientos de Gabriel de control via PID, he implementado un nuevo control de excedentes basado en PID
Dado que ademas ya se algo mas de Python (no mucho), me plantee algunos retos:
- Que se pueda usar cualquier variable de las que se capturan como variable "sensora" de excedentes (Vbat, Vplaca, Ibat, Aux1, etc)
- Que se pueda cambiar dinamicamente sin interrumpir el programa tanto la variable sensora como el valor a conseguir
- Que se pueda cambiar dinamicamente sin interrumpir el programa las constantes PID que definen la sensibilidad del control PID (Kp, Ki, Kd)
Tras algunas pruebas, ya esta implementado, y debo decir que el resultado me ha sorprendido gratamente
Si no fuera por la sombra mañanera del Pino, se ve que la curva de potencia generada se acerca mucho a la tipica curva de potencia disponible el 31/Dic...y el 30 como ya estaba caliente el termo de agua pues no tenia donde echar mas excedentes (ahora mismo tengo 3 reles SSR para excedentes . Termo y dos acumuladores de calor)
Aunque hay que tunear los valores a poner en Kp, Ki,Kd para optimizarlos a mi instalación, ahora mismo con 25/0/25 reacciona bastante rápido (encendido de microondas etc) y el rizado creo que ya es digno (mejoraría con un tiempo de muestra menor, pero con 1sg va suficientemente bien)
He actualizado el manual de instalación desde imagen SD (en mi pie de firma), y en breve estará disponible dicha imagen
PD:Aunque no era la funcionalidad inicialmente buscada...dado que tengo un hibrido que no permite valores superiores a 29,2V de Vabs, pues he tenido problemas de sulfatacion en esta mala época del año
Como tenia un vaso mas moderno que los otros 11, he optado por poner 11 vasos y hacer una ecualización intensiva estos días de Sol, ademas como tenia confianza, he puesto las placas conectadas en directo a las baterías y quien ha vigilado el valor de Vbat ha sido PVControl+ derivando mas o menos excedentes para mantener el valor de Vbat que le iba poniendo (en mi caso a distancia mandandole mensajes de Telegram dado que la FV esta a 40Km de casa)
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
- Luisetrix
- Forero con ADNSolar
-
Gigante roja
- Mensajes: 501
- Registrado: 23 Ene 2019, 17:18
- Has thanked: 20 times
- Been thanked: 117 times
Re: PVControl+ en Sistema FV aislado estándar
A mí me ha traído Papá Noel una motosierra... Podemos arreglarlo
Mi PVControl+ http://avellana.myddns.me