Лямдозонд что такое


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

О том, что такое лямбда зонд и для чего он нужен, к сожалению, знают далеко не все автовладельцы. Лямбда зонд — это кислородный датчик, который позволяет электронной системе контролировать и балансировать правильное соотношение воздуха и бензина в камерах сгорания. Он способен своевременно исправить структуру топливной смеси и предупредить дестабилизацию рабочего процесса двигателя.

Этот достаточно хрупкий прибор находится в очень агрессивной среде, поэтому его работу необходимо постоянно контролировать, так как при его поломке дальнейшее использование автомобиля невозможно. Периодическая проверка лямбда зонда станет гарантом стабильной работы автотранспортного средства.

Принцип действия лямбда зонда

Основной задачей лямбда зонда является определение химсостава выхлопных газов и уровня содержания в них молекул кислорода. Этот показатель должен колебаться в пределах от 0,1 до 0,3 процентов. Бесконтрольное превышение этого нормативного значения может привести к неприятным последствиям.

При стандартной сборке автомобиля, лямбда зонд монтируется в выпускном коллекторе в области соединения патрубков, однако, иногда бывают и другие вариации его установки. В  принципе, иное расположение не влияет на рабочую производительность данного прибора.

Сегодня можно встретить несколько вариаций лямбда зонда: с двухканальной компоновкой и широкополосного типа. Первый вид чаще всего встречается на старых автомобилях, выпущенных в 80-е годы, а также на новых моделях эконом-класса. Датчик широкополосного типа присущ современным авто среднего и высшего класса. Такой датчик способен не только с точностью определить отклонение от нормы определенного элемента, но и своевременно сбалансировать правильное соотношение.

Благодаря усердной работе таких датчиков существенно повышается рабочий ресурс автомобиля, снижается топливный расход и повышается стабильность удержания оборотов холостого хода.

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

Основные признаки неисправности лямбда зонда

Основным признаком неисправности лямбда зонда служит изменение работы двигателя, так как после его поломки значительно ухудшается качество поступаемой топливной смеси в камеру сгорания. Топливная смесь, по сути, остается бесконтрольной, что недопустимо.

Причиной выхода из рабочего состояния лямбда зонда может быть следующее:

  • разгерметизация корпуса;
  • проникновение внешнего воздуха и выхлопных газов;
  • перегрев датчика вследствие некачественной покраски двигателя или неправильной работы системы зажигания;
  • моральный износ;
  • неправильное или прерывающееся электропитание, которое ведет к основному блоку управления;
  • механическое повреждение в следствие некорректной эксплуатации автомобиля.

Во всех вышеперечисленных случаях, кроме последнего, выход из строя происходит постепенно. Поэтому те автовладельцы, которые не знают как проверить лямбда зонд и где он вообще расположен, скорее всего, не сразу заметят неисправность. Однако, для опытных водителей определить причину изменения работы двигателя не составит никакого труда.

Постепенный выход из строя лямбда зонда можно разбить на несколько этапов. На начальной стадии датчик перестает нормально функционировать, то есть, в определенных рабочих моментах мотора устройство перестает генерировать сигнал, впоследствии чего дестабилизируется налаженность оборотов холостого хода.

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

На втором этапе датчик и вовсе перестает работать на не прогретом двигателе, при этом автомобиль будет всевозможными способами сигнализировать водителю о проблеме. В частности, произойдет ощутимый упадок мощности, замедленное реагирование при воздействии на педаль акселератора и все те же хлопки из-под капота, а также неоправданное дергание автомобиля. Однако, самым существенным и крайне опасным сигналом поломки лямбда зонда служит перегрев двигателя.

В случае полного игнорирования всех предшествующих сигналов свидетельствующих об ухудшении состояния лямбда зонда, его поломка неизбежна, что станет причиной большого количества проблем. В первую очередь пострадает возможность естественного движения, также значительно увеличится расход топлива и появится неприятный резкий запах с ярко выраженным оттенком токсичности из выхлопной трубы. В современных автоматизированных автомобилях в случае поломки кислородного датчика может попросту активизироваться аварийная блокировка, в результате которой последующее движение автомобиля становится невозможным. В таких случаях сможет помочь только экстренный вызов эвакуатора.

Однако, самым худшим вариантом развития событий является разгерметизация датчика, так как в этом случае движение автомобиля становится невозможным по причине высокой вероятности поломки двигателя и последующего дорогостоящего ремонта. Во время разгерметизации отработанные газы вместо выхода через выхлопную трубу, попадают в заборный канал атмосферного эталонного воздуха. Во время торможения двигателем лямбда зонд начинает фиксировать переизбыток молекул кислорода и экстренно подает большое количество отрицательных сигналов, чем полностью выводит из строя систему управления впрыском.

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

Как определить неисправность лямбда зонда рассказывается на видео:

Электронная проверка лямбда зонда

Узнать о состоянии лямбда зонда можно путем его проверки на профессиональном оборудовании. Для этого используется электронный осциллограф. Некоторые специалисты определяют работоспособность кислородного датчика при помощи мультиметра, однако, он способен только констатировать или же опровергнуть факт его поломки.

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

Замена лямбда зонда

В большинстве случаев такая деталь, как лямбда зонд не подлежит ремонту, о чем свидетельствуют утверждения о невозможности произведения ремонта от многих автомобильных производителей. Однако, завышенная стоимость такого узла у официальных дилеров отбивает всякую охоту его приобретения. Оптимальным выходом из сложившейся ситуации может стать универсальный датчик, который стоит гораздо дешевле родного аналога и подходит практически всем автомобильным маркам. Также в качестве альтернативы можно приобрети датчик бывший в использовании, но с продолжительностью гарантийного периода или же полностью выпускной коллектор с установленным в него лямбда зондом.

Однако, бывают случаи, когда лямбда зонд функционирует с определенной погрешностью из-за сильного загрязнения в результате оседания на нем продуктов сгорания. Для того чтобы убедиться, что это действительно так, датчик необходимо проверить у специалистов. После того как проверка лямбда зонда состоялась и подтвержден факт его полной работоспособности, его нужно снять, почистить и установить обратно.

Для того чтобы демонтировать датчик уровня кислорода, необходимо прогреть его поверхность до 50 градусов. После снятия, с него снимается защитный колпачок и только после этого можно приступать к очистке. В качестве высокоэффективного очищающего средства рекомендуется использовать ортофосфорную кислоту, которая с легкостью справляется даже с самыми стойкими горючими отложениями. По окончании процедуры отмачивания, лямбда зонд ополаскивается в чистой воде, тщательно просушивается и устанавливается на место. При этом не стоит забывать о смазке резьбы специальным герметиком, который обеспечить полную герметичность.

Устройство автомобиля очень сложное, поэтому он нуждается в постоянной поддержке работоспособности и проведении своевременных профилактических работ. Поэтому в случае возникновения подозрений о неисправности лямбда зонда, необходимо незамедлительно произвести диагностику его работоспособности и в случае подтверждения факта выхода из строя, заменить лямбда зонд. Таким образом, все важнейшие функции транспортного средства будут сохранены на прежнем уровне, что станет гарантом отсутствия дальнейших проблем с двигателем и прочими важными элементами автомобиля.

что это такое, как он работает и зачем нужен

Введение жёстких экологических норм подтолкнуло автопроизводителей использовать на автомобилях катализаторы. Это устройства, которые помогают снизить содержание токсичных веществ в выхлопных газах. Каталитический нейтрализатор – вещь полезная, но эффективно работает только при определённых условиях. Если не контролировать постоянно состав топливно-воздушной смеси, то катализаторы долго не прослужат.

И здесь приходит на помощь лямбда зонд или так называемый датчик кислорода (в английской литературе его называют Lambda probe или Oxygen sensor). Ниже рассмотрим подробнее, что такое лямбда зонд, как он работает и для чего используется.

Как работает лямбда зонд

Схема работы лямбда зонда

Как сказано выше, лямбда зонд это датчик кислорода. Он измеряет количество кислорода в выхлопных газах. Для корректного измерения ему нужно прогреться до температуры 300 – 400°С. Именно в таких условиях электролит, входящий в конструкцию кислородного датчика, приобретает проводимость. При этом разница в объёме атмосферного кислорода и кислорода, содержащегося в выхлопной трубе, приводит к возникновению выходного напряжения на электродах лямбда-зонда.

При запуске и прогреве холодного двигателя впрыск топлива происходит без использования данных от датчика кислорода, вместо этого состав топливно-воздушной смеси корректируется по сигналам других датчиков:

  • числа оборотов коленвала;
  • температуры охлаждающей жидкости;
  • положения дроссельной заслонки.

Чтобы повысить чувствительность лямбда-зондов при низких температурах и после запуска холодного мотора, применяют принудительный подогрев. Внутри керамического тела датчика находится нагревательный элемент, который подключается к автомобильной электросети.

Зачем нужен лямбда зонд

Как выглядит лямбда зонд уже в автомобиле

