Степень наполнения двигателя – Поправка ЦН
Прошивка TRS.
Введение.
Необходимость в создании прошивки возникло по двум причинам. Первое, это когда пришло понимание, что существующие алгоритмы не в состоянии достаточно точно математически отобразить модель двигателя. А второе, когда стало очень хотеться добавить функций к уже существующим прошивкам.
Описание алгоритмов работы
Итак за основу была взята одна из ранних версий прошивки Макси РПД, которая уже существенно облегчила алгоритмию стандартных прошивок убрав из них малозначимые или экологические калибровки, которые мало требуются для спортивных моторов. Подробно о прошивках Макса можно узнать на его сайте: http://rotorman.nm.ru/j5-sport/dad_model2.htm
Основные изменения затронули механизм расчета циклового наполнения двигателя по Датчику Абсолютного Давления (ДАД). Стандартная модель рассчитывает воздух по формуле:
GBC = FE * Vцил * P * 293 / (273 + ТВ) * К
FE – процент наполнения
Vцил – объем цилиндра
Р – давление во впускном коллекторе
ТВ – температура воздуха
К – коэфф пересчета плотности
Такой алгоритм не обеспечивал точного смесеобразования в режимах малых расходов воздуха, что приводило к сильному обеднению смеси на ХХ, трудному пуску горячего двигателя. Выявлялась твердая тенденция, что с ростом Температуры Воздуха (ТВ) на впуске, смесь сильно обеднялась, при этом, если была проведена компенсация смеси, то в мощностных режимах при той же ТВ, наблюдалось сильное обогащение.
Это объясняется тем, что воздух проходя через нагретый мотор нагревается и чем меньше скорость, или объем этого воздуха, тем больше нагрев и наоборот, чем выше расход, тем меньше влияние нагретого мотора на ТВ. Полученная температура называется Температура Заряда (ТЗ). Как показано ранее ТЗ может принимать значения в диапазоне от ТВ при больших расхода воздуха, когда влияние нагретого мотора минимально, до Температуры Охлаждающей Жидкости (ТОЖ), когда поток воздуха очень мал.
Формула пересчета ТЗ выглядит следующим образом:
TЗ = ((TВ - ТОЖ) * Кпер+ ТОЖ)
TЗ – Температура заряда
ТВ – Температура Воздуха
ТОЖ - Температуры Охлаждающей Жидкости
Кпер – Коэфф пересчета, принимающий значение в диапазоне 0-1 от расхода воздуха.
Если Кпер равен 1, то ТЗ принимает значение ТВ
Если Кпер равен 0, то ТЗ принимает значение ТОЖ
Проблема в том, что мы не можем использовать массовый расход воздуха в качестве опорных данных, т.к. он сам считается через цикловое наполнение и может возникнуть авторезонанс. Поэтому таблица, в которой задается Кпер определена Оборотами работы двигателя и Давлением в коллекторе для турбо мотора либо положением Дросселя, для атмосферного мотора, что достаточно достоверно определяет скорость потока и величину теплопереноса от ТОЖ к ТВ.
Тем не менее, для упрощения настройки прошивки пользователем, была выпущена версия прошивки, в которой расчет Кпер (Коэфф пересчета ТВ и ТОЖ в ТЗ) производится непосредственно в прошивке по массовому расходу воздуха и пользователю не нужно заполнять таблицу:
Кпер = AIR / AIRmax * (Kmax - Kmin) + Kmin, где:
AIR – текущий массовый расход воздуха [кг/ч]
AIRmax – максимальный воздух, выше которого Кпер всегда принимает значение Kmax [кг/ч].
Kmin – коэфф пересчета для нулевого расхода воздуха.
Kmax – коэфф пересчета для расхода воздуха AIRmax
Получается что при минимальном расходе воздуха, Кпер стремится к заданному коэфф Kmin, и температура заряда приближается к ТОЖ. При увеличении потока воздуха до AIRmax, коэфф Кпер стремится к Kmax, а ТЗ к ТВ. При превышении текущего расхода воздуха над AIRmax Кпер приравнивается Kmax.
Конечная формула по которой считается цикловое наполнение двигателя имеет вид:
GBC = FE * FEР* Vцил * P * 293 / (273 + ТЗ) * К * КТОЖ * КТЗ
FE – процент наполнения, безразмерный [дросс][обороты]
FEР – процент наполнения, безразмерный [давление][обороты]
Vцил – объем цилиндра, см3
Р – давление во впускном коллекторе, КПа
ТЗ – температура заряда, рассчитываемая отдельно, градС
К – коэфф пересчета плотности, прописан в прошивке
КТОЖ – коэфф от ТОЖ, безразмерный
КТЗ – коэфф от ТЗ, безразмерный
Коррекция ЦН по шагам РХХ
При работе системы на ДАДе, отклонения давления в ресивере, вызываемые шагами РХХ не оказывают настолько незначительные, что система не замечает дополнительного притока воздуха, и смесь так же начинает уходить в сторону обеднения при открытии РХХ или в сторону обогащения, при его закрытии. Для компенсации этих явлений, была введена коррекция по шагам РХХ, с учетом открытия дросселя. Коррекция мультипликативная, те домножается на рассчитанное ранее Цикловое наполнение.
Коррекция по шагам РХХ:
В данном случае, коррекция задана только для открытия РХХ для предотвращения обеднения. Номинальным положением РХХ в котором система пребывает в нормальном состоянии на ХХ является 30 шагов. При открытии РХХ в большую сторону, ЦН будет корректироваться в повышение.
Очевидно, что с ростом положения Дросселя, влияние РХХ убывает, тк канал РХХ имеет гораздо меньшие размеры, поэтому, Коррекция по шагам РХХ, уменьшается в зависимости от % открытия дросселя.
Итоговое влияние на Цикловое Наполнение в упрощенном виде выглядит следующим образом:
ЦН = ЦН * (1 + (КорРХХ * ВесРХХ)), где:
ЦН – Цикловое наполнение
КоррРХХ – Коррекция по шагам РХХ
ВесРХХ – Вес коррекции по шагам РХХ
Калибровки, находятся: Рабочие режимы – Цикловое наполнение
Еще раз следует отметить, что этот алгоритм работает только при расчте Циклового Наполнения по ДАДу. При ДМРВ, заданные параметры просто не учитываются.
Положение РХХ на пуске.
В новых версиях прошивки положение РХХ на пуске задается не двумя значениями с делением от температуры, а таблицей:
Работа двигателя по БЦН.
В пошивке начиная с версии 234, таблица БЦН не используется для расчета ЦН в режиме работы по таблицам! Расчет топливоподачи в табличном режиме использует «Цилидровое GBC» и «Поправку ЦН». Их перемножение дает искомое наполнение.
Статика форсунок.
Вместо одной статики для всех 4-х форсунок, теперь можно задавать отдельно для каждого цилиндра. Может пригодиться, если есть подозрения на разный баланс форсунок. Следует обратить внимание на порядок цилиндров 2-1-3-4.
Цилиндровое GBC.
«Рабочие режимы» - «Цикловое наполнение» - «Цилиндровое GBC»
Изменен формат калибровки! При переносе калибровок возможны неверные данные.
Значение рассчитывается как Объем цилиндра * 1,23.
Датчик скорости.
Добавлена возможность задавать число импульсов для датчика скорости. Тем самым можно использовать родные датчики на иномарках, при использовании Января.
Расчеты квантования
Для задания необходимых диапазонов работы калибровок прошивки, требуется правильно посчитать и занести данные о квантовании.
Квантование ДАД.
Квантование по ДАД имеет две калибровки: Минимум Квантования и Диапазон Квантования, выраженные в КПа. Врде бы все ясно из названия, поэтому просто приведу примеры расчетов.
Атмо мотор.
В качестве Минимума ставится минимальный предел датчика, как правило это 20 Кпа, ниже смысла ставить нет, тк мотор на ХХ как правило сосет где-то начиная с 28 КПа, поэтому в минимум пишем либо нижний передел, либо 20Кпа.
Диапазон рассчитывается как разность между верхним и нижними пределами. Для атмо мотора это 101 КПа, значит диапазон будет: 101 – 20 = 81 КПа. Это число и ставим.
Турбо мотор:
Турбо датчики ДАДа, обычно начинаются с 30 КПа, это значение и следует указать.
Диапазон зависит от того сколько собираемся дуть. Например будет дуть 1,5 бара, это 2,5 бара абсолюта или 250 КПа, значит диапазон будет: 250 – 30 = 220 Кпа
Квантование воздуха.
Тут несколько другой принцип. Минимальное GBC задается как есть, т.е. ставится минимальным, обычно это 50 для гражданских моторов и 80-100 для спортивных, с повышенным ХХ.
А вот Шаг квантования GBC считается иначе. Примерно прикидываем, сколько воздуха пролезет в наш мотор, для атмосферного это как правило не больше 600 даже для резвых моторов, для турбо до 1200, но т.к. таблиц работающих по воздуху практически не осталось, то не имеет смысла задвигать диапазон далеко, поэтому для турбомотора ограничимся 1000 мг/цикл. В этом случае шаг будет высчитываться как:
(1000 – минимум) / 256
для нашего примера: (1000 – 80) / 256 = 3,59375
Да, и задрав квантование в космос, необходимо так же поднять Максимальное GBC, иначе рассчитанный воздух будет просто порезан сверху.
P.S. В дальнейшем, таблицы по воздуху будут устранены полностью.
Квантование оборотов.
За квантование оборотов отвечает вот такая табличка:
Снизу отрисованы обороты, слева Точка квантования. Вкратце смысл такой, что в сетку по оборотам, которую мы видим в чиптюнере, пойдут те значения оборотов, которые соответствуют числам 16, 32, 48, … , 224, 240, те кратные 16. Вот как-то так. ;) Те обороты что превысят значение с точкой 240, будут считаться по последней точке, те по оборотам с точкой 240.
Квантование дросселя.
Тут все то же самое что и с Оборотами, где числа кратные 16 слева, такой дроссель и будет появляться в сетке чиптюнера.
Таблицы от давления.
Для турбомоторов задание основных коррекций по дросселю не приемлемо, т.к. при одном и том же положении заслонки, проходящий через нее воздух будет отличаться от давления, которое дает турбина, поэтому часть калибровок были переведены на зависимость от давления:
УОЗ, Состав смеси, Коррекция порога детонации, БЦН. Для того чтобы их активировать надо поставить соответствующие галки во Флагах комплектации.
Бустконтроллер.
Калибровки, находятся: Рабочие режимы – Датчики и механизмы – Соленоид наддува.
Реализация функций бустконтроллера в прошивке возложена на канал адсорбера, который использует ШИМ регулирование. Начало работы ШИМ клапана задается калибровкой Граница включения соленоида.
Процент открытия клапана соленоида рассчитывается следующим образом:
Duty = BD * DD * GD
BD – Базовый процент открытия от оборотов
DD – коррекция открытия от Дросселя
GD – коррекция открытия от выбранной передачи
Для быстрого вывода турбины на буст реализовано открытие клапан на 100%, при условии что дроссель открыт больше чем на 90%, и давление наддува ниже чем Верхняя граница раскрутки, после этого давления расчет % клапана идет обычным методом.
Если используется переменный резистор на 52-м выводе ЭБУ для коррекции давления, то значение из таблицы при соответствующем напряжении будет уможено на значение Duty. Таблица имеет диапазон значении 0-2, таким образом внешним резистором можно корректировать значение давления как в сторону повышения, так и понижения.
Таблицы бустконтролера:
Выбор передачи определяется по таблице, по оси Х которой задано значение 640*Скорость / Обороты:
Базовый % открытия клапана от оборотов
Коррекция процента по дросселю.
Коррекция по передаче.
Дополнительные датчики.
Контроллер ШДК.
В прошивке возможно подключение ШДК по аналоговому выходу и использование его для регулирования смеси в широком диапазоне. При этом, все параметры регулирования берутся из таблиц ДК-регулирования как для обычного ДК. Для сглаживания показаний датчика используется линейный фильтр, коэффициент которого задается в калибровках.
Тарировка ШДК задается таблицей:
ShiftLight – лампа отсечки.
Срабатывает при одновременном удовлетворении условий и по оборотам и по дросселю. Обороты при этом задаются от включеной передачи
Дополнительный вентилятор.
Задаются пороги срабатывания по ТОЖ. Работает независимо от основного вентилятора.
Насос охлаждения кулера.
Можно использовать для охлаждения интеркулера турбоавтомобилей во время гонок 402 метров. Включение опрыскивателя будет происходить только в движении, пороги по скорости, оборотам и дросселю, а так же по температуре входного воздуха задаются. Работа насоса, для большей эффективности и экономии жидкости, не постоянная, а импульсами с задаваемыми паузами включения и выключения.
Вторая ступень бензонасоса.
На некоторых автомобилях, бензонасос на малых нагрузках подключен через резистор и работает при пониженном напряжении, что обеспечивает ресурс насоса. При повышении порогов по оборотам и дросселю, резистор закорачивается через реле и насос начинает качать в полную силу.
Дополнительный вентилятор.
Полностью повторяет функцию аналогичную 25-й ноги и использует те же смые калибровки. Сделано для тех у кого 25-я нога занята другой функцией, а хочется.
Контроллер располагает незадействованными входными портами, которые можно использовать для управления механизмов по требованию водителя. Эти порты имеют подпорный резистор или на «землю» или на +5 вольт.
ДТОГ
Датчик температуры отработавших газов. На данный момент возможен тока вывод в диагностику показаний температуры, без каких-либо коррекций в прошивке. Задается таблицей 256 байт, где по оси Х размещено напряжения с датчика.
Ускорение при лаунче
При подключении переменного резистора номиналом 25-30 КОм одним выводом на «землю», другим на 42-ю ногу становится возможным оперативная подстройка значения «Ускорения при лаунч-контроле» из салона автомобиля без необходимости перепрошивки контроллера, для адаптации старта под конкретное покрытие.
Shift-Assist
Помощник при переключении передач. Реализовано вырезание зажигания в момент выжима сцепления. При использовании данной функции, возможно переключение передач без отпускания педали газа, при этом не происходит роста оборотов, те коробка не подвергается высоким нагрузкам, а турбина, если таковая есть, не теряет набранного буста. Пороги ограничивают включение данной функции ниже заданных пределов.
Кнопка устанавливается на вилку сцепления таким образом, чтобы при отпущенном сцеплении она была замкнута на «землю», а при начале выжимания сцепления, «земля» пропадала. Возможен другой типа подключения по запросу пользователя, но главное, чтобы активация происходила в момент начала выжима сцепления.
Впрыск закиси азота
При превышении порога по оборотам, а так же если температура двигателя больше заданной, а так же при замыкании 52-й ноги ЭБУ на «землю» происходит коррекция угла зажигания и впрыска топлива. Из расчетного угла зажигания ВЫЧИТАЕТСЯ значение взятое из таблицы по оборотам. Время впрыска ДОМНОЖАЕТСЯ на коэфф взятый из таблицы.
Так же появляется сигнал на 38-м выводе ЭБУ, если стоит соответсвующая настройка в конфигураторе 38-го вывода.
При отпускании кнопки или при выходе параметров ТОЖ или Дросселя, а так же Скорости за указанные границы, коррекции отменяются.
Текущая версия прошивки
Последняя версия на релиз J5TRS239.BIN
Заключение
Ну вот пока все, никакого космоса, зато все работает и доступно. :) Хотя основной упор был сделан для турбомоторов, как показали эксперименты – коррекции по давлению имеют право на жизнь и в управлении атмосферным двигателем. Например на достаточно злом валу, перевод состава смеси на давление дал заметную эластичность, которой не было при езде чисто по дросселю.
Спасибо всем кто учил, показывал, делился знаниями.
Отдельное спасибо Максу РПД, за большой вклад в тему алгоритмов управления двигателями для тюненых моторов и, конечно, Ильфаку Гильфанову, за его The Interactive Disassembler. J
Andy Frost, Shtep, (с) Team-RS 2002-2009
Прошивка TRS.
Введение.
Необходимость в создании прошивки возникло по двум причинам. Первое, это когда пришло понимание, что существующие алгоритмы не в состоянии достаточно точно математически отобразить модель двигателя. А второе, когда стало очень хотеться добавить функций к уже существующим прошивкам.
Описание алгоритмов работы
Итак за основу была взята одна из ранних версий прошивки Макси РПД, которая уже существенно облегчила алгоритмию стандартных прошивок убрав из них малозначимые или экологические калибровки, которые мало требуются для спортивных моторов. Подробно о прошивках Макса можно узнать на его сайте: http://rotorman.nm.ru/j5-sport/dad_model2.htm
Основные изменения затронули механизм расчета циклового наполнения двигателя по Датчику Абсолютного Давления (ДАД). Стандартная модель рассчитывает воздух по формуле:
GBC = FE * Vцил * P * 293 / (273 + ТВ) * К
FE – процент наполнения
Vцил – объем цилиндра
Р – давление во впускном коллекторе
ТВ – температура воздуха
К – коэфф пересчета плотности
Такой алгоритм не обеспечивал точного смесеобразования в режимах малых расходов воздуха, что приводило к сильному обеднению смеси на ХХ, трудному пуску горячего двигателя. Выявлялась твердая тенденция, что с ростом Температуры Воздуха (ТВ) на впуске, смесь сильно обеднялась, при этом, если была проведена компенсация смеси, то в мощностных режимах при той же ТВ, наблюдалось сильное обогащение.
Это объясняется тем, что воздух проходя через нагретый мотор нагревается и чем меньше скорость, или объем этого воздуха, тем больше нагрев и наоборот, чем выше расход, тем меньше влияние нагретого мотора на ТВ. Полученная температура называется Температура Заряда (ТЗ). Как показано ранее ТЗ может принимать значения в диапазоне от ТВ при больших расхода воздуха, когда влияние нагретого мотора минимально, до Температуры Охлаждающей Жидкости (ТОЖ), когда поток воздуха очень мал.
Формула пересчета ТЗ выглядит следующим образом:
TЗ = ((TВ - ТОЖ) * Кпер+ ТОЖ)
TЗ – Температура заряда
ТВ – Температура Воздуха
ТОЖ - Температуры Охлаждающей Жидкости
Кпер – Коэфф пересчета, принимающий значение в диапазоне 0-1 от расхода воздуха.
Если Кпер равен 1, то ТЗ принимает значение ТВ
Если Кпер равен 0, то ТЗ принимает значение ТОЖ
Проблема в том, что мы не можем использовать массовый расход воздуха в качестве опорных данных, т.к. он сам считается через цикловое наполнение и может возникнуть авторезонанс. Поэтому таблица, в которой задается Кпер определена Оборотами работы двигателя и Давлением в коллекторе для турбо мотора либо положением Дросселя, для атмосферного мотора, что достаточно достоверно определяет скорость потока и величину теплопереноса от ТОЖ к ТВ.
Тем не менее, для упрощения настройки прошивки пользователем, была выпущена версия прошивки, в которой расчет Кпер (Коэфф пересчета ТВ и ТОЖ в ТЗ) производится непосредственно в прошивке по массовому расходу воздуха и пользователю не нужно заполнять таблицу:
Кпер = AIR / AIRmax * (Kmax - Kmin) + Kmin, где:
AIR – текущий массовый расход воздуха [кг/ч]
AIRmax – максимальный воздух, выше которого Кпер всегда принимает значение Kmax [кг/ч].
Kmin – коэфф пересчета для нулевого расхода воздуха.
Kmax – коэфф пересчета для расхода воздуха AIRmax
Получается что при минимальном расходе воздуха, Кпер стремится к заданному коэфф Kmin, и температура заряда приближается к ТОЖ. При увеличении потока воздуха до AIRmax, коэфф Кпер стремится к Kmax, а ТЗ к ТВ. При превышении текущего расхода воздуха над AIRmax Кпер приравнивается Kmax.
Конечная формула по которой считается цикловое наполнение двигателя имеет вид:
GBC = FE * FEР* Vцил * P * 293 / (273 + ТЗ) * К * КТОЖ * КТЗ
FE – процент наполнения, безразмерный [дросс][обороты]
FEР – процент наполнения, безразмерный [давление][обороты]
Vцил – объем цилиндра, см3
Р – давление во впускном коллекторе, КПа
ТЗ – температура заряда, рассчитываемая отдельно, градС
К – коэфф пересчета плотности, прописан в прошивке
КТОЖ – коэфф от ТОЖ, безразмерный
КТЗ – коэфф от ТЗ, безразмерный
Степень наполнения двигателя – Поправка ЦН
Процент наполнения двигателя задается таблицей Поправки ЦН. В данной версии прошивки, при работе на ДАДе, используется одновременно таблица по дросселю и давлению, при работе на ДМРВ, только поправка по Дросселю.
Есть подозрение, что это лишнее и необходимо разделить, эти таблицы, одну, по Дросселю использовать для атмо моторов, другую, по Давлению, для надувных.
Поправка по Дросселю:
Поправка по Давлению:
Поправка ЦН 32*32
Для повышения точности работы двигателя с сильно нестандартными конфигурациями, а так же повышения точности смесеобразования, была реализована таблица поправки размерностью 32*32 точки. Она используется вместо таблиц по дросселю 16*16, если стоит соответствующий флаг комплектации. Использование ее в моторах, которые настраиваются на обычной поправке, не рекомендуется.