El servicio 0x01 del protocolo OBD2 en el toyobaru (II)

Analizando los primeros 7 PIDs ...

Una vez hemos descubierto que PIDs tenemos disponibles, vamos a ir descodificándolos uno a uno para ver que información nos ofrecen.

1) PID 0x01 - Estado de los monitores de diagnóstico desde que se borraron los códigos de error DTC

Si solicitamos el PID 0x01 (CANID 7DF)

>> 7DF: 02 01 01 00 00 00 00 00
<< 7E8: 06 41 01 01 07 E1 00 00

vemos que obtenemos una respuesta (CANID 7E8) con 4 bytes de datos con información sobre distintas pruebas que realiza la ECU: que pruebas están disponibles en el vehículo, cuales están completas y cuales no, si se ha registrado algún fallo y si la luz de mal funcionamiento del motor está encendida en el cuadro de mandos, y todo ello desde la última vez que se borraron los codigos de error.

De la decodificación de los datos recibidos (01 01 07 E1), acorde a la norma resulta:

Indicador de mal funcionamiento (MIL) .......................: Apagado
Número de alarmas disponibles para su visualización .........: 1

TESTS generales:
	Monitorización de Componentes .......................: COMPLETA
	Monitorización del Sistema de Combustible ...........: COMPLETA
	Monitorización de Fallos ............................: COMPLETA

TESTS específicos:
	Monitorización del sistema EGR ......................: COMPLETA
	Monitorización del calentador de la sonda de oxígeno : COMPLETA
	Monitorización de la sonda de oxígeno ...............: COMPLETA
	Monitorización del refrigerante del sistema A/C .....: NO DISPONIBLE
	Monitorización del sistema secundario de aire .......: NO DISPONIBLE
	Monitorización del sistema de evaporación ...........: NO DISPONIBLE
	Monitorización del calentador del catalizador .......: NO DISPONIBLE
	Monitorización del catalizador ......................: COMPLETA

donde vemos que la luz MIL está apagada, pero que sin embargo el vehículo tiene un código de error almacenado en la ECU. Además, nos muestra información del estado de las distintas pruebas que ha realizado la ECU, donde vemos que 4 de ellas no están disponibles en el toyobaru.

2) PID - 0x03 Estado del sistema de combustible

Enviamos ahora el PID 0x03:

>> 7DF: 02 01 03 00 00 00 00 00
<< 7E8: 04 41 03 01 00 00 00 00

y obtenemos una respuesta con 2 bytes de información que nos muestra como están funcionando los sistemas de inyección.

Sistema de combustible #1 .: Bucle abierto debido a temperatura insuficiente en el motor
Sistema de combustible #2 .: INFORMACION NO DISPONIBLE

El sistema de combustible #1 hace referencia a la inyección indirecta, mientras que el sistema de combustible #2 se refiere a la inyección directa.

Como se ha realizado la prueba con el motor parado (o en otros casos al ralentí), el sistema de combustible #2 nunca está funcionando, por eso aparece INFORMACION NO DISPONIBLE. Queda pendiente realizar un programa que interrogue a la ECU mientras el coche está en marcha, para ver así funcionar a los distintos sistemas de combustible.

Otros valores que, según la norma, puede presentar el sistema de combustible son:

  • Bucle cerrado, usando información del sensor de oxígeno para determinar el dosado
  • Bucle abierto debido a la carga del motor, o a un corte de combustible debido a la deceleración
  • Bucle abierto debido a fallo del sistema
  • Bucle cerrado, usando por lo menos un sensor de oxígeno, pero exite un fallo en el sistema

3) PID 0x04 - Carga calculada del motor

La solicitud del PID 0x04 devuelve un único byte de información

>> 7DF: 02 01 04 00 00 00 00 00
<< 7E8: 03 41 04 00 00 00 00 00

que indica la carga calculada del motor. El valor recibido se divide por 255 y se multiplica por 100 para obtener el valor en tanto por ciento.

En este caso se recibió 0 %, pues se estaba con el motor parado en el momento de lanzar la consulta OBD2.

Este es un valor que la norma deja a los fabricantes libertad para calcular, pero recomienda implementarlo a partir de una fórmula que considera los flujos de aire instantáneo y máximo en la admisión, la presión barometrica y la temperatura ambiente.

Veremos más adelante el PID 0x43 que ofrece el valor absoluta de carga y que también está soportado por la ECU del toyobaru. Tengo pendiente analizar las diferencias entre estos dos valores de carga.

4) PID 0x05 - Temperatura del líquido refrigerante del motor

La solicitud del PID 0x05 devuelve un único byte de información

>> 7DF: 02 01 05 00 00 00 00 00
<< 7E8: 03 41 05 34 00 00 00 00

que representa la temperatura del líquido refrigerante. Para calcularla, la norma indica que basta con restar 40 al valor recibido, para obtener así la temperatura en grados centígrados. De este modo se cubre un rango entre -40 ºC y 215 ºC.

En la prueba realizada hemos obtenido una lectura de 0x34 (recordemos que todos los valores de las tramas están en hexadecimal) que se corresponde con 52 (decimal), y restanto 40 como indica la norma obtenemos 12 ºC, que es la temperatura del líquido refrigerante (recordemos que aun no se había arrancado el motor).

5) PID 0x06 - Ajuste de combustible a corto plazo (Banco 1)

La solicitud del PID 0x06 sólo devuelve un único byte de información

>> 7DF: 02 01 06 00 00 00 00 00
<< 7E8: 03 41 06 80 00 00 00 00

Acorde a la norma, el valor obtenido se multiplica por 100, se divide por 128 y al resultado se le resta 100 y se expresa en tanto por ciento (%), e indica la corrección que está siendo utilizada por el algoritmo de combustible de circuito cerrado en ese momento.

Con la formula normalizada, los valores obtenidos están en un rango entre -100, que indica la presencia de una mezcla muy rica y que hay que reducir combustible y 99,2, que indica una mezcla muy pobre, y que por tanto hay que aumentar combustible.

Si el sistema de combustible está en lazo abierto, se informará una corrección del 0 % (valor 0x80, que es precisamente lo que ha enviado el coche en la prueba, pues como vimos con el PID 0x03, el sistema de combustible estaba en modo abierto.)

6) PID 0x07 - Ajuste de combustible a largo plazo (Banco 1)

La solicitud del PID 0x07 retorna un único byte de información

>> 7DF: 02 01 07 00 00 00 00 00
<< 7E8: 03 41 07 84 00 00 00 00

El valor se calcula con la misma fórmula utilizada para el PID 0x06 y con el mismo significado, pero en este caso representará la corrección que está utilizando el algoritmo de control de combustible en el momento en que se soliciten los datos, tanto en el control de combustible de circuito abierto como en el de circuito cerrado.

El valor obtenido en la prueba (0x84) se representa por 3.125 %, que al ser positivo indica una mezcla ligeramente pobre y por tanto, el algoritmo va a aumentar el combustible que se inyecta en breve.

7) PID 0x0B - Presión absoluta del colector de admisión

La solicitud del PID 0x0B también devuelve un único byte de información

>> 7DF: 02 01 0B 00 00 00 00 00
<< 7E8: 03 41 0B 60 00 00 00 00

El valor obtenido representa directamtene la presión en kPa en el colector de admisión. En la prueba hemos obtenido 0x60 (hexadecimal) que representa 96 kPa de presión. Recordemos que la presión atmosférica media es de 101 kPa.

Page top