Лямбда зонд используется для поддержания оптимального состава воздуха и топлива, поступающего в двигатель автомобиля. Оптимальным считается такой состав, когда на 14,6-14,8 части воздуха приходится одна часть топлива. Это можно обеспечить только при помощи систем питания с электронным впрыском и при использовании лямбда зонда в цепи обратной связи.

Замер переизбытка воздуха в смеси осуществляется довольно оригинальным способом – при помощи определения в отработавших газах содержания остаточного кислорода. Именно поэтому лямбда зонд установлен перед катализатором в выпускном коллекторе. Электрический сигнал датчика считывается электронным блоком управления (ЭБУ), а тот, в свою очередь, оптимизирует состав смеси, изменяя количество топлива, подаваемого в цилиндры двигателя.

На некоторых моделях автомобилей на выходе из катализатора расположен ещё один лямбда-зонд. Это позволяет достичь большей точности приготовления смеси и контролировать эффективность работы катализатора.

В зависимости от конструкции, различают два вида датчика:

  • широкополосный – используется в качестве входного датчика;
  • двухточечный – может устанавливаться и на входе, и на выходе из катализатора. Его принцип работы основан на измерении количества кислорода в атмосфере и выхлопных газах.

Видео о лямбда-зонде

Обманка лямбда зонда

Обманка лямбда зонда

Кислородный датчик подаёт сигнал тогда, когда он обнаружил изменения в содержании кислорода. Данный сигнал передаётся на контроллер, который его принимает и сравнивает полученную информацию с показателями, заложенными в памяти. Если полученные данные не совпадают с оптимальными значениями, то блок управления изменяет длительность впрыска. Этим достигаются следующие показатели:

  • экономия топлива;
  • максимальная эффективность работы двигателя;
  • уменьшение объёма вредных выхлопов.

Но немногие автолюбители прислушиваются к этим рекомендациям и начинают вспоминать о датчике только при появлении проблем. В итоге большинство водителей видят на приборной панели загоревшийся индикатор Check Engine. Причиной этому, скорее всего, стал вышедший из строя либо некорректно работающий кислородный датчик. Решением данной проблемы станет обманка лямбда зонда, которая бывает механической и электронной. 

Механическая обманка

При выборе обманки такого типа вместо катализатора устанавливают специальный проставок – деталь из теплоустойчивой стали или бронзы со строго определёнными размерами. В проставке высверливается отверстие малого диаметра, через которое отработавшие газы смогут в него попадать.

Газы взаимодействуют с керамической крошкой, которую предварительно покрывают каталитическим слоем и помещают внутри проставка. В результате такого взаимодействия осуществляется окисление CH и CO кислородом, после чего снижается концентрация вредных веществ на выходе.

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

Обманка электронного типа

Такой тип обманки гораздо сложнее. В продаже имеются весьма технологичные обманки со встроенным микропроцессором. Они способны не просто обмануть блок управления, а обеспечить его корректную работу. Микропроцессор, установленный в таком устройстве, может оценить состояние выхлопных газов и сформировать сигнал, соответствующий сигналу со второго работающего датчика при исправном катализаторе.

Похожие публикации

Датчик кислорода (Лямбда-зонд): как работает, проблемы, симптомы

На чтение 5 мин. Просмотров 3k. Опубликовано

Датчик кислорода (ДК) — он же лямбда-зонд — измеряет количество кислорода в выхлопных газах, отправляя сигнал на блок управления двигателя (ЭБУ).

Где находится датчик кислорода

Передний датчик кислорода ДК1 установлен в выпускном коллекторе или в передней выпускной трубе перед каталитическим нейтрализатором. Как вы знаете, каталитический нейтрализатор является основной частью системы контроля выбросов в автомобиле.

Задний кислородный датчик ДК2 установлен в выхлопе после каталитического нейтрализатора.

На 4-цилиндровых двигателях устанавливают как минимум два лямбда-зонда. Двигатели V6 и V8 имеют как минимум четыре датчика O2.

ЭБУ использует сигнал от переднего кислородного датчика для регулировки топливно-воздушной смеси путем добавления или уменьшения топлива.

Сигнал заднего датчика кислорода используется для контроля работы каталитического нейтрализатора. В современных автомобилях вместо переднего кислородного датчика используется датчик воздушно-топливного отношения. Он работает аналогично, но точнее.

Как работает датчик кислорода

Существует несколько типов лямбда-зондов, но для простоты в этой статье мы рассмотрим только обычные генерирующие напряжение датчики кислорода.

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

Для правильной работы лямбда-зонд необходимо нагреть до определенной температуры. Типичный современный датчик имеет внутренний электрический нагревательный элемент, который питается от ЭБУ двигателя.

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

Если ТВС обогащается (много топлива и мало воздуха), в выхлопе остается меньше кислорода, поэтому датчик будет генерировать бОльшее напряжение (около 0,9 В).

Регулировка соотношения топливовоздушной смеси

Передний датчик O2 отвечает за поддержание оптимального соотношения смеси воздух / топливо, поступающей в двигатель, которая составляет приблизительно 14,7:1 или 14,7 частей воздуха на 1 часть топлива.

Блок управления регулирует топливовоздушную смесь на основе обратной связи от переднего датчика кислорода. Когда передний лямбда-зонд обнаруживает высокий уровень кислорода, ЭБУ предполагает, что двигатель работает на бедной смеси (недостаточно топлива) и поэтому добавляет топлива.

Когда уровень кислорода в выхлопе становится низким, ЭБУ предполагает, что двигатель работает на богатой смеси (слишком много топлива) и уменьшает подачу топлива.

Этот процесс непрерывен. Компьютер двигателя постоянно переключается между обедненным и обогащенным состоянием, чтобы поддерживать оптимальное соотношение воздух / топливо. Этот процесс называется операцией замкнутого цикла.

Если вы посмотрите на сигнал напряжения переднего датчика кислорода, он будет циклически колебаться где-то между 0,2 вольт (бедная) и 0,9 вольт (богатая).

Когда автомобиль заводится холодным, передний кислородный датчик не прогрет полностью, и ЭБУ не использует сигнал ДК1 для регулировки топлива. Этот режим называется разомкнутым контуром. Только когда датчик полностью прогрелся, система впрыска топлива переходит в режим замкнутого контура.

В современных автомобилях вместо обычного датчика кислорода установлен широкополосный датчик топливовоздушного соотношения. Датчик соотношения воздух / топливо работает по-другому, но служит той же цели — для определения, является ли топливовоздушная смесь, поступающая в двигатель, обогащённой или обеднённой.

Датчик топливовоздушного соотношения является более точным и может измерять более широкий диапазон.

Задний датчик кислорода

Задний или нижний кислородный датчик установлен в выхлопе после каталитического нейтрализатора. Он измеряет количество кислорода в выхлопных газах, выходящих из катализатора. Сигнал от заднего лямбда-зонда используется для контроля эффективности нейтрализатора.


Контроллер постоянно сравнивает сигналы от передних и задних датчиков O2. Основываясь на двух сигналах, ЭБУ знает, насколько хорошо каталитический нейтрализатор работает. Если катализатор выходит из строя, ЭБУ включает индикатор «Check Engine», чтобы вы знали об этом.

Задний датчик кислорода можно проверить с помощью диагностического сканера, адаптера ELM327 с программой Torque или осциллографа.

Идентификация датчика кислорода

Передний лямбда-зонд перед каталитическим нейтрализатором обычно называют датчиком «выше по потоку» или датчиком 1.

Задний датчик, установленный после катализатора, называется датчик «ниже по потоку» или датчик 2.

Типичный рядный 4-цилиндровый двигатель имеет только один блок (ряд 1 / банк 1). Поэтому в рядном 4-цилиндровом двигателе термин «Банк 1, Датчик 1» просто относится к переднему датчику кислорода. «Банк 1, Датчик 2» — это задний кислородный датчик.

Читайте подробнее: Что такое Банк 1, Банк 2, Датчик 1, Датчик 2?

Двигатель V6 или V8 имеет два блока (или две части этого «V»). Обычно блок цилиндров, содержащий цилиндр № 1, называется «Банк 1».

Различные производители автомобилей определяют Банк 1 и Банк 2 по-разному. Чтобы узнать, где банк 1 и банк 2 в вашем автомобиле, вы можете посмотреть в руководстве по ремонту или в Google, указав год, марку, модель и объём двигателя.

Замена датчика кислорода

Проблемы с датчиком кислорода являются распространёнными. Неисправный лямбда-зонд может привести к увеличению расхода топлива, увеличению выбросов в атмосферу и различным проблемам во время вождения (провалы оборотов, плохое ускорение, плавающие обороты и т. д.). Если датчик кислорода неисправен, его необходимо заменить.

В большинстве автомобилей замена ДК является довольно простой процедурой. Если вы хотите заменить кислородный датчик самостоятельно, с некоторыми навыками и руководством по ремонту, это не так сложно, но вам может понадобиться специальная торцевая головка для датчика (на фото).

Иногда может быть трудно вытащить старый лямбда-зонд, так как они часто сильно ржавеют.

Еще одна вещь, о которой следует знать — некоторые автомобили, как известно, имеют проблемы с заменяемыми датчиками кислорода.

