Resultados 251 al 275 de 453
- 04/03/2016, 10:26 #251
Re: Carlotrón versión 3.0. Derivar excedentes con Arduino.
No es que sea descarga de batería cuando baja la tensión un pelín, simplemente la corriente de carga baja tanto como para no poder mantener la tensión al mismo nivel.
A lo mejor tienes razón y con las etapas mínimas de 10 W (por ejemplo), no vas a tener esas variaciones y funciona bien; el margen más que nada hará falta para cambios bruscos de potencia (por ejemplo cuando se pone un resistencia controlada por un relé de estado sólido).Biblioteca básica de energía solar
Descubre la fotovoltaica jugando y aprende de forma intuitiva con nuestros esquemas interactivos: Esquemas interactivos (requiere flash)
-
- 04/03/2016, 10:33 #252el_cobarde Invitado
- 04/03/2016, 11:23 #253Gabriel 2015 Invitado
Re: Derivar excedentes con Arduino en base a la potencia FV
Yo opino que el bucle que propones no funcionaría porque faltan "tiempos muertos". El micro del Arduino creo que es de 1 MHz, con lo que propones, nada más comenzar la señal PWM se iría al máximo, porque el bucle lo realiza en el orden de microsegundos, por lo que podría hacer el bucle unas 1.000 veces antes de que la tensión de los paneles y la intensidad hubiesen reaccionado. Tienes que tener en cuenta que el híbrido tiene un condensador de entrada, que hace que la respuesta de los paneles no sea inmediata.
Conclusión, lo primero que tienes que ver es el tiempo de resupuesta de los paneles ante un aumento de carga en el consumo AC. En función de eso, establecer las pausas adecuadas en el bucle.
La entrada del micro de tu ordenador es un osciloscopio "majete", al que con sofware gratuito que hay por Google, se le pueden poner un par de canales.
- 04/03/2016, 11:37 #254el_cobarde Invitado
Re: Derivar excedentes con Arduino en base a la potencia FV
Muy de acuerdo, Gabriel 2015. Hay que darle tiempo a los paneles para poder adaptar su producción a la señal PWM. Me parece que esto tendrá fácil arreglo: Un poco de prueba y error - o medir con el oscilloscopio que dices ...
La pregunta que te hago a tí en especial, ya que tú has iniciado la idea de controlar la derivación de excedentes en base a los incrementos de I y U: Qué te parece este control más sencillo, simplemente en base a la potencia FV ?
Tienes razón! Lo sabía, pero no había pensado en ello. Voy a hacerte caso, gracias.
- 04/03/2016, 12:02 #255Gabriel 2015 Invitado
Re: Derivar excedentes con Arduino en base a la potencia FV
Primero tenemos que tener datos. El sistema tiene que funcionar de tal manera, que cuando envía excedentes, y pese a estar los paneles cerca del MPP, ese excedente sea un hueco para otros consumos de AC, es decir que aproveche excedentes, funcionando el sistema como si no se estuvieran aprovechando.
En cuanto a la forma de regulación, me parece fundamental que los paneles no se vayan a la izquierda del punto MPP de la típica gráfica VI de paneles. Para ello, la única relación que se me ocurre, como ya he dicho, es la tangente VI, que cambia bruscamente cuando se produce aproximación al punto MPP.
- 04/03/2016, 12:23 #256el_cobarde Invitado
Re: Derivar excedentes con Arduino en base a la potencia FV
Correcto. En cuanto pueda, comunicaré resultados. Pero como ya he dicho, tardaré un tiempo ...
Sin duda. Esto es lo que intento.
Esto es la condición esencial: Que el Arduino no trabaje a la izquierda del punto MPP de la típica gráfica V-I de paneles.
Para evitar esto, un índice muy acertado es la tangente a la curva V-I, como bien dices.
Me parece que la potencia FV, o sea, el producto I*U, sirve igual:
- Si la potencia FV aumenta con el incremento de la señal PWM, estamos a la derecha del MPP en la curva V-I
- Si la potencia FV no aumenta con el incremento de la señal PWM, estamos o a la izquierda del MPP o en el mismo MPP
Insisto un poco, porque el control en base a V*I me parece más fácil que en base a la tangente (incrementos de V e I).
- 04/03/2016, 12:56 #257Gabriel 2015 Invitado
Re: Carlotrón versión 3.0. Derivar excedentes con Arduino.
Lo que no me convence de lo que planteas, es que si el FV no aumenta es a costa de que salga potencia de las baterías. Prefiero que el sistema, aunque sea de forma asintótica, tienda al punto MPP sin sobrepasarlo.
- 04/03/2016, 13:12 #258el_cobarde Invitado
Re: Carlotrón versión 3.0. Derivar excedentes con Arduino.
Tienes razón! Si se puede identificar el MPP sin "olfatear" a su izquierda, mejor.
Pensaré en un algoritmo mejor, en base a la tangente a la curva V-I de los paneles / del campo FV.
Ahora he escrito algo que me hace dudar: "... la tangente ... del campo FV"
Si el campo FV esta compuesto por paneles con características diferentes o por grupos con inclinación u orientación diferente, no existirá una tangente bien definida y no será muy exacto el control. Igual trabajas a la izquierda del MPP de algunos paneles?
En este caso, podría ser hasta mejor el control en base a potencia V*I del campo FV?
- - - - - - - - - - - - -
Otra cosa: Me parece que "husmear" con 10W (por ejemplo) a la izquierda del MPP, significa un ciclaje de batería despreciable. Jamás se notará en la vida útil de la batería.
Posiblemente esta energía (mucho menos de 1Ws) ni salga de la batería, si no de un condensador del inversor ?
- 04/03/2016, 14:00 #259Gabriel 2015 Invitado
Re: Carlotrón versión 3.0. Derivar excedentes con Arduino.
Es posible, pero si sale energía del condensador, en cierto modo, ya no estaría funcionando como si no hubiese excedentes. Creo que los reguladores, lo mismo digo una barbaridad, calculan el punto MPP en base a la descarga del condensador de entrada y los ciclos de trabajo de los IGBT´s, por lo que no se si es buena idea lo que propones. Pero así sin más datos, es un poco elucubrar.
- 04/03/2016, 14:17 #260el_cobarde Invitado
Re: Carlotrón versión 3.0. Derivar excedentes con Arduino.
- 04/03/2016, 16:03 #261Forero
- Fecha de ingreso
- nov 2014
- Ubicación
- cartagena
- Mensajes
- 298
Re: Carlotrón versión 3.0. Derivar excedentes con Arduino.
es posible trasmitir la señal de voltaje de batería de forma inalámbrica? sin necesidad de cablear...
algún aparato tipo PLC, o wifi, que me permita activar la bobina de un contacto en otro sitio de la casa sin necesidad de cablear los datos mandárselos de forma inalámbrica.
conocéis algo?actualmente 1080watios.
4 placas de 270w en series de dos. hibrido mppt 24v. 6 baterías de 12v en serie paralelo.
- 04/03/2016, 16:16 #262el_cobarde Invitado
Re: Carlotrón versión 3.0. Derivar excedentes con Arduino.
Pues mira, ahora que voy conociendo al Arduino, te puedo decir que con un Arduino y dos escudos WiFi esp8266 o nodemcu sería posible. Pero no sé si valdría la pena instalar tanta cosa para activar una bobina ...
Pero no veo que tu pregunta tenga que ver con el Carlotrón - no la hagas en este hilo, por favor.
- 04/03/2016, 16:44 #263Invitado Invitado
Re: Carlotrón versión 3.0. Derivar excedentes con Arduino.
Os doy mi opinión acerca del tema este:
Los condensadores que tienen en la entrada, tanto del regulador como del inversor, son exclusivamente para almacenar suficiente carga para poderla dar en la siguiente conmutación del regulador o del inversor, pensar que estamos hablando de sistemas conmutados que funcionan probablemente a varias decenas de Khz, luego esperar que 'aguanten' la tensión en caso de un aumento de consumo en AC, me parece fuera de lógica, estamos hablando de magnitudes de tiempos muy distintas en uno y otro caso, como por ejemplo del orden de algunos uS frente a 1/10 de segundo.
Respecto a estos temas anteriores, velocidad de adquisición de datos de U y de I del campo FV, y de la velocidad de respuesta, habría que respetar algunos parámetros que voy a intentar explicar a continuación:
1- Adquisición de datos: Es conveniente hacer una media ( hay varios tipos o varios algoritmos para hacerlas ) pues sino es normal que el conversor ADC del Arduino capte 'algo' o bastante ruido eléctrico, en función del cableado, filtrado y también como consecuencia de la conmutación propia del regulador ( este puede introducir perturbaciones en forma de rizado a su frecuencia de conmutación ).
2.- El algoritmo que vais a aplicar, hay que aplicarlo con un 'timing' fijo, y no por paso de bucle de programación, y cómo a lo mejor habréis adivinado, tendrá que ser a un ritmo ( diría de al menos varias decenas de tiempo) mayor que la adquisición de datos del punto 1. ¿ Cómo se hace esto ? Programando una base de tiempos, por ejemplo con una interrupción que active un flag ( señal, bit, decidle como queráis ) cada X tiempo fijo, y el bucle principal tiene que ir consultando a cada pasada este flag, y si esta activado, saltar a la función que efectúa la regulación ( por ejemplo, el control PID ) y antes que nada, debe borrar el flag para que la interrupción lo pueda volver a activar, y también para que el bucle principal no reitere la llamada a la función de regulación reiteradamente.
Saludos
- 04/03/2016, 17:56 #264el_cobarde Invitado
Re: Carlotrón versión 3.0. Derivar excedentes con Arduino.
Perfectamente explicado, oxid. O sea, es absurdo pensar que la energía para un incremento en PWM, husmeando el Arduino a la izquierda del MPP, venga de algún condensador. Es seguro que viene de la batería.
Entonces, habría que discutir si estas descargas tan mínimas influyen en la tensión de batería y/o en la función del regulador. Al ser así, habría que evitar que el Arduino husmee en la "zona prohibida" de la curva V-I.
Sí, esto pensaba hacer. Por ejemplo, medir 20 veces, descartar los 5 valores más altos y los 5 más bajos y calcular la media aritmética de los 10 valores restantes. O simplemente tomar la mediana de 10 medidas (ordenar los valores obtenidos en orden creciente y elegir el valor del medio.
Pero esto son cosas que me "invento" yo, sin haber hecho nunca nada parecido. Posiblemente existen algoritmos prefabricados para obtener un valor fiable en estas condiciones?
Esto también lo doy por entendido. Lo que tengo que aprender, es como hacerlo ...
- 04/03/2016, 19:02 #265Gabriel 2015 Invitado
Re: Carlotrón versión 3.0. Derivar excedentes con Arduino.
Arduino tiene la función delay, que suspende el bucle por el tiempo programado.
- - - - - - - - - - - - - - - - - - -
Por eso es tan importante tomar datos
- - - - - - - - - - - - - - - - - - -
Datos empíricos claro.
- 04/03/2016, 19:16 #266Invitado Invitado
Re: Carlotrón versión 3.0. Derivar excedentes con Arduino.
Un delay en el bucle, puede ser contraproducente si el bucle tienes varias tareas a gestionar, unas pasadas irá corto de tiempo y a otras le sobrará. Si tenemos que consultar algo con regularidad lo más robusto es poner esa base de tiempos. El delay te hace perder tiempo precioso.
Y si tenemos procesos que después de una acción, requiere otra pero al cabo de x mseg, lo que se hace es una máquina de estados que se vayan ejecutando cada x mseg. ( por ejemplo, escribir a la EEPROM)
Un programa en que su ejecución dependa de uno o varios delay es un programa pobre y mal resuelto.
Para tomar datos se puede encargar la interrupción correspondiente, seguro que la tiene, y al final de llenar los registros de varias conversiones ( depende del tipo de microcontrolador ) se activa un flag y desde el bucle principal se llena para calcular otra media.
- 04/03/2016, 19:23 #267Gabriel 2015 Invitado
Re: Carlotrón versión 3.0. Derivar excedentes con Arduino.
Pero si son "cuatro" operaciones...
- 04/03/2016, 19:29 #268Invitado Invitado
Re: Carlotrón versión 3.0. Derivar excedentes con Arduino.
Pueden ser 4 operaciones en C, pero hay llamadas a alguna librería, las operaciones matemáticas, productos, sumas, al compilarlo te aseguro que son mucho más de 4 operaciones, estás trabajando con un sistema muestreado y lo que interesa es realizar las operaciones de control con siempre la misma pauta, sino el mismo algoritmo ejecutado más rápidamente o más lentamente te aseguro que no se comportará igual...
Créeme, es la forma correcta de hacerlo bien. Pero cada uno es libre de hacerlo como quiera, faltaría más.
- 04/03/2016, 19:44 #269el_cobarde Invitado
Re: Carlotrón versión 3.0. Derivar excedentes con Arduino.
Ya veo que programar un micro (assembler) no es lo mismo que programar en un lenguaje como C o VisualBasic.
Pero pienso que será posible ... me gusta aprender cosas. De todas formas no se trata de hacer un programa perfecto, si no uno que cumpla y haga lo que se necesita.
Estoy seguro que cuando tenga el Arduino necesitaré los consejos de los que saben ...
- 04/03/2016, 19:47 #270Invitado Invitado
Re: Carlotrón versión 3.0. Derivar excedentes con Arduino.
- 04/03/2016, 20:07 #271Gabriel 2015 Invitado
Re: Carlotrón versión 3.0. Derivar excedentes con Arduino.
- 04/03/2016, 22:09 #272Forero
- Fecha de ingreso
- feb 2009
- Ubicación
- xxx
- Mensajes
- 1.732
Re: Carlotrón versión 3.0. Derivar excedentes con Arduino.
Lo de los tiempos es sencillo con las funciones de tiempo que tiene el arduino . Todo lo que sea parar el micro efectivamente no es buena solución
- 05/03/2016, 10:57 #273el_cobarde Invitado
Control en base a P=I*V o a la tangente a I-V ??
He estado pensando cual de las dos opciones para derivar excedentes conviene más:
- Opción 1: Algoritmo para Arduino en base a la potencia FV, P=I*V
- Opción 2: Algoritmo para Arduino en base a los incrementos de I y U: la tangente a la curva I-V
La opción 1 funciona, pero para saber si se aprovechan todos los excedentes, necesita pasarse un pelín, hasta que el consumo chupe un poquito de batería, con todas las desventajas que pueda tener esto.
La opción 2, en teoría, no necesita chupar de batería. Teóricamente puede acercarse asintóticamente al punto MPP, subiendo por la rampa derecha de la curva I-V, sin llegar nunca a alcanzarlo. Se podría aprovechar un 99% de los excedentes.
El problema con la opción 2: Funcionaría perfectamente con una sola placa, si la irradiación y el consumo fuesen constantes. En realidad, tanto la irradiación como el consumo cambiarán frecuentemente, con lo que el algoritmo, en búsqueda de la inclinación de tangente correcta, sí podría chupar de batería. Lo mismo pasaría, si el regulador decide buscar un MPP nuevo: Mientras rastrea, no habría curva I-V estable y el algoritmo estaría buscando - posiblemente en la "zona prohibida". Otro problema son paneles de diferente tipo o grupos FV con orientación diferente: Estos campos FV tampoco tienen una curva I-V bien definida.
Creo que, para no complicar demasiado el algoritmo, uno debería quedarse algo por debajo de la inclinación de tangente óptima, aprovechando sólo un 90% de los excedentes, más o menos.
En total, casi me parece más estable y más fiable el algoritmo de P=I*V: Siempre cuando vea que no basta la potencia FV, reducirá la señal PWM hasta que haya la potencia FV justa. En cambio, el algoritmo "tangente", se quedará sin saber hacer, cuando no haya curva I-V definida. Y temo que en la práctica la curva I-V no sea tan limpia como la pintan en las fichas técnicas.
Con las dos opciones se pueden aprovechar casi todos los excedentes, algo como un 99%.
Comparando las dos opciones, me parece que, aparte de ser más fiable la opción P=I*V, los dos algoritmos chuparán de batería, en ciertos momentos. Habrá que analizar bien, si esto realmente es tan "malo" como algunos dicen. En este momento no me lo parece: Una descarga tan mínima de batería (se trata de menos de 1Ws en cada paso, pocos Wh al día), no acortaría la vida útil de la batería ni impediría el funcionamiento correcto del regulador.
Conclusión: Me parece que el algoritmo P=I*V (opción 1) tiene ventajas: Es más fiable, más estable y más sencillo.
Qué pensáis vosotros? Os agradezco vuestra opinión.
- - - - - - - - - - - - - - - Edito (50 minutos más tarde) - - - - - - - - - - - - - -
Acabo de hacer una prueba, conectando un consumo fuerte (2kW), con la planta FV trabajando en su MPP. Estos 2kW los ha dado la batería, sin cambiar para nada el MPP de la planta FV. Es decir, el algoritmo "tangente" no se hubiese enterado! Debería reducir la señal PWM en 2kW, pero no lo haría !!
O no entiendo el algoritmo "tangente", o este algoritmo necesitaría más información, como por ejemplo la intensidad que sale de batería, para funcionar correctamente ...
- - - - - - - - - - - - - - - - - - -
De momento nos quedaremos sin saberlo. Lo averiguaré cuando esté programando el Arduino.
.Última edición por el_cobarde; 05/03/2016 a las 12:02 Razón: Resultados nuevos
- 05/03/2016, 13:45 #274Forero
- Fecha de ingreso
- ago 2010
- Ubicación
- alicante
- Mensajes
- 5.317
- Entradas de blog
- 2
Re: Carlotrón versión 3.0. Derivar excedentes con Arduino.
Con el Carlotrón 3.1+Outback no ocurre eso. El contador de absorción sigue contando, porque al ser tan rápida la reacción de éste (mucho más rápida, así como 100 veces más que el regulador), y tan pequeño el incremento/decremento de potencia (unos 10-30W), la tensión varía menos de lo que necesita el regulador para parar el contador.
Incluso, en los momentos en los que no es así, el regulador se queda "enganchado" en la etapa de absorción durante varios segundos, incluso aunque la tensión objetivo descienda mucho (varios voltios). Con esto último, no quiere decir que el contador siga en marcha, pero cuando la tensión se recupera y vuelve a la tensión objetivo, al seguir estando en la etapa absorción, el contador vuelve a funcionar sin lapso de tiempo. Y como el Carlotrón reacciona rápido, el tiempo que el contador pueda estar parado es muy pequeño (2, 3, o 5 seg....)
Resumiendo, que si la tensión varía muy poco (centésimas de voltio), el contador sigue. Si la variación es mayor (decenas/unidades), el contador se para, pero vuelve a marchar nada más se recupere la tensión.
Con respecto al no aprovechamiento del 100% de excedentes, cuando las variaciones de potencia son grandes (disminución instantánea de 500-1000-2000W), ahí sí que el Carlotrón es más lento en recuperarse (por otras razones). Pero es cuestión de segundos. Si hacemos un cálculo rápido, 50 veces al día x 10 segundos de retraso del carlotrón x una media de 1000W/3600 seg = 140Wh/día que se pueden perder de excedentes. Una miseria.
- - - - - - - - - - - - - - - - - - -
EL_COBARDE, sin pretender ser un aguafiestas, creo que el control de excedentes por variaciones U/I o por Potencia, nunca lo vas a conseguir si no tienes en cuenta la intensidad de baterías, de tal forma que, cuando I_baterías sea negativa-->disminución radical (o no tan radical) de la potencia derivada a excedentes. Y vuelta a empezar con el bucle/algoritmo desde cero, subiendo la potencia derivada poco a poco.
- 05/03/2016, 15:10 #275el_cobarde Invitado
Re: Carlotrón versión 3.0. Derivar excedentes con Arduino.
En esto estoy muy de acuerdo. De hecho, exactamente esto lo había escrito en mi post #248 ...
Efectivamente, había pensado en añadir este control de I(bat) en el bucle. Pero no hace falta!
El algoritmo que he puesto en mi post #246 ya es suficiente. Cuando de repente se conecta un consumo fuerte (o pasa una nube) y la batería tiene que suministrar (mucha) energía, el algoritmo se da cuenta de que hay menos excedentes y empieza a reducir la señal PWM hasta llegar a un nuevo equilibrio o hasta PWM=0. Esto no lo hace instantáneamente, sino en pasos del valor "Incremento"; pero como un ciclo del bucle dura poco tiempo, en pocos segundos (o menos) se llega al nuevo equilibrio (o a PWM=0). Si queremos que sea más rápido, basta aumentar "los pasas atrás" de actualmente 3*Incremento a 5*Incremento o más {comentario}
Tener en cuenta que, cuando el regulador busca un nuevo MPP, tambien deja toda la carga a la batería, para unos segundos. Y nadie dice, que es un algoritmo poco eficiente o que hay efectos secundarios graves.
Conclusión: Con el algoritmo "potencia FV" de mi post #246 no hace falta medir/conocer la intensidad de batería. Es suficiente conocer U e I del campo FV.
{comentario} Miremos un poco los tiempos (no tengo idea de los tiempos reales, es para hacer números):
Ya habíamos dicho, que el Arduino es rápido y lo que define la duración de un ciclo del bucle es el tiempo que tarda el campo FV en reaccionar ante un cambio de la carga. Pongamos que este tiempo, o sea el tiempo que dura un ciclo del bucle, sean 10ms (ni idea si esto está cerca de la realidad) y que el incremento/decremento de carga en cada ciclo sean 20W. Entonces, para reducir la carga en 2kW, se necesitarían 100 ciclos, o sea, 1 segundo. El consumo estaría chupando de batería sólo durante un segundo, y además con intensidad decreciente. No me parece nada alarmante.
.Última edición por el_cobarde; 05/03/2016 a las 20:50