Самоделкиным! собрать контроллер широкополосного лямбда / Autoua

Самоделкиным! собрать контроллер широкополосного лямбда / Autoua

Всем привет. Так получилось, что не так давно на моей машине (Volvo 740) окончательно отмер датчик кислорода (лямбда-зонд). По не совсем удачному стечению обстоятельств — у меня оказалась топливная система Siemens, которая известна тем, что ее датчики стоят гораздо дороже, нежели Bosch. За новенькую лямбду, в среднем по-магазинам, хотят от 17 до 24 тысяч рублей. Разумеется для меня это слишком дорого и несколько поразмыслив и почитав интернеты было решено сделать конвертер, но не совсем обычный.

Циркониевый и титановый зонд отличаются друг от друга тем, что первый генерирует ЭДС, а второй — меняет свое сопротивление. В первом случае нам нужно смотреть на сигнал: меньше 0.45 — бедная смесь, больше — богатая. Малое сопротивление титанового датчика — богатая смесь, большое — бедная. Если речь идет о 4х проводной титановой лямбде (более распространено), то сигнал НА датчик должен быть около 1 вольта (и сниматся далее). А если используется 3х проводная — то напряжение должно быть уже около 5 вольт.

Для пояснения приведу графики: Циркониевый зонд генерирующий ЭДС:

Титановый зонд, меняющий свое сопротивление:

О том что получилось, ниже.

Собственно инградиенты получились такие: плата Arduino, несколько метров провода, обвес элементов (он будет дан ниже) и собственно новенький лямбда-зонд от BOSCH. Все вместе — не больше 1400 рублей.

Самый главный вопрос: почему же все таки Arduino используется как основной элемент? Все очень просто: во-первых он был под рукой. Во-вторых — его стоимость — 180 рублей (!) если заказываеть на ebay.com. В-третьих он уже полностью готов для использования (не надо мучиться с поиском драйверов, программаторами и прочим, те кто знаком с AVR поймут меня). В первой версии устройства использовалась средняя плата — версия UNO. Такая же как на картинке:

Уже позже, пришла версия Nano, она заметно меньших размеров, правда корпус для нее оказался все равно большеват. Но для UNO он был тоже мал.

В корпусе:

Теперь перейдем непосредственно к схеме и программе, зашитой в него.

Arduino подключается таким образом (рисовать пришлось в паинте):

По схеме подключения:

R1 — порядка 100 кОм (можно меньше).

R2 — 5-6 мОм

VD1 — любой светодиод на 3-5 вольт

на схеме пометил своим названием — оптопара PC817, или аналогичная.

5 вольт на питание платы берутся от USB-переходника (пока что не подвел питание, езжу так).

Красный провод, отводящий 5 вольт на выход оптопары имеет смысл только когда используется 3х контактный датчик (об этом было написано в начале статьи)

В моем случае использовалась 4х контактная лямбда BOSCH:

Черный — сигнальный — на ногу А0 платы

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

Белые — один на постоянные (!) +12 вольт, второй на массу.

Т.к. родные провода датчика очень короткие, мне пришлось их удлинить: разъемы купил на авторынке, провода сечением 1мм (можно 0.75) разных цветов усадил в термоусадку. Многие задаются вопросом, мол могут ли идти помехи на сигнальный провод от соседних. Как показывает практика — нет, даже учитывая тот факт что мой провод, в сумме получился чуть больше метра.

Разница в нагревателях титановой и циркониевой лямбды состоит в том, что цирконий нагревается ВСЕГДА, а титан только прогревается вначале.

На ардуино зашивается вот такая программа, любезно подкорректированная моим другом-программистом Алексеем:

int ledPin = 2; // Светодиод подсоединен к выводу 13

int analogPinInput = 0;

int outputSignal = 3;

double input = 0.0;

void setup(){

pinMode(ledPin, OUTPUT); // устанавливаем вывод 13 как выход

pinMode(outputSignal, OUTPUT);

Serial.begin(1200);//9600

}

void loop(){

double voltageLevel = 0.0;

while(true){

voltageLevel = inputVoltageLevel();

if(voltageLevel >= 0.45 && voltageLevel!= 0){

digitalWrite(outputSignal, HIGH);

digitalWrite(ledPin, HIGH);

}

if(voltageLevel < 0.45 && voltageLevel!= 0){

digitalWrite(outputSignal, LOW);

digitalWrite(ledPin, LOW);

}

Serial.println(voltageLevel);

}

}

double inputVoltageLevel(){

input = analogRead(analogPinInput) 0.0049;

return(input);

}

О том что тут происходит:

Контроллер мерит сигнал приходящий на ногу А0,

если сигнал меньше 0.45 вольт — плата ни чего не делает

если больше — подает питание на выход 13, открывая оптопару.

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

Светодиод работает тогда, когда идет богатая смесь.

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

В целом, конвертер готов. Теперь наступает самое интересное:

Силами все того же Алексея и желанием что то по-писать, был написана такая софтина (на JAVA, требует установки ява-машины):

Скачать

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

Под капотом машины, оно выглядит примерно так (этап колхозинга — обкатываемся):

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

Алексей доволен проделанной работой:

P.S.

По сети гуляет вот такая схема конвертера, коий был также мною собран, но доработан уже после того как мы сделали ардуино:

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

Благодарю за внимание. Пожелания, идеи, а также вопросы и предложения можно задать в коментариях.

Лямбда метр своими руками фото. Поделитесь новостью Лямбда метр своими руками с друзьями!
Лямбда метр своими руками 1
Лямбда метр своими руками 69
Лямбда метр своими руками 52
Лямбда метр своими руками 64
Лямбда метр своими руками 93
Лямбда метр своими руками 55
Лямбда метр своими руками 57
Лямбда метр своими руками 42
Лямбда метр своими руками 83
Лямбда метр своими руками 71
Лямбда метр своими руками 89
Лямбда метр своими руками 13
Лямбда метр своими руками 47
Лямбда метр своими руками 25
Лямбда метр своими руками 84
Лямбда метр своими руками 23
Лямбда метр своими руками 4
Лямбда метр своими руками 60
Лямбда метр своими руками 15
Лямбда метр своими руками 53