Внимание! Все что Вы будете делать на основе данной информации, Вы делаете на свой страх и риск и
должны ЧЕТКО представлять себе что Вы делаете и ЗАЧЕМ!
С чего все началось.
Через месяц после покупки машины, в выхлопной системе появился металлический звон.
На СТО проблему диагностировали как "осыпание 1го катализатора". По гарантии
долго мурыжили и в итоге ничего не сделали, да я и сам хотел избавиться
от катализаторов.
Но. Но машина сделана в соответствии с нормами экологической безопасности "Евро4",
а это значит, что состояние 1го катализатора контролирует 2й датчик кислорода
(1й, как известно, сообщает ЭБУ о том, богаты выхлопные газы кислородом или нет).
Если между 1м и 2м датчиками кислорода нет катализатора, или его состояние
неудовлетворительно, сигналы 1го и 2го ДК совпадают и ЭБУ записывает
ошибку p0420 "низкая эффективность работы катализатора №1", и
похоже, начинает заведомо обеднять смесь, борясь за экологию. У меня это
вылилось в то, что машина начала терять мощность и появилась ошибка p0302
"пропуски зажигания во 2м цилиндре".
После сброса ошибок, все нормализовалось примерно на неделю.
Так что просто выбросить катализатор не получится, надо что то делать с ДК2.
Есть способ, когда ДК2 оставляют, но обрабатывают его сигнал, например установив между
трубой и ДК2 специальную втулку, которая ограничивает доступ выхлопных
газов к ДК2, или например включением в цепь ДК2 дополнительных элементов,
меняющих амплитуду его сигнала.
Осциллограммы сигналов 1го и 2го датчиков кислорода на Chery tiggo 1.8, снятые при полностью
прогретом двигателе, на холостом ходу (1го, 2го, 1го и 2го одновременно):
   
   
   
Параметры сигнала 1го ДК:
V Min 100 mv
V Max 750 mv
Период сигнала 2,8 с
Duty cycle 56%
Параметры сигнала 2го ДК:
V Min 150 mv
V Max 260 mv
Период сигнала 1,2 с
Duty cycle 92%
Видно, что ДК2 дает "ступеньку" при изменении сигнала ДК1 как с низкого на высокий, так и на оборот.
Я решил совсем избавиться от ДК2, эмулируя его сигнал по сигналу ДК1.
Диагностика работы ДК1 и эмуляция сигнала ДК2
Т.к. я неплохо разбираюсь в программировании микроконтроллеров и создании программ для PC,
я решил сделать не просто мультивибратор на к155ла3, а инструмент более функциональный
и удобный. :)
Основой устройства служит МК ATmega8.
Основой ПО выбрана библиотека "V-USB" разработанная замечательной командой
Objective Development Software GmbH .
Вкратце, эта библиотека позволяет организовать подключение ATmega8 к PC по USB интерфейсу
(в ATmaga8 нет аппаратной поддержки USB).
Но что самое вкусное, так это то, что МК можно перепрограммировать с PC по USB!
Достаточно 1 раз прошить в МК USB загрузчик (например по JTAG) и все!
Как это сделать, и как это все работает, подробно расписано на сайте
Objective Development Software GmbH .
Итак, схема устройства:
   
Схема совершенно типовая. Сигнал с ДК1 подается на ногу 23, масса устройства соединена через резистор в 4.7ком со 2м выходом ДК1.
Резисторы "*" подбираются так, чтобы на ноге 24 было напряжение 1.1 в.
Зеленый светодиод - индикация того, что устройство опознано USB-хостом. Красный - индикация состояния сигнала ДК1 (светится - значит
сигнал ДК1 перешел порог "1", не светится, значит сигнал ДК1 перешел порог "0").
Схема выходного каскада еще окончательно не проработана. Прошивка может быть загружена в MK как через JTAG программатор,
так и через USB-boot. Прошивка демонстрационная, работает только если устройство подключено к PC!
Фъюзы МК прошиты следующим образом:
Программное обеспечение для PC написано на Deplhi 2005, USB подключение обрабатывается
через JvHidController библиотеки "Jedi".
Скриншоты окна приложения, во время работы устройства (1,2 на холостом ходу, 3 обороты около 2000):
   
   
   
