Стаття була корисною?
Від сирих байтів до зрозумілих чисел: як працюють формули PID
Застосунок показує 87 °C. Авто надіслало байт 0x7B. Перетворення між ними визначене стандартом, і знання його пояснює частину дивних показів.
Запитайте в авто температуру охолоджувальної рідини — і воно відповість одним байтом. Запитайте оберти двигуна — відповість двома. Жодна з цих відповідей не приходить у тих одиницях, які вам потрібні, — стандарт окремо визначає, як їх перераховувати.
Дотично: режим 01: поточні дані і основи читання живих даних.
Кілька реальних прикладів
| Параметр | Байтів | Формула |
|---|---|---|
| Температура охолоджувальної рідини | 1 | A − 40 |
| Температура впускного повітря | 1 | A − 40 |
| Оберти двигуна | 2 | (256A + B) ÷ 4 |
| Швидкість авто | 1 | A |
| Навантаження двигуна | 1 | A × 100 ÷ 255 |
| Положення дросельної заслінки | 1 | A × 100 ÷ 255 |
| Паливна корекція | 1 | (A ÷ 1,28) − 100 |
| Витрата повітря MAF | 2 | (256A + B) ÷ 100 |
| Тиск у паливній рампі | 2 | (256A + B) × 0,079 |
Кожна з них має свою причину виглядати саме так.
Чому зсув на −40
Один байт вміщає від 0 до 255. Температурам треба заходити нижче нуля.
Віднімання 40 зсуває діапазон до від −40 °C до 215 °C, що покриває всі реалістичні випадки одним байтом і без знакового біта.
Саме тому від’єднаний датчик температури показує рівно −40 °C. Ланцюг повертає 0, а 0 − 40 = −40. Це не вимірювання, це дно шкали.
Розпізнавання цього знімає чимало плутанини: P0111 і P0112: датчик температури впускного повітря і P0116–P0119: продуктивність датчика температури.
За збігом, −40 однакове за Цельсієм і за Фаренгейтом, тому це значення виглядає знайомим в обох системах одиниць.
Чому оберти діляться на чотири
Два байти дають від 0 до 65 535. Ділення на чотири дає максимум близько 16 383 об/хв із роздільністю 0,25 об/хв.
Ця роздільність важлива: монітор пропусків виявляє крихітні коливання швидкості колінвала, і груба роздільність їх би загубила.
Чому паливна корекція виглядає саме так
Паливна корекція — це відсоток, що може бути від’ємним, тож застосовується той самий трюк зі зсувом. Ділення на 1,28 і віднімання 100 відображає байт приблизно у від −100% до +99,2%.
Корекція рівно 0% означає значення байта 128, середину. Тому корекції купчаться біля конкретних значень, а не рухаються ідеально плавно.
Де роздільність видно на ваших графіках
Знання базової роздільності пояснює позірні дивацтва.
| Параметр | Роздільність | Наслідок |
|---|---|---|
| Температура рідини | 1 °C | Графік іде сходинками, а не кривою |
| Швидкість авто | 1 км/год | Те саме, на малих швидкостях |
| Навантаження двигуна | ~0,4% | Досить дрібно, щоб виглядати плавно |
| Оберти | 0,25 об/хв | Дуже плавно |
| Паливна корекція | ~0,78% | Дрібні сходинки помітні |
Температурний графік, схожий на сходи, — не несправний датчик. Це чесно намальована роздільність в один градус.
Як правильно читати графіки живих даних.
Розраховане проти виміряного
Не все, що повідомляє авто, вимірюється напряму.
Розраховане навантаження виводиться з витрати повітря, обертів і робочого об’єму.
Витрата палива, яку показує багато інструментів, обчислюється з MAF і паливної корекції, а не міряється. Це оцінка, і вона успадковує будь-яку похибку вхідних даних.
Значення моменту на новіших авто — це вихід моделі, а не показ датчика.
Отже, неправильний MAF робить неправильними ще й кілька інших показуваних значень, і це варто пам’ятати, коли одразу кілька параметрів виглядають неправдоподібно: діагностика MAF і MAP.
Одиниці й де вкрадається плутанина
Стандарт визначає метричні одиниці. Інструменти конвертують для показу, і саме в конвертації трапляються помилки — кПа проти psi проти бар, грами за секунду проти фунтів за хвилину.
Порівнюючи свій показ зі специфікацією, перевірте, що обидва в тих самих одиницях. Не один зайвий ремонт починався з цифри в psi, порівняної з показом у кПа.
Навіщо це власнику
Три причини.
Розпізнавання значень за замовчуванням. −40 °C, 0 кПа, рівно 0,45 В на лямбда-зонді — це те, що повертає ланцюг, коли нічого не підключено, а не вимірювання.
Оцінка роздільності. Знання, що температура рідини йде цілими градусами, зупиняє полювання на датчик, що поводиться правильно.
Розрізнення виміряного і розрахованого. Розраховане значення, що виглядає неправильним, може повідомляти про проблему зі своїми вхідними даними, а не із самим собою.
Підтримувані PID і чому бракує параметрів.
Підключіть адаптер ELM327, відкрийте безкоштовний тариф застосунку і подивіться, як показ температури йде цілими градусами під час прогріву. Щойно ви знаєте чому, дані читаються зовсім інакше.
Коментарі …
Завантаження…