Page 1 of 1

Closed Loop по лямбде

Posted: Mon Dec 09, 2013 9:06 am
by frig
Назревает необходимость реализовать это для дальнейшей работы над топливом. Обратная связь нужна.
Как бы нам одним кодом перекрыть и широкополосные и узкополосные датчики? Широкополосный, я имею ввиду с внешним контроллером.
Какие подводные камни есть? Скорость реакции?

Поделитесь кто что знает. Спасибо.

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

Posted: Mon Dec 09, 2013 5:01 pm
by XDA
вообще лямбда-регулирование сделано для соблюдения норм экологии.
катализатор выдаёт наименьшее к-во выбросов при стехиометрической смеси. поэтому лямбда регулирование работает таким образом, что смесь постоянно качается относительно стехиометрии то в одну, то в другую сторону таким образом, чтобы в объёме катализатора было достаточно запаса непрореагировавшей смеси чтобы суммарно было строго стехиометрически.
реализуется это с помощью I - регулятора (интегрального) с несимметричными к-тами на + и на -, пределы регулировки обычно +- 25%

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

внешние контроллеры всегда имеют выход эмуляции узкополосной лямбды.

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

Posted: Mon Dec 09, 2013 5:54 pm
by Sergey89
Вводную информацию по лямбда регулированию можно у Гирявца почитать http://rusefi.com/forum/viewtopic.php?p=325#p325

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

Posted: Tue Dec 10, 2013 5:52 pm
by XDA
чтобы было понятно, как выглядят показания лямбда интегратора на реальном моторе - вот видео.

значения лямбда интегратора - это % топливной коррекции умноженный на 100. т.е. 2500 это +25% коррекция по топливу. а 100 - это 1% коррекции.

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

Posted: Tue Dec 10, 2013 7:52 pm
by Mad Max
Мне кажется мы забегаем вперед.
Хотелось бы сперва увидеть температурные коррекции топливоподачи и УОЗ.
Потом отдельные таблицы топливоподачи и УОЗ для режима запуска.
Потом нормальную таблицу УОЗ.
До лямбда регулирования пока еще далеко.

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

Исходя из этого, если мы хотим сделать полноценную замену сток-мозгу, то нужно иметь нормальное лямбда-регулирование смеси.

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

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

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

Posted: Mon Dec 16, 2013 7:00 pm
by rrock
А как быть, если вместо лямбды - RCO? Только через газоанализатор глядеть?

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

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

Не сочтите за рекламу: на моем сайте я опубликовал свои переводы рекомендаций как это все работает и как в спорте работать с лямбдой.
http://sites.google.com/site/kotdnz/

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

Posted: Mon Dec 16, 2013 7:48 pm
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

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

Posted: Mon Dec 16, 2013 8:02 pm
by rrock
RCO - это потенциометр, который стоит вместо лямбды. То есть значение постоянное в любой момент времени. А состав смеси, если не ошибаюсь, у меня регулируется на основе данных с датчика температуры на впускном коллекторе.

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

Posted: Mon Dec 16, 2013 8:26 pm
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. и как я писал ранее - вы таким образом превращаете компьютер в карбюратор в "преустановленными" параметрами

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

Posted: Mon Dec 16, 2013 8:34 pm
by frig
сейчас используются только широкополосные датчики.
Вы мыслите категориями спорта, хотя блок должен быть универсальным. А универсальный это значит не только спорт и даже не только автомобили и даже не только то, что по земле ездит.
очень руки чешутся описать это в разных структурах ;)
Если руки чешутся программировать, то это хорошо! Работы для программистов в достатке. Например вот некоторые задачи http://sourceforge.net/p/rusefi/tickets/?source=navbar

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

Posted: Tue Dec 17, 2013 12:06 am
by Slip
По моему тут пошел уже какой то флуд..
Kot_dnz Речь идет об закрытом цикле, который корректируется лямбдой.
Если есть реальный алгоритм работы этой части программы - все во внимании, а разводить треп не пойми о чем не нужно.

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

Posted: Wed Dec 18, 2013 10:21 pm
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 кмч.

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

Posted: Thu Dec 19, 2013 11:43 am
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 кмч.
см.выше + как писали ранее описать границу, далее по таблицам ;)

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

Posted: Thu Dec 19, 2013 10:20 pm
by Mad Max
Охота позадрачивать? Мне похуй. Жги напалмом.
Что-то знаешь? пиши понятно.
Я на истину не претендую.
Но и подъебывать так тупо не позволю.

При холостых 800 об/мин это 0.077 сек между оборотами Кв.
Так что 0,1 сек вполне норм.
Состав выхлопа нужно мерять в разных фазах- начало/конец впуска/выпуска чтоб получить средние значения смеси.
Фазы грм у всех разные. И если привязаться к фазе, то можно всегда чистый кислород мерять в фазе продувки на широких валах и близко расположенной к голове лямбде.

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

Posted: Fri Dec 20, 2013 8:10 am
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...

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

Posted: Fri Dec 20, 2013 10:31 am
by XDA
Kot_dnz wrote: А по фазам тема тоже актуальна - не впрыскивать в закрытый клапан. Читал, что бы избежать привязки к фазам начало впрыска корректируют по max air flow speed...
решается одной таблицей. по осям обороты и фактор нагрузки, значения - угол впрыска.

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

Posted: Sat Dec 21, 2013 11:26 am
by Mad Max
Kot-dnz, извини за резкость, был немного пьян и сильно зол в тот момент.
Но того твоего поста даже сейчас не понимаю.

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

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

Главное определиться, по каким параметрам будет переход cl/ol и по какому алгоритму корректировать.

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

Posted: Tue Apr 22, 2014 7:14 pm
by rus084
а как это будет работать с узкополосным лямбда-зондом?

и еще : можно сделать автонастройку по такому датчику? :
каждые 2 оборота КВ замерять значение лямбды , если оно меньше стехиометрического , увеличить значение в таблице на 0,1% , иначе уменьшить на 0,1% (мне совсем не откуда брать топливную таблицу)
но тут возникает проблема деградации флеш памяти контроллера , или таблица хранится в озу , пока не поступит команда записи ?

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

Posted: Tue Apr 22, 2014 7:21 pm
by puff
внешние FRAM модули? внешняя память в dip панельке?

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

Posted: Wed Apr 23, 2014 1:01 am
by mivaol
Узкополосная долго реагирует порядка 20мСек
Во вторых она смесь как таковую не показывает а реагирует на содержание газов остаточных так что по совпадению реакции на газы в целом генерирует эдс на бедных ~0.2v на богатых ~0.9
Для обучения с нуля её использовать можно но осторожно.
Широкополосная как пишут во первых быстра во вторых реально на кислород реагирует.

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

Posted: Wed Apr 23, 2014 2:58 pm
by AndreyB
rus084 wrote:но тут возникает проблема деградации флеш памяти контроллера, или таблица хранится в озу
Это проблема должна решаться на уровне прошивки - я почему-то не вижу смысла писать в постоянную память каждые два оборота вала. Всё это должно в памяти, а писаться должно или по команде пользователя или по будильнику типа раз в минуту.

@ большой фанат настройки по узкополосной лямбде, он планирует так делать.

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

Posted: Thu Apr 24, 2014 12:00 pm
by mivaol
Тогда термопара в помощь! Температура выхлопа, может помочь в деле не запороть двигатель.