Página 1 de 3 12 ... ÚltimoÚltimo
Resultados 1 al 25 de 55
  1. #1
    elfrisky está desconectado Forero
    Fecha de ingreso
    feb 2012
    Ubicación
    Un pueblecito de Granada
    Mensajes
    192

    Predeterminado Mi instalación: Voltronic 7.2Kw, Daly 150A FAN, 16x LiFePo4 176AH y SDM320-Modbus

    Buenos días a todos,

    Creo que va siendo hora de compartir mi instalación con todos vosotros, y estoy seguro que va a generar mucha información para todo el mundo, incluido yo, que aún sigo teniendo muchas dudas.

    La instalación consta de 15 placas de estas de abajo, instaladas en dos strings de 5 y 10 respectivamente, ambas en serie. Las saqué a muy buen precio de Rebacas (tienen una eficiendia pésima del 16,8%, pero me sobra tejado):

    Mi instalación: Voltronic 7.2Kw, Daly 150A FAN, 16x LiFePo4 176AH y SDM320-Modbus-img_20210524_192623.jpg

    Luego tengo un Voltronic Axpert Max 7.2KW (comprado en Technosun) con todas sus protecciones por string, aquí foto a mitad de instalación:

    Mi instalación: Voltronic 7.2Kw, Daly 150A FAN, 16x LiFePo4 176AH y SDM320-Modbus-img_20210529_115653.jpg

    Y aquí la foto del montaje "final" a falta de ponerlo bonito, que no operativo porque operativo ya está:

    Mi instalación: Voltronic 7.2Kw, Daly 150A FAN, 16x LiFePo4 176AH y SDM320-Modbus-img_20210728_104447.jpg

    Continúo en el siguiente mensaje para poder leerlo bien todo.

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

    Los detalles de los componentes "auxiliares" son:

    * SDM320-Modbus:
    Este me costó encontrarlo en "nuestra tienda asiática por excelencia". La versión sin Modbus es fácil de encontrar. Este lo quería para monitorizar la instalación mientras me pensaba si instalar baterías o no, para gestionar "excedentes". (si, el Voltronic vuelca y mucho!) Este SDM lo conecté a un Elfin, que no es más que un adaptador de Modbus a TCP/IP Ethernet.

    * HP T620 PLUS
    Hay mucha gente que se mete con la RPI a hacer estas instalaciones, pero yo prefiero un bicho de estos con un SSD interno (en realidad es un SSD en un adaptador USB3.0 Lacie), y fijaros que precio! Tiene corriendo un Ubuntu, pero a eso ya llegaremos luego. Lo bueno de este sistema es que puedo despinchar el usb y pincharlo en cualquier otro ordenador y tengo lo mismo, software, ips, etc, más cerca de donde tengo el escritorio, etc.

    * Adaptador serie-USB para el Voltronic:
    Con este le subí el firmware a la 90.19 (me vino con una 48XX no recuerdo las X) y ahora es el que digiere los datos de producción, status, etc en el Node-Red.

    * BMS Daly 150A con ventilador:

    Éste me ha salido por 151€ puesto en casa, habiendo cambiado ya las reglas de importación (post-Julio). Pedí este específicamente porque lo ví la mejor relación calidad-precio y los márgenes de funcionamiento están dentro del rango del Voltronic (casi!, solo se queda un pelín corto a la hora de intensidad máxima de carga, que el BMS puede llegar a 75A y el Voltronic teóricamente puede llegar a 80A, pero no tengo placas como para eso porque siempre voy a tener consumo en casa)

    Lo pedí con Bluetooth y con adaptador UART a USB. El Bluetooth puedo confirmar que funciona perfectamente, y que el UART/USB también, pero éste último es lo que me va a costar más integrar en NodeRed. Por ahora tengo algo muy rudimentario "funcionando" de haber copiado y pegado un flow de diysolarforum, concretamente de Antonius

    * Las baterías 16x 176AH LiFePo4:
    De lo más contento con lo que estoy, aquí tenéis lo que me costaron y de dónde las pedí (Alemania):
    Mi instalación: Voltronic 7.2Kw, Daly 150A FAN, 16x LiFePo4 176AH y SDM320-Modbus-pedido.jpg

    Y ahora paso a mostraros la motorización que tengo en el siguiente mensaje.

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

    Como he dicho arriba, al principio no tenía el Voltronic conectado al NodeRed y solo funcionaba con el SDM y teniendo que bajar a la pantalla del Voltronic para ver como iba. En ese tiempo solo tenía NodeRed. No tenía in Influxdb ni Grafana instalado y todo lo que tenía era un dashboard como este (sin la potencia del voltronic!):

    Mi instalación: Voltronic 7.2Kw, Daly 150A FAN, 16x LiFePo4 176AH y SDM320-Modbus-sdm.jpg

    Y cuando compré el cable para conectar el Voltronic pude ponerme a jugar con todo el excelente material que tiene Tjota en el foro y este es el portal que tengo ahora:

    Mi instalación: Voltronic 7.2Kw, Daly 150A FAN, 16x LiFePo4 176AH y SDM320-Modbus-grafana.jpg

    Fijaros que estoy sacando el SOC del Voltronic, que comparado con lo que me da la app bluetooth del Daly está 4 ó 5% desviado a la baja.

    Ahora con lo que estoy trabajando es tratar de entender lo que hace Antonius en su código y como poder mezclarlo con el de Tjota a ver si puedo conseguir aunque sea el SOC, temperatura y voltajes de las baterías:

    Mi instalación: Voltronic 7.2Kw, Daly 150A FAN, 16x LiFePo4 176AH y SDM320-Modbus-daly1.jpg


    Ahora paso a contaros los siguientes desafíos que tengo por delante.

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

    • Terminar la integración con Daly

      Necesito poder tener acceso a una referencia fiable del SOC para poder tomar acciones de gestión de excedentes para cargar el coche eléctrico, pasar el Voltronic a modo SUB por las noches, termo eléctrico, etc.

    • Cargador del coche eléctrico (OpenEvse)

      Quiero integrarlo en NodeRed y que funcione como sumidero de excedentes con prioridad a elegir contra el calentador de agua. El coche es un Nissan Leaf 40KWh y lo usamos para hacer la compra, llevar a los niños y recogerlos del cole y ocasionalmente (algún fin de semana) un trayecto de 100Km por autovía. Para lo demás está el ICE.

    • Gestor de excedentes (termo eléctrico)
    • Integración de enchufes TECKIN (Tuya) en NodeRed

      Ya tengo los devideIDs y los deviceKeys, pero NodeRed se niega a hacerlos funcionar de momento. Es otra pelea que tengo delante.

    • Quizás atreverme con HA?

      No se si será demasiado ya para mí, pero si consigo tener un NodeRed clarito y funcionando, imagino que sería fácil meterle la capa de HA encima.



    Y aquí os pongo unos pantallazos de como tengo el NodeRed de momento con sus JSON por si os sirven (compartir es vivir!):

    * Extracción de datos del Voltronic (@Tejota mil gracias!)

    Mi instalación: Voltronic 7.2Kw, Daly 150A FAN, 16x LiFePo4 176AH y SDM320-Modbus-voltronic-flow.jpg

    Código:
    [{"id":"9bc9a9f6.d07ec8","type":"tab","label":"Axpert MAX","disabled":false,"info":""},{"id":"509893d1.98ab3c","type":"function","z":"9bc9a9f6.d07ec8","name":"CRCTJ","func":"    //  Algoritmo para lanzar los comandos hacia Voltronics con CRC propietario\n    //  Algoritmo realizado por Tejota   \n    var topic = (msg.payload) + (\" \") + (msg.topic); // Topic con el comando string y posible descripcion\n    var comandobuffer = Buffer.from(msg.payload);   // pasando a buffer el string del comando          \n    var crc = 0x0000;                              //  inicio del crc\n    for (tj = 0; tj < comandobuffer.length; tj++)    // scaneo del buffer\n            {\n        const byte = comandobuffer[tj];          // analizando el byte para aplicarle el crc16xmodem\n        tejota = (crc >>> 8) & 0xff;\n        tejota ^= byte & 0xff;\n        tejota ^= tejota >>> 4;\n        crc = (crc << 8) & 0xffff;            //  Algoritmo\n        crc ^= tejota;                       //  crc16 xmodem \n        tejota = (tejota << 5) & 0xffff;    //   sin tabla estatica\n        crc ^= tejota;\n        tejota = (tejota << 7) & 0xffff;\n        crc ^= tejota;\n            }                            // resultante crc numerico \n    var crchexastring = crc.toString(16).padStart(4,'0');  // crc numerico a string hexa añadiendo ceros a izquierda si es preciso\n    var crchexabuffer = Buffer.from(crchexastring, \"hex\"); // buffer del crchexa\n    for (mdk=0; mdk < crchexabuffer.length; mdk++)  // scaneo del buffer\n            {\n            if (crchexabuffer[mdk]==10 || crchexabuffer[mdk]==13 || crchexabuffer[mdk]==40)   // Exceptuando estos bytes mdk \n                    {\n                        crchexabuffer[mdk]++;  // se pone el byte siguiente si es alguno de las excepciones mdk\n                    }\n            }        \n    const retornodecarro = Buffer.from(\"\\r\");\n    var crctotalbuffer = [comandobuffer, crchexabuffer, retornodecarro];  // construyendo el buffer final hacia el hibrido\n    msg.payload = Buffer.concat(crctotalbuffer);\n    msg.topic = topic;\n    return msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":1020,"y":640,"wires":[["650be6f8.439998"]]},{"id":"645a2e8b.dcbcb","type":"debug","z":"9bc9a9f6.d07ec8","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":1890,"y":320,"wires":[]},{"id":"650be6f8.439998","type":"serial request","z":"9bc9a9f6.d07ec8","name":"Puerto Serie","serial":"88ec1814.a229c8","x":1190,"y":640,"wires":[["22222d68.bf0a42"]]},{"id":"22222d68.bf0a42","type":"link out","z":"9bc9a9f6.d07ec8","name":"Respuesta Puerto serie","links":["4faa967b.783d88"],"x":1410,"y":640,"wires":[],"l":true},{"id":"ff4e665c.3a6d68","type":"comment","z":"9bc9a9f6.d07ec8","name":"Comunicacion Puerto Serie","info":"","x":1190,"y":600,"wires":[]},{"id":"ab516497.6a2e48","type":"switch","z":"9bc9a9f6.d07ec8","name":"Repartidor Datos Lecturas","property":"topic","propertyType":"msg","rules":[{"t":"eq","v":"QID Numero de Serie","vt":"str"},{"t":"eq","v":"QPIGS Estado General","vt":"str"},{"t":"eq","v":"QVFW Version CPU1","vt":"str"},{"t":"eq","v":"QVFW3 Firmware CPU3","vt":"str"},{"t":"eq","v":"QFLAG Miscelanea","vt":"str"},{"t":"eq","v":"QPIRI Configuracion","vt":"str"},{"t":"eq","v":"QBEQI Ecualizacion Bateria","vt":"str"},{"t":"eq","v":"QPIWS Informacion Warnings","vt":"str"},{"t":"eq","v":"QMOD Modo de Trabajo","vt":"str"},{"t":"eq","v":"QPIGS2 Campo2","vt":"str"},{"t":"eq","v":"QLED Barra LED","vt":"str"},{"t":"cont","v":"energiaproducidadiaria","vt":"str"},{"t":"cont","v":"cargadiariaentregada","vt":"str"}],"checkall":"true","repair":false,"outputs":13,"x":810,"y":280,"wires":[["9c689710.cb0018"],["e4137dce.db47"],["4423063a.c56eb8"],["198b4fc2.1fca4"],["8d3d9618.158258"],["bd349fa8.774d1"],["dd066a1.e232a98"],["af0311cf.2cd99"],["3a0b2dac.6bc8a2"],["fcd12eb.29738d"],["3b4d261d.daba4a"],["c2c747ec.cc0b58"],["f5269e19.63df9"]]},{"id":"63fac829.9a70a8","type":"comment","z":"9bc9a9f6.d07ec8","name":"Repartiendo por topic","info":"","x":820,"y":400,"wires":[]},{"id":"8d3d9618.158258","type":"function","z":"9bc9a9f6.d07ec8","name":"QFLAGExtraccion","func":"var output = msg.payload.substr(1, 11);\nvar E = output.indexOf(\"E\")+1;\nvar D = output.indexOf(\"D\");\nvar enables = output.substr(E, (D-E));\nvar disables = output.substr(D+1);\nswitch (enables.includes(\"a\")){\n    case true:\n        buzzer = 1;\n        break;\n    case false:    \n        buzzer = 0;\n}    \nswitch (enables.includes(\"b\")){\n    case true:\n        bypassoverload = 1;\n        break;\n    case false:\n        bypassoverload = 0;\n        break;\n} \nswitch (enables.includes(\"k\")){\n    case true:\n        guardapantallalcd = 1;\n        break;\n    case false:    \n        guardapantallalcd = 0;\n}    \nswitch (enables.includes(\"j\")){\n    case true:\n        powersaving = 1;\n        break;\n    case false:\n        powersaving = 0;\n        break;\n} \nswitch (enables.includes(\"u\")){\n    case true:\n        overloadrestart = 1;\n        break;\n    case false:    \n        overloadrestart = 0;\n}    \nswitch (enables.includes(\"v\")){\n    case true:\n        overtemperaturerestart = 1;\n        break;\n    case false:\n        overtemperaturerestart = 0;\n        break;\n}\nswitch (enables.includes(\"x\")){\n    case true:\n        luzlcd = 1;\n        break;\n    case false:\n        luzlcd = 0;\n        break;\n} \nswitch (enables.includes(\"y\")){\n    case true:\n        pitidosifuenteprimariafalla = 1;\n        break;\n    case false:\n        pitidosifuenteprimariafalla = 0;\n        break;\n} \nswitch (enables.includes(\"z\")){\n    case true:\n        grabarerrores = 1;\n        break;\n    case false:\n        grabarerrores = 0;\n        break;\n} \nreturn [\n    {\n        payload: {\n                buzzer: buzzer,\n                bypassoverload: bypassoverload,\n                guardapantallalcd: guardapantallalcd,\n                powersaving: powersaving,\n                overloadrestart: overloadrestart,\n                overtemperaturerestart: overtemperaturerestart,\n                luzlcd: luzlcd,\n                pitidosifuenteprimariafalla: pitidosifuenteprimariafalla,\n                grabarerrores: grabarerrores,\n                 }\n    }\n]\n","outputs":1,"noerr":0,"x":1150,"y":220,"wires":[["40daa278.7eaa8c"]]},{"id":"e4137dce.db47","type":"function","z":"9bc9a9f6.d07ec8","name":"QPIGSExtraccion","func":"var output = msg.payload.split(\" \");\nlet voltajered = parseFloat(output[0].slice(1, 5));\nlet frecuenciared = parseFloat(output[1]);\nlet voltajesalida = parseFloat(output[2]);\nlet frecuenciasalida = parseFloat(output[3]);\nlet potenciaparentesalida = parseInt(output[4]);\nlet potenciaactivasalida = parseInt(output[5]);\nlet porcentajecargasalida = parseInt(output[6]);\nlet voltajebusalta = parseInt(output[7]);\nlet voltajebateria = parseFloat(output[8]);\nlet amperioscargabat = parseInt(output[9]);\nlet capacidadbateria = parseInt(output[10]);\nlet temperaturainversor = parseInt(output[11]);\nlet amperiosenplaca = parseInt(output[12]);\nlet voltajeenplaca = parseInt(output[13]);\nlet voltajescc = parseFloat(output[14]);\nlet amperiosdescargabat = parseInt(output[15]);\nlet prioridadSBU = parseInt(output[16].slice(0,1));\nlet estadoconf = parseInt(output[16].slice(1,2));\nlet estadoscc = parseInt(output[16].slice(2,3));\nlet cargasconectadas = parseInt(output[16].slice(3,4));\nlet voltajeconstantemientrascarga = parseInt(output[16].slice(4,5));\nlet estadodecargageneral = parseInt(output[16].slice(5,6));\nlet estadodecargasolar = parseInt(output[16].slice(6,7));\nlet estadodecargared = parseInt(output[16].slice(7,9));\nlet potenciaenplaca = parseInt(output[19]);\nlet estadodelmppt = parseInt(output[20].slice(0,1));\nlet estadodelswitch = parseInt(output[20].slice(1,2));\nreturn [\n    {\n        payload: {\n                voltajered: voltajered,\n                frecuenciared: frecuenciared,\n                voltajesalida: voltajesalida,\n                frecuenciasalida: frecuenciasalida,\n                potenciaparentesalida: potenciaparentesalida,\n                potenciaactivasalida: potenciaactivasalida,\n                porcentajecargasalida: porcentajecargasalida,\n                voltajebateria: voltajebateria,\n                amperiosdescargabat: amperiosdescargabat,\n                amperioscargabat: amperioscargabat,\n                temperaturainversor: temperaturainversor,\n                potenciaenplaca: potenciaenplaca,\n                voltajeenplaca: voltajeenplaca,\n                estadodelmppt: estadodelmppt,\n                cargasconectadas: cargasconectadas,\n                voltajebusalta: voltajebusalta,\n                capacidadbateria: capacidadbateria,\n                amperiosenplaca: amperiosenplaca, \n                voltajescc: voltajescc,\n                prioridadSBU: prioridadSBU,\n                estadoconf: estadoconf,\n                estadoscc: estadoscc,\n                voltajeconstantemientrascarga: voltajeconstantemientrascarga,\n                estadodecargageneral: estadodecargageneral,\n                estadodecargasolar: estadodecargasolar,\n                estadodecargared: estadodecargared,\n                estadodelswitch: estadodelswitch\n                }\n    }\n];","outputs":1,"noerr":0,"initialize":"","finalize":"","x":1150,"y":100,"wires":[["40daa278.7eaa8c"]]},{"id":"bd349fa8.774d1","type":"function","z":"9bc9a9f6.d07ec8","name":"QPIRIExtraccion","func":"var output = msg.payload.split(\" \");\nlet voltajeredconf = parseFloat((output[0].slice(1, 5)));\nlet amperiosredmaxconf = parseFloat(output[1]);\nlet voltajesalidaconf = parseFloat(output[2]);\nlet frecuenciasalidaconf = parseFloat(output[3]);\nlet amperiossalidaconf = parseFloat(output[4]);\nlet potenciaaparentesalidaconf = parseFloat(output[5]);\nlet potenciaactivasalidaconf = parseFloat(output[6]);\nlet voltajebateriaconf = parseInt(output[7]);\nlet voltajelimitedescargabatconf = parseFloat(output[8]);\nlet voltajelimiterecargabatconf = parseFloat(output[22]);\nlet voltajeminimoparacorteconf = parseFloat(output[9]);\nlet voltajeabsorcionconf = parseFloat(output[10]);\nlet voltajeflotacionconf = parseFloat(output[11]);\nlet tipodebateriaconf = parseInt(output[12]);\nlet amperiosmaxcargadorbatconf = parseInt(output[13]);\nlet amperiosmaxtotalesabatconf = parseInt(output[14]);\nlet rangovoltajedentradaconf = parseInt(output[15]);\nlet prioridadfuentesalidaconf = parseInt(output[16]);\nlet prioridadcargadorbatconf = parseInt(output[17]);\nlet maximonumeroparalelosconf = parseInt(output[18]);\nlet tipodemaquina = parseInt(output[19]);\nlet tipodehibridoconf = parseInt(output[20]);\nlet tipodesalidaparaleloconf = parseInt(output[21]);\nlet potenciasolarparaleloconf = parseInt(output[23]);\nlet potenciasolarbalanceconf = parseInt(output[24]);\nglobal.set('voltajeabsorcionconfmax0' , voltajeabsorcionconf);\nglobal.set('voltajeflotacionconfmax0' , voltajeflotacionconf);\nreturn [\n    {\n        payload: {\n                voltajeredconf: voltajeredconf,\n                amperiosredmaxconf: amperiosredmaxconf,\n                voltajesalidaconf: voltajesalidaconf,\n                frecuenciasalidaconf: frecuenciasalidaconf,\n                amperiossalidaconf: amperiossalidaconf,\n                potenciaaparentesalidaconf: potenciaaparentesalidaconf,\n                potenciaactivasalidaconf: potenciaactivasalidaconf,\n                voltajebateriaconf: voltajebateriaconf,\n                voltajelimiterecargabatconf: voltajelimiterecargabatconf,\n                voltajelimitedescargabatconf: voltajelimitedescargabatconf,\n                voltajeminimoparacorteconf: voltajeminimoparacorteconf,\n                voltajeabsorcionconf: voltajeabsorcionconf,\n                voltajeflotacionconf: voltajeflotacionconf,\n                tipodebateriaconf: tipodebateriaconf,\n                amperiosmaxcargadorbatconf: amperiosmaxcargadorbatconf,\n                amperiosmaxtotalesabatconf: amperiosmaxtotalesabatconf,\n                rangovoltajedentradaconf: rangovoltajedentradaconf,\n                prioridadfuentesalidaconf: prioridadfuentesalidaconf,\n                prioridadcargadorbatconf: prioridadcargadorbatconf,\n                maximonumeroparalelosconf: maximonumeroparalelosconf,\n                tipodemaquina: tipodemaquina,\n                tipodehibridoconf: tipodehibridoconf,\n                tipodesalidaparaleloconf: tipodesalidaparaleloconf,\n                potenciasolarparaleloconf: potenciasolarparaleloconf,\n                potenciasolarbalanceconf: potenciasolarbalanceconf\n                }\n    }\n]","outputs":1,"noerr":0,"initialize":"","finalize":"","x":1140,"y":260,"wires":[["40daa278.7eaa8c"]]},{"id":"4423063a.c56eb8","type":"function","z":"9bc9a9f6.d07ec8","name":"QVFW Extraccion U1","func":"var output = msg.payload;\nlet Firmware = (output.slice(10, 15));\nreturn [\n    {\n        payload: {\n                Firmware: Firmware\n                 }\n    }\n]","outputs":1,"noerr":0,"x":1160,"y":140,"wires":[["40daa278.7eaa8c"]]},{"id":"198b4fc2.1fca4","type":"function","z":"9bc9a9f6.d07ec8","name":"QVFW3 Firmware U3","func":"var output = msg.payload;\nlet Firmware3 = (output.slice(10, 15));\nreturn [\n    {\n        payload: {\n                Firmware3: Firmware3\n                 }\n    }\n]","outputs":1,"noerr":0,"initialize":"","finalize":"","x":1160,"y":180,"wires":[["40daa278.7eaa8c"]]},{"id":"dd066a1.e232a98","type":"function","z":"9bc9a9f6.d07ec8","name":"QBEQI Ecu Extrac","func":"var output = msg.payload.split(\" \");\nlet activacionecualizacion = parseInt(output[0].slice(1, 2));\nlet tiempoecualizacion = parseInt(output[1]);\nlet diasentreecualizaciones = parseInt(output[2]);\nlet maxamperiosparaecualizar = parseInt(output[3]);\nlet diasquefaltanparaecualizar = parseInt(output[4]);\nlet voltajedeecualizacion = parseFloat(output[5]);\nlet tiempodeabsorcion = parseInt(output[6]);\nlet timeoutecualizacion = parseInt(output[7]);\nreturn [\n    {\n        payload: {\n                activacionecualizacion: activacionecualizacion,\n                tiempoecualizacion: tiempoecualizacion,\n                diasentreecualizaciones: diasentreecualizaciones,\n                maxamperiosparaecualizar: maxamperiosparaecualizar,\n                diasquefaltanparaecualizar: diasquefaltanparaecualizar,\n                voltajedeecualizacion: voltajedeecualizacion,\n                tiempodeabsorcion: tiempodeabsorcion,\n                timeoutecualizacion: timeoutecualizacion\n                 }\n    }\n]","outputs":1,"noerr":0,"initialize":"","finalize":"","x":1150,"y":300,"wires":[["40daa278.7eaa8c"]]},{"id":"9c689710.cb0018","type":"function","z":"9bc9a9f6.d07ec8","name":"QID Nº Serie Extrac","func":"var numerodeserie = msg.payload.slice(1, 15);\nflow.set('numerodeserie', numerodeserie);\nreturn [\n    {\n        payload: {\n                numerodeserie: numerodeserie\n                 }\n    }\n];\n// Numero de Serie va a flow o incluso podria ir a global para identificar en paralelos ","outputs":1,"noerr":0,"initialize":"","finalize":"","x":1160,"y":60,"wires":[["40daa278.7eaa8c"]]},{"id":"d4064c8b.a9e53","type":"comment","z":"9bc9a9f6.d07ec8","name":"Extractores","info":"","x":1170,"y":20,"wires":[]},{"id":"af0311cf.2cd99","type":"function","z":"9bc9a9f6.d07ec8","name":"QPIWS Warnings Extrac","func":"var output = msg.payload;\nlet reservado = parseInt(output.slice(1, 2));\nlet falloinversor = parseInt(output.slice(2, 3));\nlet fallo08voltajebusalto = parseInt(output.slice(3, 4));\nlet fallo52voltajebusbajo = parseInt(output.slice(4, 5));\nlet fallo09softwarebus = parseInt(output.slice(5, 6));\nlet peligronoacinput = parseFloat(output.slice(6, 7));\nlet peligrocortopv = parseInt(output.slice(7, 8));\nlet fallo58voltajeinversorbajo = parseInt(output.slice(8, 9));\nlet fallo06voltajeinversoralto = parseInt(output.slice(9, 10));\nlet peligro02sobretemperatura = parseInt(output.slice(10, 11));\nlet peligro01ventilador = parseInt(output.slice(11, 12));\nlet peligro03altovoltajebateria = parseInt(output.slice(12, 13));\nlet peligro04bajovoltajebateria = parseInt(output.slice(13, 14));\nlet peligro07sobrecargar = parseInt(output.slice(14, 15));\nlet peligrobateriashutdown = parseInt(output.slice(15, 16));\nlet peligro10bateriaderating = parseInt(output.slice(16, 17));\nlet peligroeeprom = parseInt(output.slice(17, 18));\nlet fallo51sobrecorriente = parseInt(output.slice(18, 19));\nlet fallosoftwareinversor = parseInt(output.slice(19, 20));\nlet falloautotest = parseInt(output.slice(20, 21));\nlet fallo55continuaenac = parseInt(output.slice(21, 22));\nlet fallo56bateriaabierta = parseInt(output.slice(22, 23));\nlet fallo57sensorcorriente = parseInt(output.slice(23, 24));\nlet fallocortobateria = parseInt(output.slice(24, 25));\nlet peligrolimitepotencia = parseInt(output.slice(25, 26));\nlet peligro13altovoltajeplaca = parseInt(output.slice(26, 27));\nlet fallompptsobrecarga = parseInt(output.slice(27, 28));\nlet peligro14mpptsobrecarga = parseInt(output.slice(28, 29));\nlet peligro12bateriabajaparamppt = parseInt(output.slice(29, 30));\nreturn [\n    {\n        payload: {\n            falloinversor: falloinversor,\n            fallo08voltajebusalto: fallo08voltajebusalto,\n            fallo52voltajebusbajo: fallo52voltajebusbajo,\n            fallo09softwarebus: fallo09softwarebus,\n            peligronoacinput: peligronoacinput,\n            peligrocortopv: peligrocortopv,\n            fallo06voltajeinversoralto: fallo06voltajeinversoralto,\n            peligro02sobretemperatura: peligro02sobretemperatura,\n            peligro01ventilador: peligro01ventilador,\n            peligro03altovoltajebateria: peligro03altovoltajebateria,\n            peligro04bajovoltajebateria: peligro04bajovoltajebateria,\n            peligro07sobrecargar: peligro07sobrecargar,\n            peligrobateriashutdown: peligrobateriashutdown,\n            peligro10bateriaderating: peligro10bateriaderating,\n            peligroeeprom: peligroeeprom,\n            fallo51sobrecorriente: fallo51sobrecorriente,\n            fallosoftwareinversor: fallosoftwareinversor,\n            falloautotest: falloautotest,\n            fallo55continuaenac: fallo55continuaenac,\n            fallo56bateriaabierta: fallo56bateriaabierta,\n            fallo57sensorcorriente: fallo57sensorcorriente,\n            fallocortobateria: fallocortobateria,\n            peligro13altovoltajeplaca: peligro13altovoltajeplaca,\n            fallompptsobrecarga: fallompptsobrecarga,\n            peligro14mpptsobrecarga: peligro14mpptsobrecarga,\n            peligro12bateriabajaparamppt: peligro12bateriabajaparamppt\n                 }\n    }\n]","outputs":1,"noerr":0,"initialize":"","finalize":"","x":1170,"y":340,"wires":[["40daa278.7eaa8c"]]},{"id":"40daa278.7eaa8c","type":"join","z":"9bc9a9f6.d07ec8","name":"Juntando Todo 4 s","mode":"custom","build":"merged","property":"payload","propertyType":"msg","key":"topic","joiner":"\\n","joinerType":"str","accumulate":false,"timeout":"4","count":"","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"","reduceFixup":"","x":1450,"y":280,"wires":[["d4e52660.0f5988"]]},{"id":"3a0b2dac.6bc8a2","type":"function","z":"9bc9a9f6.d07ec8","name":"QMOD Extractor","func":"var output = msg.payload;\nlet mdts = output.slice(1, 2);\nlet mododetrabajo;\nif (mdts === \"P\") {\n    mododetrabajo = 0;\n} else if (mdts === \"S\") {\n    mododetrabajo = 1;\n} else if (mdts === \"L\") {\n    mododetrabajo = 2;\n} else if (mdts === \"B\") {\n    mododetrabajo = 3;\n} else if (mdts === \"F\") {\n    mododetrabajo = 4;\n} else if (mdts === \"H\") {\n    mododetrabajo = 5;\n}    \nreturn [{\n    payload: {\n         mododetrabajo: mododetrabajo\n             }\n        }\n       ];","outputs":1,"noerr":0,"initialize":"","finalize":"","x":1140,"y":380,"wires":[["40daa278.7eaa8c"]]},{"id":"fcd12eb.29738d","type":"function","z":"9bc9a9f6.d07ec8","name":"QPIGS2Extraccion","func":"var output = msg.payload.split(\" \");\nlet amperiosenplaca2 = parseInt(output[0].slice(1, 5));\nlet voltajeenplaca2 = parseInt(output[1]);\nlet potenciaenplaca2 = parseInt(output[2]);\nreturn [\n    {\n        payload: {\n                potenciaenplaca2: potenciaenplaca2,\n                voltajeenplaca2: voltajeenplaca2,\n                amperiosenplaca2: amperiosenplaca2\n                }\n    }\n];","outputs":1,"noerr":0,"initialize":"","finalize":"","x":1150,"y":420,"wires":[["40daa278.7eaa8c"]]},{"id":"3b4d261d.daba4a","type":"function","z":"9bc9a9f6.d07ec8","name":"QLEDExtraccion","func":"var output = msg.payload.split(\" \");\nlet led = parseInt(output[0].slice(1, 2));\nlet ledvelocidad = parseInt(output[1]);\nlet ledefectos = parseInt(output[2]);\nlet ledbrillo = parseInt(output[3]);\nlet ledcosa = parseInt(output[4]);\nlet colorred = (output[5].slice(0,9));\nlet colorsolar = (output[5].slice(9,18));\nlet colorbateria = (output[5].slice(18,27));\nreturn [\n    {\n        payload: {\n                led: led,\n                ledvelocidad: ledvelocidad,\n                ledefectos: ledefectos,\n                ledbrillo: ledbrillo,\n                ledcosa: ledcosa,\n                colorred: colorred,\n                colorsolar: colorsolar,\n                colorbateria: colorbateria\n                }\n    }\n];","outputs":1,"noerr":0,"initialize":"","finalize":"","x":1140,"y":460,"wires":[["40daa278.7eaa8c"]]},{"id":"c2c747ec.cc0b58","type":"function","z":"9bc9a9f6.d07ec8","name":"QED Energia diaria producida","func":"var energiadiaria = parseInt(msg.payload.slice(1, 9));\nreturn [\n    {\n        payload: {\n                energiadiaria: energiadiaria\n                 }\n    }\n];","outputs":1,"noerr":0,"initialize":"","finalize":"","x":1190,"y":500,"wires":[["40daa278.7eaa8c","eafc0094.e565d"]]},{"id":"f5269e19.63df9","type":"function","z":"9bc9a9f6.d07ec8","name":"QLD Carga diaria entregada","func":"var cargadiariaentregada = parseInt(msg.payload.slice(1, 9));\nreturn [\n    {\n        payload: {\n                cargadiariaentregada: cargadiariaentregada\n                 }\n    }\n];","outputs":1,"noerr":0,"initialize":"","finalize":"","x":1180,"y":540,"wires":[["40daa278.7eaa8c","7a60ee3f.911df"]]},{"id":"1dd162e5.f2db9d","type":"inject","z":"9bc9a9f6.d07ec8","name":"QPIRI Configuracion","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"4","crontab":"","once":false,"onceDelay":0.1,"topic":"Configuracion","payload":"QPIRI","payloadType":"str","x":160,"y":280,"wires":[["61ce5339.3ff7ac"]]},{"id":"bb6879c0.e826a8","type":"inject","z":"9bc9a9f6.d07ec8","name":"QFLAG Miscelanea","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"4","crontab":"","once":false,"onceDelay":0.1,"topic":"Miscelanea","payload":"QFLAG","payloadType":"str","x":160,"y":240,"wires":[["61ce5339.3ff7ac"]]},{"id":"60ba838c.a6dd2c","type":"inject","z":"9bc9a9f6.d07ec8","name":"QBEQI Ecualizacion Bateria","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"4","crontab":"","once":false,"onceDelay":0.1,"topic":"Ecualizacion Bateria","payload":"QBEQI","payloadType":"str","x":190,"y":320,"wires":[["61ce5339.3ff7ac"]]},{"id":"a17ca4f5.bae9e8","type":"inject","z":"9bc9a9f6.d07ec8","name":"QPIWS Informacion Warnings","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"4","crontab":"","once":false,"onceDelay":0.1,"topic":"Informacion Warnings","payload":"QPIWS","payloadType":"str","x":190,"y":360,"wires":[["61ce5339.3ff7ac"]]},{"id":"5acbc736.c03538","type":"inject","z":"9bc9a9f6.d07ec8","name":"QPIGS Estado General","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"4","crontab":"","once":false,"onceDelay":0.1,"topic":"Estado General","payload":"QPIGS","payloadType":"str","x":170,"y":120,"wires":[["61ce5339.3ff7ac"]]},{"id":"a6e956bb.15a808","type":"inject","z":"9bc9a9f6.d07ec8","name":"QID Numero de Serie","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"4","crontab":"","once":false,"onceDelay":0.1,"topic":"Numero de Serie","payload":"QID","payloadType":"str","x":160,"y":80,"wires":[["61ce5339.3ff7ac"]]},{"id":"d882e049.679d1","type":"inject","z":"9bc9a9f6.d07ec8","name":"QVFW Firmware CPU1","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"4","crontab":"","once":false,"onceDelay":0.1,"topic":"Version CPU1","payload":"QVFW","payloadType":"str","x":170,"y":160,"wires":[["61ce5339.3ff7ac"]]},{"id":"251c2eb7.ca3252","type":"inject","z":"9bc9a9f6.d07ec8","name":"QVFW3 Firmware CPU3","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"4","crontab":"","once":false,"onceDelay":0.1,"topic":"Firmware CPU3","payload":"QVFW3","payloadType":"str","x":170,"y":200,"wires":[["61ce5339.3ff7ac"]]},{"id":"61ce5339.3ff7ac","type":"link out","z":"9bc9a9f6.d07ec8","name":"ParaCRCTJ","links":["2756c316.eadf3c"],"x":570,"y":360,"wires":[],"l":true},{"id":"497e6e1c.0ee55","type":"comment","z":"9bc9a9f6.d07ec8","name":"Comandos de monitorizacion","info":"Comandos de Monitorizacion","x":160,"y":40,"wires":[]},{"id":"39202c23.e6ea64","type":"inject","z":"9bc9a9f6.d07ec8","name":"QMOD Modo de Trabajo","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"4","crontab":"","once":false,"onceDelay":0.1,"topic":"Modo de Trabajo","payload":"QMOD","payloadType":"str","x":170,"y":400,"wires":[["61ce5339.3ff7ac"]]},{"id":"c82b0d71.22c3c","type":"inject","z":"9bc9a9f6.d07ec8","name":"QPIGS2 Segundo Campo","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"4","crontab":"","once":false,"onceDelay":0.1,"topic":"Campo2","payload":"QPIGS2","payloadType":"str","x":180,"y":440,"wires":[["61ce5339.3ff7ac"]]},{"id":"4813b372.e9c16c","type":"inject","z":"9bc9a9f6.d07ec8","name":"DAT Ajuste de Fecha","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"00 04 * * *","once":false,"onceDelay":0.1,"topic":"ajustedetiempo","payload":"DAT","payloadType":"str","x":160,"y":480,"wires":[["da8cd6b5.8dc498"]]},{"id":"7ca8dbdc.f345e4","type":"function","z":"9bc9a9f6.d07ec8","name":"FormatoTiempo","func":"var comando = msg.payload;\nvar aa = msg.myyear.slice(2,4);\nvar mm = msg.mymonthn;\nvar dd = msg.mydom;\nvar hh = msg.myhour;\nvar ff = msg.myminute;\nvar ss = msg.mysecond;\nmsg.payload = comando + aa + mm + dd + hh + ff + ss;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":300,"y":520,"wires":[["61ce5339.3ff7ac"]]},{"id":"445143c5.a5e9fc","type":"inject","z":"9bc9a9f6.d07ec8","name":"QLED Barra LED","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"4","crontab":"","once":false,"onceDelay":0.1,"topic":"Barra LED","payload":"QLED","payloadType":"str","x":150,"y":560,"wires":[["61ce5339.3ff7ac"]]},{"id":"aa4c4d04.97883","type":"inject","z":"9bc9a9f6.d07ec8","name":"Energiaproducidadiaria","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"60","crontab":"","once":false,"onceDelay":0.1,"topic":"energiaproducidadiaria","payload":"QED","payloadType":"str","x":170,"y":600,"wires":[["aafe8fbb.da251"]]},{"id":"d4afdba8.6582e8","type":"inject","z":"9bc9a9f6.d07ec8","name":"Cargadiariaentregada","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"60","crontab":"","once":false,"onceDelay":0.1,"topic":"cargadiariaentregada","payload":"QLD","payloadType":"str","x":170,"y":640,"wires":[["dc6f9b44.a170f8"]]},{"id":"2f807913.a65ce6","type":"function","z":"9bc9a9f6.d07ec8","name":"FormatoTiempo","func":"var comando = msg.payload;\nvar aa = msg.myyear;\nvar mm = msg.mymonthn;\nvar dd = msg.mydom;\nmsg.payload = comando + aa + mm + dd;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":540,"y":600,"wires":[["61ce5339.3ff7ac"]]},{"id":"985cc328.92477","type":"function","z":"9bc9a9f6.d07ec8","name":"FormatoTiempo","func":"var comando = msg.payload;\nvar aa = msg.myyear;\nvar mm = msg.mymonthn;\nvar dd = msg.mydom;\nmsg.payload = comando + aa + mm + dd;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":540,"y":640,"wires":[["61ce5339.3ff7ac"]]},{"id":"6919b517.d1e43c","type":"comment","z":"9bc9a9f6.d07ec8","name":"Monitorizacion para Hibrido AXPERT MAX SINGLE  ","info":"","x":770,"y":40,"wires":[]},{"id":"4698e682.977198","type":"link out","z":"9bc9a9f6.d07ec8","name":"TodasLecturasAXPERTMAX","links":["47bad823.eab31"],"x":1940,"y":280,"wires":[],"l":true},{"id":"bd8fa222.184f2","type":"comment","z":"9bc9a9f6.d07ec8","name":"Creando Objeto con todas las lecturas del Hibrido","info":"","x":1600,"y":220,"wires":[]},{"id":"d4e52660.0f5988","type":"function","z":"9bc9a9f6.d07ec8","name":"Id en topic num serie","func":"var topic = flow.get('numerodeserie');\nmsg.topic = topic;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":1680,"y":280,"wires":[["4698e682.977198","645a2e8b.dcbcb"]]},{"id":"2756c316.eadf3c","type":"link in","z":"9bc9a9f6.d07ec8","name":"EntradaalCRC","links":["61ce5339.3ff7ac"],"x":830,"y":640,"wires":[["509893d1.98ab3c","28599e88.f409da"]],"l":true},{"id":"4faa967b.783d88","type":"link in","z":"9bc9a9f6.d07ec8","name":"Respuesta Puerto serie","links":["22222d68.bf0a42"],"x":580,"y":280,"wires":[["ab516497.6a2e48"]],"l":true},{"id":"da8cd6b5.8dc498","type":"simpletime","z":"9bc9a9f6.d07ec8","name":"","mydate":true,"myymd":true,"myyear":true,"mymonth":true,"mymonthn":true,"mydom":true,"mydoy":true,"myday":true,"myhourpm":true,"myhour":true,"mytime":true,"mytimes":true,"myminute":true,"myminutes":true,"mysecond":true,"mymillis":true,"myepoch":true,"myrawdate":true,"mypm":true,"x":130,"y":520,"wires":[["7ca8dbdc.f345e4"]]},{"id":"aafe8fbb.da251","type":"simpletime","z":"9bc9a9f6.d07ec8","name":"","mydate":true,"myymd":true,"myyear":true,"mymonth":true,"mymonthn":true,"mydom":true,"mydoy":true,"myday":true,"myhourpm":true,"myhour":true,"mytime":true,"mytimes":true,"myminute":true,"myminutes":true,"mysecond":true,"mymillis":true,"myepoch":true,"myrawdate":true,"mypm":true,"x":370,"y":600,"wires":[["2f807913.a65ce6"]]},{"id":"dc6f9b44.a170f8","type":"simpletime","z":"9bc9a9f6.d07ec8","name":"","mydate":true,"myymd":true,"myyear":true,"mymonth":true,"mymonthn":true,"mydom":true,"mydoy":true,"myday":true,"myhourpm":true,"myhour":true,"mytime":true,"mytimes":true,"myminute":true,"myminutes":true,"mysecond":true,"mymillis":true,"myepoch":true,"myrawdate":true,"mypm":true,"x":370,"y":640,"wires":[["985cc328.92477"]]},{"id":"7a60ee3f.911df","type":"link out","z":"9bc9a9f6.d07ec8","name":"CargaDiariaEntregadaOut","links":["d479df6d.61ae48"],"x":1535,"y":500,"wires":[]},{"id":"eafc0094.e565d","type":"link out","z":"9bc9a9f6.d07ec8","name":"EnergiaDiariaProducidaOut","links":["a580d305.e694a"],"x":1535,"y":460,"wires":[]},{"id":"28599e88.f409da","type":"debug","z":"9bc9a9f6.d07ec8","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":1010,"y":760,"wires":[]},{"id":"88ec1814.a229c8","type":"serial-port","serialport":"/dev/ttyUSB1","serialbaud":"2400","databits":"8","parity":"none","stopbits":"1","waitfor":"","dtr":"none","rts":"none","cts":"none","dsr":"none","newline":"\\r","bin":"false","out":"char","addchar":"","responsetimeout":"1000"}]


    * Tratamiento de datos del Voltronic hacia Influx

    Mi instalación: Voltronic 7.2Kw, Daly 150A FAN, 16x LiFePo4 176AH y SDM320-Modbus-datosvoltronicflow.jpg



    Código:
    [{"id":"c5ad8b0f.b87dd8","type":"tab","label":"Datos Voltronic","disabled":false,"info":""},{"id":"47bad823.eab31","type":"link in","z":"c5ad8b0f.b87dd8","name":"TodasLecturasHibridoIN","links":["4698e682.977198"],"x":235,"y":160,"wires":[["c0b0fc84.e0911","bc6a3757.8804b8","e9904bca.c406e8","8346d65c.c2ba38","672258ef.6bfff8","7a4078af.8c87b8","90a5c134.0d639","add8b587.0314e8","68f375cf.3ab80c","f5aecad.74ee438","b8570aad.5861f8","68148440.0b8e94","5ed05e1f.c0cdc","f271040a.9c8ec8","123a942.324f76c","28005352.4b38cc"]]},{"id":"c0b0fc84.e0911","type":"function","z":"c5ad8b0f.b87dd8","name":"Voltaje Red","func":"var voltajered = {payload: parseFloat(msg.payload.voltajered)}\nreturn voltajered;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":410,"y":80,"wires":[["c6b98586.e630f8"]]},{"id":"bc6a3757.8804b8","type":"function","z":"c5ad8b0f.b87dd8","name":"Voltaje Salida","func":"var voltajesalida = {payload: parseFloat(msg.payload.voltajesalida)}\nreturn voltajesalida;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":420,"y":120,"wires":[["efed1638.9cf1f8"]]},{"id":"e9904bca.c406e8","type":"function","z":"c5ad8b0f.b87dd8","name":"Potencia Activa Salida","func":"var potenciaactivasalida = {payload: parseFloat(msg.payload.potenciaactivasalida)}\nreturn potenciaactivasalida;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":440,"y":160,"wires":[["6ccc5d34.0b6ec4"]]},{"id":"8346d65c.c2ba38","type":"function","z":"c5ad8b0f.b87dd8","name":"Voltaje Bateria","func":"var voltajebateria = {payload: parseFloat(msg.payload.voltajebateria)}\nreturn voltajebateria;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":420,"y":200,"wires":[["69b190be.f45748"]]},{"id":"672258ef.6bfff8","type":"function","z":"c5ad8b0f.b87dd8","name":"Potencia FV","func":"var PotenciaFV = {payload: (parseFloat(msg.payload.potenciaenplaca)+ parseFloat(msg.payload.potenciaenplaca2))}\nreturn PotenciaFV;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":410,"y":240,"wires":[["246db474.7453dc"]]},{"id":"7a4078af.8c87b8","type":"function","z":"c5ad8b0f.b87dd8","name":"Capacidad Bateria","func":"var capacidadbateria = {payload: parseFloat(msg.payload.capacidadbateria)}\nreturn capacidadbateria;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":430,"y":280,"wires":[["1a87adf6.17072a"]]},{"id":"34ffdedc.0c84a2","type":"link out","z":"c5ad8b0f.b87dd8","name":"PotenciaActivaSalidaOut2Graph","links":["ab402569.23fc4"],"x":695,"y":40,"wires":[]},{"id":"90a5c134.0d639","type":"function","z":"c5ad8b0f.b87dd8","name":"Potencia Activa Salida Graph","func":"var potenciaactivasalida = parseFloat(msg.payload.potenciaactivasalida)\n\nreturn {topic : \"P_Activa Voltronic\", payload : potenciaactivasalida};","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":470,"y":40,"wires":[["34ffdedc.0c84a2"]]},{"id":"c6b98586.e630f8","type":"influxdb out","z":"c5ad8b0f.b87dd8","influxdb":"49033e8f.440a88","name":"VoltajeredVoltronic","measurement":"voltajered","precision":"","retentionPolicy":"","database":"database","precisionV18FluxV20":"ms","retentionPolicyV18Flux":"","org":"organisation","bucket":"bucket","x":780,"y":80,"wires":[]},{"id":"efed1638.9cf1f8","type":"influxdb out","z":"c5ad8b0f.b87dd8","influxdb":"49033e8f.440a88","name":"VoltajeACasaVoltronic","measurement":"VoltajeSalidaACasa","precision":"","retentionPolicy":"","database":"database","precisionV18FluxV20":"ms","retentionPolicyV18Flux":"","org":"organisation","bucket":"bucket","x":780,"y":120,"wires":[]},{"id":"6ccc5d34.0b6ec4","type":"influxdb out","z":"c5ad8b0f.b87dd8","influxdb":"49033e8f.440a88","name":"PotenciaActivaVoltronic","measurement":"PotenciaActiva","precision":"","retentionPolicy":"","database":"database","precisionV18FluxV20":"ms","retentionPolicyV18Flux":"","org":"organisation","bucket":"bucket","x":790,"y":160,"wires":[]},{"id":"69b190be.f45748","type":"influxdb out","z":"c5ad8b0f.b87dd8","influxdb":"49033e8f.440a88","name":"VoltajeBateria","measurement":"Voltajebateria","precision":"","retentionPolicy":"","database":"database","precisionV18FluxV20":"ms","retentionPolicyV18Flux":"","org":"organisation","bucket":"bucket","x":760,"y":200,"wires":[]},{"id":"246db474.7453dc","type":"influxdb out","z":"c5ad8b0f.b87dd8","influxdb":"49033e8f.440a88","name":"PotenciaFV","measurement":"PotenciaFV","precision":"","retentionPolicy":"","database":"database","precisionV18FluxV20":"ms","retentionPolicyV18Flux":"","org":"organisation","bucket":"bucket","x":750,"y":240,"wires":[]},{"id":"1a87adf6.17072a","type":"influxdb out","z":"c5ad8b0f.b87dd8","influxdb":"49033e8f.440a88","name":"CapacidadBateria","measurement":"CapacidadBateria","precision":"","retentionPolicy":"","database":"database","precisionV18FluxV20":"ms","retentionPolicyV18Flux":"","org":"organisation","bucket":"bucket","x":770,"y":280,"wires":[]},{"id":"add8b587.0314e8","type":"function","z":"c5ad8b0f.b87dd8","name":"Potencia MPPT1","func":"var potenciaenplaca = {payload: parseFloat(msg.payload.potenciaenplaca)}\nreturn potenciaenplaca;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":430,"y":320,"wires":[["adc9f2fa.a8e03"]]},{"id":"68f375cf.3ab80c","type":"function","z":"c5ad8b0f.b87dd8","name":"Potencia MPPT2","func":"var potenciaenplaca2 = {payload: parseFloat(msg.payload.potenciaenplaca2)}\nreturn potenciaenplaca2;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":430,"y":360,"wires":[["498a0266.3d398c"]]},{"id":"adc9f2fa.a8e03","type":"influxdb out","z":"c5ad8b0f.b87dd8","influxdb":"49033e8f.440a88","name":"Potencia MPPT1","measurement":"PotenciaMPPT1","precision":"","retentionPolicy":"","database":"database","precisionV18FluxV20":"ms","retentionPolicyV18Flux":"","org":"organisation","bucket":"bucket","x":770,"y":320,"wires":[]},{"id":"498a0266.3d398c","type":"influxdb out","z":"c5ad8b0f.b87dd8","influxdb":"49033e8f.440a88","name":"Potencia MPPT2","measurement":"PotenciaMPPT2","precision":"","retentionPolicy":"","database":"database","precisionV18FluxV20":"ms","retentionPolicyV18Flux":"","org":"organisation","bucket":"bucket","x":770,"y":360,"wires":[]},{"id":"8bf38165.a396e","type":"influxdb out","z":"c5ad8b0f.b87dd8","influxdb":"49033e8f.440a88","name":"Carga diaria entregada","measurement":"CargaDiariaEntregada","precision":"","retentionPolicy":"","database":"database","precisionV18FluxV20":"ms","retentionPolicyV18Flux":"","org":"organisation","bucket":"bucket","x":790,"y":840,"wires":[]},{"id":"8f1f8ded.724068","type":"debug","z":"c5ad8b0f.b87dd8","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":710,"y":960,"wires":[]},{"id":"a580d305.e694a","type":"link in","z":"c5ad8b0f.b87dd8","name":"EnergiaDiaria","links":["eafc0094.e565d"],"x":235,"y":880,"wires":[["ffbbe75f.f1aaa8"]]},{"id":"ffbbe75f.f1aaa8","type":"function","z":"c5ad8b0f.b87dd8","name":"Energia Diaria Entregada","func":"var energiadiaria = {payload: parseFloat(msg.payload.energiadiaria)}\nreturn energiadiaria;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":450,"y":880,"wires":[["3a88fe64.2b0f0a","d1913915.5bf2e8"]]},{"id":"d479df6d.61ae48","type":"link in","z":"c5ad8b0f.b87dd8","name":"CargaDiaria","links":["7a60ee3f.911df"],"x":235,"y":840,"wires":[["2afcb6cc.62803a"]]},{"id":"2afcb6cc.62803a","type":"function","z":"c5ad8b0f.b87dd8","name":"Carga Diaria Entregada","func":"var cargadiariaentregada = {payload: parseFloat(msg.payload.cargadiariaentregada)}\nreturn cargadiariaentregada;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":450,"y":840,"wires":[["8f1f8ded.724068","8bf38165.a396e"]]},{"id":"3a88fe64.2b0f0a","type":"debug","z":"c5ad8b0f.b87dd8","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":730,"y":1040,"wires":[]},{"id":"d1913915.5bf2e8","type":"influxdb out","z":"c5ad8b0f.b87dd8","influxdb":"49033e8f.440a88","name":"Energia diaria entregada","measurement":"EnergiaDiariaEntregada","precision":"","retentionPolicy":"","database":"database","precisionV18FluxV20":"ms","retentionPolicyV18Flux":"","org":"organisation","bucket":"bucket","x":790,"y":880,"wires":[]},{"id":"f5aecad.74ee438","type":"function","z":"c5ad8b0f.b87dd8","name":"Temperatura Inversor","func":"var temperaturainversor = {payload: parseFloat(msg.payload.temperaturainversor)}\nreturn temperaturainversor;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":440,"y":400,"wires":[["a9e145f1.9a9df8"]]},{"id":"a9e145f1.9a9df8","type":"influxdb out","z":"c5ad8b0f.b87dd8","influxdb":"49033e8f.440a88","name":"Temperatura Inversor","measurement":"TemperaturaVoltronic","precision":"","retentionPolicy":"","database":"database","precisionV18FluxV20":"ms","retentionPolicyV18Flux":"","org":"organisation","bucket":"bucket","x":780,"y":400,"wires":[]},{"id":"f61487a8.228c6","type":"influxdb out","z":"c5ad8b0f.b87dd8","influxdb":"49033e8f.440a88","name":"Voltaje Bateria","measurement":"Voltajebateria","precision":"","retentionPolicy":"","database":"database","precisionV18FluxV20":"ms","retentionPolicyV18Flux":"","org":"organisation","bucket":"bucket","x":760,"y":560,"wires":[]},{"id":"b8570aad.5861f8","type":"function","z":"c5ad8b0f.b87dd8","name":"Voltaje Bateria","func":"var voltajebateria = {payload: parseFloat(msg.payload.voltajebateria)}\nreturn voltajebateria;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":420,"y":560,"wires":[["f61487a8.228c6"]]},{"id":"1cee86ff.9554f9","type":"influxdb out","z":"c5ad8b0f.b87dd8","influxdb":"49033e8f.440a88","name":"Amperios Descarga Bat","measurement":"Amperiosdescargabat","precision":"","retentionPolicy":"","database":"database","precisionV18FluxV20":"ms","retentionPolicyV18Flux":"","org":"organisation","bucket":"bucket","x":790,"y":600,"wires":[]},{"id":"68148440.0b8e94","type":"function","z":"c5ad8b0f.b87dd8","name":"Amperios Descarga Bat","func":"var amperiosdescargabat = {\n    topic : \"Descarga Bat\",\n    payload: parseFloat(msg.payload.amperiosdescargabat)}\nreturn amperiosdescargabat;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":450,"y":600,"wires":[["1cee86ff.9554f9"]]},{"id":"1570dba3.b0f0d4","type":"influxdb out","z":"c5ad8b0f.b87dd8","influxdb":"49033e8f.440a88","name":"Amperios Carga Bat","measurement":"Amperioscargabat","precision":"","retentionPolicy":"","database":"database","precisionV18FluxV20":"ms","retentionPolicyV18Flux":"","org":"organisation","bucket":"bucket","x":780,"y":680,"wires":[]},{"id":"5ed05e1f.c0cdc","type":"function","z":"c5ad8b0f.b87dd8","name":"Amperios Carga Bat","func":"var amperioscargabat = {\n    topic : \"Cargabat\",\n    payload: parseFloat(msg.payload.amperioscargabat)}\nreturn amperioscargabat;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":440,"y":680,"wires":[["1570dba3.b0f0d4"]]},{"id":"b4c1b840.2746c","type":"influxdb out","z":"c5ad8b0f.b87dd8","influxdb":"49033e8f.440a88","name":"Amperios Combi Carga Bat","measurement":"AmperiosCombiCargaBat","precision":"","retentionPolicy":"","database":"database","precisionV18FluxV20":"ms","retentionPolicyV18Flux":"","org":"organisation","bucket":"bucket","x":800,"y":760,"wires":[]},{"id":"f271040a.9c8ec8","type":"function","z":"c5ad8b0f.b87dd8","name":"Amperios Combi Carga Bat","func":"var amperioscargabat = parseFloat(msg.payload.amperioscargabat)\nvar amperiosdescargabat = parseFloat(msg.payload.amperiosdescargabat)\n\nif (amperioscargabat >= 0) {\n    \n    return {\n        \n        topic : \"Cargando Bat\",\n        payload : (-1*amperioscargabat)\n        \n        };\n    \n} else if (amperiosdescargabat > 0 ){\n    \n    return {\n        topic : \"Descargando Bat\",\n        \n        payload : amperiosdescargabat}    \n    \n}","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":460,"y":760,"wires":[["b4c1b840.2746c"]]},{"id":"686f3955.89b28","type":"influxdb out","z":"c5ad8b0f.b87dd8","influxdb":"49033e8f.440a88","name":"Potencia a Batería","measurement":"PotenciaABat","precision":"","retentionPolicy":"","database":"database","precisionV18FluxV20":"ms","retentionPolicyV18Flux":"","org":"organisation","bucket":"bucket","x":770,"y":800,"wires":[]},{"id":"123a942.324f76c","type":"function","z":"c5ad8b0f.b87dd8","name":"Potencia a Bat","func":"var voltajebateria = parseFloat(msg.payload.voltajebateria)\nvar amperioscargabat = parseFloat(msg.payload.amperioscargabat)\nvar amperiosdescargabat = parseFloat(msg.payload.amperiosdescargabat)\n\nif (amperioscargabat > 0) {\n    \n    return {\n        \n        topic : \"Cargando Bat\",\n        payload : ((-1) * amperioscargabat * voltajebateria)\n        \n        };\n    \n} else if (amperiosdescargabat > 0 ){\n    \n    return {\n        topic : \"Descargando Bat\",\n        \n        payload : (amperiosdescargabat * voltajebateria)}    \n    \n} else return {\n        topic : \"Bat Neutra\",\n        \n        payload : 0}","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":420,"y":800,"wires":[["686f3955.89b28"]]},{"id":"28005352.4b38cc","type":"function","z":"c5ad8b0f.b87dd8","name":"Potencia Descarga Bat","func":"var voltajebateria = parseFloat(msg.payload.voltajebateria)\nvar amperiosdescargabat = parseFloat(msg.payload.amperiosdescargabat)\n\n    return {\n        \n        topic : \"P Descargando Bat\",\n        \n        payload : (amperiosdescargabat * voltajebateria)\n        \n    };","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":450,"y":640,"wires":[["54e4c559.4f39fc"]]},{"id":"54e4c559.4f39fc","type":"influxdb out","z":"c5ad8b0f.b87dd8","influxdb":"49033e8f.440a88","name":"Potencia Descarga Bat","measurement":"PotenciaDescargaBat","precision":"","retentionPolicy":"","database":"database","precisionV18FluxV20":"ms","retentionPolicyV18Flux":"","org":"organisation","bucket":"bucket","x":790,"y":640,"wires":[]},{"id":"9b0e5256.2de668","type":"function","z":"c5ad8b0f.b87dd8","name":"Potencia Carga Bat","func":"var voltajebateria = parseFloat(msg.payload.voltajebateria)\nvar amperioscargabat = parseFloat(msg.payload.amperioscargabat)\n\n    return {\n        \n        topic : \"P Cargando Bat\",\n        \n        payload : ((-1) * amperioscargabat * voltajebateria)\n        \n    };\n    \n    ","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":430,"y":720,"wires":[["52602277.a599ec"]]},{"id":"52602277.a599ec","type":"influxdb out","z":"c5ad8b0f.b87dd8","influxdb":"49033e8f.440a88","name":"Potencia Carga Bat","measurement":"PotenciaCargaBat","precision":"","retentionPolicy":"","database":"database","precisionV18FluxV20":"ms","retentionPolicyV18Flux":"","org":"organisation","bucket":"bucket","x":770,"y":720,"wires":[]},{"id":"49033e8f.440a88","type":"influxdb","hostname":"localhost","port":"8086","protocol":"http","database":"Voltronic","name":"BBDD_Voltronic","usetls":false,"tls":"","influxdbVersion":"1.x","url":"http://localhost:8086","rejectUnauthorized":true}]

    * Datos del SDM320

    Mi instalación: Voltronic 7.2Kw, Daly 150A FAN, 16x LiFePo4 176AH y SDM320-Modbus-sdmflow.jpg

    Código:
    [{"id":"6ecfaece.6f0a3","type":"tab","label":"SDM320_Modbus","disabled":false,"info":""},{"id":"7b9c580a.49b14","type":"modbus-read","z":"6ecfaece.6f0a3","name":"SDM320","topic":"","showStatusActivities":false,"logIOActivities":false,"showErrors":false,"unitid":"","dataType":"InputRegister","adr":"0","quantity":"72","rate":"5","rateUnit":"s","delayOnStart":false,"startDelayTime":"","server":"30d9822.c62037e","useIOFile":false,"ioFile":"","useIOForPayload":false,"emptyMsgOnFail":false,"x":170,"y":60,"wires":[[],["74a90539.18e514"]]},{"id":"74a90539.18e514","type":"function","z":"6ecfaece.6f0a3","name":"Extractor Datos SDM230","func":"let voltajegrid = msg.payload.buffer.readFloatBE(0,4);\nlet amperiosgrid = msg.payload.buffer.readFloatBE(12,4);\nlet potenciaactiva = msg.payload.buffer.readFloatBE(24,4);\nlet potenciaaparente = msg.payload.buffer.readFloatBE(36,4);\nlet potenciareactiva = msg.payload.buffer.readFloatBE(48,4);\nlet factorpotencia = msg.payload.buffer.readFloatBE(60,4);\nlet angulodefase = msg.payload.buffer.readFloatBE(72,4);\nlet frecuenciagrid = msg.payload.buffer.readFloatBE(140,4);\nreturn[\n    {\n        payload:{\n            voltajegrid: parseFloat(voltajegrid).toFixed(1),\n            amperiosgrid: parseFloat(amperiosgrid).toFixed(2),\n            potenciaactiva: parseFloat(potenciaactiva).toFixed(1),\n            potenciaaparente: parseFloat(potenciaaparente).toFixed(1),\n            potenciareactiva: parseFloat(potenciareactiva).toFixed(1),\n            factorpotencia: parseFloat(factorpotencia).toFixed(1),\n            angulodefase: parseFloat(angulodefase).toFixed(1),\n            frecuenciagrid: parseFloat(frecuenciagrid).toFixed(2)\n        }, topic:\"SDM230 Monitor RED\"\n    }\n];","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":430,"y":60,"wires":[["137fa28.d3a435e","89debf4b.cd40e8","3f128b88.de362c","b34baf4f.7a4468"]]},{"id":"fa85cd23.6264a8","type":"ui_gauge","z":"6ecfaece.6f0a3","name":"SDM_Voltaje","group":"716cc690.763988","order":0,"width":"5","height":"5","gtype":"gage","title":"Voltaje","label":"V","format":"{{value}}","min":"220","max":"240","colors":["#00b500","#e6e600","#ca3838"],"seg1":"","seg2":"","x":970,"y":160,"wires":[]},{"id":"137fa28.d3a435e","type":"function","z":"6ecfaece.6f0a3","name":"Extractor Voltaje","func":"var voltagered = {payload: parseFloat(msg.payload.voltajegrid)}\nreturn voltagered;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":670,"y":160,"wires":[["fa85cd23.6264a8","14bc5c73.e5c8ec","8cae787f.a47f28"]]},{"id":"78dd1217.19fcac","type":"ui_gauge","z":"6ecfaece.6f0a3","name":"SDM_P_Activa","group":"716cc690.763988","order":0,"width":"5","height":"5","gtype":"gage","title":"P_Activa","label":"W","format":"{{value}}","min":"-500","max":"4000","colors":["#00b500","#e6e600","#ca3838"],"seg1":"","seg2":"","x":980,"y":200,"wires":[]},{"id":"89debf4b.cd40e8","type":"function","z":"6ecfaece.6f0a3","name":"ExtractorPotencia","func":"var potenciaactiva = {payload: parseFloat(msg.payload.potenciaactiva)}\nreturn potenciaactiva;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":680,"y":220,"wires":[["78dd1217.19fcac","b6d1c1ae.50e3b"]]},{"id":"169ea4e5.da4b0b","type":"ui_chart","z":"6ecfaece.6f0a3","name":"Active Power","group":"716cc690.763988","order":2,"width":"12","height":"4","label":"Historico consumo","chartType":"line","legend":"true","xformat":"HH:mm:ss","interpolate":"bezier","nodata":"","dot":false,"ymin":"","ymax":"","removeOlder":"2","removeOlderPoints":"","removeOlderUnit":"3600","cutout":0,"useOneColor":false,"useUTC":false,"colors":["#1f77b4","#aec7e8","#ff7f0e","#2ca02c","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5"],"outputs":1,"useDifferentColor":false,"x":970,"y":280,"wires":[[]],"inputLabels":["SDM, Voltronic"]},{"id":"b6d1c1ae.50e3b","type":"influxdb out","z":"6ecfaece.6f0a3","influxdb":"1057e718.f96901","name":"Influx_SDM_ActivePower","measurement":"ActivePower","precision":"","retentionPolicy":"","database":"database","precisionV18FluxV20":"ms","retentionPolicyV18Flux":"","org":"organisation","bucket":"bucket","x":1010,"y":240,"wires":[]},{"id":"14bc5c73.e5c8ec","type":"ui_chart","z":"6ecfaece.6f0a3","name":"Voltaje","group":"716cc690.763988","order":4,"width":0,"height":0,"label":"Voltaje red","chartType":"line","legend":"false","xformat":"HH:mm","interpolate":"linear","nodata":"","dot":false,"ymin":"","ymax":"","removeOlder":"2","removeOlderPoints":"","removeOlderUnit":"3600","cutout":0,"useOneColor":false,"useUTC":false,"colors":["#1f77b4","#aec7e8","#ff7f0e","#2ca02c","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5"],"outputs":1,"useDifferentColor":false,"x":960,"y":120,"wires":[[]]},{"id":"ab402569.23fc4","type":"link in","z":"6ecfaece.6f0a3","name":"PotenciaActivaEntrada2Graph","links":["34ffdedc.0c84a2"],"x":695,"y":340,"wires":[["169ea4e5.da4b0b"]]},{"id":"3f128b88.de362c","type":"function","z":"6ecfaece.6f0a3","name":"Extractor Active Power","func":"var potenciaactivaSDM = parseFloat(msg.payload.potenciaactiva)\n\nreturn {topic:\"P_Activa SDM\", payload : potenciaactivaSDM};","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":700,"y":280,"wires":[["169ea4e5.da4b0b"]]},{"id":"8cae787f.a47f28","type":"influxdb out","z":"6ecfaece.6f0a3","influxdb":"1057e718.f96901","name":"Influx_SDM_VoltajeRed","measurement":"VoltajeRed","precision":"","retentionPolicy":"","database":"database","precisionV18FluxV20":"ms","retentionPolicyV18Flux":"","org":"organisation","bucket":"bucket","x":1010,"y":80,"wires":[]},{"id":"b34baf4f.7a4468","type":"function","z":"6ecfaece.6f0a3","name":"Extractor ABS(Active Power)","func":"var ABSpotenciaactivaSDM = Math.abs(parseFloat(msg.payload.potenciaactiva))\n\nreturn {topic:\"ABS P_Activa SDM\", payload : ABSpotenciaactivaSDM};","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":720,"y":380,"wires":[["b75180b4.8bbef"]]},{"id":"b75180b4.8bbef","type":"influxdb out","z":"6ecfaece.6f0a3","influxdb":"1057e718.f96901","name":"Influx_SDM_ABSActivePower","measurement":"ABSActivePower","precision":"","retentionPolicy":"","database":"database","precisionV18FluxV20":"ms","retentionPolicyV18Flux":"","org":"organisation","bucket":"bucket","x":1020,"y":380,"wires":[]},{"id":"30d9822.c62037e","type":"modbus-client","name":"SerialTCPSDM","clienttype":"tcp","bufferCommands":true,"stateLogEnabled":false,"queueLogEnabled":false,"tcpHost":"192.168.1.155","tcpPort":"8899","tcpType":"TELNET","serialPort":"/dev/ttyUSB","serialType":"RTU-BUFFERD","serialBaudrate":"9600","serialDatabits":"8","serialStopbits":"1","serialParity":"none","serialConnectionDelay":"100","unit_id":1,"commandDelay":30,"clientTimeout":2500,"reconnectOnTimeout":true,"reconnectTimeout":5000,"parallelUnitIdsAllowed":true},{"id":"716cc690.763988","type":"ui_group","name":"Main","tab":"6317b722.f64be","order":1,"disp":true,"width":"12","collapse":false},{"id":"1057e718.f96901","type":"influxdb","hostname":"localhost","port":"8086","protocol":"http","database":"ValoresSDM","name":"BBDD_SDM","usetls":false,"tls":"","influxdbVersion":"1.x","url":"http://localhost:8086","rejectUnauthorized":true},{"id":"6317b722.f64be","type":"ui_tab","name":"SDM Data","icon":"dashboard","disabled":false,"hidden":false}]

  2. #2
    asl12 está desconectado Forero
    Fecha de ingreso
    mar 2021
    Ubicación
    Navarra
    Mensajes
    238

    Predeterminado Re: Mi instalación: Voltronic 7.2Kw, Daly 150A FAN, 16x LiFePo4 176AH y SDM320-Modbus

    Hola!
    En primer lugar enhorabuena por la instalación, es una maravilla! Yo por ahora (MAX, 6.8kwp y 16s-280Ah BMS Ant 400A, ICC Solar que además controla los relés del ACS)
    Los vertidos que mencionas, puedes ver si son de reactiva? El mío no vierte activa, sólo reactiva (lo hace bajo cargas bajas y con el by-pass activado)
    Yo el tema del SOC lo voy a solucionar con un BMV Victron (en el chat del MAX tienes links a Aliexpress, pero he conseguido uno original a buen precio), creo que es la mejor solución (el original o el de China)
    Si te apañas con Nodered/influx/grafana, por qué no pruebas con domotica.solar? Yo he comprado la imagen (10€) y desde ahí creo que puedes tener la base para construir todo, yo ahora no tengo tiempo pero en cuanto amplíe me va a venir bien para no tener dos RBPI con 2 ICC (voy a poner otro MAX, 3.6kwp y el coche)
    Lo del OPENEVSE, lo pensé pero creo que para los 27kwh de la batería del coche con el cargador estándar creo que me valdrá...
    Pero bueno, veo que lo tienes todo muy controlado! Mi único comentario es relativo a tener un voc en un string de 462v, OK en verano pero peligroso en invierno...

  3. #3
    elfrisky está desconectado Forero
    Fecha de ingreso
    feb 2012
    Ubicación
    Un pueblecito de Granada
    Mensajes
    192

    Predeterminado Re: Mi instalación: Voltronic 7.2Kw, Daly 150A FAN, 16x LiFePo4 176AH y SDM320-Modbus

    Hola asl12,

    Muchísimas gracias por comentar! A ver si te puedo responder desde mi punto de vista cual es mi intención, y no pretendo que prevalezcan sobre las tuyas, sino más bien quisiera que debatiéramos y así poder hacer las cosas mejor y más óptimas.

    Respecto a los vertidos, con el SDM puedes ver la parte activa y la reactiva de la potencia, y nunca me ha importado la reactiva (a esta escala, y porque no se nos cobra en doméstico!), así que mis mediciones siempre han sido en activa. Para muestra un botón:

    Mi instalación: Voltronic 7.2Kw, Daly 150A FAN, 16x LiFePo4 176AH y SDM320-Modbus-voltronic-volcando.jpg

    Aquí todavía no tenía las baterías conectadas, y siempre tenía que andar apagando/encendiendo el termo, coche, AA para que no se pusiera a volcar, porque si no se quedaba horas volcando -200W constantemente y ya te digo, en activa.

    Lo del SOC entiendo que lo vas a atacar por el tema culómbico, tantos AxTiempo tanta energía entra si tengo X Voltios, pero para eso tenemos un BMS, para eso y para las protecciones que se supone que tiene, así que voy a seguir intentando meter en el influx/grafana/NodeRed el feed de datos del BMS para usar el SOC de él. Un tema que me mosquea y mucho es el balanceo de las celdas. Tengo una celda que en seguida me llega a 3.55V y hace que me salte la protección de carga: el BMS desconecta la carga. Curiosamente el Voltronic no se queja cuando la BMS abre el circuito!. Quiero estar seguro que el balanceo está activo y que meto a esa celda en vereda. Sigo muy de cerca el canal del australiano con acento alemán este, en el que habla de balanceadores activos de carga: el Daly solo mueve 0.03A, cosa anecdótica con deldas de 176AH o como las tuyas de 280A. En mi caso, lo siguiente será hacer un Top Balance (si tengo tiempo), y si no buscarme la forma de ponerle carga a esa celda y bajarla a más o menos lo mismo que sus hermanas. Ya se verá.

    Domótica Solar: Me flipa el tío, es otro canal que sigo y ahí pienso estar esta noche en el directo (con permiso de la parienta y los niños). Me hace volver a tener esperanzas en la humanidad: cómo un tío que sabe tanto está dispuesto a echar el rato con unos frikis como nosotros. Respecto a lo de comprar la imágen, no me vale porque las RPIs no las quiero, prefiero ThinClients (mejores y "más baratos" que las RPIs); él tiene los programas dockerizados, yo los he instalado a pelo. Estoy pensando en contribuir con algún superchat o incluso pagarle por que me eche una mano personalizada, pero al pack ese no le veo que me encaje con lo que tengo entre manos.

    Pienso lo mismo con el ICC, para que pagar por eso si te lo puedes montar más y mejor con NodeRed+HA? (+influx más mil cosas más, pero es más flexible. lo que tiene ICC es que funciona "out of the box", pero por eso mismo, tiene sus limitaciones).

    Lo del OpenEvse es que quiero ponerme una manguera de 5m colgando del techo (en plan cutre con pulpos elásticos, en plan bueno con un recoje-cable automático en plan línea de aire a presión de los talleres) para no tener que estar conectando el ladrillo portátil de 10A que te dan con el coche. Además, que como te digo y por lo menos el mío, está limitado a 10A y mi idea con el OpenEvse es poner el de 32A y gestionarlo desde NodeRed mandándole setpoints de carga para gestionar los excedentes y solo cargar de solar. Ahora lo hago mirando el grafana y con el ladrillo enchufado a un teckin, pero pierdo mucho el tiempo.

    Y por último, con respecto al Voc hice una transposición a Excel de los ejemplos que pone el manual de instrucciones del Voltronic y las Voc que salen de esas configuraciones de ejemplo, sus Voc son muy próximos al que (voy a) podría tener yo:

    Mi instalación: Voltronic 7.2Kw, Daly 150A FAN, 16x LiFePo4 176AH y SDM320-Modbus-voc.jpg

    Y digo "podría" porque en el momento que el Voltronic esté en carga, el Vnominal siempre va a ser menor que el Voc, así que por ahí creo que estaría a salvo. Mínimo seguro que los 200W de consumos fantasmas de la casa + el consumo del Voltronic tiene que sacarlo de placas.

  4. #4
    asl12 está desconectado Forero
    Fecha de ingreso
    mar 2021
    Ubicación
    Navarra
    Mensajes
    238

    Predeterminado Re: Mi instalación: Voltronic 7.2Kw, Daly 150A FAN, 16x LiFePo4 176AH y SDM320-Modbus

    Hola!
    El debate siempre enriquece! Considerar que uno mismo tiene "la" visión no lleva nunca a aprender ni crecer...
    Empiezo con el tema del Voc yo tengo 8 paneles en serie con 50v Voc y por seguridad (0.33% de incremento de tensión por cada grado por debajo de 20ºC, asumiendo un extremo de -20º, supone un 13% de factor de seguridad) decidí no montar 9 unidades... pero claro, bajo tu propuesta no debería de haber problema siempre y cuando haya carga de consumo (los 200w que mencionabas) si monto 450v de voc.
    Lo de la activa yo lo comprobé con la telemedida (varias veces) y me dio 0w (0va) con 7A medidos con un multimetro (pinza)
    Yo por no disponer de un cargador en condiciones para 3.2v, no hice el top-balancing como nuestro amigo Andy, pero ya harto de lo que comentas decidí llevar todas a 3.53-3.55 a base de hacer descargas y cargas de celdas de una en una. El tema es mucho más importante de lo que parece, y por mucho que se repita que la curva del LFP es como es, no caes hasta que lo tienes afinado. Me llevo varias horas (usando el modo SUB) pero lo conseguí, pero hay que hacerlo bastante arriba (3.55) para que salga bien... El balanceador, pues no lo veo si usas las baterías hasta el 90% SOC, porque me costó varias horas hacer el ajuste final, pero bueno a base de hacer subir a la batería de tensión imagino que se ajustarán...
    El ICC está bien, pero ahora que voy a montar un segundo inversor necesito otra licencia y otra RBPI y los veré por separado... me tengo que pasar al nodered... a ver cuándo doy el salto...
    Y el coche, pues ya veré... en verano sin problema (tengo los 6.8kwp al SO) y en invierno posiblemente no me llegue toda la producción y cargue algo por la noche...

  5. #5
    ministropepon está desconectado Forero
    Fecha de ingreso
    may 2014
    Ubicación
    Madrid, Spain
    Mensajes
    446

    Predeterminado Re: Mi instalación: Voltronic 7.2Kw, Daly 150A FAN, 16x LiFePo4 176AH y SDM320-Modbus

    Buenas!

    Para leer el BMS desde el node-red yo uso un script de apoyo en python:

    https://github.com/victorjchamorro/i...leer-bms-chino

    En cuanto a la fiabilidad del SOC, coincido con lo dicho, lo más práctico es un BMV de Victron bien calibrado.


    Felicidades por la instalación, está muy guapa!

    Un saludo!

  6. #6
    elfrisky está desconectado Forero
    Fecha de ingreso
    feb 2012
    Ubicación
    Un pueblecito de Granada
    Mensajes
    192

    Predeterminado Re: Mi instalación: Voltronic 7.2Kw, Daly 150A FAN, 16x LiFePo4 176AH y SDM320-Modbus

    Hola Ministropepón,

    Muchas gracias por tus comentarios. Le estoy dando un intento a tu código y de momento lo que he hecho ha sido limpiar toda referencia a emonscms porque no planeo usarlo de momento, bastante tengo con entender nodered, grafana e influxdb.

    He dejado el flow así:

    Mi instalación: Voltronic 7.2Kw, Daly 150A FAN, 16x LiFePo4 176AH y SDM320-Modbus-bms-flow-pid-error.jpg

    esto después de instalar python 3, luego instalar python3-serial, descargar todos y cada uno de los .sh y .py, cambiarles los permisos, cambiar todas las referencias ttyUSB de todos los archivos al ttyUSB1 para acabar tenido el fallo este:

    Nombre:  bms flow PID error2.JPG
Visitas: 1670
Tamaño: 18,9 KB

    Imagino que los tiros pueden ir porque no he hecho esto:

    Tengo udev.rules para asignar un nombre concreto a cada USB, el script bms_nodered.py lee del puerto /dev/ttyUSB_bms, requiere ajustar los datos según el conversor USB que utilicéis: En mi caso: ATTRS{idVendor}=="067b", ATTRS{idProduct}=="2303"


    Pero no se de donde sacar esos datos ni en que carpeta poner el archivo udev.rules. Este es el output de mis ttys:

    Código:
    gestor@GestorEnergia:~/bms$ dmesg | grep tty
    [    0.199258] printk: console [tty0] enabled
    [    1.452108] 00:08: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A
    [    1.473423] 00:09: ttyS1 at I/O 0x2f8 (irq = 3, base_baud = 115200) is a 16550A
    [    5.968626] usb 3-2: pl2303 converter now attached to ttyUSB0
    [    6.046979] usb 3-1: ch341-uart converter now attached to ttyUSB1
    Podrías echarme una mano? Por cierto, también he visto que todo el código está hecho para 15 celdas? puede ser? Yo tengo 16: sería muy complicado ajustarlo a ese número de celdas?

    Respecto a lo del Victron BMV, voy a echarle un vistazo al fapungsun que viene siendo más económico, pero el miedo que tengo con esto de la fotovoltáica es terminar como cuando me aficioné a la fotografía: quería más y más objetivos, luego te aficionas a los ordenadores y quieres la mejor gráfica, etc: y siempre estás echándole dinero, siempre encuentras algo que te gustaría añadir o que no tienes... y me quiero frenar un poco en comprar cosas. Mi prioridad por ahora es el OpenEvse y luego el gestionar el termo, ambos como sumideros de excedentes.

    Muchísimas gracias por tu ayuda, de verdad.

  7. #7
    asl12 está desconectado Forero
    Fecha de ingreso
    mar 2021
    Ubicación
    Navarra
    Mensajes
    238

    Predeterminado Re: Mi instalación: Voltronic 7.2Kw, Daly 150A FAN, 16x LiFePo4 176AH y SDM320-Modbus

    Cita Iniciado por ministropepon Ver mensaje
    Buenas!

    Para leer el BMS desde el node-red yo uso un script de apoyo en python:

    https://github.com/victorjchamorro/i...leer-bms-chino

    En cuanto a la fiabilidad del SOC, coincido con lo dicho, lo más práctico es un BMV de Victron bien calibrado.


    Felicidades por la instalación, está muy guapa!

    Un saludo!
    Hola!
    Si eres Victor, enhorabuena por tu magnifico trabajo, he visto todos tus videoun crack! yo me pierdo con todo el tema de programación así que acabo poniendo más y más placas!
    Sabéis si en la rasp, donde tengo el ICC solar es posible correr en simultáneo nodered? Lo abro pero va lentisimo...

  8. #8
    elfrisky está desconectado Forero
    Fecha de ingreso
    feb 2012
    Ubicación
    Un pueblecito de Granada
    Mensajes
    192

    Predeterminado Re: Mi instalación: Voltronic 7.2Kw, Daly 150A FAN, 16x LiFePo4 176AH y SDM320-Modbus

    Cita Iniciado por asl12 Ver mensaje
    Hola!
    Sabéis si en la rasp, donde tengo el ICC solar es posible correr en simultáneo nodered? Lo abro pero va lentisimo...
    Hola adsl12,
    Te recomendaría que te activases el acceso SSH a la RPI y entrases a ella desde un PC (descargate el putty y es meter la IP de la RPI y a chutar).
    Cuando hayas entrado por SSH, es como si estuvieses en un terminal dentro de la RPI. Ahí escribe "top" sin comillas, y te dirá la carga de la CPU que tiene, y ya te pones a hacer pruebas, si con ICC funcionando y sin NodeRed, etc y ves que limitación tienes.
    También te recomendaría que si corres NodeRed, no lo abras en un explorador en la RPI, sino en un PC (es la IP de la RPI:1880).
    Te diría que te animases a probar y aquí estamos para ayudarte.

    Por cierto, acabo de conectar el Voltronic directamente a un puerto COM del ThinClient y funciona (cambiando el nodo "puerto serie" del flujo "axpert Max" a ttyS1 en vez de ttyUSB0), así que ya no tengo que usar el cable rs232 a USB. Menos jaleo de cables!

    @ministropepon se me olvidó poner en mi mensaje que la única salida de los debugs que tengo es en el de encima de la función, y la salida es "empty" y el símbolo de retorno de carro.

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

    Predeterminado Re: Mi instalación: Voltronic 7.2Kw, Daly 150A FAN, 16x LiFePo4 176AH y SDM320-Modbus

    Tiene buena pinta.

    Yo baterias las tengo muy parecidas. Tengo 8x https://www.alibaba.com/product-deta...41573f37qRlJLX

    Es cierto que lo mas contento del sistema

    Nodered lo empece a usar pero la verdad desisti. Esta muy bien para hacer cosas simples pero en cuanto te metes en cosas mas complicadas como delays o cosas que te tienes que bajar modulos raros para al final tardar yo menos programandolo a mano en Phyton o cualquier otro lenguaje.
    Diseñador de curvas solares y equivalente electrico usando los datos tecnicos del panel: http://solarpanelsimulator.bitballoon.com/

  10. #10
    asl12 está desconectado Forero
    Fecha de ingreso
    mar 2021
    Ubicación
    Navarra
    Mensajes
    238

    Predeterminado Re: Mi instalación: Voltronic 7.2Kw, Daly 150A FAN, 16x LiFePo4 176AH y SDM320-Modbus

    Gracias!
    A ver si empiezo con los tutoriales de nodered pero veo que no va a ser fácil... Ya tengo el ICC y realmente con los reles (para el AVS) me apaño... Si que me fastidia que no pueda limitar la carga de la batería por SoC (BMV) ... Ahora que hay exceso, sin problema lo hago límitando el voltaje de carga a 54.1 en bulk pero sería mucho mejor poner 55v hasta el 90% y luego o bajar o simplemente cortar pero no sé cómo hacerlo... Un relé no me sirve para eso...
    Ya he preguntado a los de ICC pero bueno...

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

    Predeterminado Re: Mi instalación: Voltronic 7.2Kw, Daly 150A FAN, 16x LiFePo4 176AH y SDM320-Modbus

    Yo para los valores de carga uso estos

    12V 4S LiFePO4 Battery w/ BMS:
    Absorption: 14.5V
    Float: 13.6V
    Inverter Cut-off: 10.7V-12V (depending on size of load and voltage drop etc)

    24V 8S LiFePO4 Battery w/ BMS
    Absorption: 29V
    Float: 27.2V
    Inverter Cut-off: 21.4V-24V

    48V 16S LiFePO4 Battery w/ BMS
    Absorption: 58V
    Float: 54.4V
    Inverter Cut-off: 42.8V-48V
    Individual 3.2V LiFePO4 Raw Cell (for individual cell capacity testing)
    Absorption: 3.625V
    Float: 3.4V
    Low voltage disconnect for capacity testing: 2.5V

    If you are using a BMS and wish to manually cycle up to 90% SOC:
    Do a discharge capacity test with a shunt. Record capacity in watt hours.
    Charge slowly up to 90% SOC (take capacity Wh figure and multiple by .9), and while charging, record the voltage right when it hits 90% SOC
    Set the absorption for all chargers in system to the voltage you recorded in step 2
    5,000+ Charge Cycle Absorption Recommendation
    If you want your LiFePO4 cells to last a long time, you can set your absorption to Victron's custom LiFePO4 charge profile recommendation:
    12V Battery: 14.1V
    24V Battery: 28.2V
    48V Battery: 56.4V
    You can pull full capacity with the absorption figures above, but the charge rate will be reduced at high SOC.

    If you are not using a BMS (not recommended, for advanced users only)
    Bottom balance the cells
    Charge the cells at a .2C rate
    The moment a cell hits 3.6V while charging, record the pack voltage
    Manually set absorption for all chargers to the voltage in the previous step

    If you are using used LiFePO4 cells w/ varying internal resistance readings, charge up to 3.525V per cell (12v/24v/48v absorption: 14V, 28V and 56V).

    Esta sacado de otro foro.

    A mi me va bien.
    Diseñador de curvas solares y equivalente electrico usando los datos tecnicos del panel: http://solarpanelsimulator.bitballoon.com/

  12. #12
    asl12 está desconectado Forero
    Fecha de ingreso
    mar 2021
    Ubicación
    Navarra
    Mensajes
    238

    Predeterminado Re: Mi instalación: Voltronic 7.2Kw, Daly 150A FAN, 16x LiFePo4 176AH y SDM320-Modbus

    Cita Iniciado por Pidjey Ver mensaje
    Yo para los valores de carga uso estos

    12V 4S LiFePO4 Battery w/ BMS:
    Absorption: 14.5V
    Float: 13.6V
    Inverter Cut-off: 10.7V-12V (depending on size of load and voltage drop etc)

    24V 8S LiFePO4 Battery w/ BMS
    Absorption: 29V
    Float: 27.2V
    Inverter Cut-off: 21.4V-24V

    48V 16S LiFePO4 Battery w/ BMS
    Absorption: 58V
    Float: 54.4V
    Inverter Cut-off: 42.8V-48V
    Individual 3.2V LiFePO4 Raw Cell (for individual cell capacity testing)
    Absorption: 3.625V
    Float: 3.4V
    Low voltage disconnect for capacity testing: 2.5V

    If you are using a BMS and wish to manually cycle up to 90% SOC:
    Do a discharge capacity test with a shunt. Record capacity in watt hours.
    Charge slowly up to 90% SOC (take capacity Wh figure and multiple by .9), and while charging, record the voltage right when it hits 90% SOC
    Set the absorption for all chargers in system to the voltage you recorded in step 2
    5,000+ Charge Cycle Absorption Recommendation
    If you want your LiFePO4 cells to last a long time, you can set your absorption to Victron's custom LiFePO4 charge profile recommendation:
    12V Battery: 14.1V
    24V Battery: 28.2V
    48V Battery: 56.4V
    You can pull full capacity with the absorption figures above, but the charge rate will be reduced at high SOC.

    If you are not using a BMS (not recommended, for advanced users only)
    Bottom balance the cells
    Charge the cells at a .2C rate
    The moment a cell hits 3.6V while charging, record the pack voltage
    Manually set absorption for all chargers to the voltage in the previous step

    If you are using used LiFePO4 cells w/ varying internal resistance readings, charge up to 3.525V per cell (12v/24v/48v absorption: 14V, 28V and 56V).

    Esta sacado de otro foro.

    A mi me va bien.
    Gracias por el post!
    El tema es que como he aprendido en este foro es que ningún ajuste por tensiones es adecuado para regular SoC con algo de precisión. Las tensiones varían en función de la intensidad de carga/descarga por lo que no son fiables... no es lo mismo 54v con 10A de carga que 54v con 80A (con la ampliación podré llegar a 200A)
    O lo hago con software o no sé... ahora que sobra energía no hay problema pero imagino que en invierno, aunque lleguen al 100% tampoco pasa gran cosa...

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

    Predeterminado Re: Mi instalación: Voltronic 7.2Kw, Daly 150A FAN, 16x LiFePo4 176AH y SDM320-Modbus

    Cita Iniciado por asl12 Ver mensaje
    Gracias por el post!
    El tema es que como he aprendido en este foro es que ningún ajuste por tensiones es adecuado para regular SoC con algo de precisión. Las tensiones varían en función de la intensidad de carga/descarga por lo que no son fiables... no es lo mismo 54v con 10A de carga que 54v con 80A (con la ampliación podré llegar a 200A)
    O lo hago con software o no sé... ahora que sobra energía no hay problema pero imagino que en invierno, aunque lleguen al 100% tampoco pasa gran cosa...
    Mhhhhhhhh en mi opinion creo que eso no es asi. Eso pasa i estoy de acuerdo en plomo acido pero no en lifepo4. Estas baterias tienen 2 caracteristicas que las diferencian de plomo acido i es que tienen una resistencia muy baja por lo que no tienen mucha caida de tension con la corriente i tienen una curva plana con 2 codos muy bien definidos a lo alto i lo bajo de la carga por lo que es muy facil identificar estos niveles de carga por tension.
    Diseñador de curvas solares y equivalente electrico usando los datos tecnicos del panel: http://solarpanelsimulator.bitballoon.com/

  14. #14
    asl12 está desconectado Forero
    Fecha de ingreso
    mar 2021
    Ubicación
    Navarra
    Mensajes
    238

    Predeterminado Re: Mi instalación: Voltronic 7.2Kw, Daly 150A FAN, 16x LiFePo4 176AH y SDM320-Modbus

    Cita Iniciado por Pidjey Ver mensaje
    Mhhhhhhhh en mi opinion creo que eso no es asi. Eso es pasa i estou de acuerdo en plomo acido pero no en lifepo4. Estas baterias tienen 2 caracteristicas que las diferencian de plomo acido i es que tienen una resistencia muy baja porque lo que no tienen mucha caida de tension con la corriente i tienen una curva plana con 2 codos muy bien definidos a lo alto i lo bajo de la carga por lo que es muy facil identificar estos niveles de carga.
    Gracias Pidjey!
    Igual es un tema del cargador del Max, pero si por ejemplo pongo una tensión (tengo las celdas balanceadas por arriba) de 54.5v (y están horas) y luego paso a 56.5v (3.52vx16S) sube super rápido (en nada suben de tensión, vamos que están ya al 100%). Por otro lado si fijo 54.1v al final del día el SoC está más o menos OK (lo mide la BMS y si hago una subida de tensión mete bastantes amperios durante un buen rato, y entonces llega al 100%, bastante rudimentario pero Amperios por tiempo son Ah...). Si fijo 54.4v ya la tengo al 100% con el método anterior...
    Vamos, que con el BMV sabré el SoC, pero su gestión ya es otra cosa... y poner un radiador de aceite para que el SoC no suba no me convence como estrategia por si alguno la sugiere ...
    A ti te funciona bien?

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

    Predeterminado Re: Mi instalación: Voltronic 7.2Kw, Daly 150A FAN, 16x LiFePo4 176AH y SDM320-Modbus

    Siempre es bueno poner un ejemplo practico.
    La bateria eve de lifepo4 que tengo yo de 280ah tiene una resistencia interna de 0.25mohm.

    http://www.dcmax.com.tw/LF280(3.2V280Ah).pdf

    A 80A de carga o descarga la caida de tension para 16 celdas es 80*0.00025*16=0.32V

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

    Por las caracteristicas de las Lifepo4 a mi me convence mucho mas el control de carga por voltage que por soc. Tengo un BMV700 i la verdad, como estimacion esta bien, pero no lo usaria como medida de control.

    A mi me funcionan perfectamente.

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

    Otro factor es la resistencia de los cables i las conexiones. Eso en el bmv produce un error pero en el control de carga por tension no.
    Diseñador de curvas solares y equivalente electrico usando los datos tecnicos del panel: http://solarpanelsimulator.bitballoon.com/

  16. #16
    asl12 está desconectado Forero
    Fecha de ingreso
    mar 2021
    Ubicación
    Navarra
    Mensajes
    238

    Predeterminado Re: Mi instalación: Voltronic 7.2Kw, Daly 150A FAN, 16x LiFePo4 176AH y SDM320-Modbus

    Cita Iniciado por Pidjey Ver mensaje
    Siempre es bueno poner un ejemplo practico.
    La bateria eve de lifepo4 que tengo yo de 280ah tiene una resistencia interna de 0.25mohm.

    http://www.dcmax.com.tw/LF280(3.2V280Ah).pdf

    A 80A de carga o descarga la caida de tension para 16 celdas es 80*0.00025*16=0.32V

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

    Por las caracteristicas de las Lifepo4 a mi me convence mucho mas el control de carga por voltage que por soc. Tengo un BMV700 i la verdad, como estimacion esta bien, pero no lo usaria como medida de control.

    A mi me funcionan perfectamente.

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

    Otro factor es la resistencia de los cables i las conexiones. Eso en el bmv produce un error pero en el control de carga por tension no.
    Visto el pdf!
    Yo no sé del tema, pero la resistencia es constante para toda la curva de SoC y tensión? tendŕé que probarlas más, sobretodo una vez ponga el BMV...
    Entonces las tienes a 56v bulk?
    gracias!

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

    Predeterminado Re: Mi instalación: Voltronic 7.2Kw, Daly 150A FAN, 16x LiFePo4 176AH y SDM320-Modbus

    Por cierto si se te da bien el ingles i quieres aprende sobre lifepo4 hay otro foro de estados unidos que es el mas grande del mundo de fotovoltaica donde lifepo4 es la bateria estandard por lo que hay miles de posts. En este foro esta poco desarrollado la verdad. Bueno en general en espanha el lifepo4 no es muy popular pero tiempo al tiempo.

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

    Cita Iniciado por asl12 Ver mensaje
    Visto el pdf!
    Yo no sé del tema, pero la resistencia es constante para toda la curva de SoC y tensión? tendŕé que probarlas más, sobretodo una vez ponga el BMV...
    Entonces las tienes a 56v bulk?
    gracias!
    La resistencia es constante. Si te fijas en el grafico de voltage/SoC a diferentes corrientes de descargar, las curves son practicamente equidistances, osea practicamente igualmente separadas para diferentes socs i corriente. Es la figura 1 de ese PDF.
    Diseñador de curvas solares y equivalente electrico usando los datos tecnicos del panel: http://solarpanelsimulator.bitballoon.com/

  18. #18
    asl12 está desconectado Forero
    Fecha de ingreso
    mar 2021
    Ubicación
    Navarra
    Mensajes
    238

    Predeterminado Re: Mi instalación: Voltronic 7.2Kw, Daly 150A FAN, 16x LiFePo4 176AH y SDM320-Modbus

    Cita Iniciado por Pidjey Ver mensaje
    Por cierto si se te da bien el ingles i quieres aprende sobre lifepo4 hay otro foro de estados unidos que es el mas grande del mundo donde lifepo4 es la bateria estandard por lo que hay miles de posts. En este foro esta poco desarrollado la verdad. Bueno en general en espanha el lifepo4 no es muy popular pero tiempo al tiempo.
    gracias! si, suelo complementa la información con canales de Youtube en inglés...el diyforum te refieres verdad? A ver si centro la Ant BMS, que no sé qué he tocado y le recalibro el SoC y voy probando, pero una vez balanceadas las celdas van genial!

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

    Predeterminado Re: Mi instalación: Voltronic 7.2Kw, Daly 150A FAN, 16x LiFePo4 176AH y SDM320-Modbus

    Si, tienes que hacer top balancing si o si.

    En ese foro publique parte del BMS casero que hice. Me encontraras con el mismo nombre.

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

    Pero no he publicado los resultados porque ni he tenido tiempo i porque tengo el BMS en una instalacion en otro pais
    Diseñador de curvas solares y equivalente electrico usando los datos tecnicos del panel: http://solarpanelsimulator.bitballoon.com/

  20. #20
    asl12 está desconectado Forero
    Fecha de ingreso
    mar 2021
    Ubicación
    Navarra
    Mensajes
    238

    Predeterminado Re: Mi instalación: Voltronic 7.2Kw, Daly 150A FAN, 16x LiFePo4 176AH y SDM320-Modbus

    Cita Iniciado por Pidjey Ver mensaje
    Si, tienes que hacer top balancing si o si.

    En ese foro publique parte del BMS casero que hice. Me encontraras con el mismo nombre.

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

    Pero no he publicado los resultados porque ni he tenido tiempo i porque tengo el BMS en una instalacion en otro pais
    Gracias!
    El top es clave si...
    Viendo la gráfica 1, donde se representa tensión, capacidad y descarga, se identifica muy bien que la tensión para un SoC del 70% o del 95% es la misma y eso es lo que "perturba". Si el cargador está horas a una tensión que representa o el 70% o el 95% pues las acabo llenando a tope... o se me cargan poco si está poco tiempo... pero bueno es cuestión de ir probando... otra gente con nodered ajusta una tensión alta hasta un SoC del 90% (aprox) y luego baja para no seguir metiendo intensidad...
    Lo ves con sentido? mi problema es implementarlo!

  21. #21
    Pasc está desconectado Forero
    Fecha de ingreso
    nov 2020
    Ubicación
    Mallorca
    Mensajes
    61

    Predeterminado Re: Mi instalación: Voltronic 7.2Kw, Daly 150A FAN, 16x LiFePo4 176AH y SDM320-Modbus

    Ojo, los voltajes de absorción y flotación que dicen en ese foro son peligrosos si las baterías no estan bien equilibradas y con resistencias internas muy similares, además son dañinos para las baterías.
    Probablemente no morirán en un año, pero durarán mucho menos de lo que podrían durar.

    Cargar a 3,625V/celda con intensidades bajas, incluso sin absorción, ya puede producir sobrecarga. La absorción a 3,4V/celda tambien es excesiva y si se prolonga lo suficiente, también produce sobrecarga.
    Cualquier sobrecarga daña la batería y lo perdido es irreversible, cada pequeña sobrecarga va sumando...

    Yo no pasaría de 3,5V/celda en bulk (56V para 16s), si la intensidad de carga es baja no pasaría de 3,4-3,45V/celda. No haría absorción y la flotación la dejaría máximo en 3,37V/celda (53,92V para 16s), este es más o menos el voltaje en reposo de una lifepo4 cargada al 100%.
    Todo esto si es que necesitas llegar cada dia al 90-100% de carga, con esa configuración las baterias no durarán todo lo que podrían durar, pero si mucho más que con la configuración anterior.

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

    Predeterminado Re: Mi instalación: Voltronic 7.2Kw, Daly 150A FAN, 16x LiFePo4 176AH y SDM320-Modbus

    Por eso es mejor comprar a un vendedor que te mande las baterias con la resistencia interna comprabada i casada, aparte de hacer que top balancing es obligatorio. Sin contar tener BMS.

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

    Yo a ojo estaria como 1 mes en conversaciones con el vendedor para ajustar precio i para que me midiera las baterias.
    Diseñador de curvas solares y equivalente electrico usando los datos tecnicos del panel: http://solarpanelsimulator.bitballoon.com/

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

    Predeterminado Re: Mi instalación: Voltronic 7.2Kw, Daly 150A FAN, 16x LiFePo4 176AH y SDM320-Modbus

    Cita Iniciado por Pasc Ver mensaje
    Ojo, los voltajes de absorción y flotación que dicen en ese foro son peligrosos si las baterías no estan bien equilibradas y con resistencias internas muy similares, además son dañinos para las baterías.
    Probablemente no morirán en un año, pero durarán mucho menos de lo que podrían durar.

    Cargar a 3,625V/celda con intensidades bajas, incluso sin absorción, ya puede producir sobrecarga. La absorción a 3,4V/celda tambien es excesiva y si se prolonga lo suficiente, también produce sobrecarga.
    Cualquier sobrecarga daña la batería y lo perdido es irreversible, cada pequeña sobrecarga va sumando...

    Yo no pasaría de 3,5V/celda en bulk (56V para 16s), si la intensidad de carga es baja no pasaría de 3,4-3,45V/celda. No haría absorción y la flotación la dejaría máximo en 3,37V/celda (53,92V para 16s), este es más o menos el voltaje en reposo de una lifepo4 cargada al 100%.
    Todo esto si es que necesitas llegar cada dia al 90-100% de carga, con esa configuración las baterias no durarán todo lo que podrían durar, pero si mucho más que con la configuración anterior.
    No es lo mismo la curva de carga que de descarga o en reposo en una bateria de lifepo4. Que tenga baja resistencia interna no quiere decir que no tenga histeresis en el voltage de carga i descarga por los efectos de litiacion i deslitiacion.

    Si quitas la absorcion i solo dejas flotacion a 3,37V/celda la bateria no te va a durar mucho pero lo que si que estoy seguro que no te va a durar es la electricidad por la noche si el sistema no está sobredimensionado. Esos valores son para socs reposo, no en carga. La siguiente curva muesta los valores de tension en carga.

    Mi instalación: Voltronic 7.2Kw, Daly 150A FAN, 16x LiFePo4 176AH y SDM320-Modbus-qidwvcdb3z4i.jpg

    Esta no se ve tambien pero me gusta porque es un senhor el que lo midio

    Mi instalación: Voltronic 7.2Kw, Daly 150A FAN, 16x LiFePo4 176AH y SDM320-Modbus-chart-lifepo4-charge-discharge.jpg

    Cargando constantemente en float a 3.37V/celda te quedaras al 40%-60% de carga, cosa que no me atrae mucho. Sin contar que al acercarte a la tensión de carga la corriente cada vez sera menor a parte de las caidas de tension en cables i conexiones, ni siquiera llegarias al 50%. Ese valor sirve para medir el soc en reposo, no para configurar la carga.

    Ahora mirando la ultima foto lo que puse antes de que para 12V, usar bulk 14.1 (en el apartado de para mas de 5000 ciclos) i float 13.6V creo que no es tan descabellado viendo donde te quedas en el codo.

    La absorción se usa para lo que dije antes, para evitar que al acercarte a la tensión que en realidad quieres que es la de flotación, al bajar la corriente al irte acercando nunca llegues a esa tensión por cargar muy lento. Por eso se hace una absorción a una tensión segura mayor pero luego se baja a flotación para no pasar de ahí.

    Pero bueno, es mi opinion, cada uno es libre.
    Última edición por Pidjey; 31/07/2021 a las 01:49

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

    Predeterminado Re: Mi instalación: Voltronic 7.2Kw, Daly 150A FAN, 16x LiFePo4 176AH y SDM320-Modbus

    https://battlebornbatteries.com/char...po4-batteries/

    Este es un fabricante estadounidense de lifepo4. Probablemente el más popular. Recomienda absorción 14.4v i flotación 13.6v.

  25. #25
    Pasc está desconectado Forero
    Fecha de ingreso
    nov 2020
    Ubicación
    Mallorca
    Mensajes
    61

    Predeterminado Re: Mi instalación: Voltronic 7.2Kw, Daly 150A FAN, 16x LiFePo4 176AH y SDM320-Modbus

    Cita Iniciado por Pidjey Ver mensaje
    No es lo mismo la curva de carga que de descarga o en reposo en una bateria de lifepo4. Que tenga baja resistencia interna no quiere decir que no tenga histeresis en el voltage de carga i descarga por los efectos de litiacion i deslitiacion.

    Si quitas la absorcion i solo dejas flotacion a 3,37V/celda la bateria no te va a durar mucho pero lo que si que estoy seguro que no te va a durar es la electricidad por la noche si el sistema no está sobredimensionado. Esos valores son para socs reposo, no en carga. La siguiente curva muesta los valores de tension en carga.
    Si, ya dije que 3,37V era la tensión en reposo para una batería cargada al 100% y esa tensión de flotación se la pongo despues de haber hecho la carga en bulk, con lo que la batería estará ya al 80,90 o 100%. No perderá carga con esa flotación.


    Cargando constantemente en float a 3.37V/celda te quedaras al 40%-60% de carga, cosa que no me atrae mucho. Sin contar que al acercarte a la tensión de carga la corriente cada vez sera menor a parte de las caidas de tension en cables i conexiones, ni siquiera llegarias al 50%. Ese valor sirve para medir el soc en reposo, no para configurar la carga.
    En mi caso, tengo la batería bastante sobredimensionada, 2p-18s con celdas de 280Ah, lo que me da una capacidad de almacenamiento de unos 33Kw. Mi consumo nocturno habitual es de unos 6-8 Kw.
    Mi idea inicial era cargar aprox. hasta el 75% y poner una flotación bastante baja para que llegue a ella con una carga del 30-35%, con eso haría ciclos con aprox 50% dod cada 2-3 días. Eso se puede hacer con el Max, pero con el king y un regulador de aislada que es lo que yo tengo, no se puede (solo tiran de placas si el voltaje de las baterías es igual o menor que el de flotación, por mucho sol que haga).
    Lo que he hecho es poner absorción y flotación a 3,33V/celda y cada dia llego a una carga de aprox. 63,4% soc

    Mi gráfica de soc de la última semana:
    Mi instalación: Voltronic 7.2Kw, Daly 150A FAN, 16x LiFePo4 176AH y SDM320-Modbus-misoc.jpg

    Comprobado con pruebas de descarga que esos valores de soc son reales, no ilusiones del bmv700
    En temporadas de mayor consumo o en pleno invierno, aumentaré el voltaje para llegar hasta un soc del 70,80 o 90% según me interese, pero sólo mientras sea necesario.
    Voy a intentar que estas baterías duren más que yo...

    Una gráfica de carga máxima a la que se puede llegar según voltaje de carga:
    Mi instalación: Voltronic 7.2Kw, Daly 150A FAN, 16x LiFePo4 176AH y SDM320-Modbus-carga-segun-voltaje.jpg

    El link al artículo de donde he sacado esta gráfica:
    https://nordkyndesign.com/practical-...battery-cells/

    Vale la pena leerlo, este tio sabe mucho de estas baterías.
    Tiene varios artículos muy interesantes de lifepo4, aquí el link donde están todos:
    https://nordkyndesign.com/category/m...ttery-systems/

    En este momento tengo 6 baterías en pruebas de ciclado con diferentes condiciones:
    Me pedí 6 baterias adicionales de menor capacidad (25Ah) para hacer esas pruebas.

    1- Ciclos con dod 93% a 0,5C. me salen 6 ciclos diarios

    2- ciclos carga 95% + flot a 3,375V durante 2 horas + descarga hasta 55%. Todo a 0,4C => 6 ciclos diarios

    3- ciclos carga 70% + reposo durante 2 horas + descarga hasta 30%. Todo a 0,4C => 6 ciclos diarios

    4- ciclos carga 60% + reposo durante 2 horas + descarga hasta 10%. Todo a 0,4C => 6 ciclos diarios

    5- ciclos carga y descarga 95%-55% a 0,4C => 12 ciclos diarios

    6- ciclos carga y descarga 70%-30% a 0,4C => 12 ciclos diarios

    Dentro de un año, probablemente pueda empezar a sacar las primeras conclusiones.

    De momento solo he hecho una prueba de capacidad de la batería 1 después de 340 ciclos y el resultado es que apenas se ha enterado.
    Me sale que puede haber perdido un 0,5% de la capacidad original, pero eso es menor que la precisión de mi sistema casero de medición, por lo que de momento la conclusión es que con 340 ciclos 93% dod apenas se ha enterado.
    Ojo, mido sobre la capacidad real no la nominal (celda de 25Ah, pero su capacidad real era de 28,5Ah)
    Cuando llegue a los 1000 ciclos creo que ya se podrán sacar las primeras conclusiones, eso será para noviembre...
    Última edición por Pasc; 31/07/2021 a las 09:36

Página 1 de 3 12 ... ÚltimoÚltimo



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