PCM and the new gen 3 prius

priusfan

darwiniste
Prius Touring Club
Inscrit
22 Oct. 2005
messages
6,788
Score de réaction
9,855
Localisation
Challans
Véhicule
Ioniq5
the protocol is the same.
So the capture is perfect.
But I had no time at all to capture structured infos and analyse them.
I will start from aug 15th.
 

planétaire

Participant hyperactif
Inscrit
4 Fév. 2008
messages
9,127
Score de réaction
5,364
Localisation
Caldera d'Ecouves
Véhicule
Prius 2 lithium et d autres VE
The P3 send more pid then the P2. Only one is the same : speed.
That's to say Pcm show actualy the speed : 0b4.
May be also the 025 (direction)

Here all the pid send by the P3:
16714a45bf51787a5.png


This is a capture made by Pcm. ;-)
 

planétaire

Participant hyperactif
Inscrit
4 Fév. 2008
messages
9,127
Score de réaction
5,364
Localisation
Caldera d'Ecouves
Véhicule
Prius 2 lithium et d autres VE
@Priusfan.

J'ai commencé à regarder la capture de la P3 que j'avais mise de côté.

-On a la vitesse sur le pid 0B4 octets 6 et 7, comme la Prius2.
-Le pid 0B6 octets 1 et 2 a quasiment la même valeur que le 0B4.

-Il est quasi-sûr que le Pid 1C4 octets 1 et 2 forment un mot de 16 bits qui est le régime en tr/mn du thermique. EDIT : Non, valeur trop forte.

Probable:
-Le Pid 0AA contient 4 mots de 16 bits, valeurs variant de 6800 à 7300. Si on divise par 32 on va de 212 à 228.
Mais ce n'est pas la tension de la batterie. Elle augmente (un peu) quand on roule en Ev.
Ces 4 "tensions" sont légèrement différentes, par moments.

A suivre.

Ajout 7/8/9.
J'ai constaté une bizarerie concernant les mots de 16bits pour plusieurs pid.
Si on regarde un seul pid et son évolution dans le temps:
L'octet de poids fort est en retard d'une réception du pid !!!
Exemple on a 0&255, le suivant sera 0&0 puis 1&1
Alors qu'on aurait dû avoir 0&255, 1&0 puis 1&1
La bascule du pid de poids fort 0 à 1 est en retard d'une réception du pid !!
Facile à gérer dans le prog pcm.
 
Dernière édition:

kinetik

Participant hyperactif
Inscrit
29 Mai 2011
messages
1,533
Score de réaction
823
Localisation
proche banlieue de Paris
Véhicule
Prius 2, Across
PID 0AA = vitesse des roues

Le PID 0AA contient les 4 vitesses de roues sur 16 bits

vitesse_avd = can_uint16(v0AA,0)
vitesse_avg = can_uint16(v0AA,2)
vitesse_ard = can_uint16(v0AA,4)
vitesse_arg = can_uint16(v0AA,6)

On voit très nettement la différence des vitesses lorsque le volant est braqué.

Mais ce sont des vitesses "brutes" # valeur min == 6767 # valeur max > 17371 Il faut soustraire ce 6767 pour obtenir la vitesse avec une unité de l'ordre de 10 m/h.
 
Dernière édition:

kinetik

Participant hyperactif
Inscrit
29 Mai 2011
messages
1,533
Score de réaction
823
Localisation
proche banlieue de Paris
Véhicule
Prius 2, Across
PID 0B4 = vitesse et odomètre

Le PID 0B4 contient la vitesse, comme l'a noté planétaire. En retirant un peu plus de 1%, on compare tres bien avec la vitesse des roues PID 0AA. On déduit en observant les forts braquages que la mesure est basée sur les roues avant.

vitesse = can_uint16(v0B4,5) # 0 ..10718 (unité probablement de l'ordre de 10 m/h)

Mais il y a aussi mon odomètre chéri

odometre = can_uint8(v0B4,4)
 
Dernière édition:

kinetik

Participant hyperactif
Inscrit
29 Mai 2011
messages
1,533
Score de réaction
823
Localisation
proche banlieue de Paris
Véhicule
Prius 2, Across
PID 1C4 = vitesse ICE

v_ICE = can_uint16(v1C4,0)

Sur un log de Priusfan, j'observe des vitesses moteur plutôt élevées, mais jamais plus de 5150. Un ralenti de chauffe à 1600, un entrainement à plus de 70 km/h valeur 1280.

Pour étalonner en observant le plateau du régime moteur maximal 5200 t/min, il faudrait faire un test 0..100 km/h accélérateur à fond.
 

