Resultados 1 al 11 de 11
  1. #1
    Chaika está desconectado Forero Junior
    Fecha de ingreso
    feb 2015
    Ubicación
    Huesca
    Mensajes
    10

    Predeterminado Descarga de vasos y control capacidad real

    Saludos, foreros.
    Tengo 2 bancos de 12V de baterías Tudor usadas (de 430Ah C100 y 340Ah C100), y necesitaba saber el estado real de los mismos.
    Comentándolo con el compañero Gabriel2018, me pasó un esquema y me animó a materializarlo. La idea consiste en descargar el vaso, que debe estar a plena carga, y parar la descarga al llegar a 1,7V, recogiendo datos de la evolución del voltaje y almacenarlos en una base de datos, en mi caso una tabla en phpmyadmin, que está instalada en una Raspberry Pi. Con estos datos podremos hacernos una idea de la capacidad real del vaso
    Empezamos con esto:
    Descarga de vasos y control capacidad real-photo_2018-06-18_23-58-54.jpg

    Descarga de vasos y control capacidad real-photo_2018-06-18_23-59-53.jpg

    En este segundo esquema dibuje una resistencia para simular la del cable usado
    Las primeras pruebas consisten en establecer la cantidad de metros de cable de 1,5 mm2 de sección que son necesarios para conseguir una descarga de aproximadamente 20A, conectándolo a los bornes de un vaso. Aquí es conveniente tener una pinza amperimétrica para comprobar la intensidad. Empecé con 10 m. de cable, que fui cortando hasta quedarme con unos 5m.

    Dado que estamos generando bastante calor en el cable, es conveniente eliminar unos 20 cm de camisa en cada extremo e introducir el resto del cable en un recipiente con agua.

    A continuación la lista de los materiales necesarios:
    NodeMCU V1.0 (Amica o Lolin) yo tengo este ultimo, puede ser sustituido por arduino y un shield Wifi.
    Raspberry pi, aunque también puede usarse un portátil(en realidad, cualquier dispositivo que tenga conexión wifi y phpmyadmin instalado)
    Resistencias: 10 Ohm y 10K Ohm 1/2w
    Mosfet (2 ud.) 039N04L o similar, el MOSFET tiene que ser de tensión umbral máxima de puerta baja (Gate threshold voltaje)


    Aquí podeis ver a que corresponde cada una de las patas del Mosfet
    Descarga de vasos y control capacidad real-photo_2018-06-18_23-59-23.jpg



    Compré placa perforada e hice el montaje, si tuviera que repetirlo soldaría los Mosfet en línea para facilitar la colocación de un disipador de aluminio
    Descarga de vasos y control capacidad real-photo_2018-06-19_00-00-08.jpg
    Descarga de vasos y control capacidad real-pinout.jpg







    Este es el pinout del nodeMCU Lolin, he conectado el pin D4 a la patilla G (gate) de los Mosfet a través de la resistencia de 100 Ohm y cualquiera de los pines GND al polo negativo del vaso. Por ultimo, conectaremos el pin A0 (ADC) al polo positivo del vaso, para tener la lectura del voltaje.
    Quedaria conectar la pequeña placa a los bornes del vaso, y tendríamos acabada la parte de hardware.
    Tambien necesitamos un programa, que cargaremos en el nodeMCU a través del IDE de arduino. Iremos tomando lecturas de voltaje y las iremos almacenando en una base de datos, en mi caso, dado que he materializado lo que se propone en el brico “Control exhaustivo del SOC y gestión de excedentes”, tengo una Raspberry, y una BD dentro de Phpmyadmin, con lo que hubo que preparar 2 archivos PHP(gracias, Nikitto), y crear una nueva tabla llamada voltaje_vaso.
    Existen muchas paginas en la red que nos enseñan a configurar phpmyadmin para recibir datos
    Con los datos obtenidos podremos hacernos una idea de la capacidad real de nuestras baterías usadas


    Archivo voltaje_vaso.php

    html>
    <head>
    <style>
    #div1 {font-size-adjust:0.41;}
    table {width:100%;}
    </style>
    </head>
    <body>


    <div id="div1">
    <table>

    <?php

    require('conexion.php');


    $voltaje = mysqli_real_escape_string($con, $_GET['voltaje']);

    // EInsertamos los valores en la tabla
    $query = "INSERT INTO voltaje_vaso(voltaje) VALUES('$voltaje')";
    // Ejecutamos la instruccion
    mysqli_query($con, $query);
    mysqli_close($con);
    echo "Pagina para subir los datos<br />";
    echo "<br />voltaje = $voltaje Volt.<br />";


    ?>
    </table>
    </div>

    </body>
    </html>




    archivo conexion.php

    <?php

    $server = 'localhost'; # Server (default:localhost)
    $username_mysql = 'rpi'; # Mysql database user
    $password_mysql = 'fv'; # Mysql database password
    $database_mysql = 'control_solar'; # Mysql database


    # Check database to host connection
    if(!function_exists('mysqli_connect'))
    {
    echo 'PHP cannot find the mysql extension. MySQL is required for run. Aborting.';
    exit();
    }

    $link = mysqli_connect($server, $username_mysql, $password_mysql) or die('Error: Database to host connection: '.mysqli_error());

    mysqli_select_db($link, $database_mysql) or die('Error: Select database: '.mysqli_error());
    ?>


    Sketch Arduino Voltaje_vaso




    #include <ESP8266WiFi.h>

    const char* ssid = "XXXXXXXXX";//identificacion red wifi
    const char* password = "XXXXXXXX"; //password de la wifi
    const char* host = "192.168.1.246"; //bd de la raspberry


    const int analog_ip = A0; // pin ADC del nodeMCU
    const int LED = D4; // Pin digital que activa el gate de los mosfet
    int inputVal = 0; //Variable para guardar valores ADC
    int analogVal =inputVal;//
    const float factor = 0.00295329670329;//factor de conversion valor ADC-voltaje del vaso
    int B=0;
    float v_vaso =0;





    void setup()
    {

    pinMode(LED, OUTPUT); // definir pin como salida
    digitalWrite (LED,HIGH);//
    Serial.begin(9600);
    // Comenzamos conectandonos a la red wifi

    Serial.println();
    Serial.println();
    Serial.print("Conectando a ");
    Serial.println(ssid);

    WiFi.mode(WIFI_STA);
    WiFi.begin(ssid, password);

    while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
    }

    Serial.println("");
    Serial.println("WiFi conectada");
    Serial.println("direccion IP : ");
    Serial.println(WiFi.localIP());
    }

    void loop()
    {

    inputVal = analogRead (analog_ip); // Valores analogicos 0 a 1023
    Serial.println(inputVal);
    delay(2000);
    int B=inputVal;
    float v_vaso= B*factor; // Los convertimos en valor voltaje real
    if (v_vaso <= 1.7) digitalWrite(LED,LOW);// paramos la señal a los Mosfet

    delay(1000);



    Serial.print("Voltaje: ");
    Serial.print(v_vaso);
    Serial.println();




    Serial.print("conectado a ");
    Serial.println(host);

    // Usamos la clase WiFiClient para crear conexion TCP
    WiFiClient client;
    const int httpPort = 80;
    if (!client.connect(host, httpPort)) {
    Serial.println("fallo de conexion");
    return;
    }

    // Creamos una URL
    String url = "http://192.168.1.246/voltaje_vaso.php";
    String dato1 = "?voltaje=";


    Serial.print("Requesting URL: ");
    Serial.println(url);

    // Mandamos peticion al servidor
    client.print(String("GET ") + url + dato1 + v_vaso + " HTTP/1.1\r\n" +
    "Host: " + host + "\r\n" +
    "Connection: close\r\n\r\n");
    unsigned long timeout = millis();
    while (client.available() == 0) {
    if (millis() - timeout > 10000) {
    Serial.println(">>> Client Timeout !");
    client.stop();
    return;
    }
    }

    // Leemos respuestas del servidor y se imprimen en puerto Serial
    while (client.available()) {
    String line = client.readStringUntil('\r');
    Serial.print(line);
    }

    Serial.println();
    Serial.println("cerrando conexion");

    delay(3000);
    }


    No he sabido subir los archivos en formato original, las extensiones no estan habilitadas en los adjuntos.

    Mi primera colaboracion, espero le sirva a alguien

  2. #2
    el_cobarde Invitado

    Predeterminado Re: Descarga de vasos y control capacidad real

    Cita Iniciado por Chaika Ver mensaje
    Mi primera colaboracion, espero le sirva a alguien
    Un aporte con tutorial muy completo; aunque quizá algo complicado. Enhorabuena y gracias, Chaika

  3. #3
    Pidjey está desconectado Forero
    Fecha de ingreso
    ene 2013
    Ubicación
    Leon
    Mensajes
    1.521

    Predeterminado Re: Descarga de vasos y control capacidad real

    Bastante bien el tutorial, solo me falta una cosa, saber como estimas el estado de vida de la bateria con esos datos.

    Otra pregunta, se calientan mucho los conectores al pasar 20A?
    Diseñador de curvas solares y equivalente electrico usando los datos tecnicos del panel: http://solarpanelsimulator.bitballoon.com/

  4. #4
    el_cobarde Invitado

    Predeterminado Re: Descarga de vasos y control capacidad real

    Cita Iniciado por Pidjey Ver mensaje
    ... solo me falta una cosa, saber como estimas el estado de vida de la bateria con esos datos
    Pongamos que los vasos sean de 340Ah C10 y los descargas con 20A, empezando con el SOC 100%, entonces con ~8 horas de descarga habrán llegada al SOC 50%
    Para un vaso en buen estado de salud (SOH), la tensión disminuye en proporción al SOC y hay un valor de tensión para cada SOC. Si se registran los datos de la tensión y del tiempo de descarga, se tiene la tensión real para cada SOC. Comparando estos datos con los teóricos (los de la ficha técnica), se sabe el SOH de esta vaso
    Con los datos de tensión e intensidad también se puede calcular la resistencia interna Ri del vaso, que es un indicador del SOH

    Yo, desde luego, comprobaría el SOH de una forma más sencilla, midiendo la densidad del electrólito:
    Empezando con el SOC 100% y la correspondiente densidad nominal, haría una descarga a C10 hasta el SOC 50%. Por ejemplo, en el ejemplo de arriba, descargando la batería de 340Ah C10 con 34A durante 5 horas. Si después de esta descarga, la densidad es la que corresponde al SOC 50%, la batería está en buen estado de salud

  5. #5
    Pidjey está desconectado Forero
    Fecha de ingreso
    ene 2013
    Ubicación
    Leon
    Mensajes
    1.521

    Predeterminado Re: Descarga de vasos y control capacidad real

    No sé, a ver si nos lo explica el op. También hay que tener en cuenta el coeficiente de peukert que distorsiona la relación entre tensión i capacidad real. Me suena que para plomo ácido antes de cada medida de tensión hay que dejar descansar la batería 24 horas por causa de eso. Más que nada por eso los medidores de soc por tensión de los controladores no son para nada precisos.

  6. #6
    el_cobarde Invitado

    Predeterminado Re: Descarga de vasos y control capacidad real

    Cita Iniciado por Pidjey Ver mensaje
    Me suena que para plomo ácido antes de cada medida de tensión hay que dejar descansar la batería 24 horas por causa de eso
    Cierto, si quieres comparar con la tabla de tensiones en circuito abierto. Pero para una descarga constante de 20A tambíen hay una tabla con la tensión correspondiente a cada SOC - solo hay que subtraer la caida de tensión debida a la Ri (CdT = I x Ri) de los valores de la tabla de tensiones en circuito abierto

    Otra aproximación bastante fiable es medir la Ri del vaso, para lo que bastan los datos de V e I


    Cita Iniciado por Pidjey Ver mensaje
    Más que nada por eso los medidores de soc por tensión de los controladores no son para nada precisos
    El mayor problema en esta "aproximación" es que no tiene en cuenta la intensidad de carga/descarga, que varía

  7. #7
    Pidjey está desconectado Forero
    Fecha de ingreso
    ene 2013
    Ubicación
    Leon
    Mensajes
    1.521

    Predeterminado Re: Descarga de vasos y control capacidad real

    Pero seguimos con el mismo problema, por el efecto peukert da igual que hagas esa cuenta con la ri ya que la tensión se distorsiona en relación con la capacidad. Por eso los controles de carga por tensión funcionan mal, no porque no tengan la información de corriente que si que la tienen. Por eso hay que dejar descansar la bateria para poder medir la tension i usar la tabla del soc. Los victron i monitores similares no usan la tensión para estimar el soc. El que quiera leer un poco más sobre medir soc i tensión que eche un vistazo: https://www.electronicproducts.com/Power_Products/Batteries_and_Fuel_Cells/Lead-acid_batteries_The_growing_need_for_monitoring_sta te-of-charge_and_health.aspx

    - - - - - - - - - - - - - - - - - - -

    Los monitores usan el coeficiente de peukert para estimar la capacidad práctica de la batería que se reduce al descargar la batería más o menos rápido (temporalmente, por eso hay que dejar descansar la batería para medir el soc por tensión). Con la cuenta de la corriente de carga i descarga estiman la cantidad de carga, luego carga/capacidad = soc. El manual de victron lo explica todo mascadito.

    - - - - - - - - - - - - - - - - - - -

    Pero vamos que yo no vengo a discutir este royo que está más que discutido i documentado, a mi lo que me gustaría saber es como el op con esa tabla calcula el estado de las baterias. No es ninguna crítica, solo que creo que falta ver cómo se usa la herramienta.

  8. #8
    el_cobarde Invitado

    Predeterminado Re: Descarga de vasos y control capacidad real

    Cita Iniciado por Pidjey Ver mensaje
    Pero vamos que yo no vengo a discutir este royo ... a mi lo que me gustaría saber es como el op con esa tabla calcula el estado de las baterias
    Vale, que te lo diga el compañero Chaika ...

  9. #9
    Chaika está desconectado Forero Junior
    Fecha de ingreso
    feb 2015
    Ubicación
    Huesca
    Mensajes
    10

    Predeterminado Re: Descarga de vasos y control capacidad real

    Buenas tardes, intento responder a lo que habeis comentado.
    Lo primero, aun no he podido hacer una prueba completa a mis vasos. Tengo un sistema a 24V. y estos vasos que tengo son los que tenia en el antiguo a 12V. Y el cargador que utilizaba se ha quemado, era un transformador DC-DC (lo recomendasteis en el hilo sobre recuperacion de vasos sulfatados).
    Dado que mis conocimientos son basicos, basicamente queria controlar cuanto tiempo tardaba el vaso en alcanzar los 1,7 V. Dado que la intensidad varia poco (eso creo, pues la resistencia de carga es aprox. constante, algo varia por el cambio de temperatura, pero por ahora no lo tengo en cuenta). Con ese tiempo, sabria los A. descargados, y sabria la densidad al final de esa descarga,con lo que ya tendria idea aproximada de la capacidad de ese vaso.
    La ficha tecnica de esos vasos no aparece en el cuadernillo que me entregaron con las baterias, habla de que una bateria totalmente descargada tiene una densidad de 1,08 gr/cm3
    Y tambien, como decis, calcular la resistencia interna.
    Al señor Peukert, tampoco lo he tenido en cuenta, voy viendo que se abren nuevos retos para calcular el SOH de mis baterias si quiero que sea tan exacto como los productos comerciales (por ahora, ha sido un triunfo poder dejar el vaso en descarga y recoger datos)
    No logro leer el enlace, me da error 404

  10. #10
    Avatar de Mleon
    Mleon está desconectado Forero
    Fecha de ingreso
    may 2016
    Ubicación
    MADRID
    Mensajes
    991

    Predeterminado Re: Descarga de vasos y control capacidad real

    Entiendo que esto es una prueba real (metodo directo) de la capacidad de la batería.. es algo que no hay que hacer a menudo dado que acortas la vida de la batería (le quitas un ciclo..)

    Lo lógico es hacerlo a un régimen de descarga lo mas próximo al uso que se tenga en la instalación real y compararlo con la capacidad a ese régimen que dice el fabricante (es verdad que no siempre se tienen del fabricante los valores de capacidad en función del régimen de descarga y Voltaje de corte)

    Si la descarga se hace a otro régimen de Amperios, lo lógico es tenerlo en cuenta.. por ejm tenemos una batería de 1500ah a C100..... lo normal es que le corresponda una capacidad de unos 1200ah a C20.. luego para calcular el SOH hay que tener la capacidad de la batería al régimen de descarga ( o estimarlo mediante Peukert)

    Con respecto a los parámetros de descarga (Amperios y Vbat de corte) creo recordar haber leído que hay distintos métodos normalizados... lo busco....

    https://www.blueboxbatteries.co.uk/b...2#.WyllnqozZdh


    Pues eso..ya depende de la instalación/uso que se quiera, se elije régimen de descarga y Vbat de corte


    En cualquier caso Chaika lo que se ha currado es como controlar la descarga con un arduino/NodeMCU... y almacenar los datos de dicha descarga en una Base de datos ....

    Dado que esto es una caso típico del Internet de las Cosas (IoT) ...yo, en privado, le he picado un poco para que lo actualice usando MQTT..

    Felicidades Chaika...es importante pasar del planteamiento teórico a una implementación real que funcione... lo de meter un trozo de cable en agua como solución BBB de una resistencia de potencia para Vbat de 2V es un ejemplo de ingenio

  11. #11
    Gabriel 2018 Invitado

    Predeterminado Re: Descarga de vasos y control capacidad real

    Uno de los retos era ver si con una tensión de puerta tan pequeña, 3.2 V, el MOSFET no se quedaba en zona peligrosa, pero con 20 A la tensión drenador fuente es de 80 mV, que no está mal.
    De momento, le ha servido a Chaika para saber que el vaso probado no está muy allá...




1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47