Чи однакова напруга модуля управління та напруга акумулятора?


8

Чи напруга модуля управління (в режимі OBD 01 PID 42) і напруга акумулятора однакові? Якщо ні, то яке відношення між ними? Чому максимальне значення напруги керуючого модуля (з режиму OBD 01 PID 42) становить 65,535 В, коли напруга акумулятора може бути не більше 14 В в автомобілі?


Для уточнення: ви насправді отримуєте 65,535В як читання, або просто цікаво, чому максимально можливе читання саме це число?
користувач253751

1
Якби це було максимальне значення 99,999, міркування були б досить чіткими (5 цифр із десятковою комою після другої). 65535 у двійковій формі, а 99999 - у десятковій.
користувач253751

Відповіді:


9

Схоже, проблема входить до вхідного сигналу.

Якщо ваш автомобіль не оснащений флюсовим конденсатором , 65 В на батарею трохи забагато. Навіть великі вантажівки не працюють на напругу, наскільки мені відомо.

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

Переглядаючи сторінку вікі OBD-II, схоже, формула, використовувана PID OBD-II відповідно до SAE J1979:

( A * 256 + B ) / 1000

Де A - перші два байти, B - наступні два байти. Якщо A і B обидва 255 (тобто 11111111 у двійковій), ви отримаєте максимально можливу напругу 65,535 В


Якщо цей результат отриманий від тренажера, я б поклав на себе провину. Якщо це сигнал, що надходить від реального транспортного засобу, я би перевірив наявність короткого ECU (не впевнений). Переконайтеся, що ви вказуєте правильну адресу, щоб виключити це як можливість для незвичної напруги.

Напруга модуля управління - це напруга, що подається на ECU. Це не напруга акумулятора, але зазвичай досить близько, коли автомобіль працює.


1
Не як автомобільне програмне забезпечення, яке добре починати. Це, до речі, фантастична відповідь. :)
гоночна лихоманка

6

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

Ще одне число, яке ви можете побачити, - це 255. Це максимальне значення 8-бітового (однобайтового) безпідписаного числа. Якщо значення може бути позитивним чи негативним, максимальне значення дорівнює 127.


Дивіться мою відповідь. Я думаю, що я щось
надходжу

Зазвичай 12 7 буде максимальним значенням підписаного 8-бітного цілого числа.
користувач253751

@immibis, ти мене зрозумів - я "підписав" в голові і думав -128. Дякую.
JPhi1618

1

Коли двигун працює, напруга має відстежувати вихід генератора / регулятора напруги (що також є напругою зарядки акумулятора). Коли двигун не працює, він буде відслідковувати напругу акумулятора.

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


1
Якщо CMV досягає 65 + VDC, як це відстежувати напругу генератора? Це повністю засмажить акумулятор за короткий час. Більшість ходових машин повинні читати на генераторі - ~ 14vdc. Все, що занадто багато минуло, і це бай-бай-акумулятор.
Pᴀᴜʟsᴛᴇʀ2

@ Paulster2 Я оновив свою відповідь, щоб вирішити ваші запитання.
кмарш

1

Напруга керуючого модуля - це напруга акумулятора, мінус будь-яке падіння вольт в проводці між акумулятором і ECU. 65535 - це повний 16-бітний регістр. ECU, ймовірно, буде працювати з цілими числами (обчислює швидше), але перетворить кінцевий результат його обчислень для OBD у форму «плаваючої точки» або «реальну» (числа, у яких можна використовувати десяткові крапки).

Причина, що максимум - не 65535, 6553.5 або 655.35, полягає в тому, що з десятковою крапкою, розміщеною двома зліва, це дозволяє досягти найбільшої точності на цілому етапі обчислення, надаючи достатньо місць зліва від десяткової, щоб відобразити всі ймовірні значення. Це по суті дозволяє ECU працювати до 3 знаків після коми у цілих числах. Можливо, це не так важливо для напруги акумулятора, але я припускаю, що це принцип.

Можливо, не було можливості штучно застосовувати максимальне значення менше 65535, але навіть якщо б не було, я не бачу переваги в цьому.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.