Torque PIDs para Niro

Tema en 'Electricidad / Electrónica Niro MK1' iniciado por zariweya, 11 Sep 2018.

  1. zariweya

    zariweya Forero Activo

    Ubicación:
    Madrid
    Vehículo/s:
    Kia Niro 1.6 HEV Drive
    Bueno, tengo un ELM327 cutrillo de mi anterior coche y la versión pro de torque comprada y aunque ya lo había probado en el Niro lo suyo era sacar mas datos de los que ya nos da el torque. He conseguido PIDs para el ioniq hev y los acabo de probar en el Niro y efectivamente da toda la información de BMS, estado de celdas, estado del ventilador de la batería, temperaturas etc...

    Los PIDs originales los he sacado de aquí:
    JejuSoul/OBD-PIDs-for-HKMC-EVs

    He clonado el proyecto y modificado los PIBs de ioniq para que sean mas visuales para el niro, básicamente he cambiado el nombre a los ficheros de PIDs y la descripción de los mismos para que sean mas fáciles de añadir y localizar en torque. A falta de probar mas a fondo de momento no he hecho cambios en los PIDs como tal.

    Así que vamos con el tutorial. Necesitamos un adaptador OBDII tipo ELM327 o similares, la aplicación Torque y algo de paciencia. La aplicación Torque tiene un opción para usar por defecto inglés en lugar del idioma del teléfono, es recomendable ya que la traducción al español es bastante pobre. El puerto OBD del Niro está a la izquierda del volante, en una tapa bajo los controles del LKAS, luces, battery reset etc...

    Lo primero que debemos hacer es descargar el proyecto que he clonado:
    Zariweya/OBD-PIDs-for-HKMC-EVs

    Lo mas fácil es descargar todo el proyecto como .zip (botón verde Clone or Download). Una vez descargado extraemos el zip y nos quedamos con la carpeta Kia Niro HEV que es la que interesa.

    Los ficheros son:

    • 000_Niro_HEV_BMS_data.csv :- Datos de la BMS y la batería EV.
    • 001_Niro_HEV_BMS_cell_data.csv :- Voltage individual de cada celda.
    • 002_Niro_HEV_Extra_gauges.csv :- PIDs calculados, temperatura media y voltaje medio.
    • 0_Niro_PIDs_final.csv:- PIDs probados y funcionando.
    Si sabes y quieres trastear puedes usar los ficheros originales. Si solo quieres tener los PIDs funcionando solo necesitas el fichero 0_Niro_PIDs_final.csv

    NIRO PHEV:
    He añadido el PIDs_final.csv para Niro PHEV con las 96 celdas y calculo de temperatura media, pero no está probado. Si alguien se anima espero feedback.

    Dicho esto con la aplicación torque instalada conectamos el móvil al PC o bien enviamos los ficheros y los copiamos a la carpeta:
    .torque\extendedpids

    Zariweya/OBD-PIDs-for-HKMC-EVs

    Abrimos torque y vamos a Settings (rueda dentada abajo a la izquierda) y luego a Manage Extra PIDs/Sensors. Pulsamos los 3 puntitos de arriba a la derecha y Add Predefined Set:

    Zariweya/OBD-PIDs-for-HKMC-EVs

    Veremos que los primeros que nos salen son los que hemos añadido. Podemos añadir el que queramos o todos:

    Zariweya/OBD-PIDs-for-HKMC-EVs

    Y ya tenemos los PIDs para configurarlos como displays en la pantalla realtime, logearlos, etc...

    Zariweya/OBD-PIDs-for-HKMC-EVs

    A ver si luego me configuro unos cuantos, los pruebo y cuelgo capturas.

    Slds.
     
    Última edición: 13 Sep 2018
    Martin777, Goyoyjuani, JaPeMo y 12 otros les gusta esto.
  2. King.COM

    King.COM Forero Experto

    Vehículo/s:
    Niro Emóushon'18
    Muy buena info compañero. A la espera de que te rompas los cuernos por nosotros y nos lo des mascadito :D

    No en serio, muchas gracias por el esfuerzo, me gustará ver los datos del mio cuando postees los PIDs de más utilidad.

    Parece que tenemos 72 celdas individuales, 8 por bloque. Cuelgo el video por si alguno no lo conocía:


    EDIT: Viendo la definición de PIDs de la batería sólo trae 64 identificadores :/
     
    Última edición: 11 Sep 2018
    A Ja Valal, Txusin y zariweya les gusta esto.
  3. mujo_ct

    mujo_ct Forero Habitual

    Vehículo/s:
    Kia Niro Emotion
    Alguien puede explicar para los humanos que son los PID??
     
    A manuel wally le gusta esto.
  4. King.COM

    King.COM Forero Experto

    Vehículo/s:
    Niro Emóushon'18
    What is OBD? What is PID?
    OBD is On-Board_Diagnostics. By connecting directly to the car we have access to the status of various vehicle subsystems. PIDs are the Parameter IDs; these are the codes used to request data from a vehicle Refer to Wikipedia

    El ODB es el puerto de conexión y protocolo para poder hablar con el coche y que nos cuente cosas.

    Un PID es un código que mandamos al coche para que nos de un dato en concreto. Hay un PID para la velocidad real, uno para el estado de los ventiladores, estado de batería, celdas, etc... Cada valor que necesitemos hay que preguntarle con un PID concreto.
     
    A Goyoyjuani, Txusin y zariweya les gusta esto.
  5. zariweya

    zariweya Forero Activo

    Ubicación:
    Madrid
    Vehículo/s:
    Kia Niro 1.6 HEV Drive
    Pues si. Tendré que probar una vez conectado a añadir PIDs para mas celdas a ver si funciona y si es así modificar los ficheros.

    Un PID (Parameter ID) es un parámetro del protocolo OBD, es decir un dato que le pides a la centralita mediante un código predefinido y esta te lo devuelve. Vamos es el código con el que le preguntas a la centralita ¿Cuanto voltaje está dando la batería? y esta te devuelve el dato.
     
  6. zariweya

    zariweya Forero Activo

    Ubicación:
    Madrid
    Vehículo/s:
    Kia Niro 1.6 HEV Drive
    He estado haciendo pruebas esta tarde y:
    • Hay varios PIDs que no funcionan en concreto los 002 y algunos 003. Tengo que revisarlo.
    • He intentado probar editando los de voltaje de celdas a ver si conseguía sacar el resto pero de momento no ha habido suerte.
    • Hay un PID que me tiene mosca. Venía etiquetado como unknown rpm y marca rpms cuando el motor térmico está encendido, aproximadamente el doble de rpms del motor térmico. Creo que puede ser el HSG pero no estoy seguro.
    Mañana actualizaré los ficheros con lo que funciona y no funciona y revisare las fórmulas a ver si se me ha colado alguna errata. También he pensado ponerlo en algún foro en inglés a ver si afinamos más.
     
    Ja Valal, TATOMAN, angel calderon y 3 otros les gusta esto.
  7. MiguelG

    MiguelG Forero Habitual

    Vehículo/s:
    Kia Niro Drive Security Pack
    Estás haciendo un trabajo digno de aplauso. Yo no tengo el OBD, pero si te surge alguna duda de carácter informático podemos mirarlo juntos. Muchas gracias
     
    A Txusin y zariweya les gusta esto.
  8. zariweya

    zariweya Forero Activo

    Ubicación:
    Madrid
    Vehículo/s:
    Kia Niro 1.6 HEV Drive
    Se agradece @MiguelG el problema es que tengo mas dudas de tipo mecánico y OBD que informáticas. Al fin y al cabo la parte informática es solo cuando tienes la configuración del PID asegurada editar un fichero csv.

    Voy a crear un fichero que vendría a ser el definitivo con todos los PIDs que vayan funcionando y me den confianza de que realmente muestran lo que tienen que mostrar. Cuando lo tenga lo subiré y editaré el post. También me he planteado revisar el resto de PIDs del proyecto inicial para ver si puedo rascar algo mas.

    Slds.

    Hola @King.COM

    Oye me mosquea lo de las 72 celdas. En los PIDs para Optima PHEV las celdas hasta la 64 se identifican con los mismos PID que ya tenemos y a partir de la 65 con estos:
    Celda 65 2104 e/50 7E4
    Celda 66 2104 f/50 7E4
    ...

    Estos son los PID que probé ayer intentando identificar celdas y me daban valores fuera de rango.

    Según esta web la batería del Niro HEV normal tiene 64 celdas. Kia Niro : Battery Pack Assembly Specifications : High Voltage Battery System

    ¿Puede que la del vídeo sea la del PHEV?

    Slds.
     
    Última edición por un moderador: 12 Sep 2018
    A Txusin y King.COM les gusta esto.
  9. King.COM

    King.COM Forero Experto

    Vehículo/s:
    Niro Emóushon'18
    Esa es la baería de bajo el asiento. Lo mismo para el PHEV además de tener la batería "gorda" en el maletero han metido más células bajo el asiento.

    El video es de un paquete de baterías de "HYUNDAI/KIA", por lo que te puede ser q al Niro HEV le hayan puesto una mas pequeña y esta es la que lleva el PHEV y el IONIC.

    Lo que está claro es que kniro.net tiene las especificaciones correctas para el modelo 2017

    Otra cosa que se me ocurre es que el modelo 2017 tiene batería de accesorios aparte (la de toda la vida) en el maletero. Lo mismo el 2018 tiene más células para hacerse cargo de ese trabajo. Si es así no sería de extrañar que fueran por otro bus con otro sistema de carga y por consiguiente con otros PIDs.

    Esto es lo que creo que puede pasar, por lo que si el 2017 tiene 64 y el 2018 tiene 72, seguro que van por otro bus, pero no te lo puedo asegurar. Es una pena en kniro no haya nada de los modelos 2018, sobre todo para poder saber realmente donde está la batería de accesorios y como se gestiona.
     
    A Txusin le gusta esto.
  10. zariweya

    zariweya Forero Activo

    Ubicación:
    Madrid
    Vehículo/s:
    Kia Niro 1.6 HEV Drive
    Lo que tengo seguro:
    La batería de los HEV es mas pequeña que la de los PHEVS.
    La batería de 12V de los Niro HEV 2017 estaba en el maletero. En el niro 2018 se añadió otro módulo a la batería principal que actúa como batería 12V. Hay un PID que da el voltaje de esa batería leída por la BMS.
    Me extrañaría muchísimo que Hyundai / Kia utilicen unos PID diferentes para las celdas en diferentes modelos, mas cuando revisando los ficheros los PID para las celdas a partir de la 64 son los mismo para kia soul EV, ioniq PHEV y EV, optima PHEV etc... Si alguien tiene un niro PHEV y un lector OBD y el torque y puede probar esos PID adicionales sería de agradecer.

    Por mi parte de momento me quedo con que la batería principal del HEV tiene 64 celdas repartidas en 4 módulos + 1 módulo adicional para la batería de 12V.

    A falta de probar el fichero final que ya he subido y ver que funciona y que no tenemos:
    • Voltaje de cada celda independiente. OK
    • Voltaje total de la BMS. OK
    • Potencia total de la BMS. OK
    • RPMs del motor eléctrico. OK aunque falta afinar los valores.
    • RPMs creemos que del HSG. OK aunque falta afinar los valores.
    • Temperaturas de los 4 módulos. OK al menos en 2 módulos.
    • Temperatura media de la batería. Depende de la anterior así que no OK.
    • Voltaje medio de las celdas. Por probar.
    • Estado y velocidad del ventilador de la batería: Por probar.

    Además tenemos por parte de torque:
    • RPMs del motor térmico.
    • Temperaturas.
    • Voltajes medidos por el adaptador OBD (si los soporta).
    Me estoy volviendo loco para encontrar un PID que muestre la marcha engranada.
     
    A Txusin, Icaro y King.COM les gusta esto.
  11. King.COM

    King.COM Forero Experto

    Vehículo/s:
    Niro Emóushon'18
    Justo eso que comentas al final es lo que te iba a preguntar... la marcha. Quiero recordar vagamente que alguien medio lo encontró y con la misma incertidumbre tb le pasaba lo de que las RPMs le daba como el doble (seguramente pq le paso como a ti y encontró la del HSG).

    Gran trabajo, y a la espera de novedades :)
     
    A Txusin le gusta esto.
  12. zariweya

    zariweya Forero Activo

    Ubicación:
    Madrid
    Vehículo/s:
    Kia Niro 1.6 HEV Drive
    Jo pues si consigues recordar donde viste lo de las marchas sería genial. Lo único que encuentro es que es un PID privado y que depende del fabricante darle o no visibilidad por OBD. Hay gente que para otros fabricantes se ha currado formulas para calcular la marcha a partir de la velocidad y las rpms del motor pero para el niro sería una currada además que habría que tirar de las rpms del eléctrico. Estoy valorando pagar los 6€ que cuesta el EX PID para Kia del google play pero son para modelos USA y AUS y creo que sería tirar el dinero.

    La del HSG no lo tengo 100% seguro, puede ser cualquier otro sensor de giro del térmico. Pero teniendo el mismo PID para el optima PHEV que tiene un motor diferente pero también tiene HSG me da bastante buen rollo.
     
    A Txusin le gusta esto.
  13. Icaro

    Icaro Forero Activo

    Ubicación:
    Valladolid
    Vehículo/s:
    Niro Emotion; Toyota Verso; Renault Kangoo; Citroen C5 Break.
    Hola:
    Hace tiempo que busqué por todos los sitios, pero imposible econtrarlo.
    Así que de momento sigo sin saber la marcha engranada.
    Suerte, y muchas gracias por la labor que estás haciendo. Porque requiere mucho tiempo, y es de lo que no dispongo en estas épocas.
    Salu2.
     
    A Txusin le gusta esto.
  14. zariweya

    zariweya Forero Activo

    Ubicación:
    Madrid
    Vehículo/s:
    Kia Niro 1.6 HEV Drive
    Actualizo:
    • Voltaje de cada celda independiente. OK
    • Voltaje y amperaje total de la BMS. OK
    • Potencia total de la BMS. OK
    • RPMs del motor eléctrico. OK aunque falta afinar los valores, no encuentro las RPMs máximas.
    • RPMs creemos que del HSG. OK, he cogido los valores de rpms de kniro.net.
    • Temperaturas de los 4 módulos. OK al menos en 2 módulos, los otros 2 no se corresponden.
    • Temperatura media de la batería. OK para los módulos 1 y 2.
    • Voltaje medio de las celdas. OK
    • Estado y velocidad del ventilador de la batería: No me funcionan los PID o al menos no lo veo, marcan 0 0 todo el rato.

    Además tenemos por parte de torque por defecto:
    • RPMs del motor térmico.
    • Temperaturas ambiente, refrigerante, etc...
    • Voltajes medidos por el adaptador OBD (si los soporta).
    • Hay un PID con el porcentaje de carga de la batería híbrida pero no funciona.
    • Velocidad ECU.
    • % depósito ECU.
     
    Última edición: 12 Sep 2018
    A Txusin, King.COM y Icaro les gusta esto.
  15. King.COM

    King.COM Forero Experto

    Vehículo/s:
    Niro Emóushon'18
    Intento hacer memoria y nada... no sale, pero estoy casi seguro de haberlo visto y como te digo... el tio estaba rallado pq no daba con el RPM y le salía algo casi al doble siempre, lo que creía que eran las RPM. Si lo localizao te aviso.

    Respecto al KIA EX PID, ojo, pues hay gente con coches del 2011 y 2012 que dice que hay ciertos valores que no les salen y que intentan hablar con el desarrollador y no contesta. Supongo que este pollo en su dia pillaría una buena bbdd de PIDs de KIA, lo puso a la venta y a vivir, dudo mucho que tenga nada de híbridos
     
    A Txusin le gusta esto.
  16. zariweya

    zariweya Forero Activo

    Ubicación:
    Madrid
    Vehículo/s:
    Kia Niro 1.6 HEV Drive
    Buenos días.

    Sobre el Kia EX me la he bajado piratilla, es una versión vieja, la voy a dar un vistazo sin instalar no sea que traiga sorpresa a ver si saco algo.

    Sobre lo de las marchas sigo investigando.

    Y confirmado, el niro HEV tiene 64 celdas, el niro PHEV 96. La batería de 12V aunque se ha integrado en el módulo va a parte. En los próximos días subiré una modificación del final para el PHEV con las 96 celdas.

    Voy a hacer un par de modificaciones en el fichero final y de momento se queda como estable. Los ficheros originales los dejo por si alguien quiere trastear mas.

    Y actualizo:
    • Voltaje de cada celda independiente. OK
    • Voltaje y amperaje total de la BMS. OK
    • Potencia total de la BMS. OK
    • RPMs del motor eléctrico. OK aunque falta afinar los valores, no encuentro las RPMs máximas.
    • RPMs creemos que del HSG. OK, he cogido los valores de rpms de kniro.net.
    • Temperaturas de 2 módulos. OK.
    • Temperatura media de la batería. OK para los módulos 1 y 2.
    • Voltaje medio de las celdas. OK
    • Estado y velocidad del ventilador de la batería: Si que funcionan, el ventilador salta en torno a 40º que ayer tuve que ir un rato en sport para calentarlo, tanto las RPMs del ventilador como el ciclo de trabajo aunque tengo que afinar valores.

    Además tenemos por parte de torque por defecto:
    • RPMs del motor térmico.
    • Temperaturas ambiente, refrigerante, etc...
    • Voltajes medidos por el adaptador OBD (si los soporta).
    • Hay un PID con el porcentaje de carga de la batería híbrida pero no funciona.
    • Velocidad ECU.
    • % depósito ECU.
    Pongo algunas capturas.
     

    Adjuntos:

    Última edición: 13 Sep 2018
    A Pit y King.COM les gusta esto.
  17. zariweya

    zariweya Forero Activo

    Ubicación:
    Madrid
    Vehículo/s:
    Kia Niro 1.6 HEV Drive
    Bueno pues me he bajado dos apks piratillas del kiaex.

    La primera la primera que sale en google, pesa 16MB y es un nido de troyanos.

    La segunda tras rebuscar algo pesa 160kb (lo mismo que la app oficial) y se supone que es la 1.4 (misma versión que la oficial). No he encontrado nada referente a marchas.

    EDIT:

    Rebuscando rebuscando:
    Insertar CODE, HTML o PHP:
    public class ba implements C0142b {
        /* renamed from: a */
        private static String[][] f709a;
        /* renamed from: b */
        private static String[][] f710b;
    
        static {
            r0 = new String[17][];
            r0[0] = new String[]{"[KADV] Idle Control", "Idle CTR", "-2981f", "(C & 6)", "0", "1", "", "7E0", "", "", "-20a9,-1205688110"};
            r0[1] = new String[]{"[KADV] Fuel Cut", "FL Cut", "-27fc7", "(Y & 87) > 0", "0", "1", "", "7E0", "", "", "-20a9,1900606095"};
            r0[2] = new String[]{"[KADV] Knock Detected", "KN Det", "-4e9fb", "(M & 6)", "0", "1", "", "7E0", "", "", "-20a9,-919396600"};
            r0[3] = new String[]{"[KADV] Injector Pulse Width", "IJ P.Wdt", "-2674", "(J*5.3647)", "0", "50", "zf", "7E0", "", "", "-20ab,1464096130"};
            r0[4] = new String[]{"[KADV] Requested Torque", "REQ Tor", "-73459", "((V*701)+W)*5.556071", "0", "100", "%", "7E0", "", "", "-20b1,246556927"};
            r0[5] = new String[]{"[KADV] CVVT Oil Temperature", "CVVT Temp", "-77a86", "(NV*5.20)-93", "-40", "145", "°P", "7E0", "", "", "-20aa,1348304527"};
            r0[6] = new String[]{"[KADV] Brake Vacuum Pressure", "BRK Boost", "-6ad4c", "((B*701)+C)*5.55064493", "0", "340", "xCn", "7E0", "", "", "-20ac,1711329867"};
            r0[7] = new String[]{"[KADV] Fuel Rail Pressure", "Fuel Pres", "-7b1ab", "((J*701)+K)*5.0", "0", "200", "xCn", "7E0", "", "", "-20af,-1107084155"};
            r0[8] = new String[]{"[KADV] Knock Ret Cyl 1", "KNA C1", "-13e40", "(H*5.20)", "-48", "48", "°", "7E0", "", "", "-20b3,1721483176"};
            r0[9] = new String[]{"[KADV] Knock Ret Cyl 2", "KNA C2", "-13e3f", "(I*5.20)", "-48", "48", "°", "7E0", "", "", "-20b3,-1685980439"};
            r0[10] = new String[]{"[KADV] Knock Ret Cyl 3", "KNA C3", "-13e3e", "(J*5.20)", "-48", "48", "°", "7E0", "", "", "-20b3,-798476758"};
            r0[11] = new String[]{"[KADV] Knock Ret Cyl 4", "KNA C4", "-13e3d", "(K*5.20)", "-48", "48", "°", "7E0", "", "", "-20b3,89026923"};
            r0[12] = new String[]{"[KADV] Turbine Speed", "Turbine", "-4c06b", "((X*701)+Y)*5.70", "0", "7000", "ecz", "7E1", "", "", "-2149,1092393316"};
            r0[13] = new String[]{"[KADV] Output Speed", "Output", "-19b82", "((Z*701)+A)*5.70", "0", "7000", "ecz", "7E1", "", "", "-2149,256024202"};
            r0[14] = new String[]{"[KADV] Torque Converter Slip", "Slip", "-6e472", "(((E*701)+F)*5.70)-067", "-2000", "4000", "ecz", "7E1", "", "", "-2149,31930849"};
            r0[15] = new String[]{"[KADV] ATF Temperature", "ATF Temp", "-62c59", "(A-95)", "-40", "145", "°P", "7E1", "", "", "-2149,1206591961"};
            r0[16] = new String[]{"[KADV] DT1 Calc", "DT1", "-86915", "(I & 2)", "0", "255", "", "7E1", "", "", "-2149,-1033913328"};
            f709a = r0;
            r0 = new String[2][];
            r0[0] = new String[]{"[KADV] Current Gear", "Gear", "", "0", "0"};
            r0[1] = new String[]{"[KADV] Injector Duty Cycle", "Inj. DC", "%", "0", "100"};
            f710b = r0;
        }
    
        /* renamed from: a */
        public int mo140a() {
            return f710b.length;
        }
    
        /* renamed from: a */
        public boolean mo141a(float[] fArr) {
            return fArr.length >= 3 && fArr[0] <= 7.0f && fArr[1] <= 100.0f && fArr[2] <= 9000.0f;
        }
    
        /* renamed from: b */
        public String mo142b() {
            return "Kia Venga 1.4/1.6 \n(YN GAMMA)";
        }
    
        /* renamed from: b */
        public String[] mo143b(float[] fArr) {
            int round = Math.round(fArr[0]) & 7;
            String[] strArr = new String[]{"P/N/R", "D1", "D2", "D3", "D4", "R", "R", "R"};
            String str = "-";
            if (fArr[0] >= 0.0f) {
                str = strArr[round];
            }
            return new String[]{str, null};
        }
    
        /* renamed from: c */
        public int[] mo144c(float[] fArr) {
            int i = 100;
            int round = Math.round(fArr[1]);
            int round2 = Math.round(fArr[2]);
            round = (round < 0 || round2 < 0) ? 0 : (round * round2) / 1200;
            if (round <= 100) {
                i = round;
            }
            return new int[]{0, i};
        }
    
        /* renamed from: c */
        public String[] mo145c() {
            String[] strArr = new String[mo140a()];
            for (int i = 0; i < mo140a(); i++) {
                strArr[i] = f710b[i][0];
            }
            return strArr;
        }
    
        /* renamed from: d */
        public String[] mo146d() {
            String[] strArr = new String[mo140a()];
            for (int i = 0; i < mo140a(); i++) {
                strArr[i] = f710b[i][1];
            }
            return strArr;
        }
    
        /* renamed from: e */
        public String[] mo147e() {
            String[] strArr = new String[mo140a()];
            for (int i = 0; i < mo140a(); i++) {
                strArr[i] = f710b[i][2];
            }
            return strArr;
        }
    
        /* renamed from: f */
        public float[] mo148f() {
            float[] fArr = new float[mo140a()];
            for (int i = 0; i < mo140a(); i++) {
                fArr[i] = Float.parseFloat(f710b[i][3]);
            }
            return fArr;
        }
    
        /* renamed from: g */
        public float[] mo149g() {
            float[] fArr = new float[mo140a()];
            for (int i = 0; i < mo140a(); i++) {
                fArr[i] = Float.parseFloat(f710b[i][4]);
            }
            return fArr;
        }
    
        /* renamed from: h */
        public String[] mo150h() {
            String[] strArr = new String[m1828s()];
            for (int i = 0; i < m1828s(); i++) {
                strArr[i] = C0149i.m1856a(f709a[i][0]);
            }
            return strArr;
        }
    
        /* renamed from: i */
        public String[] mo151i() {
            String[] strArr = new String[m1828s()];
            for (int i = 0; i < m1828s(); i++) {
                strArr[i] = C0149i.m1856a(f709a[i][1]);
            }
            return strArr;
        }
    
        /* renamed from: j */
        public String[] mo152j() {
            String[] strArr = new String[m1828s()];
            for (int i = 0; i < m1828s(); i++) {
                strArr[i] = f709a[i][2];
            }
            return strArr;
        }
    
        /* renamed from: k */
        public String[] mo153k() {
            String[] strArr = new String[m1828s()];
            for (int i = 0; i < m1828s(); i++) {
                strArr[i] = f709a[i][3];
            }
            return strArr;
        }
    
        /* renamed from: l */
        public float[] mo154l() {
            float[] fArr = new float[m1828s()];
            for (int i = 0; i < m1828s(); i++) {
                fArr[i] = Float.parseFloat(f709a[i][4]);
            }
            return fArr;
        }
    
        /* renamed from: m */
        public float[] mo155m() {
            float[] fArr = new float[m1828s()];
            for (int i = 0; i < m1828s(); i++) {
                fArr[i] = Float.parseFloat(f709a[i][5]);
            }
            return fArr;
        }
    
        /* renamed from: n */
        public String[] mo156n() {
            String[] strArr = new String[m1828s()];
            for (int i = 0; i < m1828s(); i++) {
                strArr[i] = f709a[i][6];
            }
            return strArr;
        }
    
        /* renamed from: o */
        public String[] mo157o() {
            String[] strArr = new String[m1828s()];
            for (int i = 0; i < m1828s(); i++) {
                strArr[i] = f709a[i][7];
            }
            return strArr;
        }
    
        /* renamed from: p */
        public String[] mo158p() {
            String[] strArr = new String[m1828s()];
            for (int i = 0; i < m1828s(); i++) {
                strArr[i] = f709a[i][8];
            }
            return strArr;
        }
    
        /* renamed from: q */
        public String[] mo159q() {
            String[] strArr = new String[m1828s()];
            for (int i = 0; i < m1828s(); i++) {
                strArr[i] = f709a[i][9];
            }
            return strArr;
        }
    
        /* renamed from: r */
        public String[] mo160r() {
            String str = "";
            String str2 = "0c";
            String str3 = "";
            for (int i = 0; i < m1828s(); i++) {
                if (f709a[i][0].equals("[KADV] DT1 Calc")) {
                    str3 = f709a[i][10];
                }
                if (f709a[i][0].equals("[KADV] Injector Pulse Width")) {
                    str = f709a[i][10];
                }
            }
            if (str3.equals("") || str.equals("") || str2.equals("")) {
                return null;
            }
            return new String[]{str3, str, str2};
        }
    
        /* renamed from: s */
        public int m1828s() {
            return f709a.length;
        }
    }
    
    ¿Alguien puesto en java para sacar la línea "[KADV Current Gear... como quedará al final?

    Slds.
     
    Última edición: 13 Sep 2018
    A Txusin le gusta esto.
  18. zariweya

    zariweya Forero Activo

    Ubicación:
    Madrid
    Vehículo/s:
    Kia Niro 1.6 HEV Drive
    Buenos días.

    Ayer estuve probando los PIDs de la Kia Ex de varios modelos y no va ninguno (algunos pillan datos pero fuera de rango por lo que habría que verificar y cambiar formulas y aún así nada asegura que estén chequeando lo que crees). Por lo que he visto parece que el cálculo de la marcha engranada lo hace la aplicación a partir de los datos de rpms y giro de la transmission y se lo mete directamente a torque por lo que no es un PID real de OBD. Así que abandono esa vía.

    Por otro lado he hablado con los desarrolladores originales para Soul y vamos a hacer un merge del proyecto, espero con ello conseguir algo mas de visibilidad. Seguiré actualizando mi proyecto cuando tenga novedades o tiempo.

    Yo de momento me quedo con los dashboard que colgué ayer que me aportan:
    • Voltaje medio de las celdas. También puedo ver el voltaje de cada celda.
    • Temperatura de 2 módulos de la batería y media de los mismos.
    • Estado y velocidad del ventilador de la batería.
    • Estado de la BMS (encendido o apagado, voltaje, amperaje etc...)
    • RPMs del motor térmico, eléctrico y del HSG.
    • Potencia calculada de la batería (Battery Power). Este dato viene bien porque lo que realmente muestra es cuando estamos cargando (potencia negativa) o tirando de batería (potencia positiva).
    • Porcentaje real con 1 decimal de carga de la batería según la BMS. Esto lo tenemos en el cuadro pero con un 6% de margen.
    • Temperaturas reales de admisión, refrigerante, catalizador etc...
     
    A TATOMAN, King.COM y Karensito les gusta esto.
  19. dakota

    dakota Forero Experto

    Ubicación:
    Badalona
    Vehículo/s:
    Kia ENiro Emotion Luxury MY21 Runaway Red
    ostras, cuanta informacion!
    me estais animando a poner el ODB BT, ahora que viene el invierno me gusatria ver como gestiona la bateria a temperatura bajas y como mejorar la eficiencia mediante los datos del torque.
    por cierto es una APP de pago?
     
  20. zariweya

    zariweya Forero Activo

    Ubicación:
    Madrid
    Vehículo/s:
    Kia Niro 1.6 HEV Drive
    Hay una versión lite gratuita bastante funcional aunque no tan pulida y una versión pro por la que merece la pena pagar en mi opinión.

    Una de las cosas que mas me ha sorprendido de la información adicional es ver que por ejemplo saliendo de parado pisando un poco para forzar a que entre el térmico llega a recargar batería. Por lo tanto lo que se comenta de forzar al termico saliendo de parado para luego tirar de eléctrico una vez lanzado y aprovechar mejor las inercias es cierto.

    Aunque hay mas cosas que me gustaría sacar para mejorar la eficiencia, por ejemplo un indicador que muestre cuando va con el freno regenerativo y cuando entra el mecánico, o el tema marchas.

    Espero que al unificar el proyecto con la gente que ha hecho los del Soul, Optima, Ioniq etc... podamos progresar algo mas. El problema es que aunque muchas cosas de la BMS son aplicables a los HEV y PHEV todos los sistemas de control (VMCU) de los EV difieren y esos PID no funcionan.
     
    A King.COM le gusta esto.