Closed Loop по лямбде

Про байтики и логику ЭБУ
Post Reply
frig
contributor
contributor
Posts: 569
Joined: Wed Oct 23, 2013 8:05 pm

Closed Loop по лямбде

Post by frig »

Назревает необходимость реализовать это для дальнейшей работы над топливом. Обратная связь нужна.
Как бы нам одним кодом перекрыть и широкополосные и узкополосные датчики? Широкополосный, я имею ввиду с внешним контроллером.
Какие подводные камни есть? Скорость реакции?

Поделитесь кто что знает. Спасибо.
skype: frig_frig
User avatar
XDA
Posts: 441
Joined: Wed Oct 23, 2013 7:28 pm

Re: Closed Loop по лямбде

Post by XDA »

вообще лямбда-регулирование сделано для соблюдения норм экологии.
катализатор выдаёт наименьшее к-во выбросов при стехиометрической смеси. поэтому лямбда регулирование работает таким образом, что смесь постоянно качается относительно стехиометрии то в одну, то в другую сторону таким образом, чтобы в объёме катализатора было достаточно запаса непрореагировавшей смеси чтобы суммарно было строго стехиометрически.
реализуется это с помощью I - регулятора (интегрального) с несимметричными к-тами на + и на -, пределы регулировки обычно +- 25%

широкополосная лямбда пригодна в том числе и для автоматической настройки: отключаем регулирование, далее набираем двухмерную матрицу значений лямбды, (по оборотам и нагрузке) потом делим на матрицу целевой лямбды и на получившуюся матрицу домножаем топливную таблицу.

внешние контроллеры всегда имеют выход эмуляции узкополосной лямбды.
Теория хороша в том и только том случае, если она может достоверно предсказать результаты каждого нового опыта
User avatar
Sergey89
contributor
contributor
Posts: 839
Joined: Wed Sep 25, 2013 5:30 pm
Location: Russia, Velikiy Novgorod

Re: Closed Loop по лямбде

Post by Sergey89 »

Вводную информацию по лямбда регулированию можно у Гирявца почитать http://rusefi.com/forum/viewtopic.php?p=325#p325
User avatar
XDA
Posts: 441
Joined: Wed Oct 23, 2013 7:28 pm

Re: Closed Loop по лямбде

Post by XDA »

чтобы было понятно, как выглядят показания лямбда интегратора на реальном моторе - вот видео.

значения лямбда интегратора - это % топливной коррекции умноженный на 100. т.е. 2500 это +25% коррекция по топливу. а 100 - это 1% коррекции.
Теория хороша в том и только том случае, если она может достоверно предсказать результаты каждого нового опыта
Mad Max
Posts: 187
Joined: Wed Nov 13, 2013 12:34 pm
Location: Ukraine, Kharkov

Re: Closed Loop по лямбде

Post by Mad Max »

Мне кажется мы забегаем вперед.
Хотелось бы сперва увидеть температурные коррекции топливоподачи и УОЗ.
Потом отдельные таблицы топливоподачи и УОЗ для режима запуска.
Потом нормальную таблицу УОЗ.
До лямбда регулирования пока еще далеко.

Однако:
1. Действительно оно появилось вместе с катализаторами.
2. Коррекция до +\- 25% это общепринятый лимит для определения неисправного состояния авто- -25% -ошибка богатая смесь,+25% ошибка бедная смесь.
Можно сделать+\-50%. Тогда есть шанс всегда ездить на неисправной машине или +\-5% и всегда иметь эти ошибки.
3. Смесь никогда не стоит на месте.
Причины разные- изменение давления топлива (абсолютно постоянных регуляторов не бывает-они имеют разброс +\- 0,1Бар а может и больше)
- изменение производительности бензонасоса (на ХХ расход бенза форсами не велик, и 99% топлива сливается в обратку.
В регуляторах стоит небольшой демферный жиклер на сливе топлива,чтобы убрать пульсации. Если насос производительный,а бенз плотный холодный и густой, то топливо не успевает на ХХ сливаться через жиклер и давление немного увеличивается.)
- Та же вязкость топлива влияет и на производительность форсунок и на работу регулятора давления.
- Расходомер тоже на такая уж и прецизионная и стабильная вещь как хотелось бы.
- Количество картерных газов, которые в стд моторе подаются во впуск и на ХХ сильно влияют на смесь.
- Другие факторы как отклонение зазоровклапанов и фаз ГРМ на моторах без расходомера, засорение системы и т.д.

