Página 2 de 10

Re: PVControl+ en Sistema FV aislado estándar

Publicado: 21 Feb 2019, 23:39
por Corazon_de_perro
Entonces, la señal de excedentes es fácil, utilizando la tensión de las placas conectadas al Xantrex.

Re: PVControl+ en Sistema FV aislado estándar

Publicado: 22 Feb 2019, 00:05
por nikitto
p4ink escribió: 21 Feb 2019, 23:29 un xantrex c35 y un fangpusum mppt 100\50.
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.

Re: PVControl+ en Sistema FV aislado estándar

Publicado: 22 Feb 2019, 00:12
por nikitto
Yo todavía tengo montado el prototipo, y va para 2 años y medio :oops: :oops: :oops:
hib_kid.jpg
Y una imagen de los SHUNTS:
SHUNTS.jpg
Esta primavera, ya colocaré la PCB que lleva medio año cogiendo polvo.

Re: PVControl+ en Sistema FV aislado estándar

Publicado: 22 Feb 2019, 09:21
por Muhurtam
Aquí están los shunt en instalación aislada
IMG_20180307_204109.jpg
Se ven los cablecillos que van a la PCB, para obtener las señales que van a la RPI

Re: PVControl+ en Sistema FV aislado estándar

Publicado: 23 Feb 2019, 23:26
por Mleon
Mleon escribió: 17 Feb 2019, 23:08
Mleon escribió: 15 Feb 2019, 23:29
Mleon escribió: 15 Feb 2019, 00:02 CAPITULO 0 - INTRODUCCION Y OBJETIVO DEL BRICO PVControl+
.....
CAPITULO 1 - SACANDO INFORMACION DE LA INSTALACION

.....
CAPITULO 2 - GUARDANDO LA INFORMACION DE LA INSTALACION

.......
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 :D )

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
BD_reles.JPG
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"
BD_reles_c.JPG
- 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"
BD_reles_h.JPG
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

Re: PVControl+ en Sistema FV aislado estándar

Publicado: 24 Feb 2019, 01:24
por nikitto
horario.png

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:

riego.png

Entonces, para que funcione el riego, son necesarias varias condiciones: día de la semana, hora y SOC.

Re: PVControl+ en Sistema FV aislado estándar

Publicado: 09 Mar 2019, 14:12
por Mleon
Mleon escribió: 23 Feb 2019, 23:26
Mleon escribió: 17 Feb 2019, 23:08
Mleon escribió: 15 Feb 2019, 23:29

CAPITULO 1 - SACANDO INFORMACION DE LA INSTALACION
.....
CAPITULO 2 - GUARDANDO LA INFORMACION DE LA INSTALACION
.......
CAPITULO 3 - DEFINIENDO RELES Y SUS CONDICIONES ON/OFF
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
Fases Carga.JPG
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
Parametros_diver.JPG
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 :D )

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
Angulo de fase.JPG

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
Reles_diver.JPG
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)
2018_03_28_Carga.JPG
próximo .....CAPITULO 5 - CAPACIDADES GRAFICAS

Re: PVControl+ en Sistema FV aislado estándar

Publicado: 26 Mar 2019, 16:37
por nikitto
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).
photo_2019-03-26_16-09-37.jpg
*Ejemplo usando un led en vez de un SSR.
** Foto de @Muhurtam.

Cuanto más tiempo está encendido el led más excedentes tenemos.

Re: PVControl+ en Sistema FV aislado estándar

Publicado: 11 May 2019, 01:19
por Mleon
Mleon escribió: 09 Mar 2019, 14:12
Mleon escribió: 23 Feb 2019, 23:26
Mleon escribió: 17 Feb 2019, 23:08

CAPITULO 2 - GUARDANDO LA INFORMACION DE LA INSTALACION
.......
CAPITULO 3 - DEFINIENDO RELES Y SUS CONDICIONES ON/OFF
CAPITULO 4 - CONTROL DE EXCEDENTES
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
PVoutput_1.JPG
PVoutput_2.JPG
PVoutput_3.JPG
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
PVoutput_4.JPG
PVoutput_5.JPG
PVoutput_6.JPG
próximo .....CAPITULO 6 - USO DE TELEGRAM

