Página 7 de 10

Re: PVControl+ en Sistema FV aislado estándar

Publicado: 14 Nov 2020, 00:51
por Mleon
JJG escribió: 13 Nov 2020, 23:18
Mleon escribió: 03 Ago 2019, 23:31
Próximo ........ CAPITULO 7 - USANDO MQTT
¿No está este capitulo? Estoy en el punto de querer comandar un relé sonoff ya tasmoteado y no sé como abordarlo... Me echan una mano? Muchas gracias.
Eso es la pantalla de configuración MQTT del sonoff
Captura de Pantalla 2020-11-13 a les 23.16.48.png

En el pvcontrol+ he creado el relé 521 esperando a ser configurado :rolley

Muchas gracias!
Este año 2020.. he escrito pocos capitulos


En PVControl+ para el control de reles via wifi usamos MQTT, por tanto es bueno mirar los conceptos basicos (Broker, Topic, payload, publicacion/suscripcion a los Topic...) en los muchos buenos tutoriales que hay por internet

En tu caso:

- El Host es la IP donde este la RPi que es la que hace de Broker
- El puerto si usamos el 1883
- Como cliente se puede poner cualquier cosa que identifique univocamente a este nodo
- User/pass: ususario y clave para conectarse al Broker... En PVControl+ por defecto ...rpi/fv
- El topic completo para el rele 521 seria...... PVControl/Reles/521 Normalmente se puede poner un Prefijo tipo PVControl/Reles/ y que despues cada nodo que sea simplemente el numero de rele (521 en tu ejemplo)

Asi el sonoff se "suscribe" al Topic llamado PVControl/Reles/521 que es donde PVControl le mandara los mensajes de encenderse o apagarse

Re: PVControl+ en Sistema FV aislado estándar

Publicado: 14 Nov 2020, 09:48
por JJG
Mleon escribió: 14 Nov 2020, 00:51 Este año 2020.. he escrito pocos capitulos
Pues te animo a que sigas... :dancing
Mleon escribió: 14 Nov 2020, 00:51
En PVControl+ para el control de reles via wifi usamos MQTT, por tanto es bueno mirar los conceptos basicos (Broker, Topic, payload, publicacion/suscripcion a los Topic...) en los muchos buenos tutoriales que hay por internet

En tu caso:

- El Host es la IP donde este la RPi que es la que hace de Broker
- El puerto si usamos el 1883
- Como cliente se puede poner cualquier cosa que identifique univocamente a este nodo
- User/pass: ususario y clave para conectarse al Broker... En PVControl+ por defecto ...rpi/fv
- El topic completo para el rele 521 seria...... PVControl/Reles/521 Normalmente se puede poner un Prefijo tipo PVControl/Reles/ y que despues cada nodo que sea simplemente el numero de rele (521 en tu ejemplo)

Asi el sonoff se "suscribe" al Topic llamado PVControl/Reles/521 que es donde PVControl le mandara los mensajes de encenderse o apagarse
Una vez estudiados los conceptos de MQTT me he puesto a configurar tanto el relé sonoff como el pvcontrol y no me responde o no sé hacerlo responder cuando le doy a ON/OFF en el pvcontrol.

Primero pongo capturas de lo que he configurado (flash de Tasmota):
- Activar MQTT (ya venía activado por defecto)
Captura de Pantalla 2020-11-14 a les 9.39.54.png
- Configurar MQTT
Captura de Pantalla 2020-11-14 a les 9.39.30.png
-Dar de alta relé al PVControl+
Captura de Pantalla 2020-11-14 a les 9.40.44.png
-Quise encender/apagar con los botones ON/OFF del propio pvcontrol dentro de la sección de relés, se ve que reacciona el pvcontrol pero no llega la orden al relé... ¿Qué está fallando?
Captura de Pantalla 2020-11-14 a les 9.41.21.png
Gracias una vez más.

Re: PVControl+ en Sistema FV aislado estándar

Publicado: 14 Nov 2020, 23:35
por JJG
JJG escribió: 14 Nov 2020, 09:48 ...
- Configurar MQTT
Captura de Pantalla 2020-11-14 a les 9.39.30.png
Me autorespondo, el error está aquí, la configuración correcta es poner el Topic en el penúltimo campo dejando el último a lo que salga por defecto.

Re: PVControl+ en Sistema FV aislado estándar