Что в итоге может устройство:
в режиме подключения к PC:
- показывает на экране кривую сигнала ДК1 в реальном времени.
- позволяет задавать период опроса ДК.
- позволяет задавать порог "1" ДК1 - это порог, при котором сигнал ДК1 считается высоким.
- позволяет задавать порог "0" ДК1 - это порог, при котором сигнал ДК1 считается низким.
- позволяет задавать длительность импульса ДК2.
- позволяет задавать задержку импульса ДК2 по отношению к моменту изменения состояния ДК1.
- показывает мин и мах значения сигнала ДК1.
- другие характеристики сигнала ДК1 и эмуляции сигнала ДК2.
- позволяет сохранить настройки в энергонезависимой памяти МК.
- позволяет проверить работу выхода формирования импульса эмуляции ДК2 и индикатора состояния ДК1.
- эмуляция сигнала ДК2, в соответствии с настройками.
Все напряжения в вольтах, временные характеристики - в условных единицах (это не такты МК!).
В общем отличное средство диагностики! ;)
в режиме, когда PC НЕ подключен:
- эмуляция сигнала ДК2, в соответствии с настройками.
Прошивка демонстрационная, работает только если устройство подключено к PC!
День второй, праздник тот же.
Для того, что бы выяснить формы сигналов обоих ДК при работе не на холостых
оборотах, а под реальной нагрузкой схема была переделана следующим образом:
   
Добавлена еще одна входная цепь для ДК2 (на схеме обозначена красным цветом),
переработана прошивка МК и
программное обеспечение для PC.
Изменения в ПО - добавлена обработка сигнала 2го ДК, возможность автоматически
делать Screen Shorts экрана, ну и другие изменения.
Подключив все это к машине, поехал кататься, поставив ноутбук на запись, вот
что получилось (избранные снимки, а так 12Мб картинок накатал):
В общем чуда не случилось - сигнал 2го ДК (красный график), при установившемся режиме работы ДВС
под нагрузкой и с полным прогревом обоих ДК, повторяет сигнал ДК1 (черный график) со сдвигом
по времени и несколько меньшей амплитудой. Впрочем, как мне кажется, амплитуда
сигнала 2го ДК высока из-за выходящего из строя катализатора между ДК1 и ДК2.
Как следствие, сигнал ДК2 может быть сформирован из сигнала ДК1 при помощи
обычной RC цепочки.
План такой: устройство оставить, как средство диагностики и минимального
управления формированием сигнала ДК2.
Сигнал ДК2 будет эмулируется следующим образом:
- до прогрева ДК1, пока его сигнал не начал изменяться с определенной
периодичностью, сигнал ДК2 - постоянное напряжение около 0,5в.
- как только изменения сигнала ДК1 превысили некоторые (задаваемые)
временные характеристики, сигнал ДК2 формируется как сниженный по
амплитуде и сдвинутый по времени сигнал ДК1.
Рабочее решение.
Прошивка МК и
ПО для PC были изменены для удобства использования
в качестве диагностического средства.
Для эмуляции сигнала ДК2 из сигнала ДК1 была использована следующая схема (изменяя сопротивление подстроечного резистора
и емкость конденсатора настраиваем сигнал по вкусу):
   
Для эмуляции подогревателя ДК2 использован резистор 300ом/2Вт.
Сигналы приходящие в ЭБУ (двигатель прогрет, режим под нагрузкой) от ДК1 и "ДК2" имеют следующий вид (черный график-ДК1,
крассный-ДК2):
И ЭБУ они полностью устраивают. :) Check не горит, динамические характеристики не изменились.
Вот как это выглядит в металле:
   
   
   
Оригинальные разъемы (ДК1, и входные в ЭБУ ДК1 и ДК2) заменены на "волговские" 4х контактные. Все устройство
смонтировано на монтажной плате, соединения просто проводом. Пояснения на снимках.
Upd. Совсем разжеванная схема: