Чип-тюнингкурс с нуля

Модуль 10. Логирование и сопоставление карт с реальными данными#

Это центральный модуль курса. Всё остальное — подготовка к нему. Калибровка = цикл «измерил → сравнил с картой → поправил → измерил снова». Кто не логирует — тот не калибрует, а угадывает.


10.1 Что логировать: обязательный минимум#

Общий базис (любой мотор)#

Параметр Ед. Зачем
Обороты об/мин Ось всех карт
Нагрузка (наполнение / MAP / MAF) % / кПа / г/с Вторая ось всех карт
Положение педали (APP) % Что просит водитель
Положение дросселя (TPS) % Что дал ЭБУ (расхождение = ограничение!)
Температура ОЖ °C Валидность режима
Температура воздуха (IAT) °C Коррекции
Напряжение бортсети В Мёртвое время форсунок
Скорость км/ч Привязка к передаче
Расчётная передача Ограничители по передачам

Бензин — дополнительно#

Параметр Зачем
λ фактическая (штатная и/или внешний широкополосник) Главный параметр топлива
λ целевая Чтобы видеть, чего хочет ЭБУ
STFT / LTFT Диагностика модели воздуха
УОЗ фактический Что реально применилось
Откат по детонации (knock retard) по цилиндрам Главный параметр безопасности
Счётчики детонации / шум детонации Ранняя диагностика
Длительность впрыска / duty форсунок Запас топливной системы
Давление топлива (если есть) Просадка на пике
Наддув фактический / целевой Работа регулятора
Duty клапана WG Насколько регулятор «упёрся»
Угол VVT факт/цель Работа фаз
EGT (внешний) Безопасность
Требуемый / фактический момент Ловля ограничителей

Дизель — дополнительно#

Параметр Зачем
IQ (мг/такт), запрошенное и ограниченное Главный параметр
Массовый расход воздуха факт/цель Дым, EGR
Давление в рампе факт/цель Работа ТНВД
Наддув факт/цель Работа VGT
Duty/положение VGT Запас регулятора
SOI Момент впрыска
Положение EGR / duty
EGT (штатные датчики T3/T4) Безопасность
Дифдавление на DPF, сажевая нагрузка Состояние DPF
Коррекции форсунок (IQA/балансировка) Здоровье форсунок

10.2 Как снимать лог правильно#

Режимы, которые надо снять#

Режим Как Что смотрим
1 Холостой ход прогретый, 2 мин Стоя Стабильность, λ, коррекции, УОЗ
2 Прогрев с холодного Пуск + 5 мин Обогащение, ХХ, λ
3 Круиз 50 / 80 / 110 км/ч Ровная дорога, по 1 мин LTFT по зонам, λ=1, УОЗ
4 Плавное ускорение 30 % педали, 2-я или 3-я Переходные, работа регулятора
5 Полная нагрузка 100 % педали, 3-я передача, от 1500 до отсечки Главное. λ, детонация, наддув, EGT
6 Торможение двигателем Сброс газа с 4000 Отсечка топлива, возврат
7 Повторный WOT на горячую После 5, ещё раз Появляется ли детонация при прогретом впуске

Правило: режим 5 повторяется 3 раза с интервалом на остывание. Первый прогон почти всегда «оптимистичный» — интеркулер холодный, масло холодное. Опасность проявляется на третьем.

Технические требования#

  • Частота: чем больше, тем лучше. Реально: 10 Гц минимум, 20+ Гц для наддува/детонации. Уменьшайте число параметров, чтобы поднять частоту (многие логгеры делят полосу).
  • Одна передача для WOT, обычно 3-я (достаточно нагрузки, достаточно времени).
  • Стабильные условия: одна и та же дорога, направление, погода. Сравнивать прогоны при +5 и при +30 бессмысленно.
  • Полный бак известного топлива. Смена АЗС между прогонами ломает эксперимент.
  • Второй человек. За рулём или за ноутбуком — но не один человек одновременно.
  • Маркеры. Если логгер умеет — ставьте метки на начало/конец прогона. Иначе тратите час на поиск нужного куска.

10.3 Сопоставление лога с картой: методика#

Это то, ради чего вы всё делали.

Шаг 1. Понять, в какую ячейку попадает каждая точка лога#

У карты есть оси. У лога есть те же величины. Для каждой строки лога находим ближайшие узлы:

Ось X (обороты): 800, 1200, 1600, 2000, 2400, 3200, 4000, 4800, 5600, 6400
Ось Y (нагрузка): 0.15, 0.30, 0.45, 0.60, 0.75, 0.90, 1.10, 1.40, 1.70

Строка лога: 3450 об/мин, нагрузка 1.22
→ попадает между столбцами 3200 и 4000, между строками 1.10 и 1.40