Publicado: 24 Nov 2020, 15:26
por JJG
Mleon escribió: 02 Ene 2020, 02:27 ...

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


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)
...
Buenos días [mention]Mleon[/mention] no acabo de entender el funcionamiento de los excedentes... he definido como señal PID en Aux1 que lo alimenta el relé del regulador Outback configurado como Diver (por ahora en pwm) que me devuelve valores de 0 a 12 y como Objetivo PID a 12V que es su máximo al 100%.

Creo que estoy dando palos de ciego sin saber qué señal emplear dado no entiendo qué logica emplea el PVControl para gestionar estos excedentes ¿como lo hace?

A ver si me puedes ayudar!

¡Gracias!

Re: PVControl+ en Sistema FV aislado estándar

Publicado: 24 Nov 2020, 15:43
por Mleon
JJG escribió: 24 Nov 2020, 15:26
Buenos días @Mleon no acabo de entender el funcionamiento de los excedentes... he definido como señal PID en Aux1 que lo alimenta el relé del regulador Outback configurado como Diver (por ahora en pwm) que me devuelve valores de 0 a 12 y como Objetivo PID a 12V que es su máximo al 100%.

Creo que estoy dando palos de ciego sin saber qué señal emplear dado no entiendo qué logica emplea el PVControl para gestionar estos excedentes ¿como lo hace?

A ver si me puedes ayudar!

¡Gracias!
En pocas palabras, como funciona el control de excedentes es:

- Se define una señal sensora de excedentes... (Vbat, Vplaca,...)
- Se define un valor objetivo a conseguir.. ( 28.8V, 80V,.....)

Después PVControl+ se dedica a:

- Medir el valor actual de esa señal y compararlo con el objetivo a conseguir

- Calcular la salida PWM con un algoritmo tipo PID en función de la diferencia entre señal medida y objetivo

- Repartir esa salida PWM entre los relés dados de alta de acuerdo a sus prioridades


En tu caso, si quieres utilizar como variable sensora la salida PWM del FM80, el objetivo no debería ser 12V sino 0V (o algo un poco superior a 0 (0.2V) por eso de dejarle algo de margen para que seguro no actué en BULK)

Para conseguir que una señal PWM de 12V se convierta en una señal de voltaje variable entre 0 y 12V, que es lo que necesitarías, se debe poner una resistencia + condensador, si no pones esta RC, la señal te pasa de 0 a 12 y de 12 a 0, por lo que tendrías saltos importantes en el control que creo que hará que no funcione bien

Para calcular esa RC piensa que R*C * 6 te daría el tiempo medio para que el valor se estabilice... luego si quieres que se estabilice a los 0,2sg...pues 0,2 = 6 * R *C

Una vez hecho esto debes "afinar" el control PID con los valores de las tres constantes Kp, Kd, Ki... empieza usando solo Kp y el resto a 0

Re: PVControl+ en Sistema FV aislado estándar

Publicado: 24 Nov 2020, 22:43
por JJG
Ok! entendida la teoría pero...
Mleon escribió: 24 Nov 2020, 15:43 En tu caso, si quieres utilizar como variable sensora la salida PWM del FM80, el objetivo no debería ser 12V sino 0V (o algo un poco superior a 0 (0.2V) por eso de dejarle algo de margen para que seguro no actué en BULK)

Para conseguir que una señal PWM de 12V se convierta en una señal de voltaje variable entre 0 y 12V, que es lo que necesitarías, se debe poner una resistencia + condensador, si no pones esta RC, la señal te pasa de 0 a 12 y de 12 a 0, por lo que tendrías saltos importantes en el control que creo que hará que no funcione bien
Indicas que para tener una señal variable entre 0 y 12 debo poner una Resistencia+Condensador... hoy lo he tenido sin nada a su entrada y ya me devuelve valores de 0 a 12... adjunto captura. ¿No es suficiente?
Captura de Pantalla 2020-11-24 a les 22.27.29.png
Mleon escribió: 24 Nov 2020, 15:43 Una vez hecho esto debes "afinar" el control PID con los valores de las tres constantes Kp, Kd, Ki... empieza usando solo Kp y el resto a 0
He puesto como objetivo PID 0.2V y el Kp a 5 (Ki/Kd a 0) (no sé con qué valor empezar ni a qué atenerme para ajustar... y ahora mismo interpreta que tiene excedentes :hachazo :roll:
Captura de Pantalla 2020-11-24 a les 22.40.00.png
¿como puedo seguir? Una pequeña explicación sobre ki, kd y kp iría de maravilla... he leído la entrada "controlador PID" de la wikipedia pero me he quedado igual... :oops:

Re: PVControl+ en Sistema FV aislado estándar

Publicado: 26 Nov 2020, 11:43
por JJG
JJG escribió: 24 Nov 2020, 22:43
Mleon escribió: 24 Nov 2020, 15:43 Una vez hecho esto debes "afinar" el control PID con los valores de las tres constantes Kp, Kd, Ki... empieza usando solo Kp y el resto a 0
He puesto como objetivo PID 0.2V y el Kp a 5 (Ki/Kd a 0) (no sé con qué valor empezar ni a qué atenerme para ajustar... y ahora mismo interpreta que tiene excedentes :hachazo :roll:
Captura de Pantalla 2020-11-24 a les 22.40.00.png

¿como puedo seguir? Una pequeña explicación sobre ki, kd y kp iría de maravilla... he leído la entrada "controlador PID" de la wikipedia pero me he quedado igual... :oops:
Alguna alma me puede echar una mano con eso de kp kd y ki... explicación y como ir ajustando... gracias...

Re: PVControl+ en Sistema FV aislado estándar

Publicado: 26 Nov 2020, 13:02
por Mleon
JJG escribió: 26 Nov 2020, 11:43
Alguna alma me puede echar una mano con eso de kp kd y ki... explicación y como ir ajustando... gracias...
La optimización de las constantes de un proceso PID dependen de como reaccione cada sistema...en tu caso de la capacidad de la batería a que régimen la estas cargando, lo rápido o lento que sea tu regulador, etc

Pensemos en un coche que debe seguir una linea y se actúa sobre el volante con un control PID

Como te he comentado empieza ajustando la Kp que se basa solo en el error entre la posición del vehículo y la linea a seguir

Medimos la distancia entre el coche y la linea que debe seguir y actuamos en consecuencia en el volante.

Si se pone una Kp muy alta, el coche ira haciendo "S" pronunciadas de un lado a otro de la linea

Si se pone una Kp muy baja el coche tardara mucho en girar el volante para volver hacia la linea

Luego pon pon ejemplo una Kp=10.. y mira como reacciona cuando hay excedentes... si tarda mucho en reaccionar es que es baja, pero si sobrereacciona metiendo muchos excedentes de golpe y cortándolos de golpe es que estas haciendo "S"

Re: PVControl+ en Sistema FV aislado estándar

Publicado: 26 Nov 2020, 13:21
por Homo_non_sapiens
JJG escribió: 26 Nov 2020, 11:43Alguna alma me puede echar una mano con eso de kp kd y ki... explicación y como ir ajustando...
No sé si te sirve de algo lo que voy a poner, porque dices ya haber leído lo que pone Wikipedia - pero a mí me parece bastante bien explicado ...

Repito lo más importante de Wikipedia:
El algoritmo del control PID (control Proporcional, Integral, Derivativo) consta de tres parámetros distintos: el proporcional (kp), el integral (ki), y el derivativo (kd). El valor proporcional depende del error actual, el integral depende de los errores pasados y el derivativo es una predicción de los errores futuros. La suma de estas tres acciones es usada para ajustar el proceso por medio de un elemento de control, como la posición de una válvula de control o la potencia suministrada a un calentador.

Evidentemente, como muy bien expone Mleon, el parámetro más importante es kp, que actúa sobre el error actual, el que ocurre en cada momento. Juega un poco con kp, dejando ki y kd en cero, y ya deberías conseguir un reconocimiento aceptable de los excedentes

Re: PVControl+ en Sistema FV aislado estándar

Publicado: 26 Nov 2020, 14:45
por Mleon
Si seguimos con el ejemplo del coche siguiendo una linea y vemos el Kd

Ya sabemos que si estamos separados de la linea por ejemplo 1 metro, el termino de Kp va a actuar siempre igual

Sin embargo parece evidente que no es lo mismo si nos estamos alejando o nos estamos acercando a la linea

Si nos estamos alejando hay que ayudar a girar mas el coche pero si ya nos estamos acercando hay que ir recuperando el volante

Pues ese concepto es el que controla Kd dado que mira como estábamos de separados de la linea en la medición de antes y en la de ahora..... por ejemplo:

A) Si antes estábamos a 1 mt y ahora estamos a 0,5 mts es que nos estamos acercando
B) Si antes estábamos a 1 mt y ahora estamos a 1,5 mts es que nos estamos alejando