kinetik

Participant hyperactif
Inscrit
29 Mai 2011
messages
1,533
Score de réaction
823
Localisation
proche banlieue de Paris
Véhicule
Prius 2, Across
PID 4C1, 4C3, 4C6, 4C7, 4C8, 4DD = versions d'ECU

Les ECU 1,3,7,8,9,30 transmettent leur numéro de version

4C1 (1,0,9,4,0,0,0,0)
4C3 (3,0,23,5,0,0,0,0)
4C6 (7,0,2,0,0,0,0,0)
4C7 (8,0,1,33,0,0,0,0)
4C8 (9,0,9,4,0,0,0,0)
4DD (30,0,2,1,0,0,0,0)
 

priusfan

darwiniste
Prius Touring Club
Inscrit
22 Oct. 2005
messages
6,788
Score de réaction
9,855
Localisation
Challans
Véhicule
Ioniq5
v_ICE = can_uint16(v1C4,0)

Sur un log de Priusfan, j'observe des vitesses moteur plutôt élevées, mais jamais plus de 5150. Un ralenti de chauffe à 1600, un entrainement à plus de 70 km/h valeur 1280.

Pour étalonner en observant le plateau du régime moteur maximal 5200 t/min, il faudrait faire un test 0..100 km/h accélérateur à fond.

pas de pb: ya ka demander :-D

pour info, la log que j'ai envoyée à kinetik correspond à un trajet assez vallonné.
ce fichier fait un peu plus de 82 meg pour un peu plus de 2 180 000 trames, à raison d'environ 1000 trames/sec (et oui la p3 est moins bavarde que son ainée).

l'équipement de capture:
un obdlink communiquant en USB à 2Mbps
avec un "vieux" laptop HP EliteBook (doublecoeur) tournant sous linux (ubuntu 12.04.2 32bits) et un script python de kinetik.....

un énorme bravo au super détective :jap: ....
 

kinetik

Participant hyperactif
Inscrit
29 Mai 2011
messages
1,533
Score de réaction
823
Localisation
proche banlieue de Paris
Véhicule
Prius 2, Across
PID 0AA, 0B4, 0B6 = vitesses

Le PID 0B4 donne la vitesse moyenne des roues avant, multipliée par 1.0128

Le PID 0B6 donnee la vitesse moyenne des roues arrière, sans multiplicateur.

vitesse_avd = can_uint16(v0AA,0) - 6767
vitesse_avg = can_uint16(v0AA,2) - 6767
vitesse_ard = can_uint16(v0AA,4) - 6767
vitesse_arg = can_uint16(v0AA,6) - 6767
vitesse_av = can_uint16(v0B4,5) / 1.0128
vitesse_ar = can_uint16(v0B6,0)
 

kinetik

Participant hyperactif
Inscrit
29 Mai 2011
messages
1,533
Score de réaction
823
Localisation
proche banlieue de Paris
Véhicule
Prius 2, Across
L'analyse de la totalité des PID passifs de la P3 est ici :
https://docs.google.com/file/d/0B67T1kwFymSWdm1hV0k5UHJTU2s/edit

J'ai joint une mini capture sans autre intérêt que de vérifier que le programme tourne.

Il faut créer une nouvelle capture dans logs_p3 avec "python ../bin/capture.py" Ce programme tourne sous Linux. Il peut être adapté sous Windows, mais XP n'a pas de timer microseconde.

Ensuite on crée le répertoire des PID en se plaçant dans logs_p3 avec "python ../bin/read_can_p3.py 2013xxxxxxxx"

Enfin on se place dans python/2013-04-14, on lance python puis "execfile '001_full_p3.py'"

La lecture du fichier 001_full_p3.py donne de manière plus ou moins lisible les quelques informations que j'ai analysées. Vous pouvez l'adapter pour poursuivre l'interprétation.
 
Dernière édition:

thierryb

Participant hyperactif
Inscrit
20 Janv. 2011
messages
1,968
Score de réaction
1,032
Localisation
Yvelines
Véhicule
Prius 2 sol pack ipa 2008 verte
Tu veux dire P3, non ?
 

kinetik

Participant hyperactif
Inscrit
29 Mai 2011
messages
1,533
Score de réaction
823
Localisation
proche banlieue de Paris
Véhicule
Prius 2, Across
accélérateur et vitesse MG2 : PID 245 et 3B3

Le PID 245, octet 2 (le troisième) donne directement la position de la pédale d'accélérateur, de 0 à 200 toutes les 24 ms.