Исходя из этого, если мы хотим сделать полноценную замену сток-мозгу, то нужно иметь нормальное лямбда-регулирование смеси.
Skype- max.mad486
Kot_dnz
contributor
contributor
Posts: 29
Joined: Mon Dec 16, 2013 6:12 pm

Re: Closed Loop по лямбде

Post by Kot_dnz »

XDA wrote:вообще лямбда-регулирование сделано для соблюдения норм экологии.
катализатор выдаёт наименьшее к-во выбросов при стехиометрической смеси. поэтому лямбда регулирование работает таким образом, что смесь постоянно качается относительно стехиометрии то в одну, то в другую сторону таким образом, чтобы в объёме катализатора было достаточно запаса непрореагировавшей смеси чтобы суммарно было строго стехиометрически.
Не со всеми вашими тезисами полностью согласен. Есть некоторый опыт ;) работы с лямбда с картинговыми 2-х тактными карбюраторными двигателями.
1. лямбда стоит до катализатора, а уж вторая (если есть) - после.
2. без нее (лямбды и датчика детонации) у вас нет никаких способов понять что происходит с мотором - для мотора с впрыском это практически основной инструмент!
3. лямда - это датчик кислорода, он показывает вам результат ваших манипуляций с дозой впрыска и опережением зажигания. Если вы все сделали правильно, то топливо должно сгореть все и кислорода остаться не должно. (Тюнеры так и работают - корректируют таблицы, прогоняют по стенду - смотрят логи детонации / значения лямбды)
4. из моего опыта
- важные входные параметры: датчик положения коленвала (расчет опережения), расходомер воздуха (первый расчет дозы), датчик вакуума (проверка не нужно ли ускоряться или же наоборот движение в экономном режиме), датчик детонации (начудили?)
- выходные: угол с которого открывать и время открытия форсунок, опережения зажигания.
5. всякие заглушки лямбды превращают компьютер управления в калькулятор с таблицей "по умолчанию" (т.е. фактически карбюратор)
rrock
Posts: 2
Joined: Mon Dec 16, 2013 5:15 pm

Re: Closed Loop по лямбде

Post by rrock »

А как быть, если вместо лямбды - RCO? Только через газоанализатор глядеть?
Kot_dnz
contributor
contributor
Posts: 29
Joined: Mon Dec 16, 2013 6:12 pm

Re: Closed Loop по лямбде

Post by Kot_dnz »

rrock wrote:А как быть, если вместо лямбды - RCO? Только через газоанализатор глядеть?
Как ранее было описано - ключевой параметр работы мотора - стехиометрическое отношение топлива к воздуху.
Т.е. 12,7 частей воздуха на одну часть топлива.
Лямбда показывает остался ли кислород и если да, то сколько.
Если я понял: RCO - датчик СО? Image
С точки зрения мощности это бестолковые данные.
Если цель соотвествовать евро-...., то конечно важные, но не добавить мощности, а наоборот.
Вот нарыл прекрасное описание, что бы не дублировать: http://notabenoid.com/book/8516/25670/ready

Не сочтите за рекламу: на моем сайте я опубликовал свои переводы рекомендаций как это все работает и как в спорте работать с лямбдой.
http://sites.google.com/site/kotdnz/
Kot_dnz
contributor
contributor
Posts: 29
Joined: Mon Dec 16, 2013 6:12 pm

Re: Closed Loop по лямбде

Post by Kot_dnz »

очепятался - конечно 14,7 и принято обозначать эту пропорцию как - 1.
Найдено еще здесь: http://turbo.emo.su/?page_id=107
Весь цикл непрерывно повторяется и состав смеси изменяется от значений λ=0,97…98 до значений λ=1,02…1,03. Исключение составляют следующие режимы: режим максимальной мощности (λ= 0,86…0,88), режим торможения двигателем (отключение подачи топлива, при этом смесь очень обедненная и λ значительно больше единицы), режим ускорения (обогащение смеси, адекватное скорости открытия дроссельной заслонки).

и вот описание зачем СО: http://wiki.zr.ru/%D0%9B%D1%8F%D0%BC%D0%B1%D0%B4%D0%B0-%D0%97%D0%BE%D0%BD%D0%B4
rrock
Posts: 2
Joined: Mon Dec 16, 2013 5:15 pm

Re: Closed Loop по лямбде

Post by rrock »

RCO - это потенциометр, который стоит вместо лямбды. То есть значение постоянное в любой момент времени. А состав смеси, если не ошибаюсь, у меня регулируется на основе данных с датчика температуры на впускном коллекторе.
Kot_dnz
contributor
contributor
Posts: 29
Joined: Mon Dec 16, 2013 6:12 pm

Re: Closed Loop по лямбде

Post by Kot_dnz »

frig wrote:Назревает необходимость реализовать это для дальнейшей работы над топливом. Обратная связь нужна.
Как бы нам одним кодом перекрыть и широкополосные и узкополосные датчики? Широкополосный, я имею ввиду с внешним контроллером.
Какие подводные камни есть? Скорость реакции?

Поделитесь кто что знает. Спасибо.
frig,
сейчас используются только широкополосные датчики.
ОЧЕНЬ ВАЖНО - правильно нагреть его. Стратегия описана.
Насколько я понял - вопрос только в разном напряжении соотв разной пропорции - короче нельзя подменять старое/новое.
Бош-моторспорт дает всем эти данные:
http://www.bosch-motorsport.de/content/language2/html/3562.htm
курить с 221 страницы http://www.bosch-motorsport.de/content/downloads/Documentation/Catalog_2014.pdf
очень руки чешутся описать это в разных структурах ;)

rrock,
температура сгорания на выхлопе давно используется в спорте, но:
1. Для правильного чтения этих данных нужна длинная прямая на одной передаче - что бы датчик очистился и считать данные только в определенный момент.
2. в зависимости от типа езды, переключения передач - это кривая с большим диапазоном.
3. вы никогда не узнаете что же в нашем "хорошем" топливе так жарко горит ;)
4. и как я писал ранее - вы таким образом превращаете компьютер в карбюратор в "преустановленными" параметрами
frig
contributor
contributor
Posts: 569
Joined: Wed Oct 23, 2013 8:05 pm

Re: Closed Loop по лямбде

Post by frig »

сейчас используются только широкополосные датчики.
Вы мыслите категориями спорта, хотя блок должен быть универсальным. А универсальный это значит не только спорт и даже не только автомобили и даже не только то, что по земле ездит.
очень руки чешутся описать это в разных структурах ;)
Если руки чешутся программировать, то это хорошо! Работы для программистов в достатке. Например вот некоторые задачи http://sourceforge.net/p/rusefi/tickets/?source=navbar
skype: frig_frig
Slip
contributor
contributor
Posts: 145
Joined: Thu Nov 14, 2013 9:44 am

Re: Closed Loop по лямбде

Post by Slip »

По моему тут пошел уже какой то флуд..
Kot_dnz Речь идет об закрытом цикле, который корректируется лямбдой.
Если есть реальный алгоритм работы этой части программы - все во внимании, а разводить треп не пойми о чем не нужно.
Mad Max
Posts: 187
Joined: Wed Nov 13, 2013 12:34 pm
Location: Ukraine, Kharkov

Re: Closed Loop по лямбде

Post by Mad Max »

Во-первых надо определиться, по каким параметрам будет переход cl-ol.
У нормальных машин это обороты, нагрузка, температура двс, положение дросселя, скорость движения авто, длительность открытия форсунки, время после запуска, наверное еще что-то, и все это с задержками переключения и гистерезисом.
Не думаю что нам нужно столько параметров, тем более что они практически дублируют друг-друга (например скорость движения, открытие дросселя и длительность впрыска).
Мы не боремся за Евро-6. Нам такие тонкости не нужны.

Итак предлагаю ограничиться временем поле запуска (разогрев лямбды), температурой мотора, нагрузкой и оборотами.
Скорость опроса лямбды порядка 0,1 сек.
Быстрее не нужно- смысла нет.
Делается 5 опросов для получения среднего значения, после чего корректируется топливоподача.

Тут есть 2 варианта при большом отклонении -тупо по 2% приближаться к малому отклонению и там уже через 0,2 % например ловить смесь.
Либо обратиться к таблице калибровки лямбды (а она всеравно должна быть) и посчитать сразу требуемую поправку и уже потом ловить по 0,2% смесь.

Так же должен быть игнор контроля смеси при увеличении открытия дросселя, когда смесь обогощается.
Т.е. смесь контролируется и корректируется только на стационарных режимах.
Потом должна быть таблица коректировки по оборотам или расходу воздуха или длительности открытия форсунки, куда будут заноситься текущие коррекции, чтобы мозг брал последнюю коррекцию для данного режима, а не начинал считать все снуля.
Постоянная (длинная) коррекция обновляется раз в 5-10 сек. либо при отклонении текущей (короткая коррекция) от длинной более чем на 2%.
Диапазон длинной коррекции обычно +/- 25%. после чего зажигвется чек "бедная/богатая смесь".
Из личного опыта- длинная коррекция на исправном авто не превышает +-2%, тем не менее первое время после запуска может доходить до +- 7%.

Как правило CL это обороты до 4500, нагрузка до 35%, открытие дросселя до 60%, темп. мотора выше +10, скорость до 130 кмч.
Skype- max.mad486
Kot_dnz
contributor
contributor
Posts: 29
Joined: Mon Dec 16, 2013 6:12 pm

Re: Closed Loop по лямбде

Post by Kot_dnz »

Mad Max wrote: Итак предлагаю ограничиться временем поле запуска (разогрев лямбды), температурой мотора, нагрузкой и оборотами.
Скорость опроса лямбды порядка 0,1 сек.
может каждый полный цикл сгорания/выхлопа? так вы откорректируете раньше, чем получите результат предыдущей корректировки.
Mad Max wrote: Быстрее не нужно- смысла нет.
Делается 5 опросов для получения среднего значения, после чего корректируется топливоподача.
т.е. в конце цикла сделать подряд 5 замеров?
Mad Max wrote: Тут есть 2 варианта при большом отклонении -тупо по 2% приближаться к малому отклонению и там уже через 0,2 % например ловить смесь.
Либо обратиться к таблице калибровки лямбды (а она всеравно должна быть) и посчитать сразу требуемую поправку и уже потом ловить по 0,2% смесь.
http://www.exponenta.ru/educat/systemat/hanova/equation/nonlinear/nonlinear1.asp
Там по тексту "Метод половинного деления"
Любые жесткие привязки не дадут такой плавности и достижимости.
У нас отличный мат.процессор.
Mad Max wrote: Так же должен быть игнор контроля смеси при увеличении открытия дросселя, когда смесь обогощается.
Т.е. смесь контролируется и корректируется только на стационарных режимах.
Тогда нужно формализовать все состояния мотора: прогрев, холостой ход, ускорение, торможение, ....
и описать их словия определения.
Mad Max wrote: Потом должна быть таблица коректировки по оборотам или расходу воздуха или длительности открытия форсунки, куда будут заноситься текущие коррекции, чтобы мозг брал последнюю коррекцию для данного режима, а не начинал считать все снуля.
Постоянная (длинная) коррекция обновляется раз в 5-10 сек. либо при отклонении текущей (короткая коррекция) от длинной более чем на 2%.
Диапазон длинной коррекции обычно +/- 25%. после чего зажигвется чек "бедная/богатая смесь".
Из личного опыта- длинная коррекция на исправном авто не превышает +-2%, тем не менее первое время после запуска может доходить до +- 7%.
Как правило CL это обороты до 4500, нагрузка до 35%, открытие дросселя до 60%, темп. мотора выше +10, скорость до 130 кмч.
см.выше + как писали ранее описать границу, далее по таблицам ;)
Mad Max
Posts: 187
Joined: Wed Nov 13, 2013 12:34 pm
Location: Ukraine, Kharkov

Re: Closed Loop по лямбде

Post by Mad Max »

Охота позадрачивать? Мне похуй. Жги напалмом.
Что-то знаешь? пиши понятно.
Я на истину не претендую.
Но и подъебывать так тупо не позволю.

При холостых 800 об/мин это 0.077 сек между оборотами Кв.
Так что 0,1 сек вполне норм.
Состав выхлопа нужно мерять в разных фазах- начало/конец впуска/выпуска чтоб получить средние значения смеси.
Фазы грм у всех разные. И если привязаться к фазе, то можно всегда чистый кислород мерять в фазе продувки на широких валах и близко расположенной к голове лямбде.
Skype- max.mad486
Kot_dnz
contributor
contributor
Posts: 29
Joined: Mon Dec 16, 2013 6:12 pm

Re: Closed Loop по лямбде

Post by Kot_dnz »

Mad Max wrote:Охота позадрачивать? Мне похуй. Жги напалмом.
Что-то знаешь? пиши понятно.
Я на истину не претендую.
Но и подъебывать так тупо не позволю.
Цели такой не ставил и реакция для меня неожиданная.
Звиняйте дядько.
Mad Max wrote: При холостых 800 об/мин это 0.077 сек между оборотами Кв.
Так что 0,1 сек вполне норм.
Состав выхлопа нужно мерять в разных фазах- начало/конец впуска/выпуска чтоб получить средние значения смеси.
Фазы грм у всех разные. И если привязаться к фазе, то можно всегда чистый кислород мерять в фазе продувки на широких валах и близко расположенной к голове лямбде.
В споре рождается истина ;)
У нас 4-ре цилиндра работают на один ДК.
Вопрос был в стабилизации состояния.
Т.е. вышли в стабильный режим (например по ДАД давление постоянное в течении последних 5 замеров) и после этого сделали 5 подряд замеров Лямбда.
Взяли значение (не среднее, а что то типа тренда в экселе, что бы отсечь случайные глюки).
Пусть это будет AFR 10.
Табличное значение для этих оборотов 14,7.
14,7-10,0 = 4,7 / 2 = 2,35 величина коррекции.
Считаем сколько это и добавляем соотв объем:
впрыскивали Х см3 * (10,0 + 2,35) / 10,0 = новый объём
ждем стабилизации (например время 2-х полных циклов на этих оборотах).

