¿El voltaje del módulo de control y el voltaje de la batería son iguales?


8

¿El voltaje del módulo de control (del modo OBD 01 PID 42) y el voltaje de la batería son los mismos? Si no, ¿cuál es la relación entre ellos? ¿Por qué el valor máximo del Voltaje del módulo de control (desde el modo OBD 01 PID 42) es 65.535 V, cuando el voltaje de la batería puede ser como máximo 14 V en un automóvil?


Para aclarar: ¿ realmente está obteniendo 65.535 V como lectura, o simplemente se pregunta por qué la lectura máxima posible es ese número en particular?
user253751

1
Si fuera un valor máximo de 99.999, el razonamiento sería bastante claro (5 dígitos, con el punto decimal después del segundo). 65535 está en binario lo que 99999 está en decimal.
user253751

Respuestas:


9

Parece que el problema es con la señal entrante.

A menos que su vehículo venga equipado con un condensador de flujo , 65 V a través de la batería es demasiado. Incluso los camiones pesados ​​no funcionan con ese voltaje, que yo sepa.

65535 es el número entero máximo de 16 bits sin signo.

Al mirar la página wiki de OBD-II , parece que la fórmula utilizada por el PID OBD-II según SAE J1979 es:

( A * 256 + B ) / 1000

Donde A son los primeros dos bytes, B son los siguientes dos bytes. Si A y B son ambos 255 (entonces 11111111 en binario) obtendrá el voltaje máximo posible, 65.535 V


Si este resultado es de un simulador, culparía allí. Si esta es la señal proveniente de un vehículo real, comprobaría si hay una ECU corta (aunque no estoy seguro). Asegúrese de sondear la dirección correcta para descartar eso como una posibilidad para el voltaje inusual.

El voltaje del módulo de control es el voltaje suministrado a la ECU. No es el voltaje de la batería, pero generalmente está lo suficientemente cerca cuando el vehículo está funcionando.


1
No es tan bueno comenzar con el software automotriz. Esta es una respuesta fantástica, por cierto. :)
fiebre de la carrera el

6

Creo que lo que estás viendo es solo un artefacto de la forma en que funcionan las computadoras. El número que da es solo 65535 con un decimal insertado. Ese es un número especial para las computadoras: es el valor más grande que se puede mantener en un entero de 16 bits (2 bytes). En pocas palabras, ese es el valor más grande que se puede devolver para esa medición en particular debido a la variable de computadora que decidieron usar. Es producto de la programación: no esperan que mida 65 voltios. Si este es un valor que podría ser positivo o negativo, es posible que vea un valor máximo de 32,767.

Otro número que puede ver mucho es 255. Este es el valor máximo de un número sin signo de 8 bits (byte único). Si el valor puede ser positivo o negativo, el valor máximo es 127.


Mira mi respuesta. Creo que estoy en algo ...
Zaid

Por lo general, 12 7 será el valor máximo de un entero de 8 bits con signo.
user253751

@immibis, me tienes - me había "firmado" en mi cabeza y estaba pensando -128. Gracias.
JPhi1618

1

Cuando el motor está funcionando, el voltaje debe seguir la salida del alternador / regulador de voltaje (que también es el voltaje de carga de la batería). Cuando el motor no está funcionando, rastreará el voltaje de la batería.

Solo puedo especular sobre la razón del amplio rango de voltaje. La salida del alternador no regulada puede superar los 48 V, por lo que podría ser un dato de diagnóstico útil. O bien, puede ser solo un artefacto de la codificación digital, que el rango de valores exceda lo necesario.


1
Si el CMV alcanza los 65 + vdc, ¿cómo es el seguimiento del voltaje del alternador? Eso freiría completamente una batería en poco tiempo. La mayoría de los vehículos en funcionamiento deberían leer en el alternador a ~ 14vdc. Algo más allá de eso y es adiós batería.
Pᴀᴜʟsᴛᴇʀ2

@ Paulster2 Actualicé mi respuesta para responder a sus preguntas.
kmarsh

1

El voltaje del módulo de control es el voltaje de la batería, menos cualquier caída de voltios en el cableado entre la batería y la ECU. 65535 es un registro completo de 16 bits. La ECU probablemente funcionará con números enteros (se calcula más rápido) pero convertirá la salida final de sus cálculos para OBD en forma de 'punto flotante' o 'real' (números que pueden usar puntos decimales).

La razón por la que el máximo no es 65535, 6553.5 o 655.35 es que con el punto decimal colocado dos desde la izquierda, permite la mayor precisión en la etapa de cálculo de números enteros al tiempo que proporciona suficientes lugares a la izquierda del decimal para mostrar todos los valores probables. Básicamente, permite que la ECU funcione con 3 decimales en enteros. Quizás no sea tan importante para el voltaje de la batería, pero supongo que ese es el principio.

Puede que no haya existido la posibilidad de aplicar artificialmente un valor máximo inferior a 65535, pero incluso si lo hubiera, no veo ninguna ventaja al hacerlo.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.