Re: PVControl+ en Sistema FV aislado estándar

Publicado: 14 May 2019, 10:47
por nikitto
PVC_v_3_1.jpg
... en fabricación (sólo la PCB).

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.

Re: PVControl+ en Sistema FV aislado estándar

Publicado: 17 May 2019, 18:54
por nikitto
Hicimos una tirada de 10 PCB y ya han llegado.

Éste es el resultado:
V3_1.jpg
Y así como quedaría ya conectada a la Raspberry:
rpi_v31.jpg

Re: PVControl+ en Sistema FV aislado estándar

Publicado: 24 May 2019, 12:57
por Homo_non_sapiens
iridium escribió: 16 Feb 2019, 08:04@Mleon ya tengo la imagen de la rpi fetén para los "hibridistas" 5.5k. Todo se lee directamente del híbrido menos ibat
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 ... :amigos

Re: PVControl+ en Sistema FV aislado estándar

Publicado: 03 Ago 2019, 23:31
por Mleon
Mleon escribió: 11 May 2019, 01:19
Mleon escribió: 09 Mar 2019, 14:12
Mleon escribió: 23 Feb 2019, 23:26

CAPITULO 3 - DEFINIENDO RELES Y SUS CONDICIONES ON/OFF
CAPITULO 4 - CONTROL DE EXCEDENTES
CAPITULO 5 - CAPACIDADES GRAFICAS
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
Telegram_1.JPG
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 #?
Telegram_2.JPG
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
Telegram_3.JPG
#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....)
Telegram_4.JPG
Así por ejm si queremos encender o apagar el rele 338 sería:
Telegram_5.JPG
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
Telegram_6.JPG
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
Telegram_7.JPG
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%
Telegram_8.JPG
Creo que es todo.. si alguien se le ocurre alguna funcionalidad adicional para usar el BOT que avise

Próximo ........ CAPITULO 7 - USANDO MQTT

Re: PVControl+ en Sistema FV aislado estándar

Publicado: 12 Ago 2019, 18:21
por Mleon
Mleon escribió: 03 Ago 2019, 23:31 .....
Creo que es todo.. si alguien se le ocurre alguna funcionalidad adicional para usar el BOT que avise
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 :lol: )

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
Telegram_Video1.JPG

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

Re: PVControl+ en Sistema FV aislado estándar

Publicado: 16 Ago 2019, 01:46
por Mleon
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"
Telegram_9.JPG
Telegram_11.JPG
Pero aquí un ejemplo de un hijo pillado hoy llegando de una fiesta casi a las 7:00 de la mañana :lol: :lol:
Telegram_10.JPG

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" :lol:

Re: PVControl+ en Sistema FV aislado estándar

Publicado: 17 Ago 2019, 13:06
por fran_pascualin
Ahora sí que es perfecto pvcontrol+, no le falta de nada , hasta te controla a los xurumbeles. :madroll

Re: PVControl+ en Sistema FV aislado estándar

Publicado: 04 Sep 2019, 10:06
por nikitto
Después de algunos meses, empiezan a verse las primeras V3.1 en funcionamiento:
photo_2019-09-03_23-41-59.jpg
photo_2019-09-03_23-41-39.jpg
Ya sabéis que esta versión puede ir montada directamente sobre la RPi3

Re: PVControl+ en Sistema FV aislado estándar

Publicado: 01 Dic 2019, 03:30
por Mleon
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....
PCB_3_1_a.jpg
PCB_3_1_b.jpg
PCB_3_1_c.jpg

Re: PVControl+ en Sistema FV aislado estándar

Publicado: 02 Ene 2020, 02:27
por Mleon
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)
photo_2019-12-31_16-27-48.jpg
Carga_30_Dic_19.JPG

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)

Re: PVControl+ en Sistema FV aislado estándar

Publicado: 02 Ene 2020, 09:16
por Luisetrix
Mleon escribió: 02 Ene 2020, 02:27

Si no fuera por la sombra mañanera del Pino,

A mí me ha traído Papá Noel una motosierra... Podemos arreglarlo :lol: :lol: :lol: