Напряжение модуля управления и напряжение аккумулятора одинаковы?

8

Напряжение модуля управления (из ПИД-регулятора 01 в режиме OBD) и напряжение аккумулятора одинаковы? Если нет, то какова связь между ними? Почему максимальное значение напряжения модуля управления (из ПИД 42 в режиме OBD) равно 65,535 В, если в автомобиле максимальное напряжение аккумулятора может составлять до 14 В?

Соумья Сен
источник
Для пояснения: действительно ли вы получаете 65,535 В в качестве показания, или просто задаетесь вопросом, почему максимально возможное показание именно этого числа?
user253751
1
Если бы это было максимальное значение 99,999, рассуждение было бы довольно ясным (5 цифр, с десятичной точкой после второй). 65535 в двоичном формате, что 99999 в десятичном виде.
user253751

Ответы:

9

Похоже, проблема с входящим сигналом.

Если ваш автомобиль не оснащен конденсатором , 65 В на аккумуляторе - это слишком много. Насколько мне известно, даже тяжелые грузовики не выдерживают такого напряжения.

65535 - максимальное беззнаковое 16-битное целое число.

Если посмотреть на вики-страницу OBD-II, то похоже, что формула, используемая PID OBD-II в соответствии с SAE J1979:

( A * 256 + B ) / 1000

Где A - первые два байта, B - следующие два байта. Если A и B оба 255 (т. Е. 11111111 в двоичном виде), вы получите максимально возможное напряжение, 65,535 В


Если этот результат от симулятора, я бы возложил вину на него. Если это сигнал, исходящий от реального транспортного средства, я бы проверил наличие короткого замыкания в ЭБУ (хотя и не уверен). Убедитесь, что вы выбираете правильный адрес, чтобы исключить это как возможность необычного напряжения.

Напряжение модуля управления - это напряжение, подаваемое на ЭБУ. Это не напряжение батареи, но обычно достаточно близко, когда автомобиль работает.

Зайд
источник
1
Не то, чтобы автомобильное программное обеспечение так хорошо для начала. Кстати, это фантастический ответ. :)
расовая лихорадка
6

Я думаю, то, что вы видите, это просто артефакт работы компьютеров. Число, которое вы даете, это просто 65535 с десятичной дробью, вставленной в него. Это специальное число для компьютеров - это наибольшее значение, которое может содержаться в 16-разрядном (2 байта) целом числе. Итак, проще говоря, это самое большое значение, которое может быть возвращено для этого конкретного измерения из-за компьютерной переменной, которую они решили использовать. Это плод программирования - они не ожидают, что он когда-либо будет измерять 65 вольт. Если это значение может быть положительным или отрицательным, вы можете увидеть максимальное значение 32 767.

Еще одно число, которое вы можете увидеть, это 255. Это максимальное значение 8-разрядного (однобайтового) числа без знака. Если значение может быть положительным или отрицательным, максимальное значение составляет 127.

JPhi1618
источник
Смотри мой ответ. Я думаю, что я на что-то ...
Заид
Обычно 12 7 будет максимальным значением 8-разрядного целого числа со знаком.
user253751
@immibis, ты меня понял - я «подписал» в голове и думал -128. Спасибо.
JPhi1618
1

Когда двигатель работает, напряжение должно отслеживать выход генератора переменного тока / регулятора напряжения (который также является напряжением зарядки аккумулятора). Когда двигатель не работает, он будет отслеживать напряжение аккумулятора.

Я могу только догадываться о причине широкого диапазона напряжений. Нерегулируемый выходной сигнал генератора может превышать 48 В, поэтому он может быть полезен для диагностики. Или это может быть просто артефакт цифрового кодирования, когда диапазон значений превышает необходимый.

kmarsh
источник
1
Если CMV достигает 65 + VDC, как это отслеживает напряжение генератора? Это полностью сожжет батарею в кратчайшие сроки. Большинство работающих транспортных средств должны читать на генераторе ~ 14vdc. Что-нибудь слишком много прошло, и это пока-пока-батарея.
Pᴀᴜʟsᴛᴇʀ2
@ Paulster2 Я обновил свой ответ, чтобы ответить на ваши вопросы.
kmarsh
1

Напряжение модуля управления - это напряжение аккумулятора, за вычетом падения напряжения в проводке между аккумулятором и ЭБУ. 65535 - это полный 16-битный регистр. ECU, вероятно, будет работать с целыми числами (вычисляет быстрее), но преобразует окончательный результат своих вычислений для OBD в форму с плавающей запятой или в вещественную форму (числа, которые могут использовать десятичные точки).

Причина, по которой максимум не равен 65535, 6553,5 или 655,35, заключается в том, что десятичная точка, расположенная слева направо, обеспечивает максимальную точность на целочисленной стадии вычисления, обеспечивая достаточное количество мест слева от десятичной точки для отображения всех вероятных значений. По сути, это позволяет ECU работать до 3 десятичных знаков в целых числах. Возможно, это не так важно для напряжения батареи, но я предполагаю, что это принцип.

Возможно, не было возможности искусственно применить максимальное значение меньше 65535, но даже если бы это было так, я не вижу в этом никакого преимущества.

Сэм
источник