décodage RX400h

priusfan

darwiniste
Prius Touring Club
Inscrit
22 Oct. 2005
messages
6,545
Score de réaction
9,446
Localisation
conflans ste honorine
Véhicule
Ioniq5
j'ouvre cette discussion pour centraliser les infos CAN du RX.

le RX utilise un système comparable aux autres HSD:
un CAN de 11 bits @500kbps
il diffuse environ 1300 trames/sec.

le système de capture est composé de:
un OBDLINK paramétré @2Mbps,
connecté en USB à un PC sous Linux,
la capture est effectuée par le script de Kinetik.

j'ai ventilé une grosse log de 120 mega (2495 secondes) dans excel, avec un onglet par PID et un onglet de synthèse où l'on voit d'un coup d'oeil les mini-maxi de chaque octet pour chaque PID.
ensuite, en testant des combinaisons d'octets voisins et en faisant des graphes, on joue aux devinettes...

je reproduis ci-dessous les échanges eus avec Kinetik à ce sujet:


j'ai ventilé mon énorme log dans un classeur avec un onglet par PID.
ci-joint feuille de synthèse.

j'ai confirmé:
53F (odo en KMS)
0B0 vitesse roues AV CM/H
0B2 vitesse roues AR CM/H
0B4 vitesse moyenne roues AV CM/H

il y qqs PIDS avec des infos intéressantes une fois converties en tenant compte du signe....
je vais récupérer mon Y et refaire des logs courtes en comparant avec celles de techstream...



Note que tous les derniers octets des ID 022 à 3CF sont des octets de contrôle,
qui suivent la même règle que sur la P2.
J'ai ajouté les cases CHSUM. J'ai aussi noté NONE les cases qui ne sont pas transmises sur le bus, lorsqu'il y a moins de 8 octets dans le message :
https://drive.google.com/file/d/0B67...it?usp=sharing

022 c'est probablement l'accélération latérale, deux valeurs comme sur la P2
023 c'est probablement l'accélération longitudinale, deux valeurs comme sur la P2
025 c'est probablement la position du volant de direction, presque comme sur la P2
en 03C p4 p5 il y a un résolveur 12 bits


Encore d'autres vitesses, celles des moteurs arrière et avant

vitesse_244_ar = can_int16(v244,2) # signifie 16 bits signés du PID 244, octets 2 et 3
vitesse_244_av = can_int16(v244,4)

Pour la vitesse en cm/h, il faut multiplier respectivement par 1.89 et 1.67

La position de l'accélérateur

accelerateur_244 = can_uint8(v244,6)

La force demandée

force_230 = can_int7(v230,4)

Tu as fait une belle accélération 0 a 100 km/h. On voit nettement les rooues avant "glisser" (tourner plus vite).


Comme sur la P2, le volume d'essence est transmis tous les 20 tours moteur (je suppose que tu as fait rugir le thermique à 5500 t/min, au maximum)

volume_essence_520 = can_uint16(v520,1)

En sommant toutes les valeurs, on a le volume consommé sur le trajet. Il faudra que tu calibres
le facteur par raport à l'ODB


je pense avoir localisé la température de ICE en 56D, octet 1 , (offset 40 traditionnel)

j'ai un doute pour la valeur max. des RPM du thermique

J'obtiens 5600 avec la formule suivante

ice_526 = 0.8*(can_uint16(v526,1) >> 2)


cela me parait vraisemblable....

le facteur 0.8 me gène un peu, mais si l'on écrit :

ice_526 = can_uint16(v526,1) / 5 , cela me gène moins....
 
Pages vues depuis le 20 Oct 2005: 284,354,891
Haut Bas