Например, есть сведения о неоригинальном датчике кислорода, вызывающем проблемы в некоторых двигателях Chrysler. Если вы не уверены, лучше всегда использовать оригинальный датчик.

Интересное про лямбда-зонды

Основное назначение лямбда-зонда – информировать блок управления двигателем о том, насколько полно сгорает топливовоздушная смесь. Лямбда-зонд определяет количество кислорода в выхлопных газах, на основе этого и определяется состав топливовоздушной смеси.

Теория говорит о том, что на 1 кг бензина должно приходиться 14,7 кг воздуха. Тогда и топливо, и кислород сгорят полностью, без образования излишка вредных веществ. Да и топливо не будет вылетать в трубу.

Стехиометрическая пропорция 14,7:1 называется «фактором избыточного количества воздуха», обозначается греческой буквой «лямбда» (λ).

Если лямбда меньше 1, то топливовоздушная смесь богатая – доля бензина в ней больше. Если лямбда больше 1, то ТВС бедная, в ней доля бензина меньше.

 

На нашем YouTube-канале вы можете посмотреть разборку роботизированной КПП EGS6, снятой с Citroёn C4 Picasso.

 

 

Выбрать и купить б/у лямбда-зонд (датчик кислорода) вы можете в нашем каталоге контрактных запчастей.

 

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

Под защитным металлическим колпачком лямбда-зонда находится чувствительный элемент, изготовленный из диоксида циркония. Эта керамика является твердым электролитом, то есть проводит электрический ток, но для газов она непроницаема. Данный чувствительный элемент снаружи и внутри имеет газопроницаемое платиновое контактное покрытие, соединенное с сигнальными проводами.

Рабочая температура керамического элемента – около 350°С. Ранние лямбда-зонды не имели принудительного подогрева, а нагревались выхлопными газами. Поздние варианты имеют встроенный подогреватель, который выводит их на рабочую температуру гораздо раньше.

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

Напряжение в 0,45 Вольт соответствует 1 (λ = 1). Богатая топливовоздушная смесь генерирует напряжение до 0,9 Вольт, бедная – 0,1 Вольт. Так устроен и работает узкополосный лямбда-датчик. Он способен фиксировать отклонение от стехиометрии совсем в небольшом диапазоне (от 14,0 д 15,0:1), по сути, просто фиксирует отклонение от лямбды в ту или иную сторону.

 

 

К узкополосному датчику может быть подведено от 1 до 4 проводов. 3-4 провода говорят о наличии подогрева. Два белых провода питают нагреватель лямбда-зонда. На черном проводе – сигнал к ЭБУ, на сером – масса. Если 3 провода, то отсутствует провод на массу, датчик соединяется с ней через свой корпус.

Для диагностики узкополосного датчика нужно снять осцилограмму или посмотреть ее через диагностическое ПО. Сигнал должен быстро изменяться (не реже 1 раза в секунду) в пределах от 0,1 до 0,9 Вольт. Если сигнальное напряжение меньше и изменяется не так активно, то сенсор неисправен. Также лямбда-зонд должен активно реагировать на изменение состава топливовоздушной смеси. Внести коррективы в состав смеси можно извне. Для обогащения нужно «пшикнуть» во впуск пропаном – сигнал с сенсора должен подскочить до 0,9 Вольт. Для обеднения – создать подсос воздуха, сняв вакуумную трубочку. При этом сигнал должен провалиться до 0,1 вольта.

Можно поступить проще – открыть и закрыть дроссельную заслонку (нажав на педаль акселератора). Показания с лямбда зонда должны быстро измениться от бедной до богатой смеси и стабилизироваться. Этот способ удобен, если в выхлопной системе двигателя есть пара катализаторов и пара «верхних» лямбда-зондов перед ними. Такое решение встречается на 6-цилиндровых и V-образных моторах. Скорость реакции двух лямбда-зондов можно сравнить друг с другом. Как правило, неисправный будет медленно реагировать.

 

Работоспособность нагревательного элемента лямбда-зонда проверяется просто. Для начала, нужно убедиться, что от АКБ поступает питание – от 9 до 12 Вольт в зависимости от автомобиля. Далее следует измерить сопротивление нагревателя, которое должно составлять 2,3 – 4,3 Ома при 25°С.

Если датчик снят, то можно запитать его подогрев от АКБ, через несколько минут лямбда-зонд должен нагреться до 350°С.

 

Лямбда-зонд на основе оксида титана

Некоторое время на автомобилях использовались датчики кислорода на основе оксида титана. Как правило, в таком случае в выпускной системе только один такой датчик, к нему подведено три или 4 провода. Он более точный, чем циркониевый, дорогой. Такой датчик не сообщается с атмосферой, не генерирует напряжение, имеет увеличенный диапазон измерения. Он запитывается и работает почти как расходомер. То есть, запитывается через ЭБУ и выдает сигнал в виде напряжения. Сигнал с такого датчика непрерывно примерно 1 раз в секунду изменяется в диапазоне от 0,4 до 3,85-4,5 Вольт. Низкое сигнальное напряжение соответствует богатой смеси, высокое напряжение указывает на бедную смесь.

 

 

Широкополосный лямбда-зонд

Самое современное решение – широкополосный лямбда-зонд, также именуемый «датчик воздух/топливо» (A/F sensor). В его «косичке» - 5-6 проводов. Он измеряет состав топливовоздушной смеси во всём диапазоне по величине и направлению тока в сложном чувствительном элементе. Широкополосные датчики используются на бензиновых двигателях, работающих на бедной топливной смеси, на бензиновых моторах с непосредственным впрыском и на дизельных двигателях, т.к. они способны точно измерить состав топливовоздушной смеси. Рабочая температура широкополосного лямбда-зонда – 650°С.

 

Получая данные от кислородных датчиков, ЭБУ постоянно регулирует подачу топлива относительно количества поступающего в цилиндры воздуха. Но так как кислородный датчик в выпускной системе находится на некотором расстоянии от камер сгорания, то своевременность лямбда-регулирования далека от идеала. На практике состав топливовоздушной смеси постоянно отклоняется от лямбды (от единицы) на несколько процентов в ту или иную сторону примерно 1-2 раза в секунду.

 

 

Диагностика широкополосного лямбда-зонда

Интересная особенность широкополосного лямбда-зонда в том, что фиксируемое им сигнальное напряжение является выдуманным и существует только для наглядности. Этот сигнал можно увидеть диагностическим прибором, а его значение нужно сверять с эталонными данными от производителя конкретного автомобиля. Т.е. напряжение в 1,5 и в 3,3 Вольта может быть исправным, всё зависит от конкретного датчика и автомобиля. Сигнал должен быть постоянным и не изменяющимся. Сигнал должен изменяться при обогащении или обеднении смеси. Для этого, соответственно, можно распылить во впуск газ пропан или снять со впускного коллектора какой-нибудь вакуумный шланг или уплотнитель, чтобы появился подсос воздуха. Причем обогащенная ТВС генерирует уменьшение сигнального напряжения, бедная смесь приводит к увеличению сигнального напряжения. Т.е. параметры смеси по показаниям широкополосного датчика изменяются зеркально с кратковременной топливной коррекцией.

Лямбда-зонд в автомобиле: для чего нужен, последствия поломки

Что такое лямбда зонд?

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

Действительно, если обратиться к механику с вопросом – что становится причиной резкого падения тяги у автомобиля, то скорее всего специалист усомнится в исправности лямбда зонда. В критической ситуации потребуется его замена, но на практике – в ряде случаев этого можно избежать

Для чего нужен лямбда зонд?

В ситуации поломки автомобиля знание принципа работы механизма не помешает никому. Во-первых, так механику будет сложнее одурачить владельца авто, приписывая к смете ненужные услуги. Во-вторых, водитель обладая знаниями технических особенностей деталей своего авто может сам поставить «диагноз», а возможно и устранить неполадку.

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

Лямбда зонд унаследовал свое название от соответствующей буквы греческого алфавита. Также лямбдой принято называть величину количества кислорода в топливно-воздушной смеси, которая составляет 14,7 долей воздуха на 1 долю топлива. Обеспечить такую пропорциональность способен механизм электронного впрыска топлива с обратной связью с лямбда зондом.

%rtb-4%

Также предназначение лямбда зонда определяет его месторасположение – перед катализатором в выпускном коллекторе. Установленный на этом участке, лямбда зонд вычисляет объем излишек кислорода в топливно-воздушной смеси. При появлении дисбаланса прибор дает сигнал в блок управления впрыска. Но, порой одного датчика становится недостаточно, поэтому в последних моделях автомобилей все чаще предусмотрено два датчика кислорода, между которыми располагается катализатор. При такой конструкции контроля точность анализа выхлопа топлива увеличивается в разы.

В основе лямбда зонда гальванические элементы с твердым керамическим электролитом из диоксида циркония. Поверх покрытия нанесен слой оксида иттрия и напыление из токопроводящих пористых платиновых электродов. Электроды на поверхности механизма действуют по принципу забора выхлопа и воздуха из атмосферы. Лямбда зонд начинает работать только после того, как прогрев достигнет 300 градусов по Цельсию. Высокая температура приводит в действие циркониевый электролит, который пропускает сигнал об уровне выходного напряжения. При заведении непрогретого двигателя, датчики кислорода не работают, а их нагрузку при низкой температуре выполняют другие датчики двигателя.

Существуют также датчики, которые используют вместо циркония двуокись титана. Их принцип работы заключается в том, что они изменяют объемное сопротивление по количеству содержания кислорода в выхлопе. Большим минусом этого механизма является то, что они имеют сложную конструкцию и не могут генерировать ЭДС. Однако, именно они включены в конфигурацию многих самых продаваемых моделей автомобилей.

Еще одной разновидностью датчиков являются механизмы с дополнительным подогревом. Такой принцип позволяет им быстрее активизироваться, а значит, результат показателей параметров получается более точный.

%rtb-4%

Последствия поломки лямбда зонда?

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

Также существует ряд причин, способных вывести лямбда зонд из строя. К примеру, механизм может сломаться лишь частично, а именно – лямбда зонд продолжает работу, однако точность показаний резко падает. Лямбда зонд также может перестать активизироваться при определенной температуре. В любом случае, установить точную причину поломки может только специалист. Стоит отметить, что если лямбда зонд окончательно вышел из строя, то менять его нужно только на аналогичный механизм. В противном случае бортовой компьютер может просто не принимать его сигналы.

В случае, если отказывают сразу два датчика, то автомобиль может полностью выйти из строя. Единственный вариант передвижения, который остается в таком случае – это буксир или эвакуатор. Стоит помнить, что лямбда зонд чрезвычайно чувствителен к поломкам. Его могут вывести из строя некачественные поршневые кольца, сложный состав топлива и пропуски зажигания. В первую очередь, усугубить поломку может использование этилированного топлива, которое благодаря содержащемуся в нем свинцу выводит из строя платиновые электроды. Достаточно пару раз заправиться таким бензином, чтобы окончательно разрушить лямбда зонд.

Что такое катализатор в автомобиле?

Признаки забитого или разрушенного катализатора машины. Методы диагностирования неисправностей катализатора

Что такое лямбда зонд. Принцип работы, функции и причины неисправностей

Сегодня мы узнаем, что называется автомобильным лямбда зондом, для чего он нужен, какие функции и задачи выполняет, а также как узнать, что данный элемент топливной системы транспортного средства вышел из строя

 ЧТО ТАКОЕ ЛЯМБДА ЗОНД. ПРИНЦИП РАБОТЫ, ФУНКЦИИ И ПРИЧИНЫ НЕИСПРАВНОСТЕЙ


Добрый день, сегодня мы узнаем, что называется автомобильным лямбда зондом, для чего он нужен, какие функции и задачи выполняет, а также как узнать, что данный элемент топливной системы транспортного средства вышел из строя. Кроме того, расскажем про принцип функционирования и для чего была изобретена эта деталь автопроизводителями. В заключении мы наглядно увидим принципиальную схему работы лямбда зонда, а также, что в первую очередь влияет на стабильность и долговечность его работы.


Многие автолюбители довольно часто в своем обиходе употребляют такие автомобильные термины, как АБС и ЕСП, однако понятия инжектор, лямбда зонд многим уже позабылись. Для того, чтобы понимать какие задачи выполняет лямбда зонд, для чего он нужен, а также как проверить его на исправность, необходимо понимать, как он функционирует. Данные вопросы мы и разберем в нашем рассказе, чтобы у нас осталось детальное представление об этой ключевой детали топливной системы автомобиля.
Благодаря тому, что последние 20 лет применяются жесткие меры относительно экологических норм, они поспособствовали использованию на транспортных средствах специальных каталитических нейтрализаторов – устройств, которые снижают содержание вредных компонентов в отработанных газах. Катализатор – это довольно хороший элемент топливной системы, но эффективно функционировать он способен только в определенных условиях. Однако без систематического контроля состава топливно-воздушной смеси невозможно обеспечить долгий срок службы данного устройства, поэтому ему на помощь приходит специальный датчик кислорода, который и называется лямбда зондом.

1. Понятие, функции и задачи автомобильного лямбда зонда

Само название датчика кислорода лямбда исходит от древнегреческой литеры “лямбда“, которая издревле в автомобилестроении означала специальный коэффициент избытка воздуха в воздушно-топливной системе. Говоря простыми словами датчик кислорода или лямбда зонд измеряет состав отработанных газов автомобиля для поддержания оптимальной концентрации топлива и воздуха в топливо-воздушной смеси.


В том случае, когда состав топливо-воздушной смеси находится в оптимальном состоянии и на 14,7 части воздуха приходится 1 часть топлива, то коэффициент лямбда в этом случае равен единице. Для того, чтобы обеспечить такую высочайшую точность, применяются высокоточные системы питания с электронным впрыском топлива, а также применяется устройство обратной связи под названием лямбда зонд. Поэтому считается, что в топливной системе, датчик лямбда зонд играет одну из ключевых ролей.
Процесс измерения избытка воздуха в топливной смеси происходит весьма неординарным способом, путем определения в отработанных газах содержания кислорода остаточного уровня. Вот и ответ на вопрос: “почему устанавливают датчик лямбда зонд на выпускном коллекторе перед катализатором?“. Благодаря работе электронного блока управления системы топлива, который считывает электрический сигнал датчика, происходит оптимизация состава топливной смеси при помощи изменения количества направляемого в рабочую область цилиндров топлива.

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

2. Принцип работы лямбда зонда

Точное и эффективное измерение кислорода остаточного уровня выхлопных газов лямбда зондом обеспечивается после разогрева системы до рабочей температуры от 250 до 450 градусов по Цельсию. Только такой температурный режим обеспечивает условия для того, чтобы циркониевый электролит приобретал высокую проводимость. Кроме того, разница в количестве кислорода с атмосферы и кислорода в трубе выхлопных газов ведет к появлению на электродах датчика лямбда зонда нужного выходного напряжения.


Принципиальная схема любого датчика кислорода или лямбда зонда на основе диоксида циркония, который расположен в выхлопной трубе включает в свой состав следующие элементы: 1. электролит твердого типа с маркировкой ZrO2; 2. наружный электрод; 3. внутренний электрод; 4. контакт заземления; 5. контакт сигнального типа; 6. отверстие для крепления к выхлопной трубе. Ниже на изображение можем наглядно видеть схему лямбда зонда и его основные компоненты.

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


Главной отличительной чертой циркониевого лямбда зонда является тот момент, что при незначительных отклонениях состава и концентрации топливо-воздушной смеси от эталонного значения напряжения, на выходе датчика оно изменяется ростом, а иногда скачком, в диапазоне от 0,1 до 0,8 Вольт. Ниже на изображении можем наглядно видеть зависимость напряжения датчика кислорода от коэффициента избытка воздуха при температуре лямбда зонда в диапазоне от 500 до 800 градусов по Цельсию.


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

3. Как установить, что лямбда зонд перестал работать

Первым и основным признаком того, что лямбда зонд перестал стабильно функционировать или вышел из строя является тот момент, когда электронный блок управления начинает работать по усредненным показателям, которые записываются в его памяти. Кроме того, состав топливо-воздушной смеси, которая образуется в системе будет значительно отличаться от эталонного значения. В результате чего появляется повышенный расход топлива, нестабильная работа мотора на холостых оборотах, повышение содержания углекислого газа, общее снижение мощности двигателя, однако при этом транспортное средство находится в движении. 

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


Видео: “Автомобильный лямбда зонд (датчик кислорода): функции и неисправности”


В заключении отметим, что датчик кислорода или лямбда зонд является одним из самых уязвимых устройств в современном транспортном средстве. Ресурс лямбда зонда составляет в среднем от 50 до 85 тысяч километров пробега, в зависимости от условий эксплуатации, а также исправности мотора и его узлов. Крайне чувствителен датчик кислорода к качеству заправляемого топлива. Заметим, что после нескольких заправок не качественным топливом датчик перестает работать в штатном режиме и может просто выйти из строя. Для того, чтобы наверняка убедиться в неисправности лямбда зонда, необходимо производить диагностику этого устройства только на специализированных станциях технического осмотра транспортных средств.

БОЛЬШОЕ СПАСИБО ЗА ВНИМАНИЕ. ОСТАВЛЯЙТЕ СВОИ КОММЕНТАРИИ, ДЕЛИТЕСЬ С ДРУЗЬЯМИ. 
ЖДЕМ ВАШИХ ОТЗЫВОВ И ПРЕДЛОЖЕНИЙ.

Home - Лямбда-зонд

Home - Лямбда-зонд Лямбда-зонд для Apache Tomcat
Дом
Дом
Обзор
Скриншоты
Скачать
Установка
Форумы
Связаться с нами

Форк Lambda Probe, управляемый сообществом, распространяемый под той же лицензией с открытым исходным кодом (GPLv2), доступен здесь: Psi Probe.

Загрузите лямбда-зонд прямо сейчас!
Загрузите Lambda Probe мгновенно, регистрация не требуется. Это совершенно БЕСПЛАТНО!

Пожертвовать
Щелкните здесь, если вы хотите сделать пожертвование этому проекту

Живая демонстрация
Последняя версия Lambda Probe в действии! Вход на сайт: demo / demo
Добро пожаловать в дом Lambda Probe (ранее известный как Tomcat Probe) - совершенного инструмента для мониторинга и управления экземпляром Apache Tomcat в реальном времени.Lambda Probe поможет вам визуализировать информацию об экземпляре Apache Tomcat в реальном времени с помощью простого и дружелюбного веб-интерфейса. Для получения дополнительной информации посетите раздел обзора.

Последний выпуск

Улучшения пользовательского интерфейса, ошибки, возможность просмотра IP-адреса сеанса, возможность просматривать сервлеты, фильтры, дескриптор развертывания и многое другое

LambdaProbe 1.7b, БИНАРИИ см. ИЗМЕНЕНИЕ
Выпущено 28 ноября 2006 г. Размер ~ 7 Мб

Ищете зонд Tomcat? Читайте дальше…

Короче говоря, Tomcat Probe изменил свое название на Lambda Probe.Это всего лишь изменение названия, Lambda Probe - это тот же код, та же лицензия GPL, и его разрабатывает тот же человек :). Откровенно говоря, было две причины для изменения названия: одна - держаться подальше от возможных претензий о нарушении прав на товарный знак, а вторая - то, что я просто не смог придумать более или менее достойный логотип для прежнего названия. Да, честно говоря! обсудить…

Избранные скриншоты

Говорят, картинка стоит слов… Ну, вот несколько скриншотов того, что вы получите, загрузив последнюю версию Lambda Probe.Вы можете найти намного больше изображений в разделе скриншотов этого сайта.

Сделать перевод

Сделайте перевод Я ищу людей, которые готовы помочь в переводе лямбда-зонда на другие языки. Если вы думаете, что можете помочь - свяжитесь с нами!

Информация о лицензии

Lambda Probe - БЕСПЛАТНАЯ программа, распространяемая по лицензии GPL. Вы можете получить копию лицензии GPL здесь

Совместимость с Tomcat

Лямбда-зонд

разработан для Apache Tomcat и только для Apache Tomcat.Он не будет работать с другими серверами приложений. Лямбда-зонд был протестирован с Java 1.4 и Java 1.5, и я обнаружил, что он отлично работает с обоими. Он также совместим с Tomcat5 версий 5.0.x и 5.5.x. К сожалению, он несовместим со старыми версиями, такими как 4.1.x и 3.3, из-за отсутствия поддержки EL в JSP 1.2.

Авторские права 2012 www.lambdaprobe.org XHTML, CSS 2.0
Отказ от ответственности: этот сайт является архивом, и этот сайт и проект никоим образом не связаны с Apache Software Foundation и не одобряются ею.Apache Tomcat является товарным знаком Apache Software Foundation.

. Прочтите нашу Политику конфиденциальности или свяжитесь с нами по адресу contact [at] lambdaprobe.org Мы рекомендуем вам лучший хостинг для блогов. Для получения купонов на скидку посетите: последний промокод Bluehost Купон веб-хостинга Godaddy Код рабочего купона Siteground коды a2hosting.com https://www.intairnet.org/hosting-coupons/wpengine/ .

Лямбда-зонд: устройство и назначение

Лямбда-зонд (или еще словосочетание автолюбителей, лямбда-зонд) - это механизм, отвечающий за концентрацию и соотношение бензина и воздуха в топливно-воздушной смеси при ее приготовлении и подаче по топливным каналам в цилиндр двигателя. От правильности показаний этого прибора зависит общий расход топлива, мощность и динамика автомобиля. Фактически, важность датчика сравнима с карбюратором и инжектором, поскольку оба принимают непосредственное участие в приготовлении топливной смеси.В сегодняшней статье мы узнаем, что такое лямбда-зонд, как он устроен и для чего предназначен.

Прибор

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

  • стальной кожух;
  • манжеты проводов;
  • керамический изолятор;
  • контакт отопительного контура;
  • электропроводка;
  • Кольцо уплотнительное;
  • наконечник из циркониевой керамики;
  • стержень со спиралью накаливания;
  • внутренний защитный экран со специальным отверстием для выхлопных газов;
  • экран наружный с отверстием для атмосферного воздуха;
  • токоприемник.

Где находится?

Часто лямбда-зонд (в том числе ВАЗ-2110) располагается в выхлопной системе, вне выхлопного коллектора. Также следует знать, что на некоторых автомобилях таких устройств может быть два. Один из них можно разместить перед катализатором, а второй - после него. Работа двух лямбда-зондов значительно повышает эффективность и точность подготовки топливно-воздушной смеси для ее дальнейшей подачи в камеру сгорания ДВС.

Принцип действия

Алгоритм работы этого устройства основан на свойствах оксида циркония. Поэтому его используют при температуре не менее 350 градусов по Цельсию. В некоторых случаях для ускорения процесса нагрева используется специальный электронагреватель. Весь принцип работы лямбда-зонда можно разделить на несколько этапов:

  1. Отработанные выхлопные газы проходят через катализатор и выхлопную трубу. В этом случае они обтекают рабочую поверхность датчика лямбда-зонда, который расположен перед катализатором.
  2. Кроме того, это устройство анализирует уровень O2 в выхлопных газах и сравнивает данные с уровнем в атмосфере.
  3. Во время работы датчика создается разность потенциалов, после чего механизм посылает короткий электрический сигнал в ЭБУ двигателя.
  4. После этого компьютер обрабатывает данные и отправляет сигнал на определенное количество устройств, регулируя тем самым работу исполнительных механизмов.

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

p >> .

лямбда-зондов. Широкополосный | Bimmerprofs.com | Эмулятор NOx NOXEM 129 | 130

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

В отличие от узкополосных датчиков, линейный диапазон которых равен 0.99 .. 1.01, широкополосные датчики могут измерять коэффициент от 0,65 до состава атмосферного воздуха.

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

Первое поколение пробников Bosch, известных под названием LSU 4.2, отличалось необходимостью их повторной калибровки, поскольку в качестве эталонного источника тока использовался атмосферный воздух. С следующего поколения - СМЛ 4.9 - эта проблема была решена: полупроводниковый переход используется в качестве источника тока опорного.

LSU 4.2

LSU 4.9

Основная техническая информация:

Bosch LSU4.2 против LSU4.9

LSU 4.9 обеспечивает более точные измерения лямбда: справочные данные определены в 30 точках в таблице лямбда / Ipump (LSU 4.2 определил только 10 точек).

Вместе с датчиками Bosch OEM предлагал также наборы микросхем управления для датчиков: CJ110, CJ120, CJ125. CJ110 и CJ120 были предназначены для работы с LSU 4.2 зонда, CJ125 - также с датчиком кислорода типа LSU 4.9.

В отличие от CJ110, CJ120 включает также динамический контроль сопротивления ячейки Нернста, который использовался для контроля температуры кислородного датчика. Оптимальное сопротивление ячейки Нернста для LSU 4.2, измеренное на частоте 1..4 кГц: 80 Ом.

CJ125 дополнен некоторыми специфическими нюансами по работе с кислородным датчиком LSU 4.9. Динамическое сопротивление ячейки Нернста для LSU 4.9: 300 Ом (при достижении оптимальной рабочей температуры).

CJ125 лист данных

Позже чипсет CJ125 был заменен на контроллер CJ135 со встроенным АЦП, кислородный датчик LSU 4.9 был заменен на LSU 5.2.

Общими недостатками для CJ110, CJ120, CJ125 было повышенное потребление энергии (которое было выше 30 мА / 150 мВт, и чипсет был вынужден работать в жестких тепловых условиях), большое напряжение смещения для усилителя измерения тока ячейки накачки (CJ110, CJ120, CJ125 ): даже до +/- 10 мВ, хотя для точных измерений требуется напряжение смещения не более нескольких сотен мкВ.Такая же нехватка актуальна и для модуля измерения температуры, используемого в CJ120, CJ125. Для решения этих проблем все упомянутые ранее наборы микросхем используют процесс прерывания для компенсации напряжения смещения и сравнения измеренных значений с эталонными. К сожалению, ключи MOSFET, используемые для прерывателей (коммутации), имеют повышенный ток утечки, что очень сильно влияет на точность измерения, а также увеличивает количество паразитных помех. Функциональное управление для CJ120 и CJ125 предусмотрено через последовательный интерфейс SPI, управление нагревом - внешнее.

В двигателях

N52, N53 и аналогичных используются широкополосные кислородные датчики типа LSU 4.2 для контроля топливной смеси. Для калибровки контрольной точки (лямбда = 1,00) используются узкополосные кислородные датчики. Этот нюанс необходимо учитывать, когда один из банков показывает сбалансированное (интегратор топливной коррекции стабильный и находится в надлежащем диапазоне значений) значение лямбда, отличное от 1,00.

Технические параметры, общие для CJ110, CJ120 и CJ125:

Напряжение ячейки Нернста: 450 мВ

опорное напряжение, Ipump: 1.500 В

Сопротивление шунтирующего резистора Ipump: 62 Ом

Коэффициент усилителя Ipump: 8/17 (богатый / обедненный режим)

Примечание: двигатели серии N имеют напряжения опорного значения: 2,00 В (напряжение штифта Нернста ячейки, как представляется, сообщается) и различный коэффициент усилителя из наборов микросхем управления серии CJ.

PS: Используя контроллеры управления датчиками CJ120, CJ125, имейте в виду, что Bosch предлагает (не юридически) несколько версий контроллеров, которые имеют некоторые отличия в управлении SPI (регистры управления SPI и необходимые данные НЕ СООТВЕТСТВУЮТ таблице данных), это означает , что, например, когда вам нужно заменить контроллер, вы можете столкнуться с некоторыми неопределенными проблемами, которые приведут к ухудшению измерений лямбда - решения с прерыванием не будут работать и т. д.

Связанные записи:

Управление лямбда-зондами

N52 диагностика двигателя

STFT и LTFT

.

Старение лямбда-зонда | Bimmerprofs.com | Эмулятор NOx NOXEM 129 | 130

Если лямбда-зонд поврежден или забит настолько, что его сигнал неверен - скорее всего, будут записаны сообщения об ошибке, касающиеся этой проблемы.

В этой записи - об одном симптоме, который позволяет заметить старение лямбда-зондов до того, как будет записано какое-либо сообщение об ошибке.
Что указывает на старение лямбда-зонда? Увеличил ШИМ своего нагрева!

Вот пример:

и сопротивление Нернсту (химическая эффективность) зонда:

Как мы видим, сопротивление Нернста правильное (правильные значения: 0/256 Ом), но ШИМ нагрева датчика, чтобы достичь этого значения Нернста на 20% (как минимум) выше, чем для второго контрольного датчика.

На что указывает такая повышенная ШИМ? Очевидно, зонд с правильной ШИМ не может достичь необходимой химической эффективности, поэтому ДМЭ увеличил свой нагрев. Страшная новость - лямбда-зонд не выдержит такой термической перегрузки. Поэтому рекомендуется вовремя приобрести новый лямбда-зонд и подготовиться к его замене.

Примечание: DME измеряет сопротивление Нернсту (химическую эффективность) каждого зонда примерно раз в секунду. Через источник I (ток) сигнал выходного сигнала подключается к напряжению +5.0 В, и измеряется изменение U (напряжения). Оптимальные значения сопротивления Нернста: 80 .. 300 Ом (согласно Паспорту датчиков). Шаг значений, отображаемых INPA, составляет 256 Ом. Соответственно правильные значения меню INPA: 0/256 Ом (разрешено 512 Ом на короткое время). ШИМ обогрева управляется согласно карте управления (с учетом смоделированной температуры выхлопных газов и скорости / давления выхлопных газов), которая дополняется адаптацией Offset, учитывающей различия измеренного сопротивления Нернстса от идеального значения.

.

BMW M54 N43 N46 N52 N53 N54 диагностика INPA лямбда-зонды

Сегодня мне довелось присутствовать при довольно интересном деле, когда несколько механиков не смогли найти причину проблемы.

Автомобиль: BMW 6er, двигатель N52.

Симптомы: периодические сообщения об ошибках дифферента в обоих берегах (особенно в первом ряду), неравномерность хода, повышенный уровень CO в выхлопных газах.

Было изменено множество различных деталей, включая широкополосные лямбда-зонды и каталитические преобразователи.К сожалению, даже замена каталитических нейтрализаторов не снизила уровень СО в выхлопных газах.

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

Здесь живые данные из рабочего (сообщений об ошибках в памяти MSV70 нет, недавно выполненные долгосрочные обрезки) двигателя:

Как видим, практически все выглядит очень красиво и аккуратно.И смещение, и пропорциональная долгосрочная подстройка близки к 0, интеграторы стабильны, а система работает в режиме замкнутого контура.

Единственное, что неуместно - значение лямбды в первом банке. 0,96, что является существенным отличием от 1,00 и также расходится с тем фактом, что интегратор не пытается исправить ситуацию . Наряду с несоответствующим значением лямбды долгосрочные смещения балансировки 1-го ряда создают более богатую топливную смесь, чем 2-й ряд. Это препятствие подтверждает предположение, что 0,96 может быть истинным значением лямбды (а не, например, краткосрочным отклонением от идеального).

Для выяснения причины проблемы проверяем динамическое сопротивление ячеек Нернста лямбда-зондов:

Как видно на изображении, оба широкополосных датчика показывают правильные значения динамического сопротивления ячеек Нернста, во 2-м банке динамическое сопротивление либо нормальное, либо короткое замыкание (истинное значение составляет около 100 Ом, АЦП MSV в при правильных значениях динамического сопротивления ячейки Нернста может показывать значение 0/256/512 Ом), но для 1-го банка динамическое сопротивление контрольного щупа ненормальное: в несколько десятых раз выше нормы.Значит, этот зонд, скорее всего, поврежден. Причин повышенного динамического сопротивления ячеек Нернста может быть несколько: в том числе - несоответствующий нагрев / температура (как видно на первом изображении, нагрев датчика происходит с правильным циклом ШИМ; это действительно происходит, датчик хороший / достаточно долго нагревается - это не является причиной проблемы) или результатом повреждения проводов / соединений (они проверены).

Чтобы проверить предположение о неисправности контрольного датчика, мы проверяем напряжения, генерируемые датчиками на холостом ходу:

.

лямбда-выражений (начиная с C ++ 11) - cppreference.com

Создает замыкание: безымянный функциональный объект, способный захватывать переменные в области видимости.

[править] Синтаксис

[ захватывает ] (необязательно)
(C ++ 20) ( params ) спецификаторы исключение attr -> ret требует (необязательно)
(C ++ 20) { корпус }
(1)
[ захватывает ] ( params ) -> ret { body } (2)
[ захватывает ] ( params ) { корпус } (3)
[ захватывает ] { корпус } (4)

1) Полная декларация.

2) Объявление константной лямбды: объекты, захваченные копией, являются константными в теле лямбда.

4) Список пропущенных параметров: функция не принимает аргументов, как если бы список параметров был () . Эту форму можно использовать только в том случае, если не используется ни constexpr, ни изменяемый, ни спецификация исключения, ни атрибуты, ни конечный возвращаемый тип.

[править] Объяснение

захватов - разделенный запятыми список из нуля или более захватов, необязательно начинающийся с захвата по умолчанию.

Подробное описание отловов см. Ниже.

Лямбда-выражение может использовать переменную, не захватывая ее, если переменная

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

Лямбда-выражение может считывать значение переменной, не захватывая его, если переменная

  • имеет постоянный энергонезависимый целочисленный или перечисляемый тип и был инициализирован постоянным выражением, или
  • - это constexpr и не имеет изменяемых членов.
(C ++ 20) - - список параметров шаблона (в угловых скобках), используемый для предоставления имен параметрам шаблона универсальной лямбда-выражения (см. ClosureType :: operator () ниже). Как и в объявлении шаблона, за списком параметров шаблона может следовать необязательное предложение requires-clause, которое определяет ограничения для аргументов шаблона. Если он указан, список параметров шаблона не может быть пустым ( <> не допускается).
парам. - Список параметров, как в именованных функциях. Если auto используется в качестве типа параметра, лямбда - это общая лямбда . (начиная с C ++ 14)
спецификаторы - Необязательная последовательность спецификаторов. Допускаются следующие спецификаторы:
  • изменяемый : позволяет телу изменять объекты, захваченные копированием, и вызывать их неконстантные функции-члены
  • constexpr : явно указывает, что оператор вызова функции является функцией constexpr.Когда этот спецификатор отсутствует, оператор вызова функции в любом случае будет constexpr , если он удовлетворяет всем требованиям функции constexpr
(начиная с C ++ 17)
  • consteval : указывает, что оператор вызова функции является немедленной функцией. consteval и constexpr нельзя использовать одновременно.
(начиная с C ++ 20)
исключение - предоставляет динамическую спецификацию исключения или спецификатор noexcept для operator () типа закрытия
attr - предоставляет спецификацию атрибута для типа оператора вызова функции типа закрытия.Любой указанный таким образом атрибут принадлежит типу оператора вызова функции, а не самому оператору вызова функции. (Например, нельзя использовать атрибут [[noreturn]] .)
рет - Тип возврата. Если нет, это подразумевается операторами возврата функции (или недействительно, если оно не возвращает никакого значения)
требуется (C ++ 20) - добавляет ограничение к operator () типа закрытия
кузов - Функциональное тело

Лямбда-выражение - это выражение prvalue уникального безымянного неагрегатного типа класса без объединения, известного как типа закрытия , который объявлен (для целей ADL) в области наименьшего блока, области класса или область пространства имен, содержащая лямбда-выражение.Тип закрытия состоит из следующих членов:

ClosureType :: operator () (параметры)

ret operator () (params) const {body}

(ключевое слово mutable не использовалось)

ret operator () (params) {body}

(было использовано ключевое слово mutable)

template
ret operator () (params) const {body}

(начиная с C ++ 14)
(общая лямбда)

template
ret operator () (params) {body}

(начиная с C ++ 14)
(общая лямбда, использовалось ключевое слово mutable)

При вызове выполняет тело лямбда-выражения.При доступе к переменной обращается к ее захваченной копии (для сущностей, захваченных копией) или к исходному объекту (для сущностей, захваченных по ссылке). Если в лямбда-выражении не было использовано ключевое слово mutable, оператор вызова функции квалифицируется как const, а объекты, захваченные копированием, нельзя изменить изнутри этого оператора (). Оператор вызова функции никогда не бывает изменчивым и виртуальным.

Оператором вызова функции всегда является constexpr , если он удовлетворяет требованиям функции constexpr.Это также constexpr, если ключевое слово constexpr использовалось в объявлении лямбда.

(начиная с C ++ 17)

Оператор вызова функции является немедленной функцией, если ключевое слово consteval использовалось в лямбда-выражении.

(начиная с C ++ 20)

Для каждого параметра в params, тип которого задан как auto , в template-params в порядке появления добавляется придуманный параметр шаблона.Изобретенный параметр шаблона может быть пакетом параметров, если соответствующий член функции params является пакетом параметров функции.

 // общая лямбда, operator () - это шаблон с двумя параметрами auto glambda = [] (auto a, auto && b) {вернуть a  (ts)...); return [=] {принтер (ts ...); }; // нулевая лямбда (не принимает параметров) }; }; auto p = vglambda ([] (auto v1, auto v2, auto v3) {std :: cout << v1 << v2 << v3;}); авто q = p (1, 'a', 3.14); // выводит 1a3.14 q (); // выводит 1a3.14 

ClosureType Оператор () не может быть явно создан или специализирован.

(начиная с C ++ 14)

Если в определении лямбда-выражения используется явный список параметров шаблона, этот список параметров шаблона используется с оператором () .Для каждого параметра в params, тип которого указан как auto , в конец этого списка параметров шаблона добавляется дополнительный придуманный параметр шаблона:

 // общая лямбда, operator () - это шаблон с двумя параметрами auto glambda = []  (T a, auto && b) {return a  (Ts && ... ts) { return foo (std :: forward  (ts) ...); }; 
(начиная с C ++ 20)

исключение спецификации исключения в лямбда-выражении применяется к оператору вызова функции или шаблону оператора.

Для поиска имени, определения типа и значения указателя this и для доступа к нестатическим членам класса тело оператора вызова функции закрывающего типа рассматривается в контексте лямбда-выражения.

 struct X { int x, y; int оператор () (int); void f () { // контекст следующей лямбды - это функция-член X :: f [=] () -> int { оператор возврата () (this-> x + y); // X :: operator () (this-> x + (* this).у) // это имеет тип X * }; } }; 

ClosureType Оператор () не может быть назван в объявлении друга.

Висячие ссылки

Если сущность, не являющаяся ссылкой, захвачена ссылкой, неявно или явно, и оператор вызова функции закрывающего объекта вызывается после того, как время жизни сущности закончилось, возникает неопределенное поведение. Замыкания C ++ не продлевают время жизни захваченных ссылок.

То же самое относится к времени жизни объекта, на который указывает захваченный этот указатель .

ClosureType :: operator ret (*) (params) ()

Неуниверсальная лямбда без захвата

с использованием F = ret (*) (params);
оператор F () const noexcept;

(до C ++ 17)

используя F = ret (*) (params);
constexpr оператор F () const noexcept;

(начиная с C ++ 17)

Общая лямбда без захвата

шаблон с использованием fptr_t = / * см. Ниже * /;

шаблон <параметры-шаблона>

operator fptr_t () const noexcept;
(начиная с C ++ 14)
(до C ++ 17)
шаблон с использованием fptr_t = / * см. Ниже * /;

шаблон <параметры-шаблона>

constexpr operator fptr_t () const noexcept;
(начиная с C ++ 17)

Эта определяемая пользователем функция преобразования определяется, только если список захвата лямбда-выражения пуст.Это общедоступная, constexpr, (начиная с C ++ 17) невиртуальная, неявная функция-член const noexcept закрывающего объекта.

Эта функция является немедленной функцией, если оператор вызова функции (или специализация для общих лямбда-выражений) является немедленной функцией.

(начиная с C ++ 20)

Общая лямбда без захвата имеет определенный пользователем шаблон функции преобразования с тем же списком параметров шаблона, что и шаблон оператора вызова функции.Если тип возвращаемого значения пустой или автоматический, он получается вычетом типа возвращаемого значения из специализации шаблона функции, которая, в свою очередь, получается вычетом аргумента шаблона для шаблонов функций преобразования.

 void f1 (int (*) (int)) {} void f2 (char (*) (int)) {} void h (int (*) (int)) {} // # 1 void h (char (*) (int)) {} // # 2 auto glambda = [] (auto a) {вернуть; }; f1 (гламбда); // Хорошо f2 (гламбда); // ошибка: не конвертируется ч (гламбда); // ок: вызывает # 1, поскольку # 2 не конвертируется int & (* fpi) (int *) = [] (авто * a) -> авто & {return * a; }; // ок 
(начиная с C ++ 14)

Значение, возвращаемое этой функцией преобразования, является указателем на функцию со связью языка C ++, которая при вызове имеет тот же эффект, что и прямой вызов оператора вызова функции закрывающего объекта.

Эта функция называется constexpr, если оператор вызова функции (или специализация для общих лямбда-выражений) - constexpr.

 авто Fwd = [] (int (* fp) (int), auto a) {return fp (a);}; auto C = [] (auto a) {вернуть a;}; static_assert (Fwd (C, 3) == 3); // ОК авто NC = [] (авто) {static int s; return a;}; static_assert (Fwd (NC, 3) == 3); // ошибка: никакая специализация не может быть constexpr из-за статики s 

Если объект закрытия operator () имеет спецификацию исключения исключения, тогда указатель, возвращаемый этой функцией, имеет указатель типа на функцию noexcept.

(начиная с C ++ 17)

ClosureType :: ClosureType ()

ClosureType () = по умолчанию;

(начиная с C ++ 20)
(только если не указаны захваты)

ClosureType (const ClosureType &) = по умолчанию;

ClosureType (ClosureType &&) = по умолчанию;

Типы замыканий не являются DefaultConstructible.Типы закрытия не имеют конструктора по умолчанию.

(до C ++ 20)

Если захваты не указаны, тип закрытия имеет конструктор по умолчанию по умолчанию. В противном случае у него нет конструктора по умолчанию (это включает случай, когда есть захват по умолчанию, даже если он фактически ничего не захватывает).

(начиная с C ++ 20)

Конструктор копирования и конструктор перемещения объявлены как заданные по умолчанию и могут быть неявно определены в соответствии с обычными правилами для конструкторов копирования и конструкторов перемещения.

ClosureType :: operator = (const ClosureType &)

ClosureType & operator = (const ClosureType &) = delete;

(до C ++ 20)

ClosureType & operator = (const ClosureType &) = по умолчанию;
ClosureType & operator = (ClosureType &&) = по умолчанию;

(начиная с C ++ 20)
(только если не указаны захваты)

ClosureType & operator = (const ClosureType &) = delete;

(начиная с C ++ 20)
(иначе)

Оператор присваивания копий определяется как удаленный (а оператор присваивания перемещения не объявляется).Типы закрытия не подлежат CopyAssignable.

(до C ++ 20)

Если захваты не указаны, тип закрытия имеет оператор присваивания копии по умолчанию и оператор присваивания перемещения по умолчанию. В противном случае у него есть удаленный оператор присваивания копии (это включает случай, когда есть захват по умолчанию, даже если он фактически ничего не захватывает).

(начиная с C ++ 20)

ClosureType :: ~ ClosureType ()

~ ClosureType () = по умолчанию;

Деструктор объявлен неявно.

ClosureType :: захватывает

Если лямбда-выражение захватывает что-либо путем копирования (либо неявно с помощью пункта захвата [=] , либо явно с помощью захвата, не содержащего символа &, например, [a, b, c] ), тип закрытия включает безымянные нестатические элементы данных, объявленные в неопределенном порядке, которые содержат копии всех захваченных таким образом объектов.

Те элементы данных, которые соответствуют захватам без инициализаторов, инициализируются напрямую при оценке лямбда-выражения.Те, которые соответствуют захватам с инициализаторами, инициализируются в соответствии с требованиями инициализатора (может быть копией или прямой инициализацией). Если массив захвачен, элементы массива инициализируются напрямую в порядке возрастания индекса. Порядок, в котором инициализируются элементы данных, - это порядок, в котором они объявлены (который не указан).

Тип каждого элемента данных - это тип соответствующей захваченной сущности, за исключением случаев, когда сущность имеет ссылочный тип (в этом случае ссылки на функции фиксируются как ссылки lvalue на указанные функции, а ссылки на объекты фиксируются как копии ссылочных объектов).

Для объектов, захваченных по ссылке (с захватом по умолчанию [&] или при использовании символа &, например, [& a, & b, & c] ), это не указано, если дополнительные элементы данных объявлены в типе замыкания, но любые такие дополнительные члены должны удовлетворять параметру LiteralType (начиная с C ++ 17).

[править] Лямбда-захват

Захваты - это список, разделенный запятыми, из нуля или более захватов , необязательно начиная с захвата по умолчанию.Список захвата определяет внешние переменные, которые доступны из тела лямбда-функции. Единственные настройки захвата по умолчанию:

  • и (неявно фиксируйте используемые автоматические переменные по ссылке) и
  • = (неявно захватить используемые автоматические переменные путем копирования).

Текущий объект ( * это ) может быть неявно захвачен, если присутствует любой захват по умолчанию. Если захватывается неявно, он всегда захватывается по ссылке, даже если по умолчанию используется значение = .Неявный захват * этого , когда захват по умолчанию = , устарел. (начиная с C ++ 20)

Синтаксис отдельного захвата в захватах:

идентификатор (1)
идентификатор ... (2)
инициализатор идентификатора (3) (начиная с C ++ 14)
и идентификатор (4)
и идентификатор ... (5)
и инициализатор идентификатора (6) (начиная с C ++ 14)
это (7)
* это (8) (начиная с C ++ 17)
... инициализатор идентификатора (9) (начиная с C ++ 20)
& ... инициализатор идентификатора (10) (начиная с C ++ 20)

1) простой копирование

4) простой захват по ссылке

