La tension du module de commande et la tension de la batterie sont-elles les mêmes?


8

La tension du module de commande (du mode OBD 01 PID 42) et la tension de la batterie sont-elles les mêmes? Sinon, quelle est la relation entre eux? Pourquoi la valeur maximale de la tension du module de commande (du mode OBD 01 PID 42) est-elle de 65,535 V, alors que la tension de la batterie peut atteindre 14 V au maximum dans une voiture?


Pour plus de précision: obtenez-vous réellement 65,535 V comme lecture, ou vous demandez-vous simplement pourquoi la lecture maximale possible est ce nombre particulier?
user253751

1
S'il s'agissait d'une valeur maximale de 99,999, le raisonnement serait assez clair (5 chiffres, avec la virgule décimale après la seconde). 65535 est en binaire ce que 99999 est en décimal.
user253751

Réponses:


9

On dirait que le problème vient du signal entrant.

À moins que votre véhicule ne soit équipé d'un condensateur de flux , une batterie de 65 V est un peu trop. Même les camions lourds ne font pas fonctionner cette tension à ma connaissance.

65535 est l'entier 16 bits maximum non signé.

En regardant la page wiki OBD-II, il semble que la formule utilisée par le PID OBD-II selon SAE J1979 soit:

( A * 256 + B ) / 1000

Où A correspond aux deux premiers octets, B correspond aux deux octets suivants. Si A et B sont tous les deux 255 (donc 11111111 en binaire) vous obtiendrez la tension maximale possible, 65,535 V


Si ce résultat provient d'un simulateur, je blâmerais cela. Si c'est le signal provenant d'un vrai véhicule, je vérifierais un court-circuit ECU (pas sûr cependant). Assurez-vous d'interroger la bonne adresse pour exclure cela comme une possibilité de tension inhabituelle.

La tension du module de commande est la tension fournie à l'ECU. Ce n'est pas la tension de la batterie, mais elle est généralement suffisamment proche lorsque le véhicule roule.


1
Pas comme un logiciel automobile, c'est si bon pour commencer. C'est une réponse fantastique, soit dit en passant. :)
fièvre de course

6

Je pense que ce que vous voyez n'est qu'un artefact du fonctionnement des ordinateurs. Le nombre que vous donnez n'est que de 65535 avec une décimale insérée dedans. C'est un nombre spécial pour les ordinateurs - c'est la plus grande valeur pouvant être contenue dans un entier de 16 bits (2 octets). Donc, tout simplement, c'est la plus grande valeur qui peut être retournée pour cette mesure particulière en raison de la variable informatique qu'ils ont décidé d'utiliser. C'est le fruit de la programmation - ils ne s'attendent pas à ce qu'il mesure jamais 65 volts. S'il s'agissait d'une valeur pouvant être positive ou négative, vous pourriez voir une valeur maximale de 32 767.

Un autre nombre que vous pourriez voir beaucoup est 255. Il s'agit de la valeur maximale d'un nombre non signé de 8 bits (un octet). Si la valeur peut être positive ou négative, la valeur maximale est 127.


Voir ma réponse. Je pense que je suis sur quelque chose ...
Zaid

Habituellement, 12 7 sera la valeur maximale d'un entier signé de 8 bits.
user253751

@immibis, tu m'as eu - j'avais "signé" dans ma tête et pensais -128. Merci.
JPhi1618

1

Lorsque le moteur tourne, la tension doit suivre la sortie de l'alternateur / régulateur de tension (qui est également la tension de charge de la batterie). Lorsque le moteur ne tourne pas, il suivra la tension de la batterie.

Je ne peux que spéculer sur la raison de la large plage de tension. La sortie non régulée de l'alternateur peut dépasser 48V, ce pourrait donc être une donnée de diagnostic utile. Ou, il peut simplement s'agir d'un artefact de l'encodage numérique, que la plage de valeurs dépasse ce qui est nécessaire.


1
Si le CMV atteint 65 + vdc, comment cela suit-il la tension de l'alternateur? Cela ferait complètement frire une batterie en un rien de temps. La plupart des véhicules en marche devraient lire à l'alternateur est ~ 14vdc. Quelque chose de trop après cela et c'est au revoir.
Pᴀᴜʟsᴛᴇʀ2

@ Paulster2 J'ai mis à jour ma réponse pour répondre à vos questions.
kmarsh

1

La tension du module de commande est la tension de la batterie, moins toute chute de tension dans le câblage entre la batterie et l'ECU. 65535 est un registre 16 bits complet. L'ECU fonctionnera probablement avec des nombres entiers (calcule plus rapidement) mais convertira la sortie finale de ses calculs pour OBD en forme 'virgule flottante' ou 'réelle' (nombres pouvant utiliser des décimales).

La raison pour laquelle le maximum n'est pas 65535, 6553,5 ou 655,35 est qu'avec le point décimal placé deux à partir de la gauche, il permet la plus grande précision dans l'étape entière de calcul tout en fournissant suffisamment de places à gauche de la décimale pour afficher toutes les valeurs probables. Il permet essentiellement à l'ECU de fonctionner à 3 décimales en nombres entiers. Peut-être pas si important pour la tension de la batterie, mais je suppose que c'est le principe.

Il n'était peut-être pas possible d'appliquer artificiellement une valeur maximale inférieure à 65 535, mais même si c'était le cas, je ne vois aucun avantage à le faire.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.