En el caso A) hay que ir compensando un poco el volante y en el caso B) habrá que añadir mas giro a lo marcado por Kp

Re: PVControl+ en Sistema FV aislado estándar

Publicado: 26 Nov 2020, 14:58
por Vitriolo
A mi entender, después de la Kp sería más interesante ajustar la Ki, pues es la que acumula el error pasado ( una integral, en definitiva ) y hace que el error estacionario -> 0.

Re: PVControl+ en Sistema FV aislado estándar

Publicado: 26 Nov 2020, 15:09
por Mleon
Vitriolo escribió: 26 Nov 2020, 14:58 A mi entender, después de la Kp sería más interesante ajustar la Ki, pues es la que acumula el error pasado ( una integral, en definitiva ) y hace que el error estacionario -> 0.
Yo diría que para este caso de control de excedentes no

Lo que creo interesa es que si de pronto hay una variación rápida importante tanto en generación (paso de nube, ..) como en consumo (se enchufa el horno,...) el sistema de gestión de excedentes reaccione rápido y por tanto le daría mas peso al la reacción rápida que a la reacción a "largo plazo"

Re: PVControl+ en Sistema FV aislado estándar

Publicado: 26 Nov 2020, 15:15
por JJG
Para un profano como yo es dificil de entenderlo, curiosamente con lo que me habéis explicado se entiende algo mejor la wikipedia y siguiendo este vídeo más aún
https://www.youtube.com/watch?v=HRJiow_k-V0

Si yo pongo como objetivo objetivo PID como Aux1=0,2V entiendo que el PVControl va a intentar que la señal del FM80 (supongamos que marca Aux1=9V) se vaya a 0,2 metiendo excedentes? Es decir en cada bucle temporal del código fv.py, va ir incrementando % de los relés según el salto definido hasta que consiga dicho voltaje? Y cuando lo haya conseguido, va a ir disminuyendo las cargas y así lo va hacer hasta que la señal del Aux1 no supere los 0.2V?

A ver si pillo un relé SSR para poder ir probando ¿sirve éste?

Re: PVControl+ en Sistema FV aislado estándar

Publicado: 26 Nov 2020, 19:31
por Vitriolo
Mleon escribió: 26 Nov 2020, 15:09
Vitriolo escribió: 26 Nov 2020, 14:58 A mi entender, después de la Kp sería más interesante ajustar la Ki, pues es la que acumula el error pasado ( una integral, en definitiva ) y hace que el error estacionario -> 0.
Yo diría que para este caso de control de excedentes no

Lo que creo interesa es que si de pronto hay una variación rápida importante tanto en generación (paso de nube, ..) como en consumo (se enchufa el horno,...) el sistema de gestión de excedentes reaccione rápido y por tanto le daría mas peso al la reacción rápida que a la reacción a "largo plazo"
Entiendo lo que argumentas, y tiene su sentido, pero esto dependerá de las condiciones ambientales ( léase nubes ), los dias con nubes interesa que tenga la Kd, pero los dias sin nubes, cielo despejado, creo que interesa también o más tener la Ki pues si no la tienes nunca alcanzaras la consigna, es decir, gestionar el 100% de los excedentes, y si sólo te quedas en el 80 ó 90% pues al cabo del día has perdido una parte importante.

Por cierto, en el tema de poner una R-C en la entrada, creo que se podría implementar un filtro digital para 'ahorrarse' esto. Creo que sería factible al menos teóricamente.

Re: PVControl+ en Sistema FV aislado estándar

Publicado: 27 Nov 2020, 00:12
por Mleon
Vitriolo escribió: 26 Nov 2020, 19:31
Entiendo lo que argumentas, y tiene su sentido, pero esto dependerá de las condiciones ambientales ( léase nubes ), los dias con nubes interesa que tenga la Kd, pero los dias sin nubes, cielo despejado, creo que interesa también o más tener la Ki pues si no la tienes nunca alcanzaras la consigna, es decir, gestionar el 100% de los excedentes, y si sólo te quedas en el 80 ó 90% pues al cabo del día has perdido una parte importante.