А по фазам тема тоже актуальна - не впрыскивать в закрытый клапан. Читал, что бы избежать привязки к фазам начало впрыска корректируют по max air flow speed...
User avatar
XDA
Posts: 441
Joined: Wed Oct 23, 2013 7:28 pm

Re: Closed Loop по лямбде

Post by XDA »

Kot_dnz wrote: А по фазам тема тоже актуальна - не впрыскивать в закрытый клапан. Читал, что бы избежать привязки к фазам начало впрыска корректируют по max air flow speed...
решается одной таблицей. по осям обороты и фактор нагрузки, значения - угол впрыска.
Теория хороша в том и только том случае, если она может достоверно предсказать результаты каждого нового опыта
Mad Max
Posts: 187
Joined: Wed Nov 13, 2013 12:34 pm
Location: Ukraine, Kharkov

Re: Closed Loop по лямбде

Post by Mad Max »

Kot-dnz, извини за резкость, был немного пьян и сильно зол в тот момент.
Но того твоего поста даже сейчас не понимаю.

В споре конечно что-то родится. Для того мы все здесь.
Я пишу свое видение, другие свое.

Итак, у нас лямбда стоит в выхлопе, где все цилиндры (или группа цилиндров для V-6-8-10) уже сошлись в 1 трубу.
В этой ситуации фаза измерения состава смеси не имеет значения. Просто нужно сделать несколько замеров и вывести средний состав смеси.
Те что ты пишешь формулы- это и есть прямая компенсация отклонения состава смеси, то что я писал выше.

Главное определиться, по каким параметрам будет переход cl/ol и по какому алгоритму корректировать.
Skype- max.mad486
User avatar
rus084
contributor
contributor
Posts: 678
Joined: Sun Dec 01, 2013 1:40 pm
Location: Russia , Stavropol

Re: Closed Loop по лямбде

Post by rus084 »

а как это будет работать с узкополосным лямбда-зондом?

и еще : можно сделать автонастройку по такому датчику? :
каждые 2 оборота КВ замерять значение лямбды , если оно меньше стехиометрического , увеличить значение в таблице на 0,1% , иначе уменьшить на 0,1% (мне совсем не откуда брать топливную таблицу)
но тут возникает проблема деградации флеш памяти контроллера , или таблица хранится в озу , пока не поступит команда записи ?
puff
contributor
contributor
Posts: 2961
Joined: Mon Nov 11, 2013 11:28 am
Location: Moskau

Re: Closed Loop по лямбде

Post by puff »

внешние FRAM модули? внешняя память в dip панельке?
mivaol
Posts: 260
Joined: Thu Jan 30, 2014 6:00 pm

Re: Closed Loop по лямбде

Post by mivaol »

Узкополосная долго реагирует порядка 20мСек
Во вторых она смесь как таковую не показывает а реагирует на содержание газов остаточных так что по совпадению реакции на газы в целом генерирует эдс на бедных ~0.2v на богатых ~0.9
Для обучения с нуля её использовать можно но осторожно.
Широкополосная как пишут во первых быстра во вторых реально на кислород реагирует.
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: Closed Loop по лямбде

Post by AndreyB »

rus084 wrote:но тут возникает проблема деградации флеш памяти контроллера, или таблица хранится в озу
Это проблема должна решаться на уровне прошивки - я почему-то не вижу смысла писать в постоянную память каждые два оборота вала. Всё это должно в памяти, а писаться должно или по команде пользователя или по будильнику типа раз в минуту.

@ большой фанат настройки по узкополосной лямбде, он планирует так делать.
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
mivaol
Posts: 260
Joined: Thu Jan 30, 2014 6:00 pm

Re: Closed Loop по лямбде

Post by mivaol »

Тогда термопара в помощь! Температура выхлопа, может помочь в деле не запороть двигатель.
Post Reply