
Всем доброго времени суток!
Месяц назад, заглушил EGR. И всё бы было хорошо, если бы "ДжекиЧан" не попросил обратить внимание на клапан EGR. Машина начала вести себя не обычно — рёв мотора при спокойной езде, увеличенный расход топлива, глушится не здорово и в добавок назойливая желтая лампочка на панели. Прочитав десятки страниц форумов и набравшись кучи полезной и бесполезной информации об этом общем недуге, взялся за анструмент.
Т.к. система рециркуляции для расчета положения клапана EGR использует несколько датчиков, имеется алгоритм, зашитый в мозгах и учитывающий много всего. Но есть кое что, что он не учитывает — система EGR теперь заглушена. И из за такого расклада мозги системы делают со временем одну очень неприятную и дорогую ошибку: неправильные входные данные с датчиков заставляют моторчик EGR работать "почем зря" и в итоге обмотка моторчика сгорает. Ну и пёс с ней сказали бы мы все, все заглушено, моторчик не нужен. Но проблема появляется ровно через пару тройку минут, после выхода из строя обмотки моторчика — мозги, давая команду клапану открыться на определенный процент, должны через обратную связь (реализованную потенциометром внутри клапана) получить положение клапана для дальнейшей корректировки или подтверждения. Но так как мотор уже никогда не сдвинется — CheckEngine!
В силу того, что покупка дорогого нового клапана могла бы радовать меня только до следующего сгорания обмотки, а снимать заглушки я не хочу — нужно было обмануть систему, эдакое электронное устройство, которое будет "общаться" с системой, мол, "что ты что ты — клапан будет там где скажешь, только дай команду…".
Я, ленивый, младший инженер электронщик, побрел по просторам интернета в поисках велосипеда, который мне не хотелось изобретать или покупать. Хотелось найти что то, просто спаять на макетке и забыть. Но таких схем нет. Далее по теме:
Устройство клапана имеет 5 контактов:
1 — выход сигнала положения клапана (аналоговый сигнал 0---5в);
2 — минус (0в)
3 — плюс (5в)
4 и 6 — обмотка моторчика. (говорят на него приходит ШИМ сигнал, но во первых, с моим алгоритмом это не важно, во вторых я не думаю что здесь вообще нужен ШИМ). То что мне важно знать об обмотке это амплитуда управляющего напряжения — она примерно 12в).
Т.к. есть лень, и время особо нет, я не стал распаивать новую плату под отдельный микроконтроллер, а взял самую простую, доступную всем Arduino Uno R3. С ней не нужно ничего, кроме кабеля usb, программы и исходника. Из недостатков такого выбора — габариты UNO чуть больше пачки сигарет. и вроде всё. (Обновление: Добавил вариант с Arduino NANO).
Кроме самой платы ардуино нужно спаять еще небольшую схемку на макетке (для защиты ардуино от 12в сигналов управления моторчиком и НЧ фильтра из двух элементов для формирования выходного сигнала). Впрочем, если кому то захочется повторить мою схему, можно заменить оптопары простым резисторным делителем напряжения. Здесь главное не элементы схемы (хотя просчитать при изменениях всё равно важно), а принцип работы.
Так как полярность управляющих сигналов меняется — диоды на входе "приводят всё в порядок" и дают две линии управления, которые в свою очередь поступают на две оптопары. Выход оптопар, через подтягивающие резисторы подключаются к контактам 8 и 9 ардуино (здесь важно чтобы положительный сигнал с 6 и 4 пина разъема EGR пришел в ардуино к 8 и 9 пинам СООТВЕТСТВЕННО). Выходной сигнал — сигнал ШИМ, отфильтрованный простым НЧ фильтром для сглаживания. Контакты 2 и 3 разъёма EGR снабжают ардуинку напряжением 5в необходимым для её бесценной работы.
Алгоритм прошивки простой:
Получили логич.ноль на входе 8 — увеличиваем значение ШИМ выхода на 1;
Получили логич.ноль на входе 9 — уменьшаем значение ШИМ выхода на 1;
А дальше — мозги эльки сами отрегулируют виртуальный клапан так как им нужно.
После установки данного девайса джекичан ушел через некоторое время (минут 20) (сам по себе без сброса ошибки). Теперь бесполезный клапан можно совсем снять. Позже добавлю видео и еще фото платы в корпусе
На этом видео есть дисплей — он был установлен только для отладки устройства.
Исходник:
//-----------------------------------------------------------------------------
int OutPin = 10;
int OutValue = 128;
void setup() {
pinMode(8, INPUT_PULLUP);
pinMode(9, INPUT_PULLUP);
analogWrite(OutPin, OutValue);
}
void loop() {
if (!(digitalRead(8)))
{
if(OutValue<255) OutValue +=1;
}
if (!(digitalRead(9)))
{
if(OutValue>0) OutValue -=1;
}
analogWrite(OutPin, OutValue);
delay(1);
}
//----------------------------------------------------------------------------------------
Немного упростил плату, убрал лишнее, установил временно в коробку и добавил RGB светодиод для индикации состояния клапана — цвет плавно меняется от синего к красному в зависимости от положения виртуального клапана. Интересный момент в конце видео: после того как двигатель заглушен, видно по светодиоду как элька дергает клапаном — очень вероятно, что именно здесь происходит очистка и проверка клапана:









Комментарии 38
Здравствуйте.Извините, а можно такое добро приобрести как нибудь? L200 2012года
Присоединяюсь к вопросу l200 11г
Пролил всё обычным герметиком и оставил на сутки. Изделие готово, и самое главное никакого КОЛХОЗА под капотом.
Приветствую? И что такое добро стоит. Сам блин не электрик. Авто L200 2011 года.
В фишке бор машиной убрал лишний сантиметр глубины, предназначенный для резинового уплотнителя. Ламели (контакты) укоротил и подпилил, припаял проводки и вставил всё в корпус.
Ради спортивного интереса захотел встроить весь эмулятор в саму фишку. Заказал с Китая разъем, выбрал микроконтроллер Attiny85, диоды как и в первом варианте использовал импульсные 1N4148, так-как выпрямительные 1N4007 и ему подобные немного не уместны. Оставался вопрос в оптронах, PC817 и подобные занимают очень много места, тогда мне и пришла дикая, но рабочая идея, взяв TLP281-4 я отпилил 2 ненужных оптрона из 4х.
Были внесены изменения в программную часть, я не использовал АЦП для измерения сигнала, а сделал опрос порта в булевую переменную (1 или 0). Шим работает на частоте 31,25кГц.
Когда разъемы приехали у меня уже была готова печатная плата. Печатную плату делал фоторезистом, потом повторил на самодельном ЧПУ фрезерном станке, так сказать на будущее.
Попросили собрать данный эмулятор, с габаритами особо не заморачивался, но сделал отдельно печатную плату для Atmega328P, оптронов и всей остальной обвязки. Прошил контроллер через Arduino UNO, отковырял контроллер и впаял на свою плату.
Эмулятор заработал без каких-либо проблем и танцев с бубном, светодиоды для отслеживания работы не делал, так-как не увидел смысла.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Денис, если мои изменения посчитаешь целесообразными, прошу добавить их в шапку.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Учитывая простоту схемы, ее можно собрать без использования платы. Предлагаю на обозрение свой, возможно финальный продукт. Себе я сделал с индикацией направление движения виртуального клапана( два светодиода).
Еще обратил внимание на два лишних диода в схеме, видимо Денис их не убрал с момента создания первой версии своего эмулятора. Ниже предлагаю свой вариант(Надеюсь Денис не против…). Еще учитывая увеличенную частоту шим можно уменьшить конденсатор на выходе (если конечно хочется покомпактнее сделать).
Немного погуглив нашел красивое решение. Ардуино умеет управлять частотой дискретизации шим, по умолчанию она менее 500Гц, максимум можно установить 62кГц, нужно всего лишь в скетче добавить в функцию "void setup()" следующие строчки:
TCCR1A = TCCR1A & 0xe0 | 1;
TCCR1B = TCCR1B & 0xe0 | 0x09;
Картинка меняется радикально, показания датчика с высокой точностью повторяют заданные мозгом параметры и отклонения не превышают 2%.
Ниже прикладываю свой скетч, есть еще небольшие изменения с задержкой.
//-----------------------------------------------------------------------------
int OutPin = 10;
int OutValue = 128;
void setup() {
TCCR1A = TCCR1A & 0xe0 | 1;
TCCR1B = TCCR1B & 0xe0 | 0x09;
pinMode(8, INPUT_PULLUP);
pinMode(9, INPUT_PULLUP);
analogWrite(OutPin, OutValue);
}
void loop() {
if (!(digitalRead(8)))
{if(OutValue<255) OutValue +=1;delay(2);}
if (!(digitalRead(9)))
{if(OutValue>0) OutValue -=1;delay(2);}
analogWrite(OutPin, OutValue);
}
//----------------------------------------------------------------------------------------
Снова здравствуйте!
Решил поделиться не большой доработкой.
В процессе отслеживания работы датчика с помощью сканера обратил внимание, на то, что его показания очень сильно плавают, до (40%) и мозг автомобиля постоянно его пытается скорректировать, но не может. Осознание этого, мне мешало спокойно жить. Почесав затылок я смекнул, что выходной фильтр не может в должной степени сгладить пульсации шим и автомобиль принимал мгновенное значение напряжения, которое в разные моменты времени сильно отличается.
Добрый день.
Наконец нашел того, кто реализовал на ардуинке эмулятор EGR, Я тоже предпринимал попытку сделать подобное, правда вместо оптопар сделал схемку из резистивных делителей и на один вход ардуино поступали два разных (2, 4 в) напряжения в зависимости от заданного направления тока ну и соответственно менялось напряжение на выходе от 0 до 5в . Данный подход не принес результата ардуинка приказала долго жить, видимо без гальванической развязки никак.
-----------------------------------------------------------------
Кстати у меня Pajero Sport и двигатель 4M41.
-----------------------------------------------------------------
Уверен, что клапан аналогичный и принцип работы тоже. Прошивать дорого и далеко, а вот на схему с ардуино затраты копеечные. Буду делать.
-----------------------------------------------------------------
Сегодня утром собрал на скорую руку данную схему, вместо рекомендуемых автором оптопар, использовал транзисторную оптопару "PC817" можно найти в компьютерных блоках ATX, диоды взял тоже из блока. Оно заработало! Правда, в моем случае, ошибка уходить сама не захотела, пришлось сделать сброс сканером. Розетку взял от раскуроченного клапана EGR.
-----------------------------------------------------------------
Цена вопроса в моем случае : не более 200руб.
-----------------------------------------------------------------
Автора благодарю!
Спасибо! Все получилось, работает!)
Денис, доброго дня. А есть вариант заказать у тебя такую шайтан-схему для обмана умного автомобиля? Если да, то как и цена вопроса.
Денис.Большое спасибо, Ваш эмулятор помог погасить "чек".
От себя добавлю, разъем для подключения, что б на проводах не висело- ru.aliexpress.com/item/FR…042311.0.0.4d7b33edDHMny8 Кажется так "6195-0024" называется.
Огромное спасибо за схемку.Все работает. Тоолько не могли бы вы разжевать для дилетанта куда подпаивается светодиод?
Денис Молодец! Сделал по твоей схеме прибор. Вчера установил.Наконец-то победил злую ошибку "р2413". Положил девайс в коробочку (с двух сторон вложил пленку с "шариками", которая при депрессии помогает:))) Ну чтоб при движении не болтало… Еще раз Человеческое Спасибо!
Пожалуйста! )) В Новый Год без p2413 )))
Давно хотел избавится от моторчика егр… Схема и код в окончательном варианте?
Код — минимальный (без какой либо индикации). Схема в общем да, хотя ардуино уно R3 я бы поменял на ардуино nano и все таки отказался бы от оптопар (все это в пользу габаритов устройства). Могу нарисовать новую схему (код тоже подправлю под пины нано)
Был бы признателен. Хочу попробовать собрать.
С удовольствием помогу, мои нано болтаются где то на волнах и скоро должны прийти, а пока сочиню новую схему и код. Уно правда слишком большой, а задача, которая перед ним стоит — по силе любому другому микроконтроллеру. В идеале я вижу это устройство размером чуть толще флешки, которая будет просто вставляться в разъем и не мешать новым апгрейдам :))
Nervash
Был бы признателен. Хочу попробовать собрать.
Но без оптопар как то не очень хорошо. Я люблю разделять силовые части с нежной электроникой(мотором могут управлять реле, а это теоретически опасно для входов микроконтроллера), поэтому вторая схема будет с ними (так что если собрались собрать — закажите две оптопары CNY17F-4)
Т. Е нужно 2штуки CNY17F-4 и 1шт Arduino Nano V3.0
s.aliexpress.com/UBj6ZNRJ
--1N4007 4ШТ
--CNY17F-4 2ШТ
--ARD.NANO 1ШТ
--Электролитический конденсатор на 4.7мкФ на 6в минимум (влияет на размер) (+лучше на 125градусов, но если нет — ничего страшного) 1Шт
Сопротивления (все как можно меньше по мощности):
— 910 ОМ 2ШТ
— 5 КОМ 2ШТ
— 100 ОМ 1ШТ
— макетка маленькая размером с ардуино нано
— провода по вкусу
— пины для разъема егр (стандартные, 2мм, фото прилагается)(можно купить в любом магазине электроники)
— кабель usb — micro usb для нано.
Установить среду разработки ардуино с офф сайта на комп, скопировать мой исходник в новый проект, выбрать порт к которому подключен нано и нажать проверить и загрузить. Все.
Nervash
Был бы признателен. Хочу попробовать собрать.
Это для ардуино нано. Код не меняется.
Денис, а для мотора 4м41 (3,2) данная схема будет работать?
Это клапан egr на 4m41. Судя по разъему — работает так же. Но т.к. у меня нет возможности проверить на реальном 4m41, могу лишь подсказать как проверить. В моей статье есть изображение разъема с распиновкой: нужно проверить, что на выводах 1 и 2 есть постоянные 5 вольт. Это самое важное — если наблюдается стабильные 5 вольт с такой же полярностью, то можно попробовать подключить эмулятор — вероятность причинить вред эмулятору или авто при правильном подключении отсутствует.
Элегантно
По неопытности глушил и отключал EGR на предыдущих пикапах. Но опыт штука упрямая. Обратил внимание на то, что на Т.Хайлакс 2012 года выпуска, нещадно эксплуатируемого на фирме, проблем с EGR и сажевым фильтром не было на пробеге 200 т.км. Через пару лет пробег сего автотрудяги подрос к 500 т.км., а данные узлы работали исправно. Все дело в регулярных поездках на 500 и более км по трассе. На просторах интернет всегда можно найти массу противоречивой информации. Изучив работу современных дизелей с Common Reil, я понял, что клапан EGR выполняет не только экологическую функцию. Его глушение и отключение влечет за собой снижение ресурса двигателя, особенно, если эксплуатация в городском режиме. Рекомендую разобраться в этом вопросе. Удачи на дорогах!
Хорошо, что в гаражах не обсуждают космические корабли.
Давно бы уже все планеты заселили))
Вот это класс.
Фундаментальный подход, но стоило оно того? Не проще "заглушить" програмно?
Искал по стране. Не нашел. Был бы рад найти, т.к. вместе с чип тюнингом увеличил бы заодно мощу. Эт не Россия.
Да, плохо Вам живется :)