6) захват по ссылке с инициализатором

7) простой захват текущего объекта по ссылке

8) простое копирование текущего объекта

9) захват по копии с инициализатором, который является расширением пакета

10) захват по ссылке с инициализатором, который является расширением пакета

Если захват по умолчанию - и , последующие простые захваты не должны начинаться с и .

 структура S2 {void f (int i); }; пусто S2 :: f (int i) { [&] {}; // OK: по умолчанию захват по ссылке [&, я] {}; // ОК: захват по ссылке, за исключением того, что i захватывается копией [&, & я] {}; // Ошибка: захват по ссылке, когда по ссылке используется по умолчанию [&, это] {}; // ОК, эквивалент [&] [&, это, я] {}; // ОК, эквивалент [&, i] } 

Если по умолчанию используется захват = , последующие простые захваты должны начинаться с и или быть * это (начиная с C ++ 17) или это (начиная с C ++ 20).

 структура S2 {void f (int i); }; пусто S2 :: f (int i) { знак равно // ОК: копирование по умолчанию [=, & я] {}; // ОК: по копии, за исключением того, что я захватывается по ссылке [=, * это] {}; // до C ++ 17: Ошибка: неверный синтаксис // начиная с c ++ 17: OK: захватывает охватывающий S2 копированием [=, это] {}; // до C ++ 20: Ошибка: это when = по умолчанию // начиная с C ++ 20: ОК, то же, что и [=] } 

Любой захват может появиться только один раз:

 структура S2 {void f (int i); }; пусто S2 :: f (int i) { [я, я] {}; // Ошибка: я повторил [это это] {}; // Ошибка: "это" повторяется (C ++ 17) } 

Только лямбда-выражения, определенные в области блока или в инициализаторе члена по умолчанию, могут иметь захват по умолчанию или захваты без инициализаторов.Для такого лямбда-выражения область , достигающая , определяется как набор охватывающих областей до самой внутренней закрывающей функции (и ее параметров) включительно. Сюда входят области вложенных блоков и области включения лямбда-выражений, если эта лямбда вложена.

Идентификатор в любом захвате без инициализатора (кроме this -capture) ищется с помощью обычного поиска неквалифицированного имени в , достигающем области лямбда. Результатом поиска должна быть переменная с автоматической продолжительностью хранения, объявленной в достигаемой области.Переменная (или это ) - это , явно захваченная .

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

  • если захват выполняется путем копирования, нестатический элемент данных объекта закрытия является другим способом ссылки на эту автоматическую переменную.
  • если захват осуществляется по ссылке, время жизни ссылочной переменной заканчивается, когда заканчивается время жизни закрывающего объекта

Используется для захвата типов, предназначенных только для перемещения, с захватом, например, x = std :: move (x).

Это также делает возможным захват по константной ссылке, с & cr = std :: as_const (x) или подобным.

 целых x = 4; auto y = [& r = x, x = x + 1] () -> int { г + = 2; вернуть х * х; } (); // обновляет :: x до 6 и инициализирует y до 25.
(начиная с C ++ 14)

Если список захвата имеет значение по умолчанию для захвата и явно не захватывает включающий объект (как , этот или *, это ) или автоматическую переменную, он захватывает его неявно если

  • тело лямбды odr - использует переменную или этот указатель
  • или переменная или этот указатель назван в потенциально оцениваемом выражении в выражении, которое зависит от общего лямбда-параметра (до C ++ 17) (в том числе, когда неявное this-> добавляется перед использование нестатического члена класса).Для этой цели операнд typeid всегда считается потенциально вычисленным. Сущности могут быть неявно захвачены, даже если они названы только в исключенном операторе. (начиная с C ++ 17)
 void f (int, const int (&) [2] = {}) {} // # 1 void f (const int &, const int (&) [1]) {} // # 2 недействительный тест () { const int x = 17; авто g0 = [] (авто а) {е (х); }; // нормально: вызывает # 1, не захватывает x авто g1 = [=] (авто а) {е (х); }; // не захватывает x в C ++ 14, захватывает x в C ++ 17 // захват можно оптимизировать auto g2 = [=] (auto a) { int селектор [sizeof (a) == 1? 1: 2] = {}; f (x, селектор); // ok: это зависимое выражение, поэтому захватывает x }; auto g3 = [=] (auto a) { typeid (a + x); // захватывает x независимо от того, является ли a + x неоцененным операндом }; } 
(начиная с C ++ 14)

Если в теле лямбда-выражения odr используется сущность, захваченная копированием, осуществляется доступ к члену типа закрытия.Если сущность не используется odr, доступ будет к исходному объекту:

 void f (const int *); void g () { const int N = 10; знак равно int arr [N]; // не odr-use: относится к g const int N f (& N); // odr-use: вызывает захват N (копией) // & N - это адрес элемента N объекта закрытия, а не N в g } (); } 
Если лямбда-функция odr использует ссылку, захваченную по ссылке, она использует объект, на который ссылается исходная ссылка, а не саму захваченную ссылку:
 #include  auto make_function (int & x) { return [&] {std :: cout << x << '\ n'; }; } int main () { int я = 3; авто f = make_function (i); // использование x в f привязывается непосредственно к i я = 5; f (); // ХОРОШО; отпечатки 5 } 

В теле лямбда-выражения любое использование decltype для любой переменной с автоматической продолжительностью хранения выглядит так, как если бы оно было захвачено и использовано odr, даже несмотря на то, что decltype сам по себе не используется odr и фактический захват не происходит:

 void f3 () { float x, & r = x; знак равно {// x и r не захватываются (появление в операнде decltype не является использованием odr) decltype (x) y1; // y1 имеет тип float decltype ((х)) y2 = y1; // y2 имеет тип float const &, потому что эта лямбда // не изменяемый и x является lvalue decltype (r) r1 = y1; // r1 имеет тип float & (преобразование не учитывается) decltype ((r)) r2 = y2; // r2 имеет тип float const & }; } 

Любая сущность, захваченная лямбда (неявно или явно), используется лямбда-выражением odr (следовательно, неявный захват вложенной лямбда-функцией запускает неявный захват во включающей лямбде).

Все неявно захваченные переменные должны быть объявлены в пределах , достигающей области лямбда.

Если лямбда захватывает охватывающий объект (как , это или *, это ), либо ближайшая включающая функция должна быть нестатической функцией-членом, либо лямбда должна быть в инициализаторе члена по умолчанию:

 struct s2 { двойной ohseven = 0,007; auto f () {// ближайшая включающая функция для следующих двух лямбда-выражений return [this] {// захватываем s2 по ссылке return [* this] {// захватываем объем s2 копированием (C ++ 17) return ohseven; // ХОРОШО } } (); } auto g () { return [] {// ничего не захватить return [* this] {}; // ошибка: * это не зафиксировано внешним лямбда-выражением } (); } }; 

Если лямбда-выражение (или реализация оператора вызова универсальной лямбда-функции) ODR использует , это или любую переменную с автоматической продолжительностью хранения, оно должно быть захвачено лямбда-выражением.

 пустота f1 (int i) { int const N = 20; auto m1 = [=] { int const M = 30; auto m2 = [i] { int x [N] [M]; // N и M не используются odr // (хорошо, что они не захватываются) х [0] [0] = я; // i явно захватывается m2 // и неявно захватывается m1 }; }; struct s1 // локальный класс внутри f1 () { int f; void work (int n) // нестатическая функция-член { интервал m = n 
.

Смотрите также