Для анализа обычно округляют до ближайшего узла и группируют. Это чуть грубее интерполяции, но при достаточном количестве точек даёт верный результат.

Шаг 2. Построить «таблицу отклонений»#

Для каждой ячейки считаем среднее значение отклонения по всем точкам лога, попавшим в неё.

Пример для топлива (speed-density):

Отклонение λ (факт/цель), %       ОБОРОТЫ
                    1600   2400   3200   4000   4800   5600
      0.60 │        +2     +1      0      0     +1     n/a
Н     0.75 │        +4     +3     +2     +1     +1     +2
А     0.90 │        +6     +5     +4     +3     +2     +2
Г     1.10 │        +9     +7     +6     +5     +4     +4
Р     1.40 │       +12     +9     +7     +6     +5     +5
      1.70 │       n/a    +11     +9     +7     +6     +6

Читается: в правом-нижнем углу (высокая нагрузка) смесь на 5–12 % беднее цели → модель воздуха занижает на нагрузке → правим VE или MAF-карту именно там.

Шаг 3. Применить коррекцию#

VE_new = VE_old × (1 + отклонение/100)

Пример: ячейка (2400, 1.40): VE было 92, отклонение +9 % → VE_new = 92 × 1.09 = 100.

Шаг 4. Сгладить и проверить количество данных#

Критически важно: не правьте ячейку, в которую попало 2 точки лога. Заведите правило: - ≥ 20 точек — правим смело; - 5–20 точек — правим с осторожностью, потом сглаживаем; - < 5 точек — не трогаем, интерполируем от соседей.

Хорошие анализаторы (VCM Scanner, MegaLogViewer, TunerStudio VE Analyzer) показывают «count» рядом с каждой ячейкой. Если ваш не показывает — считайте в Excel.

Шаг 5. Итерировать#

После правки — новый лог. Отклонения должны уменьшиться примерно втрое. Обычно нужно 2–4 итерации, чтобы выйти в ±2 %.


10.4 Практическая реализация: три способа#

Способ А — специализированный анализатор (быстро)#

  • HP Tuners VCM Scanner: гистограммы с осями любой таблицы, прямая передача коррекций в редактор. Эталон удобства.
  • TunerStudio VE Analyzer (для стандалонов): считает автоматически, в том числе в реальном времени.
  • MegaLogViewer HD: читает произвольный CSV, накладывает на таблицу.

Способ Б — Excel (работает всегда, бесплатно)#

1. Экспортировать лог в CSV
2. Добавить колонки:
   =ОКРУГЛ(ПОИСКПОЗ_ближайший(RPM;   ось_X); 0)  → индекс X
   =ОКРУГЛ(ПОИСКПОЗ_ближайший(LOAD;  ось_Y); 0)  → индекс Y
   = λ_факт / λ_цель                              → отклонение
3. Отфильтровать: только установившиеся режимы
   (например, |dTPS/dt| < порог, dRPM/dt в разумных пределах)
4. Сводная таблица: строки = индекс Y, столбцы = индекс X,
   значения = СРЗНАЧ(отклонение), + вторая сводная с КОЛИЧЕСТВОМ
5. Условное форматирование — сразу видно проблемные зоны

Формула ближайшего узла в Excel (ось в диапазоне $A$1:$A$10):

=ИНДЕКС($A$1:$A$10; ПОИСКПОЗ(B2; $A$1:$A$10; 1))

(для округления «вниз»; для «ближайшего» — сравнить с соседним).

Способ В — Python (для потока)#

Стоит написать один раз, пользоваться годами:

import pandas as pd, numpy as np

RPM_AXIS  = np.array([800,1200,1600,2000,2400,3200,4000,4800,5600,6400])
LOAD_AXIS = np.array([0.15,0.30,0.45,0.60,0.75,0.90,1.10,1.40,1.70])

log = pd.read_csv("log.csv")

# только установившиеся режимы
log = log[log["TPS"].diff().abs() < 2]
log = log[log["ECT"] > 80]

def nearest(val, axis):
    return np.abs(axis - val[:, None]).argmin(axis=1)

log["ix"] = nearest(log["RPM"].values,  RPM_AXIS)
log["iy"] = nearest(log["LOAD"].values, LOAD_AXIS)
log["dev"] = log["LAMBDA"] / log["LAMBDA_TARGET"]

mean  = log.pivot_table(index="iy", columns="ix", values="dev", aggfunc="mean")
count = log.pivot_table(index="iy", columns="ix", values="dev", aggfunc="count")

mean[count < 5] = np.nan          # не доверять малой выборке
print((mean * 100 - 100).round(1))  # отклонение в %

