Всем привет! Позвольте высказать пару слов про то, зачем это вообще нужно, и как обстоят дела у нас.
Вначале процитирую фрагмент документации из спортивной прошивки TRS для Января (есть в свободном доступе):
Основные изменения затронули механизм расчета циклового наполнения двигателя по Датчику Абсолютного Давления (ДАД). Стандартная модель рассчитывает воздух по формуле:
GBC = FE * Vцил * P * 293 / (273 + ТВ) * К
FE – процент наполнения
Vцил – объем цилиндра
Р – давление во впускном коллекторе
ТВ – температура воздуха
К – коэфф пересчета плотности
Такой алгоритм не обеспечивал точного смесеобразования в режимах малых расходов воздуха, что приводило к сильному обеднению смеси на ХХ, трудному пуску горячего двигателя. Выявлялась твердая тенденция, что с ростом Температуры Воздуха (ТВ) на впуске, смесь сильно обеднялась, при этом, если была проведена компенсация смеси, то в мощностных режимах при той же ТВ, наблюдалось сильное обогащение.
Это объясняется тем, что воздух проходя через нагретый мотор нагревается и чем меньше скорость, или объем этого воздуха, тем больше нагрев и наоборот, чем выше расход, тем меньше влияние нагретого мотора на ТВ. Полученная температура называется Температура Заряда (ТЗ). Как показано ранее ТЗ может принимать значения в диапазоне от ТВ при больших расхода воздуха, когда влияние нагретого мотора минимально, до Температуры Охлаждающей Жидкости (ТОЖ), когда поток воздуха очень мал.
Формула пересчета ТЗ выглядит следующим образом:
TЗ = ((TВ - ТОЖ) * Кпер+ ТОЖ)
TЗ – Температура заряда
ТВ – Температура Воздуха
ТОЖ - Температуры Охлаждающей Жидкости
Кпер – Коэфф пересчета, принимающий значение в диапазоне 0-1 от расхода воздуха.
Если Кпер равен 1, то ТЗ принимает значение ТВ
Если Кпер равен 0, то ТЗ принимает значение ТОЖ
Как известно, в нашей прошивке rusEFI, ТЗ также определяется по линейной интерполяции между ТОЖ и ТВ, по коэффициенту.
И вот с этим коэффициентом (Кпер) уже не всё так просто. В частности, в документации к TRS проскакивала такая мысль:
Проблема в том, что мы не можем использовать массовый расход воздуха в качестве опорных данных, т.к. он сам считается через цикловое наполнение и может возникнуть авторезонанс. Поэтому таблица, в которой задается Кпер определена Оборотами работы двигателя и Давлением в коллекторе для турбо мотора либо положением Дросселя, для атмосферного мотора, что достаточно достоверно определяет скорость потока и величину теплопереноса от ТОЖ к ТВ.
Речь идёт о таблице "Коэффициент расчета ТЗ по дросселю". Для настроенного двигателя она выглядит, например, так:
- photo_2018-09-03_13-56-04.jpg (74.08 KiB) Viewed 54052 times
А для ненастроенного, иногда бывает что вот так:
- bad_table.JPG (64.31 KiB) Viewed 54052 times
Что неудивительно, ведь настраивать такую таблицу - то ещё "удовольствие". Поэтому существует несколько упрощённых моделей.
Одна из них уже используется в rusEFI. Там коэффициент Кпер считается по билинейной интерполяции между минимальными и максимальными значениями, заданными пользователем, по положению рабочей точки (TPS,RPM). Это эквивалентно табличке выше, только в ней всего 4 точки. Но практика показывает, что такой подход вызывает серьёзные вопросы по точности ТЗ, и, в зависимости от погодных условий и скорости передвижения, состав смеси может ощутимо отличаться от значений, полученных ранее при откатке...
Другой вариант упрощения используют сами авторы прошивок для Января, прекрасно понимая все сложности табличной настройки пользователями. Поэтому они выпустили версии прошивок, где расчёт коэффициента производится всё-таки по массовому расходу воздуха:
Кпер = AIR / AIRmax * (Kmax - Kmin) + Kmin, где:
AIR – текущий массовый расход воздуха [кг/ч]
AIRmax – максимальный воздух, выше которого Кпер всегда принимает значение Kmax [кг/ч].
Kmin – коэфф пересчета для нулевого расхода воздуха.
Kmax – коэфф пересчета для расхода воздуха AIRmax
Т.е. получаем линейную интерполяцию по воздуху. В случае модели ДАД+ДТВ, когда данных ДМРВ у нас нет, приходится рассчитывать расход воздуха на основе впрысковых данных, рассчитанных за предыдущий цикл. Т.е., грубо говоря, у нас расход пропорционален RPM*MAP*VE. Получается, что для того чтобы посчитать ТЗ, нужно знать массу воздуха, для которой, в свою очередь нужно знать ТЗ
К счастью, мы можем смело пользоваться уже посчитанными данными с предыдущего цикла, не опасаясь возникновения самовозбуждения.
И именно эту реализацию мы как раз и проверяем сейчас в rusEFI!
Выглядит это вот так:
- gui_screen.JPG (46.75 KiB) Viewed 54052 times
На скриншоте также видны дополнительные настройки, общие для обоих методов расчёта tCharge (см.вверху) - это контроль скорости изменения ТЗ. Дело в том, что при резком изменении потока воздуха (как происходит при скачке оборотов) температура, тем не менее, не успевает меняться столь же резко. Более того, скорости нагрева и охлаждения - разные. Цитирую:
Дальнейшие наблюдения за поведением двигателя при работе на данном методе расчета топлива, выявили, что резкие скачки расчетной ТЗ приводят к кратковременным всплескам или провалам состава смеси, причем при увеличении ТЗ смесь не надолго обеднялась, а при уменьшении, так же обогащалась. Было высказано предположение, что ТЗ не может меняться мгновенно за изменениями в работы двигателя, а на это требуется какое-то время.
Введенное в прошивку ограничение показало правильность предположения, смесь, контролируемая ШДК, перестала дергаться, и плавно следует за заданной. Для двигателя на котором проводились эксперименты, подходящими оказались значения 10 град/сек для уменьшения ТЗ и 5 град/сек для увеличения, те ТЗ остывает быстрее чем нагревается.
Кроме этого, такое ограничение уменьшает вероятность возникновения квазирезонансных эффектов при использовании ТЗ с предыдущего цикла для вычисления текущего ТЗ.
Напоследок отмечу, что на данный момент мы уже реализовали этот альтернативный алгоритм расчёта ТЗ, причём с контролем скорости его изменения, и сейчас активно тестируем всё это дело!
Stay tuned!..