0x7C4, la ECU responsable de la climatización del toyobaru.

Seguimos tratando de descubrir las distintas ECUs del coche y que datos nos pueden ofrecer. Esta vez vamos a centrarnos en la ECU con CAN ID 0x7C4.

En otros Toyotas esta ECU es la responsable de controlar el aire acondicionado y aunque la información que he visto por ahí no obtenía resultados en mi GT86, a base de realizar pruebas, he encontrado una solicitud a esta ECU relacionada con la temperatura que seleccionas para el habitáculo.

Así que tiene toda la pinta de que en el toyobaru, esta ECU tiene la misma función que en otros modelos de Toyota.

Pero vayamos por partes. Antes de analizar las solicitudes en particular, veamos cuales están disponibles. Para ello utilizamos el mismo método que en las ECUs anteriores. Solicitamos el PID 0x00 del servicio 0x21 a la ECU 0x7C4 y vamos elaborando la tabla de PIDs soportados.

Una vez obtenidos los PIDs, solicitamos todos ya cada uno de los PIDs soportados para obtener la respuesta y ver de que longitud es.

Con esa información podemos escribir la siguiente tabla.

PID Longitud (bytes) Unidades Cálculo Descripción Status
0x00 4 - Evaluación de bits PIDs soportados [0x01...0x20] Confirmado
0x03 2


Desconocido
0x20 4 - Evaluación de bits PIDs soportados [0x21...0x40] Confirmado
0x21 2


Desconocido
0x24 2


Desconocido
0x25 1


Desconocido
0x26 2


Desconocido
0x29 2


Desconocido
0x2A 2


Desconocido
0x2B 2


Desconocido
0x2C 2


Desconocido
0x2D 2


Desconocido
0x2E 2


Desconocido
0x2F 2


Desconocido
0x30 2


Desconocido
0x33 2


Desconocido
0x34 2


Desconocido
0x35 2


Desconocido
0x36 1


Desconocido
0x3C 1


Desconocido
0x3D 2


Desconocido
0x40 4 - Evaluación de bits PIDs soportados [0x41...0x60] Confirmado
0x41 1


Desconocido
0x42 1


Desconocido
0x43 1


Desconocido
0x44 1


Desconocido
0x45 1


Desconocido
0x46 1


Desconocido
0x47 2


Desconocido
0x48 2


Desconocido
0x4B 2


Desconocido
0x4C 2


Desconocido
0x60 4 - Evaluación de bits PIDs soportados [0x61...0x80] Confirmado
0x80 4 - Evaluación de bits PIDs soportados [0x81...0xA0] Confirmado
0x81 4


Desconocido
0x82 4


Desconocido
0x89 1


Desconocido
0xA0 4 - Evaluación de bits PIDs soportados [0xA1...0xC0] Confirmado
0xC0 4 - Evaluación de bits PIDs soportados [0xC1...0xE0] Confirmado
0xE0 4 - Evaluación de bits PIDs soportados [0xE1...0x100] Confirmado
0xE1 7


Desconocido
0xE2 5


Desconocido

Detectado el PID responsable, sólo había que ir cambiando la temperatura y ver que dos bytes devolvía para ella. Y así obtuve:

0x640 para 16ºC, 0x60E para LO (el mínimo que admite el climatizador), 0xA8C para 27ºC, 0xBB8 para 30ºC y 0xBEA para HI (la máxima temperatura soportada por el climatizador).

Entonces decidí poner el modo dual, y empezar a modificar la temperatura del copiloto. Así puse en el climatizador 20ºC - 20ºC y obtuve 0x7D0. A continuación puse 20ºC - 23 ºC y obtuve el mismo 0x7D0.

Realicé distintas pruebas y todos dieron el mismo resultado. El PID 0x29 del servicio 0x21 de la ECU 0x7C4 sólo cambia su respuesta cuando cambia la temperatura del piloto. La del copiloto no la tiene en cuenta. Habrá que buscarla en otro PID. 

Pero en cualquier caso, la evidencia de que la ECU 0x7C4 estaba relacionada con el sistema de climatización estaba obtenida.

Quedaba por encontrar las unidades en las que la ECU devolvía el valor. Y para mi sorpresa fue trivial. Y es que a 22ºC había devuelto 0x898, que al convertirlo a decimar resultó ser 2200. Para 18ºC había devuelto 0x708, que al convertirlo a decimal resulto 1800. Y así con todos los valores, la ECU devolvía la temperatura seleccionada multiplicada por 100. Para LO obtuve 1550 (15,5ºC) y para HI 3250 (32,5ºC).

Ya podemos por tanto, rellenar la primera entrada de la tabla.

PID Longitud (bytes) Unidades Cálculo Descripción Status
0x29 2
A,B
ºC (A*256+B)/100 Temperatura conductor demandada A/C Confirmado

Con paciencia, espero ir rellenado el resto de entradas en la tabla ...

Añadir un comentario

El código HTML se muestra como texto y las direcciones web se transforman automáticamente.

Page top