Resultados 151 al 175 de 315
- 29/06/2016, 18:20 #151el_cobarde Invitado
Re: Derivar excedentes con cualquier regulador MPPT, usando Arduino y WiFi
El WiFi es para transmitir la señal PWM desde el regulador (en 2a planta) a los módulos de potencia junto a las resistencias para excedentes, que están en planta baja / en el jardín. Esta señal PWM controla la potencia transferida a la resistencia; es decir, hace el papel del potenciómetro, en caso de control manual. Según la señal PWM, el módulo de potencia regula de cero a máx, en base a corte de onda de los 220Vac.
La señal PWM se podría transmitir fácilmente por cable, pero ya no me caben cables entre arriba y abajo. Por esto he decidido emplear WiFi, usando mi red doméstica. Con las nuevas placas WeMos (como Arduino con WiFi) parece ser fácil.
En comparación con RC, el WiFi tiene la ventaja de poder guardar todos los datos en un servidor, al que se tiene acceso por Internet desde cualquier ordenador conectado a la www.
-
- 29/06/2016, 18:31 #152
Re: Derivar excedentes con cualquier regulador MPPT, usando Arduino y WiFi
Caray..... como se ha animado esto.... pérdon me siento un poco culpable
Insisto....yo no he pensado excesivamente en el algoritmo, pero si hay varias consideraciones que comparto
- Derivar tambien en la fase Absorcion va a ser mas complicado de "programar" que si solo se deriva en la fase flotación
- Salvo que la temperatura sea muy estable, o el Regulador que se usa no tenga esa capacidad....SI es necesario controlar la temperatura para saber la Vabs/Vflot objetivo
- Para saber la temperatura con precisión y no tener que usar un puerto analógico sino uno digital recomiendo usar el DS18B20 como lo hago yo en mi brico
- Si solo se quiere tener como parámetro la Vbat (o la Ubat para "el_cobarde"....una curiosidad ..¿como pones los números complejos con i o con j ?) si hay que estudiar un poco mas en detalle el margen de tolerancia del regulador para saber cuando considera que se esta en Absorción o no
- Si se tienen mas parametros (Ibat, Vplacas,...) parece mas facil/robusto el algoritmo que indentifique si se esta o no en Absorción
En fin....se han abierto bastantes retos.......una pena de no estar jubilado
- 29/06/2016, 18:55 #153el_cobarde Invitado
Re: Derivar excedentes con cualquier regulador MPPT, usando Arduino y WiFi
Nada de sentirte "culpable", hombre! Qué lo mejor que puede pasarle a un tema es animarse!
Yo pensaba que bastarían las condiciones {IF ABS(Ubat - Uabs) < DeltaU AND IF Ibat < Imin}, con DeltaU e Imin a definir,
para identificar con certeza la fase de absorción. Me equivoco?
Una recomendación muy bienvenida.
Lo aprendí asi hace muchos años y me parece lógico: El parámetro tensión tiene como unidad los voltios. La abreviación del voltio es "V". Podría confundir mucho, si para el parámetro se emplearía la misma abreviación.
Por eso: "V" para los voltios y "U" para la tensión ...
Los números complejos con "i". Creo que la "j" solo la emplean algunos ingenieros - tengo razón?
(pido disculpas - no soy ingeniero; he estudiado física ... )
Yo lo estoy !! La jubilación: Uno del los mejores inventos de la humanidad ...
- 29/06/2016, 20:24 #154
Re: Derivar excedentes con cualquier regulador MPPT, usando Arduino y WiFi
Lo prometido es deuda...
Justo por debajo del punto de la marca (13,4v) el KID deja de estar en Flotación.
http://asako.sytes.net
El botón actualizar no funciona. Estoy en ello.
- 30/06/2016, 00:29 #155Gabriel 2015 Invitado
Re: Derivar excedentes con cualquier regulador MPPT, usando Arduino y WiFi
Sí, creo que es más fácil controlar por el lado de las placas, puesto que sólo sería necesario controlar la tensión de las mismas y la temperatura.
Por ejemplo, si tienes series de 3 placas de 72 células, en Verano, más o menos la tensión Vmp será de unos 82 V. Si la tensión es superior, se pueden derivar excedentes y cuando la tensión se aproxime a esos 82 V, pues no. La Vmp se puede estimar con mucha precisión con la temperatura de las células.
Controlar por el lado de la batería y detectar cuando está en bulk o en absorción, me parece casi imposible utilizando una tensión objetivo, dado que la precisión de la medida tiene que ser del orden de centésimas de voltio.
Por otra parte, con la tensión de placas, puedes detectar al instante el paso de una nube y anular los excedentes; desde la batería me parece también imposible.
- 30/06/2016, 02:01 #156
Re: Derivar excedentes con cualquier regulador MPPT, usando Arduino y WiFi
Es otra aproximación interesante......
Me surgen algunas dudas....como por ejm que pasa cuando el regulador re-arranca para buscar el MPPT o si hay
otras situaciones a considerar dado que usamos un parametro de control que no es directo...me explico
Formalmente se puede derivar cuando la bateria tiene lo que necesita y por tanto el parametro primario es saber si la bateria tiene lo que necesita
Si la relacion Vplacas con respecto a este parametro primario es SIEMPRE como comentas es lo que hay que asegurar para tener un algoritmo robusto
Por tanto, por lo menos hay que pensar en toda la casuistica (arranque, nubes, sombra parcial,....) para asegurar esta relacion
- 30/06/2016, 14:32 #157el_cobarde Invitado
Re: Derivar excedentes con cualquier regulador MPPT, usando Arduino y WiFi
Efectivamente tengo strings de 3 placas de 72 células seriadas. Pero su Ump (o mejor dicho: su tensión de trabajo) está más cerca de 100V que de 82V (a 25C, la Ump de cada placa es de unos 36V).
Pero lo más importante es, que la tensión a la que trabajan los strings no es tan estable como dices. Dependiendo de la situación climática (no solo de la temperatura) varía entre 90V y 110V, más o menos. Por ejemplo, si hay neblilla que hace la luz un poco más difusa, son más bien 110V - y puede haber muchos excedentes. Por lo menos, esto es lo que me indican mis dos reguladores MPPT.
En este momento, mis conclusiones son las siguientes:
- Intentar derivar excedentes solo en base a una tensión, sea Ufv o Ubat, lo veo entre difícil e imposible
- El concepto P=I*U me parece robusto y rápido, con él espero poder controlar los excedentes sin apenas molestar al regulador
- El concepto P=I*U funciona igual de bien en el lado FV como en el lado "batería" del regulador
- Estorbos como el paso de nube, la subida repente de consumo etc. deberían ser perfectamente controlables
- En el lado de batería tengo la ventaja de adicionalmente poder identificar los estados de absorción y flotación
- Medir la temperatura e integrarla en el algoritmo no sería problema, si fuera necesario
Creo que si el regulador sale por un momento de la fase de abs/flot, tampoco pasa nada - también lo hace cuando el regulador busca un MPP nuevo. Además, el algoritmo P=I*U no exige que el regulador esté en abs o en flot, simplemente comprueba si el campo FV es capaz de generar más intensidad. Identificar los estados de abs/flot solo es importante, para evitar que el algoritmo derive potencia, robándola a la batería. Para evitar esto, tendré que programar algunas condiciones más. Por ejemplo, que el Arduino nunca intente derivar, cuando la Ibat que me dice el shunt del BMS es negativa (descarga).
- - - - - - - - - - - - - - - - - - -
De acuerdo. Pero si el campo FV es lo que da a la batería lo que ésta necesita, los parámetros FV son -por lo menos- igual de directos que los parámetros obtenidos en el lado batería del regulador
Como acabo de comentar, Ufv es bastante más variable de lo que Gabriel 2015 comenta. Creo que el algoritmo más robusto se consigue con P=I*U, sea en el lado FV o en el de batería.
Eso estamos haciendo y me estáis ayudando un montón ...
- 01/07/2016, 00:21 #158Gabriel 2015 Invitado
Re: Derivar excedentes con cualquier regulador MPPT, usando Arduino y WiFi
Por supuesto que la tensión en placas es muy variable. Depende, principalmente, de la temperatura ambiente, de la irradiación y de la carga conectada.
Lo que quiero decir es que se puede estimar con bastante precisión la tensión MP de las placas para una irradiación y temperatura ambiente dadas.
En primer lugar, la temperatura de las células, con una precisión aceptable, es TC= TA+ G (NOTC/800), donde G es la irradiación y NOTC es un dato que facilita el fabricante de las placas, y en ausencia de dicho dato se puede tomar como 45º.
Una vez que se tiene la temperatura de la célula se puede estimar la potencia máxima que darían las placas, a partir de una parámetro que da el fabricante y que relaciona la disminución de potencia por aumento de temperatura.
Con la irradiación se puede determinar la Isc y con esta la Imp con una precisión también muy aceptable.
Con lo anterior ya tenemos Vmp como cociente de Pmp e Imp.
Puede parecer complejo, pero se programa en un rato.
Por cierto, he estado haciendo pruebas estos días con un pequeño panel y Arduino y el temido efecto nube es muy predecible, no se produce de una forma tan brusca como yo pensaba.
- 01/07/2016, 09:30 #159el_cobarde Invitado
Re: Derivar excedentes con cualquier regulador MPPT, usando Arduino y WiFi
Ahora te entiendo, Gabriel! Tu solución parte de un punto de vista teórico; mientras la mía parte de un punto de vista práctico.
Dices que podemos saber la potencia máxima que podrían generar las placas en cada momento, haciendo unos cálculos no muy complicados. Además sabemos la potencia que realmente generan las placas en cada momento. La diferencia son excedentes que se pueden derivar. Una lógica muy directa y convincente.
Yo simplemente les pido a las placas generar un poco más de potencia (un escalón de incremento PWM), para derivar este poco de excedentes. Si son capaces de dármelo, sin chupar de batería, les pido otro escalón. Si veo que las placas se niegan a incrementar la producción (porque el regulador las bloquea) o que aparece la más mínima intensidad de descarga de batería, decremento la derivación en pasos de dos escalones. Me parece una lógica robusta, universal y eficaz.
Confieso que me fío más de la solución práctica que de la teórica. Soy así ...
Supongo que con "predecible" quieres decir, que el efecto nube es reconocible ya cuando empieza, y uno puede prepararse para evitar problemas cuando vuelva a salir el sol. Esto está muy bien.
Pero creo que no es necesario. El "algoritmo práctico" compensará rápidamente el efecto nube (y otros efectos parecidos). Puede que para pocos momentos haya una descarga de batería, pero esto no me asusta. También la hay, cada vez que el regulador busca un nuevo MPP.
- 01/07/2016, 20:56 #160Forero
- Fecha de ingreso
- feb 2009
- Ubicación
- xxx
- Mensajes
- 1.732
Re: Derivar excedentes con cualquier regulador MPPT, usando Arduino y WiFi
Tanto cuidar las baterías moriran de viejas en vez de morir por trabajar.
Desde que he puesto las baterías, el S.I. esta marcando 1 ciclo cada semana. Si la batería hace 1500 ciclos, ¿ Duraría 28 años ?. Esta claro que no, y eso tomando 1500 ciclos, que se supone que si solo esta bajando a un soc de 70%, teoricamente debiera dar mas ciclos.
Yo creo que hay que buscar la mejor forma de usar los excedentes y no mirar tantísimo si sacas algo de batería.
- 02/07/2016, 01:23 #161el_cobarde Invitado
- 02/07/2016, 11:38 #162el_cobarde Invitado
Re: Derivar excedentes con cualquier regulador MPPT, usando Arduino y WiFi
He intentado imaginarme el escenario que pintas, Hlebtomane, y no consigo entender como se produciría.
Veamos. Creo que un regulador MPPT "normal y corriente" funciona de la siguiente manera:
El regulador tiene una tensión de absorcion configurada, digamos que sean los 28.81V que dices.
Por la mañana, el regulador empieza en fase bulk a una tensión <28.81V, digamos a 26.0V, porque la batería está parcialmente descargada. Mientras permanece en fase bulk, toda la producción FV va a batería (pongamos que no hay consumo) y la tensión de batería va subiendo poco a poco.
Cuando la tensión alcanza los 28.81V, el regulador impide que suba más y la mantiene invariable a 28.81V (constant voltage, CV). Ha entrado en la fase de absorción. La batería se sigue cargando a 28.81V, pero a medida que sube su SOC, disminuirá la intensidad de carga, porque la resistencia interna de la batería va en aumento. Es decir, las placas FV generan menos potencia de la que podrían y se podría derivar excedentes. Un regulador MPPT consigue este CV a 28.81V, obligando a las placas a trabajar a una tensión que no sea la de su MPP.
Cuando haya pasado el tiempo de absorción programado (por ejemplo, 120 minutos), el regulador reduce la tensión de carga a la de flotación, digamos 27.6V, y la mantendrá CV en este valor para el resto del día. Con pasar a flotación, la intensidad de carga se reducirá de golpe a un valor pequeño y seguirá disminuyendo con el tiempo, hasta estabilizarse en un valor muy bajo, que sólo compensa la autodescarga de la batería. Se podrían derivar muchos excedentes.
Analicemos lo que pasaría, si en la fase de absorción interfiere el Arduino, manteniendo la tensión fija en 28.80V.
En primer lugar, no entiendo como puede pasar esto ...
Creo que lo que hace el Arduino con mi algoritmo, estando el regulador en absorción a 28.81V, es incrementar escalones de potencia derivada, hasta que las placas no pueden dar más. En este momento, posiblemente la tensión de batería bajaría a <28.81V, pero en seguida, el Arduino derivaría menos potencia y la tensión subiría otra vez a 28.81V. La fase de absorción se habría interrumpido solo para un momento y el regulador llegaría a completarla (un poco prolongada), pasando a flotación.
Me parece que el efecto del Arduino es lo mismo que pasa, cuando de repente se enchufa un consumo adicional o cuando se reduce la irradiancia solar. O también cuando el regulador busca un nuevo MPP.
Conclusión: El Arduino no impide que el regulador funcione como previsto (creo yo).
Pero pongamos que sea como tu dices, aunque no lo entienda:
El Arduino "congela" la tensión en 28.80V e impide que el regulador pase a absorción, porque no llega a los 28.81V que requiere.
Entonces, tendríamos un estado CV a 28.80V, 100% equivalente als estado CV a 28.81V que haría el regulador. La absorción funcionaría perfectamente. Lo que sería muy cierto, es que el regulador nunca cambiaría a flotación y se pasaría todo el día en absorción.
Si esto fuera el caso, realmente sería dañino para la batería. Debería buscar una solución. Por ejemplo, programar el Arduino de tal forma, que a los 120 minutos de estar a 28.80V (por ejemplo), reduzca la tensión a 27.6V, es decir, a la de flotación.
Pero repito: No sé porque tendría que pasar esto. No lo creo (o no lo entiendo).
Te estaría agradecido, Hlebtomane, si me lo podrías explicar ...
- 02/07/2016, 13:51 #163Forero
- Fecha de ingreso
- ago 2010
- Ubicación
- alicante
- Mensajes
- 5.317
- Entradas de blog
- 2
Re: Derivar excedentes con cualquier regulador MPPT, usando Arduino y WiFi
Lo que ocurre es que algunos reguladores (te hablo de los outback) necesitan un tiempo con la *U_bat = U_absorción para que el regulador "considere" que tiene que pasar a la fase ABSORCIÓN. Ese tiempo es de unos pocos segundos. Si el algoritmo de control de excedentes es lo suficientemente rápido como para derivar potencia nada más "vea" U_bat = U_absorción, el regulador nunca va a estar esos "pocos segundos" con U_bat = U_absorción de forma continua (sin variación de U_bat), porque nada más que esté una décima de segundo, el algoritmo va a derivar potencia, con lo que la U_bat volverá a ser menor que U_absorción.
Es decir, el tiempo continuo en el que U_bat = U_absorción será menor que el tiempo necesario para que el regulador considere que debe pasar a la fase de absorción. Por lo que siempre estará en BULK.
La solución parece sencilla:
- Que la U_bat a la que el algoritmo derive excedentes sea algo superior a U_absorción. Pero entonces el regulador "capará" la producción de las placas ANTES de que el algoritmo llegue a derivar potencia, porque la función del regulador es mantener la U_bat, como mucho, igual a U_absorción. Por lo que nunca habrá derivación de excedentes.
Y lo mismo pasa al revés. Una vez que el regulador (por el motivo que sea) se ha "enganchado" en la etapa de ABSORCIÓN, necesita unos segundos con U_bat < U_absorción para que se "desenganche" de esa etapa y vuelva a BULK. Esto es una ventaja, de la misma forma que lo anterior es una desventaja, para el algoritmo del control de los excedentes.
Todo eso es la teoría, porque dependerá del regulador. Pero además, el algoritmo se puede ralentizar de tal forma para que el tiempo que la U_bat = U_absorción sea suficiente como para que el regulador se "enganche" en la etapa de ABSORCIÓN.
Yo también me encontré con ese problema, y lo he solucionado jugando con el dichoso algoritmo.
* Cuando digo "=" quiero decir exactamente igual, ya que el regulador es capaz de discriminar 0,0xx Voltios. O por lo menos, 0,1V.
- - - - - - - - - - - - - - - - - - -
Se me olvidó decir, que este tipo de problemas surgen porque tenemos 2 elementos que intentar medir lo mismo, la U_bat en este caso, por parte del regulador y por parte del arduino. Que los 2 midan exactamente lo mismo...es cosa difícil, porque intervienen otras variables. Por ejemplo, yo he visto que mi regulador no mide exactamente la misma tensión, cuando está caliente que cuando está frio. O cuando está regulando mucha potencia solar o poca potencia solar.
Esas variable hacen que sea imposible (por lo menos yo lo veo así), que mida la misma U_bat en todos los momentos. Y ese es un problema difícil de solucionar. Cada elemento "medidor" va a su bola.
La solución es que solo haya 1 elemento que mida esa tensión, y los demás sean "esclavos". Por eso, los reguladores que llevan un control de excedentes, como los outback, ya se encargan de decirle al algoritmo de control, cuándo hay excedentes o cuándo no. Y el arduino obedece. Independientemente de que la medida sea más o menos precisa y exacta. Pero solo hay 1 medida de la tensión, y no 2.
Todo eso, por lo menos, para tratar del tema de los excedentes desde la U_bat. En otro caso ya es diferente.
- 02/07/2016, 15:58 #164el_cobarde Invitado
Re: Derivar excedentes con cualquier regulador MPPT, usando Arduino y WiFi
Muchas gracias, Carlos, por tu comentario, que confirma lo que creo entender.
Exactamente. Esta solución "sencilla" {la de U(Arduino) > U(Absorción)} no funcionaría, porque el Arduino nunca empezaría a derivar excedentes, ya que la batería nunca alcanzaría la tensión que el Arduino exige.
Por ejemplo, se podría programar tal, que cuando el Arduino registre por primera vez que Ubat haya llegado a Uabs, espere unos segundos antes de empezar a derivar excedentes, para que el regulador se pueda "enganchar" en Uabs.
Personalmente me convence más otra solución: Que el Arduino intente derivar excedentes, sin preocuparse de si el regulador está en fase bulk, absorción o flotación.
- En fase bulk no podrá derivar nada, porque la FV ya está produciendo a tope
- Cuando el regulador esté bien enganchado en abs o flot, el Arduino derivará todos los excedentes, sin molestar al regulador
Lo que sí hay que respectar, es la situación comentada por Mleon:
Si ocurre el efecto nube o el consumo sube de repente o el regulador busca un nuevo MPP, no habrá excedentes y el inversor empezará a chupar de batería. El Arduino reducirá la derivación a cero. Cuando la FV empieza a producir de nuevo, existe el peligro de que el Arduino interprete esta potencia como excedentes y se la "robe" a la batería y al consumo.
Creo que una buena solución a este problema es exigir, que el Arduino solo derive, cuando no haya descarga de batería.
Esta información es la que da el shunt del BMS: La suma de intensidades a batería no debe ser negativa!
El problema que tengo, es que no sé como medir esta intensidad total con el Arduino: El shunt de mi BMS (que es el mismo regulador) es de 50mV/500A. Si la intensidad de descarga de batería es de -1A, por ejemplo, la caída de tensión en el shunt es de solo 0.1mV. No sé como medir tensiones tan pequeñas ? ...
Una solución sería medir la intensidad entre shunt y batería con un sensor ACS712, por ejemplo. Medir 1A no sería problema. Pero la intensidad entre shunt y batería puede llegar a 200A, para poco tiempo, y el sensor debería aguantar esta intensidad.
Estoy seguro que habrá una solución, pero de momento no la veo. Posiblemente hay que intercalar otro shunt de más resistencia, cuya caída de tensión sea de 1V/100A, por ejemplo. Este shunt daría unos 10mV/A, que serían 2.0V con 200A. Pero en esta situación, el shunt debería poder disipar 400W! Y en una situción "normal" con 80A, asimismo serían 64W!
Lo veo igual: Es (prácticamente) imposible, que dos sistemas independientes midan exactamante la misma tensión Ubat
Creo que por allí van los tiros: Habrá que programar "el otro caso" de una forma inteligente ...
- 02/07/2016, 18:02 #165
- 02/07/2016, 18:58 #166el_cobarde Invitado
Re: Derivar excedentes con cualquier regulador MPPT, usando Arduino y WiFi
Pues si, el ADS1115 parece ser una buena opción. Gracias, nikitto.
He mirado en el hilo "Control exhaustivo ..." de Mleon, y efectivamente, para medir la intensidad a batería empleáis un shunt de 50mV/500A, que es igual al que tengo conectado al BMS. Parece que con el ADS1115 se puede medir este 0.1V de caída de tensión (que equivale a 1A) con bastante precisión.
Tendré que entender mejor el funcionamiento del ADS1115 ...
- 02/07/2016, 19:00 #167Forero
- Fecha de ingreso
- ago 2010
- Ubicación
- alicante
- Mensajes
- 5.317
- Entradas de blog
- 2
Re: Derivar excedentes con cualquier regulador MPPT, usando Arduino y WiFi
Es una solución.
O que mida el tiempo en los que se cumple U_bat=U_absorción. Si ese tiempo no supera el tiempo necesario para engancharse a ABS, que reduzca la potencia derivada durante unos segundos, para facilitar el enganche. Y que eso se comprueba cada minuto, por ejemplo
Debe ser un shunt hall, que no necesita caída de tensión.
- 02/07/2016, 19:48 #168
Re: Derivar excedentes con cualquier regulador MPPT, usando Arduino y WiFi
Para medir por debajo de 1A no deberías tener problemas:
asako.sytes.net
- 02/07/2016, 20:43 #169el_cobarde Invitado
Re: Derivar excedentes con cualquier regulador MPPT, usando Arduino y WiFi
Muy prometedor, esta gráfica tuya, nikitto.
Solo para estar seguro de entenderla bien:
- Iplaca (en amarillo) brilla por su ausencia, porque todavía no la mides
- Ibat (en naranja) la mides con una resolución <0.1A. Muy bien!
- Ubat (en azul) la mides con una resolución <0.05V
Pregunto: Ubat realmente la obtienes con el ADS1115, conectado al shunt 50mV/500A? Sería genial ...
- - - - - - - - - - - - - - - - - - -
Opto por una variante más sencilla: Que el Arduino, cuando deriva en (supuesto) modo absorción, que cada 10 minutos (por ejemplo) reduzca la potencia derivada al 80% durante unos segundos, para facilitar el "enganche" del regulador.
La solución con ADS1115, que propone nikitto, me parece muy buena.
.Última edición por el_cobarde; 02/07/2016 a las 22:32 Razón: corregir error
- 02/07/2016, 22:29 #170
Re: Derivar excedentes con cualquier regulador MPPT, usando Arduino y WiFi
Estoy a la espera del segundo shunt para graficar Iplaca.
Ibat, perfecto. Ya ves que no hay problemas con la medición de consumos inferiores a 1 Ah.
El valor de Vbat lo obtengo también usando una de las entradas del ADS1115, pero con un divisor de tensión con 2 resistencias. Ya que con raspberry debo bajar el voltaje de entrada <3,3V. Con arduino será <5V.
Electrnica Bsica : Divisor de Tensin
La Vin se conecta a la batería (voltaje de la batería) y la salida Vout la conecto a A2 (una de las entradas del ADS1115). Antes de soldar las resistencias comprobé el valor real con un polímetro. Y una vez hecho el montaje ajuste por software el valor obtenido, para que la lectura fuera la misma que el voltímetro digital que tengo.
Con un mismo ADS1115 puedes medir la caida de tensión de 2 Shunt o tener 4 entradas analógicas o una combinación de ambos. En mi caso, A0-A1 (shunt) y A2 (Vbat). Me sobra una entrada. He pedido otro ADS1115 para el otro Shunt.
- - - - - - - - - - - - - - - - - - -
Te pongo una foto de la plaquita con el ADS1115, donde se ve el divisor de tensión
Son la 2 resistencias de la parte superior (una está medio tapada por los cables). Fácil y barato. Si algo falla prefiero que sea esto a la Raspberry. Las resistencias son del mismo valor que en la web que he puesto. 10K y 1K.
Así calculo los valores:
Código PHP:## diferencia entre A0-A1 para calcular Intensidad
value = adc.read_adc_difference(0, gain=16, data_rate=8)
## calculo del voltaje en A2
valor = adc.read_adc(2, gain=1)
amps = (value * 256.0)/32767 ## esto serían los milivoltios obtenidos
amps = amps * SHUNT1 ## mV * (200/75mV) = x A
### 2 decimales
amps = round(amps, 2)
print('amperios = '), amps
voltaje = (valor * 0.125)/1000
### 2 decimales
vbat = round((voltaje * RES),2)
print('Vbat = '),vbat
SHUNT1 = 200/75 (el mío)
RES = valor real de la suma del valor de las resitencias (con el polímetro) = 10.96 K
Y aquí un ejemplo sobre el tema de que escala coger:
# Choose a gain of 1 for reading voltages from 0 to 4.09V.
# Or pick a different gain to change the range of voltages that are read:
# - 2/3 = +/-6.144V
# - 1 = +/-4.096V
# - 2 = +/-2.048V
# - 4 = +/-1.024V
# - 8 = +/-0.512V
# - 16 = +/-0.256V
# See table 3 in the ADS1015/ADS1115 datasheet for more info on gain.Última edición por nikitto; 02/07/2016 a las 22:49
- 03/07/2016, 00:36 #171el_cobarde Invitado
Re: Derivar excedentes con cualquier regulador MPPT, usando Arduino y WiFi
Bueno, he estudiado un poco lo que es el ADS1115 - y me parece genial!
El ADS1115 es un ADC de 16 bits para 4 entradas analógicas (o 2 señales diferenciales)
16 bits significa dividir los 5.0V que acepta el Arduino en 65535 pasos ---> una resolución de 0.076mV
Además, el ADS1115 tiene un amplificador de hasta 16x, lo que mejora la resolución hasta 0.005mV (0.00477mV)
Tu usas un shunt de 75mV/200A, lo que significa una resolución de hasta 13mA
Mi shunt es de 50mV/500A, es decir, me da algo menos resolución que el tuyo: hasta 48mA
Pero bastará perfectamente para identificar una intensidad de descarga de -1A
- 03/07/2016, 02:29 #172
Re: Derivar excedentes con cualquier regulador MPPT, usando Arduino y WiFi
Aunque el ADS1115 es de 16 bits, 1 se usa para el signo. Sólo quedan 15 bits.
Ahí esta expresión que he puesto antes:
Código PHP:amps = (value * 256.0)/32767 ## esto serían los milivoltios obtenidos
amps = amps * SHUNT1 ## mV * (200/75mV) = x A
# - 16 = +/-0.256V
- 03/07/2016, 10:15 #173el_cobarde Invitado
Re: Derivar excedentes con cualquier regulador MPPT, usando Arduino y WiFi
Gracias, nikitto. Lo del divisor de tensión lo tengo claro ...
Gracias otra vez, nikitto, este detalle se me había escapado. Asi se explica el valor "32767" en tu código
Con 15 bits, la resolución teórica del Arduino se reduce a 5V/32767 = 0.15mV
Con el shunt de 75mV/500A tenemos una resolución de 0.15*500/75 A = 1.0A
Y aún nos queda el amplificador de 16x. Si lo aprovechamos al máximo, la resolución es de 63mA
No hay peligro de sobretensión para el Arduino: El valor punta de Ishunt es de 200A, o sea, 480mV ...
Parece ser que el ADS1115 es el dispositivo ideal para medir U e I con mucha precisión en un microprocesador
Con el ADS1115, y sin hacer malabarismos, en la práctica podré detectar una intensidad de descarga de la batería, aunque sea bastante menor de 1A. Con esto debería funcionar perfectamente la derivación de excedentes con P=I*U:
- Condición 1: Que la tensión de batería sea mayor o igual a la de flotación (Ubat >= Uflot)
- Condición 2: Que la intensidad de carga a batería no sea negativa (Ishunt > 0)
Con estas condiciones cumplidas, el Arduino puede derivar todos los excedentes existentes ...
- ... tanto en absorción como en flotación
- ... sin perturbar al regulador en sus fases de carga
Hasta me parece que la primera condición es innecesaria ...
- 03/07/2016, 10:28 #174
Re: Derivar excedentes con cualquier regulador MPPT, usando Arduino y WiFi
NIki, mi gráfica es en tiempo real. Como cargas: el propio inversor, la Raspberry y un router. Puedes examinarla y ver donde puedes fallar en el cálculo.
- 03/07/2016, 11:36 #175el_cobarde Invitado
Re: Derivar excedentes con cualquier regulador MPPT, usando Arduino y WiFi
Estoy observando tu gráfica online (repito: Enhorabuena!) y he visto perfectamente como el regulador ha entrado en absorción y ahora (a las 11:22h) se ha visto un bajón de unos 8A durante 4 minutos (8a a 12V son 100W - nevera?).
Corrijo: Como el evento se repite (son las 11:35h), no parece ser nevera; más bien serán nubes que pasan?
Examinando tu gráfica puedo aprender mucho para optimizar mi concepto. Genial!
Para más información: Me dices la(s) placa(s) y la(s) batería(s) que tienes conectadas?
Y -para completar- los modelos de regulador y de inversor?