A voltagem do módulo de controle e a voltagem da bateria são iguais?


8

A tensão do módulo de controle (do modo OBD 01 PID 42) e a tensão da bateria são iguais? Se não, qual é a relação entre eles? Por que o valor máximo de Tensão do módulo de controle (do modo OBD 01 PID 42) é 65.535 V, quando a tensão da bateria pode no máximo ser 14 V em um carro?


Para esclarecimento: você está realmente recebendo 65,535V como uma leitura ou apenas se perguntando por que a leitura máxima possível é esse número em particular?
user253751

11
Se fosse um valor máximo de 99,999, o raciocínio seria bem claro (5 dígitos, com o ponto decimal após o segundo). 65535 é em binário que 99999 é em decimal.
precisa saber é o seguinte

Respostas:


9

Parece que o problema está no sinal de entrada.

A menos que seu veículo seja equipado com um capacitor de fluxo , 65 V através da bateria é um pouco demais. Até caminhões pesados ​​não geram essa voltagem ao meu conhecimento.

65535 é o número máximo máximo de 16 bits não assinado.

Olhando para a página wiki do OBD-II , parece que a fórmula usada pelo OBD-II PID conforme SAE J1979 é:

( A * 256 + B ) / 1000

Onde A são os dois primeiros bytes, B são os próximos dois bytes. Se A e B forem 255 (11111111 em binário), você obterá a tensão máxima possível, 65,535 V


Se esse resultado for de um simulador, eu colocaria a culpa lá. Se este é o sinal proveniente de um veículo real, eu verificaria se havia uma ECU curta (embora não tenha certeza). Verifique se você está pesquisando o endereço certo para descartar isso como uma possibilidade para a tensão incomum.

A tensão do módulo de controle é a tensão fornecida à ECU. Não é voltagem da bateria, mas geralmente está perto o suficiente quando o veículo está em funcionamento.


11
Não é como o software automotivo, que é bom para começar. A propósito, esta é uma resposta fantástica. :)
Febre racial

6

Acho que o que você está vendo é apenas um artefato da maneira como os computadores funcionam. O número que você fornece é apenas 65535 com um decimal inserido nele. Esse é um número especial para computadores - é o maior valor que pode ser mantido em um número inteiro de 16 bits (2 bytes). Portanto, simplificando, esse é o maior valor que pode ser retornado para essa medida específica devido à variável do computador que eles decidiram usar. É uma invenção da programação - eles não esperam que ele meda 65 volts. Se esse fosse um valor positivo ou negativo, você poderá ver um valor máximo de 32.767.

Outro número que você pode ver muito é 255. Esse é o valor máximo de um número não assinado de 8 bits (byte único). Se o valor puder ser positivo ou negativo, o valor máximo é 127.


Veja minha resposta. Eu acho que estou no caminho certo ...
Zaid

Normalmente, 12 7 será o valor máximo de um número inteiro de 8 bits assinado.
user253751

@immibis, você me pegou - eu tinha "assinado" na minha cabeça e estava pensando -128. Obrigado.
precisa saber é o seguinte

1

Quando o motor está funcionando, a tensão deve rastrear a saída do alternador / regulador de tensão (que também é a tensão de carga da bateria). Quando o motor não está funcionando, ele rastreará a tensão da bateria.

Só posso especular sobre o motivo da ampla faixa de tensão. A saída não regulada do alternador pode exceder 48V, portanto pode ser um dado de diagnóstico útil. Ou, pode ser apenas um artefato da codificação digital, que o intervalo de valores exceda o necessário.


11
Se o CMV atingir 65 + vcc, como isso está rastreando a tensão do alternador? Isso iria fritar completamente a bateria em pouco tempo. A maioria dos veículos em execução deve ler no alternador ~ 14vdc. Qualquer coisa além disso e é adeus-bateria.
Pᴀᴜʟsᴛᴇʀ2

@ Paulster2 Atualizei minha resposta para responder às suas perguntas.
kmarsh

1

A tensão do módulo de controle é a tensão da bateria, menos a queda de volts na fiação entre a bateria e a ECU. 65535 é um registro completo de 16 bits. A ECU provavelmente funcionará com números inteiros (calcula mais rapidamente), mas converte a saída final de seus cálculos para OBD em forma de 'ponto flutuante' ou 'real' (números que podem usar pontos decimais).

O motivo pelo qual o máximo não é 65535, 6553,5 ou 655,35 é que, com o ponto decimal colocado a dois da esquerda, ele permite maior precisão no estágio inteiro do cálculo, fornecendo lugares suficientes à esquerda do decimal para exibir todos os valores prováveis. Essencialmente, permite que a ECU trabalhe com três casas decimais em números inteiros. Talvez não seja tão importante para a voltagem da bateria, mas presumo que seja esse o princípio.

Pode não ter havido a possibilidade de aplicar artificialmente um valor máximo inferior a 65535, mas mesmo se não houvesse vantagem em fazê-lo.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.