Avto-Science.ru
После написания 1-й части этого опуса прошло почти полгода, двигатель
который использовался в прошлых тестах успешно эволюционировал и теперь опыты проводятся над 16в мотором объемом 1.7л.
Вернемся к температурам.
Представление о связи циклового наполнения воздухом с температурой охлаждающей жидкости и воздуха до сих пор не вписывалось ни в одну модель реализованную в различных ЭБУ, проведенные ранее опыты и накопленная в процессе настройки различных автомобилей информация не могла быть систематизирована на основе имеющихся знаний. Первоначально проблему пытались искать в меcте установки датчика. Однако практический анализ заводских двигателей показывал, что этот путь ошибочен. Так же для поиска решения постоянно производился анализ алгоритмов работы различных систем управления с VE based моделями (использующими MAP сенсор для оценки расхода воздуха двигателем) в основном реализуемых ими алгоритмов расчета расхода воздуха. Это была продукция таких производителей как: Motec, GEMS, Абит, Mikas (dad), Megasquirt и VEMS. Однако какие либо изящные решения в них на прочь отсутствовали. Модели используемые этими ЭБУ, либо уже были отвергнуты как неадекватные, либо были реализованы в системе управления в настоящий момент. Смущало, что во многих из этих ЭБУ связь с температурой воздуха была пропорциональна абсолютной Т, либо представляла довольно эмпирический кривой график стремящийся распрямится в зоне 20-60 градусов (нивелирование влияния в зоне рабочих температур), а поправка по температуре охлаждающей жидкости зачастую вообще отсутствовала, либо так же представляла собой эмпирический и кривой график. Опыты с ШДК быстро позволили понять несостоятельность всех этих решений. Американцы (Ford) строили многомерные поправки в которых по осям X Y располагались температуры ОЖ и воздуха а Z — коэффициенты компенсации топливоподачи, фактически это был тот же самый «подгон под ответ». В конечном счете многие системы управления были адаптивными (работали с лямбда
— зондами) и невозможно было оценить насколько их решения на самом деле адекватны. Многие из этих систем никогда не стояли на гражданских машинах, и не понятно волновали ли их разработчиков подобные проблемы вообще. Но вот кажется в конце тоннеля появился лучик света. Решение подсказала реальная
система управления
двигателем установленная на автомобиле daewoo esperro.
В конечном счете именно в этой машине «доноре ДТВ» (который там установлен в алюминиевом ресивере) с самого начала стоило искать правильные ответы на все возникшие вопросы!
Температура заряда.
Инженеры Delphi имеющие многолетний опыт в проектировании систем управления придумали кажется вполне разумную модель, возможно достаточно заумную для настройки, но простую в реализации и на первый взгляд более менее реально описывающую происходящие в двигателе
процессы. И что самое главное — не противоречащую теоретической физике. При реализации такой модели в программу ЭБУ вводится эмпирический параметр, который получил название «температура заряда». Он определяет влияние температур как двигателя так и воздуха на конечную температуру смеси в конце такта впуска. Идея Delphi состоит в том, что температура заряда во всех возможных случаях лежит в промежутке между температурой ОЖ и температурой воздуха поскольку определяется в основном начальной температурой (воздуха) и теплопередачей от различных поверхностей двигателя, причем чем больше воздуха расходует
двигатель
, тем медленнее идут процессы теплопередачи и тем меньше на него влияет температура ОЖ и больше влияет температура воздуха и наоборот. Такая модель одновременно адекватно описывает и пуск и прогрев и работу на около нормальных температурах как атмосферного так и турбокомпрессорного двигателя.
Расчет температуры заряда производится следующим образом:
Tcharge = ((Tintake — Tcoolant) * Fcharge(massairflow) + Tcoolant )* Fcorrection(Tcharge)
Очевидно, что если Fcharge(massairflow) стремится к 0, то Tcharge = Tcoolant а если к 1 то, Tcharge = Tintake
Корректирующая функция Fcorrection(Tcharge) работает при глубоких отрицательных температурах, ее значения как правило лежат в диапазоне 0.85-1.00
Влияние Tcharge на GBC описывается формулой связи температуры по шкале Цельсия с абсолютной, причем приведенной к нормальным условиям.:
GBC = * ( 273 + 20 ) / (273 + Tcharge ).
В этом алгоритме все табличные поправки по температурам ОЖ и воздуха полностью отменяются, что довольно привлекательно с точки зрения практической реализации в загруженном цикле вычислений тактовой топливоподачи двигателя.
В настоящий момент подобные модели были использованы только в системах управления Delphi и Аутроник, однако у Аутроника таблица функции Fcharge выстраивается полностью в ручную, что абсолютно неприемлемо при реальной настройке системы управления и приводит к тому что 99% настройщиков ее попросту не тронут вообще, в результате чего поведение ЭБУ не будет адекватным.
Вариант Delphi с функцией массового расхода для aftermarket системы, которая должна быстро перенастраиваться с одного двигателя на другой тоже выглядит недостаточно приемлемым, поскольку настраиваемые двигатели могут иметь почти на порядок различающиеся массовые расходы воздуха. Поэтому первоначально на вооружение был принят оригинальный вариант функции с табличным заданием функции Fcharge от оборотов и положения дросселя. Построение табличной 3D функции как и обычно было поручено ПАК «Матрица» по следующей формуле:
Fcharge(rpm,thr) = Kmin + ((Fgbcbs(rpm,thr)*rpm — AIRmin) / (AIRmax — AIRmin )) * (Kmax — Kmin)
Kmin — коэффициент влияния температуры воздуха на низких расходах воздуха (стремится к 0, задан калибровщиком).
Kmax — коэффициент влияния температуры воздуха на высоких расходах воздуха (стремится к 1, задан калибровщиком).
Fgbcbs(rpm,thr)*rpm — массовый расход воздуха в текущей точке (в основе таблицы «базовое цикловое наполнение» откатанной ранее на ПАК «Матрица» или функцией автообучения ЭБУ).
AIRmin — минимальный массовый расход воздуха. (пересчитывается из бцн).
AIRmax — максимальный массовый расход воздуха. (пересчитывается из бцн).
Фактически построение идет на основе массового расхода, как функции Циклового наполнения воздухом и оборотов двигателя, все необходимые данные уже есть в прошивке, остается экспериментально подобрать 2 коэффициента, первый влияет на поведение алгоритма на холостом ходу а второй на максимальном расходе воздуха (максимальных оборотах) а затем нажатием одной кнопки выстроить табличку поправки. Причем как показывает практика для различных двигателей эти коэффициенты не сильно различаются.
Вот такая табличка получается при Kmin=0.4 Kmax=0.9. — Эти значения были выбраны для первоначального тестирования алгоритма.
После перестройки логи показали следующее: Отклонение состава смеси не имеет корреляции с температурой воздуха при высоких расходах, где влияние этой температуры наибольшее. Следовательно коэффициент 0.9 был выбран правильно.
Проявляется некоторая тенденция обеднения при снижении температуры охлаждающей жидкости на холостом ходу — по-видимому следует несколько уменьшить Kmin.
Новое Kmin было выбрано = 0,25
Позже опционально был реализован и оригинальный вариант Delphi c функцией коэффициента от массового расхода — как показала практика, только этот вариант коррекции при довольно простой настройке может более менее адекватно работать на автомобилях с верхним расположением интеркуллера (Subaru WRX STI) либо жидкостным интеркуллером, поскольку в этих автомобилях колебание температур воздуха возможно в очень широких пределах.
«О сколько нам открытий чудных…»
Двигатель 16v сразу же обнаружил несколько интересных проблем. Выяснилось, что после примерно 15-ти минутного стояния в пробке, когда температура охлаждающей жидкости достигнет 95-98 а воздуха 40-50 градусов цикловое наполнение воздухом на ХХ и низких нагрузках вдруг начинает медленно расти, причем после того, как рост достигнет 10-12% он замедляется и останавливается. Если бы не режим широкополосного лямбда
— регулирования, этот рост наполнения мог бы доставить некоторые проблемы в работе двигателя на ХХ… Стоит проехать немножко с высокими оборотами и наполнение плавно, но достаточно быстро возвращается к своим старым значениям. Первоначально я пытался искать причину такого поведения в температуре воздуха на впуске, однако это полностью противоречило здравому смыслу, поскольку рост температуры приводит к уменьшению плотности воздуха и следовательно уменьшению наполнения. Объяснение роста было в скоре найдено и оказались достаточно банальным — причина такого поведения скрывалась в гидрокомпенсаторах зазоров клапанного механизма.
В пробке на ХХ масло достаточно сильно прогревается, поскольку циркуляции воздуха в подкапотном пространстве и в поддоне нет, кроме того низкое давление масла, компенсаторы стравливают масло и подъем клапанов уменьшается. Вместе с подъемом сужается фаза впуска и выпуска, становиться меньше перекрытие, на широких валах все это приводит к росту циклового наполнения. При этом, чтоб обеспечить подобный рост наполнения на режимах ХХ с подобными валами вполне достаточно уменьшения подъема всего на 0.1-0.15мм. Честно говоря ситуация достаточно тупиковая, поскольку события происходящие в двигателе изменяют его VE, однако не могут быть учтены системой управления. Конечно можно было бы завести в ЭБУ температуру масла, давление и построить сложную модель связывающую эти параметры во времени с наполнением, но что-то мне подсказывает, что это будет сугубо индивидуальная модель для сугубо индивидуального двигателя — следовательно целесообразность таких действий туманна.
Проанализировав конструкцию заводских двигателей с ДАД я пришел к интересному выводу, как то упущенному мною ранее — ни на одном из серьезных атмосферных моторов оснащенных ДАД (honda, toyota levin, renault) нет гидрокомпенсаторов зазоров ГРМ!
В общем все в порядке в Датском Королевстве. Этим фактом даже можно объяснить тенденцию применения масс метров на выпускаемых относительно современных двигателях — ведь практически все они снабжены гидрокомпенсаторами, работать с которыми с использованием ДАД довольно проблематично.
Повышение разрешения канала АЦП ДАД.
После одной из дискуссий на megasquirt форуме я задумался над тем, что разрешение сигнала канала ацп дад и математики его фильтра на самом деле недостаточно удовлетворительно, диапазон значений ограничен 8-ми битами входного сигнала, что на турбо двигателях давало разрешение порядка 1 кПа с датчиком MPX4250AP. Переменная давления в микропрограмме имела разрешение аж в сто раз больше — 0.01кпа. Фактически это приводило к перегрузке микропрограммы лишними вычислениями с большой разрядностью. Возникло решение переключить АЦП в 10-ти битный режим и использовать 16-ти битную математику как при фильтрации сигнала так и в калибровках наклона и смещения для ДАД. Что позволило повысить точность вычислений давления в 4 раза, и без проблем применять датчики с диапазоном 400кПа даже на атмосферных двигателях. И хотя фактически такое повышение было вызвано больше субъективными причинами — хуже от этого уж точно не стало. Здесь как в математике — лишние разряды в числе Pi никому еще не мешали.