Модуль 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/.
Практическое задание#
- Снимите на своей машине полный набор режимов из 10.2.
- Постройте таблицу отклонений λ по ячейкам в Excel. Сколько ячеек имеют достаточную выборку? Какая зона проблемная?
- Постройте «карту плотности»: сколько точек лога попало в каждую ячейку. Посмотрите, какая часть карты вообще посещается при обычной езде. Обычно это 10–20 % ячеек — и именно они определяют, как машина себя ведёт.
- Постройте наложение: наддув факт vs цель по времени на прогоне WOT. Есть ли перерегулирование? Сколько времени до выхода на цель?
Следующий модуль: 11. Практика: бензин