Por cierto, en el tema de poner una R-C en la entrada, creo que se podría implementar un filtro digital para 'ahorrarse' esto. Creo que sería factible al menos teóricamente.
Si la Vbat se queda un poco desplazada del punto de consigna (lease algun o algunos mV del valor consignado de Vflot/Vabs) tampoco parece grave, no obstante estoy de acuerdo en verlo en ejemplos reales a ver que pasa

Con respecto a lo del filtro RC no me plantee lo de un filtro digital, no se cual seria la frecuencia de muestreo suponiendo un PWM de 10-15 Khz, pero me parece como mas facil poner un simple condensador

Re: PVControl+ en Sistema FV aislado estándar

Publicado: 28 Nov 2020, 02:20
por Mleon
Actualización 27/Nov/20 PVControl+

Link a versión imagen PVControl+ del 27/Nov/2020

viewtopic.php?f=20&t=445&start=20#p13824

Re: PVControl+ en Sistema FV aislado estándar

Publicado: 28 Nov 2020, 10:27
por Miquel1975
Mleon escribió: 28 Nov 2020, 02:20 Actualización 27/Nov/20 PVControl+

Link a versión imagen PVControl+ del 27/Nov/2020

viewtopic.php?f=20&t=445&start=20#p13824
Mleon , esta actualización solo es para inversores aislados verdad?

Re: PVControl+ en Sistema FV aislado estándar

Publicado: 28 Nov 2020, 13:39
por Mleon
Miquel1975 escribió: 28 Nov 2020, 10:27
Mleon escribió: 28 Nov 2020, 02:20 Actualización 27/Nov/20 PVControl+

Link a versión imagen PVControl+ del 27/Nov/2020

viewtopic.php?f=20&t=445&start=20#p13824
Mleon , esta actualización solo es para inversores aislados verdad?
Es para instalaciones con Batería dado que se monitorizan/controlan parámetros como Vbat/Ibat, SOC etc

A ver si en la siguiente imagen ya unificamos con la posibilidad de usar sistemas sin batería, no es difícil pero hay que cambiar algunas cosas para que las variables signifiquen otra cosas al igual que como se muestra en la la Web

Re: PVControl+ en Sistema FV aislado estándar

Publicado: 01 Dic 2020, 10:20
por Miquel1975
Mleon escribió: 28 Nov 2020, 13:39
Miquel1975 escribió: 28 Nov 2020, 10:27
Mleon escribió: 28 Nov 2020, 02:20 Actualización 27/Nov/20 PVControl+

Link a versión imagen PVControl+ del 27/Nov/2020

viewtopic.php?f=20&t=445&start=20#p13824
Mleon , esta actualización solo es para inversores aislados verdad?
Es para instalaciones con Batería dado que se monitorizan/controlan parámetros como Vbat/Ibat, SOC etc

A ver si en la siguiente imagen ya unificamos con la posibilidad de usar sistemas sin batería, no es difícil pero hay que cambiar algunas cosas para que las variables signifiquen otra cosas al igual que como se muestra en la la Web
Añado lo siguiente si se puede: sistemas sin bateria conectados a red / y con batería conectados a red. Pero lo de con baterías conectado a red habrá que hacerlo cuando alguno la tenga.

Re: PVControl+ en Sistema FV aislado estándar

Publicado: 31 Dic 2020, 19:37
por Mleon
Estoy probando el uso del Mux que puse en la PCB para capturar el voltaje de cada celda... tras muchos meses ya era hora de tirar los cablecillos a cada celda

Los primeros resultados que veo son suficientemente gráficos... aquí se ve que la celda C10 esta poco menos cargada y por eso mientras el resto se satura y sube el valor a unos 2,5V.... al bajar la Ibat (por llegar Vbat al valor de absorción) la celda C10 baja algo su valor
Vceldas2.JPG

Aquí la PCB versión 1.5 con:
- Control de 32 relés en local (parte de arriba).... por ahora uso unos 12 relés
- Captura valores FV "normales" Vbat, Ibat, Iplaca, Vplaca... (parte derecha)
- Captura de 12 celdas y sensores de temperatura (parte de abajo)
- 1 pantallita OLED
- Cable hacia la RPI (parte izquierda)

En la Rpi ademas tengo la salida a un monitor VGA y la entrada USB de un Hibrido
photo_2020-12-29_15-44-14.jpg