Sur le même PID, octets 0 et 1 on a la vitesse de MG2. Sur ton relevé le max est de 7736, avec un max des octets 5 et 6 du PID 0B4 égal à 10472, soit 102 km/h. Que vaut le rapport de transmission de la P3 ? Quelle est la dimension des pneus ? En tous cas, si la vitesse max de MG2 est 13500, je calcule 102*13500/7736 = 178 km/h.

Le PID 3B3 octet 2 (le troisième) n'est délivré que toutes les 500 ms. Il reflète fidèlement la position de la pédale d'accélérateur mais au lieu d'aller de 0 à 200, il va de 40 à 170, de 2 en 2. C'est peut-être pour coder des valeurs négatives. Mais je ne l'ai jamais vu sur tes relevés. Essaye de passer dans les autres modes de conduite (sportif?, B ?).

Je n'ai vu pas de plateau à 5200 t/min de ce que je croyais être la vitesse du thermique. À l'oreille, il y avait un plateau ?
 
Dernière édition:

priusfan

darwiniste
Prius Touring Club
Inscrit
22 Oct. 2005
messages
6,788
Score de réaction
9,855
Localisation
Challans
Véhicule
Ioniq5
je tenterai (peut-être) demain un autre relevé en utilisant sur l'autre branche du Y, soit torque sur android, soit ma petite appli avec mbed.
objectif: au moins étalonner les rpm de ICE...
 

kinetik

Participant hyperactif
Inscrit
29 Mai 2011
messages
1,533
Score de réaction
823
Localisation
proche banlieue de Paris
Véhicule
Prius 2, Across
PID 127 : couple demandé

Le PID 127, 11 bits des octets 3 et 4, donne le couple demandé. C'est un entier signé. Le bit 6 (l'avant-dernier plus fort) de l'octet 3 dit si on est en freinage électrique : il est activé si le couple demandé est négatif (voire nul) et si en même temps la vitesse n'est pas trop faible.

Sur le même PID on a la position PRBDN ou PRNDB (à voir), moitié haute de l'octet 5.

Sur 12 bits, moitié basse de l'octet 5 et octet 6, on a l'angle provenant du résolveur de MG2.

Ton conducteur n'a pas osé appuyer à fond en partant de l'arrêt. Il a mis une seconde, et on ne voit pas de plateau du couple max. Néanmoins, cela monte à 256. Considérant que le couple max. c'est le couple max de MG2 (207 N×m) plus une fraction du couple max du moteur, l'unité du couple demandé est proche du couple au niveau de MG2. Le couple max en marche arrière cela peut être instructif. Je pense que tu peux le baire en bloquant le frein à main à pied. Ça ne devrait pas déraper dans ce sens.

En multipliant le couple par la vitesse on obtient la puissance. En supposant que le couple est bien le couple demandé exprimé en N×m le maximum a été de 83 kW, lors de la première accélération. Seulement de 80 kW pour les deux autres. Il faudrait que tu fasses un test sur autouroute. Idéalement un départ à fond de 0 à 130 km/h. Mais une accélération à fond de 90 à 130 km/h irait bien. Voire si tu n'as que des voies rapides une accélération à fond de 70 à 115 km/h réels.
 

priusfan

darwiniste
Prius Touring Club
Inscrit
22 Oct. 2005
messages
6,788
Score de réaction
9,855
Localisation
Challans
Véhicule
Ioniq5
hello Kinetik
je comprends fort bien tes demandes et je suis pantois devant tes déductions à partir d' une série de chiffres...

pour procéder à des captures complémentaires, j'ai besoin d'un pilote (safety first) et ce ne sont ni mon épouse ni mon chien qui pourraient jouer ce rôle.
pour atteindre l' A13 (où l'on peut rouler à 130) à chambourcy, j'ai une approche de 25 minutes.
j'adore d'ailleurs les départs "canon" aux barrières de péage....
peut-être thierryb se dévouera-t’il un jour... (à moins que toi-même fasse un voyage dans le nord).
 

Less Polluter

Participant hyperactif
Inscrit
7 Déc. 2005
messages
8,114
Score de réaction
1,963
Localisation
LXXV
Véhicule
Prius 7 (3+4) PHEV²
J'aurais peut-être une course dans ton coin (violon électrique) et dévissage du filtre à huile sur ton descente de parking ... à faire :-D
Donc je puis être ton pilote. Si tu le veux bien.
Reste à savoir quand ? Cette semaine j'aurais de trucs à faire mais je passe le viaduc de la prochaine sur Paris.
 
Pages vues depuis le 20 Oct 2005: 299,527,721
Haut Bas