Это ~20 строк, которые заменяют дорогой софт для 80 % задач.


10.5 Специальные приёмы#

Задержка λ#

Между сгоранием и показанием λ проходит 100–500 мс. При анализе динамических участков это критично. Приём: сдвиньте колонку λ относительно остальных на N строк и найдите сдвиг, при котором корреляция максимальна. На установившихся режимах сдвиг не нужен.

Фильтрация переходных режимов#

Данные во время резкого изменения педали загрязнены переходными обогащениями. Отфильтруйте: - |ΔTPS| за такт < 2 %; - |ΔRPM| в разумных пределах; - прошло > 0.5 с после изменения педали.

Что останется — истина о статических картах.

Детонация: анализ по цилиндрам#

Логируйте откат по каждому цилиндру. Если откатывает один и тот же цилиндр — это не калибровка, это железо: форсунка, свеча, охлаждение, неравномерность наполнения, нагар. Правка карты УОЗ здесь заглушит симптом на всём моторе ради одного цилиндра.

Проверка «упёрся ли регулятор»#

Смотрите duty клапана наддува. Если он 95–100 % и цель не достигнута — регулятор упёрся, дальше поднимать цель бессмысленно, дело в железе (маленькая турбина, подсос, залипшая заслонка, слабая пружина актуатора). Если duty 20 % и цель достигнута — есть большой запас.

Аналогично для форсунок: duty > 85 % на пике = топливная система на пределе, следующий шаг — форсунки/насос, а не карта.

Ловля ограничителей момента#

Логируйте «требуемый момент» и «фактический момент», а также APP и TPS. Симптомы ограничения: - педаль 100 %, дроссель 60 % → ЭБУ ограничивает через дроссель; - требуемый момент падает ступенькой на конкретной передаче → ограничение по передаче; - УОЗ резко уходит в минус без детонации → срез момента через УОЗ.

Это то, что не даёт «прибавке» проявиться на торк-ЭБУ. См. модуль 02.5.


10.6 Как понять, что настройка закончена#

Чек-лист приёмки собственной работы:

[ ] LTFT/STFT в пределах ±5 % на всех прогретых режимах
[ ] λ на ПН соответствует цели в пределах ±3 % во всём диапазоне
[ ] Откат по детонации = 0 при нормальном топливе, при этом
    в логе видно, что система детонацию СЛЫШИТ (проверено провокацией)
[ ] Фактический наддув следует за целью без перерегулирования > 0.1 бар
[ ] Duty регулятора наддува имеет запас (не 100 %)
[ ] Duty форсунок < 85 % на пике
[ ] EGT в пределах: бензин турбо < 900–950 °C, дизель < 750 °C
    (перед турбиной; ориентиры, уточняйте по железу)
[ ] Нет новых DTC после 3 циклов зажигания и полного drive cycle
[ ] Холостой ход стабилен на холодную и на горячую
[ ] Нет рывков при переходах (карта гладкая)
[ ] Замер до/после сделан в одинаковых условиях, результат объективен
[ ] Повторный лог через 200–500 км без отклонений

Пункт «через 200–500 км» — это то, что отличает профессионала. Отдайте машину, попросите прислать лог через неделю. Половина проблем проявляется не на стенде.


10.7 Отчёт клиенту#

Клиенту нужен документ, а не «всё готово». Минимум:

  • параметры до/после (мощность/момент, если есть стенд; разгон по GPS);
  • график λ на полной нагрузке;
  • график наддува факт/цель;
  • подтверждение отсутствия детонации;
  • список изменённых параметров (без адресов — это ваш актив);
  • рекомендации: топливо, масло, интервал ТО, чего избегать;
  • напоминание о резервной копии стока.

Шаблон — в templates/.


Практическое задание#

  1. Снимите на своей машине полный набор режимов из 10.2.
  2. Постройте таблицу отклонений λ по ячейкам в Excel. Сколько ячеек имеют достаточную выборку? Какая зона проблемная?
  3. Постройте «карту плотности»: сколько точек лога попало в каждую ячейку. Посмотрите, какая часть карты вообще посещается при обычной езде. Обычно это 10–20 % ячеек — и именно они определяют, как машина себя ведёт.
  4. Постройте наложение: наддув факт vs цель по времени на прогоне WOT. Есть ли перерегулирование? Сколько времени до выхода на цель?

Следующий модуль: 11. Практика: бензин

КПЦ — Комплекс Промышленной Цифровизации · kpc-control.ru

Материал носит образовательный характер. Работы, влияющие на состав отработавших газов и экологический класс ТС, а также корректировка показаний одометра курсом не рассматриваются как допустимая практика — см. модуль 00.