Электроника

Megasquirt AVR (Опыт создания, установки и применения)

В общем, досталось мне ведерко.

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

Правда, сказать точнее, не время, а вторая извечная проблема. Еще точнее - щедро разливаемые в зимнее время реагенты для плавления снега. А то чистить, знаете ли, накладно... В общем, превратилась моя тойота в ведро с ржавым днищем. Но ездить-то надо. На работу, с работы, в город, из города. И тут предложил мне коллега стоящую у него в гараже без дела Ауди 100. А поскольку вариантов больше не было, я "дал себя уговорить".

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

Вариантов лечения этого "синдрома ПНД" тоже несколько.
Самый простой - замена ПНД. Но оригинальные уже не выпускают, а кетайских, как выяснилось, хватает ровно на две тысячи километров.
Второй вариант - замена керамической пластины с резистивным элементом. Как оказалось, предложений в интернете много, а вот реально купить этот элемент - проблема. История, как правило, одинаковая: Кто-то когда-то что-то делал, но теперь не делает, потому что нет спроса. Или "Под заказ, срок поставки стопицот недель."
Третий вариант - эмулятор ПНД. Надо сказать, что товарищ Winners потрудился на славу. Эмпирическим путем составить таблицу обогащения, разработать алгоритм "обмана" ЭСУД и вообще довести дело до состояния готовой, "коробочной" продукции - за это надо снять перед ним шляпу. Установка проста, затрат минимум, машина оживает и резво едет дальше. Однако, в этом решении есть некоторые недостатки.

  • Первое. Десять тысяч рублей - это, все-таки, дороговато. По деталям коробочка виннерса обходится в две тысячи, из которых 1400 стоит датчик давления. Пятикратная наценка - это, все-таки... Нет, я понимаю, ноухау, интеллектуальная собственность, затраты на производство, логистические и прочие, профит опять-таки. И оно, может быть, и нормально, но вкупе с остальными подробностями - невкусно. (Здесь, разумеется, надо сказать, что все это мое личное ХО, ни в коей мере не претендующее на истину в последней инстанции. Я излагаю лишь свои собственные соображения, которыми руководствовался при анализе решений.)
  • Вторая - механическая часть никуда не девается. И работает, пока не умрет (а она уже изрядно подушатана). В том числе - и механические инжекторы. Кои на момент написания статьи стоят около 2300 р каждая. И если форсунки ссут льют, а не распыляют, - то нормальную работу двигателя все равно не получить. И таким образом исходные 10 тысяч превращаются в двадцать две. Остается еще "паук с лопатой". И ЭГРД, который тоже может глючить, но мы этого не узнаем, пока не разберемся с ПНД. Но даже если узнаем, что мы будем с этим делать? В общем, решение как временный вариант дорого, как постоянный еще дороже.

Четвертый вариант. Карбюратор. Вообще не вариант. Без комментариев.

Пятый вариант - замена устаревшей электромеханической системы управления на электрическую. Преимущества столь очевидны, что даже описывать их нет смысла. Осталось найти решение, чтобы не пришлось перелопачивать весь двигатель. Их, как оказалось, тоже несколько.
- Лискар. Прекрасное решение. Законченное, промышленное, продуманное, испытанное, со всеми наворотами, включая OBD-II... стоимостью в сам автомобиль.
- Январь, DIGIFANT и т.п. Ковырялово со шкивами, перепрошивками, заменой трамблера и прочей адаптацией. Чуть дешевле предыдущего, но мороки с ним больше на порядок.

И тут я набрёл на MSAVR...

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

  • Во-первых, я перерисовал схему в Альтиуме. Переразвел там же. Заодно и сам его, в смысле, Altium Designer, освоил, поскольку PCAD - всё...
  • Во-вторых, перевел проект на SMD компоненты.
  • В-третьих, заменил max232 на CH340G. Ноут с компортом все равно не найти, а городить цепочку преобразователей нет никакго смысла.

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

За 200 р. Вместо "штатного" за 1400. Правда, придется переписать калибровочную табличку и перекомпилировать проект, но это мелочи. Корпус напечатаю. Попробую ABS, но такие размеры им печатать сложно. Не получится - будет PLA. До 60 градусов работает, а больше и не надо. Платы заказывал в JBL. Доставили за 9 дней. Почта России. Получилось дешевле, чем в Резоните. Детали таки решил заказать в Чипе-и-Дипе. Пока ждал платы и детали, решил посмотреть, как работает программа. 128 меги у меня не было, зато была ардуина 2560. Контроллеры одного класса, отличий минимум. Поправил, скомпилил, залил. Сразу возникли проблемы с загрузчиком. Тот, который "штатный", работать не захотел, а ардуиновый, судя по всему, немного мешает. Программа работает неустойчиво. Показания скачут, если вдруг ардуину перезагрузить или изменить периодичность опроса. Но главное - проект компилится, контроллер на связь выходит, показания считывает.

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

Разъемы на датчики, форсунки, а также реле и предохранительные колодки взял в "Би-Би" (auto49.ru)
ДПДЗ в "Балткаме"
ДАД - в "Евроавто". Про разъем для него забыл. Буду искать.
Провода для монтажа типа ПВА заказал на Чувашкабеле.

Ах, да! Сам проект находится Здесь.

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

Отсюда в режиме дневника хочу рассказать о том, как это делалось.


04.09.2018. Сегодня получил платы. Есть некоторые проблемы по разводке. Торопился, не посмотрел. Но все поправимо, ничего критичного. Доработке подлежит. Как говорится, плата без ТУКа - не штука! )))
 

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

Кстати, осталось еще пять экземпляров этой платы. Китайцы по одной не делают )))


05.09.2018. По-видимому, понятие "завтра" для конторы "Евросеть-логистика" весьма, как бы это выразиться, специфическое. Гибкое очень. Ну, а пока ждем, я выяснил еще кое-что.

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

К сожалению, баг остался. Проявляется он следующим образом. Если запускать комплекс в последовательности: ардуино, мегатюн, - все работает прекрасно. Если в процессе прекрасной работы изменить, например, интервал опроса (Communications - Settings - timer interval). - стрелки приборов начинают хаотично прыгать, показывая через раз правильное значение. Кнопка reset не помогает. Помогает только выключение питания контроллера. и повторное его подключение. Аналогичным образом стрелки приборов начинают себя вести, если попытаться что-то записать в блок. Перезагрузка программы проблему не решает. Только физическите выключение контроллера. Все-таки, делло в прошивке. Вероятно, баг известный, с чем связан еще не изучал. Вполне может оказаться, проблема с протоколом или с буфером обмена. Решил посмотреть, как будет себя вести собранный контроллер на плате.


06.09.2018. "Еврозавтра" наступило сегодня утром. Заехал, забрал заказ. Заодно зашел в DPD забрать чувашские автотракторные провода. Понял. что даже Пентагон не прячет свои шахты для запуска баллистичеких ракет, как DPD прячет свои пункты выдачи. Искал минут сорок. Описанию на сайте, "как пройти в библиотеку"(с) позавидует сам Иван Сусанин. Ну, да хрен с ними.
 

Проводочки, кстати, хорошие. Расцветка красивая ))) Изоляция ровная, лудятся прекрасно. Кому интересно, можно про них почитать Я, кстати, их выбрал потому, что -40 ... +105. Все-таки, двигатель горячий, и не каждый провод там будет жить. МГШВ, например, не будет.

 

Собрал плату. Не хватает трех резисторов. В ЧиД нету. Надо ехать в Микронику. В процессе сборки решил проверить USB-порт. Не работает. Ошибка №1: конденсатор с 4-го вывода на землю нужен. Даже, если источник 3.3В не используется.
Контроллер запустился. Программатор его увидел. Фьюзы прошились. Бутлоадер загрузился. Работаем дальше.
 

Допаял. Загрузчик отвечает. Залил основную программу. Команда, если кому надо:

avrdude.exe -p m128 -c avr109 -P com2 -b 19200 -U flash:w:"megasquirtAVR.hex":i

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

Залил программу, откомпилированную автором статьи на drive2.ru. ИЧСХ, загрузчик ее увидел...
Знаете, братцы... Объявить софт открытым и подсунуть загрузчик, который привязан к сигнатуре откомпилированной тобой программы... Я даже не знаю, наверное, лет тридцать назад еще можно было говорить о порядочности людей, а сейчас как-то...
Нет, идея проверять наличие программы по сигнатуре это хорошая идея. Например, чтобы не залили по-ошибке что-ниудь не то и не ушатали транспортное средство. (Но тогда зачем передавать управление сразу?) Еще лучшая идея постоянно в цикле рассчитывать контрольную сумму программы и проверять ее целостность, сравнивая с эталоном. Битая программа хрен знает что наворотить может.
Но коль уж ты сказал, что "Если планируется использование датчиков с другой передаточной характеристикой, то firmware придется пересобрать с соответствующими калибровками", так сделай, сцуко, так, чтобы человек мог ее пересобрать, и после этого пользоваться, без твоего непосредственного назойливого участия! Если это действительно freeware, а не "ты тупой, дай денег, я тебе сделаю"! Тут ведь какое дело: обычно загрузчик нужен, чтобы в случае чего заменить софт без применения программатора и специальной софтины для него. А то и всю студию поставить придется. Ну, так если загрузчик привязан к сигнатуре, как ты ее поменяешь? Она ведь не будеть работать. А если будет, значит, загрузчик проверяет только одно специальное место кода. Следовательно, это сделано намеренно. Зачем???

Ну, да и хрен с ним. Фтопку загрузчик, без него программа прекрасно запускается. Вот только верить ей нельзя теперь. Придется код шерстить внимательно на предмет еще каких-нибудь какашек "сюрпризов".


07.09.2018. Ошибка №2. У транзистора в цепи гашения импульсов перепутаны коллектор и эмиттер. Лечится. Хотя и портит внешний вид. Просто невнимательность. Абыдна. ))
Собрал жгут. Подключил форсунки. Прописал начальные условия запуска. В качестве таходатчика использовал собранный мной несколько лет назад DDS-генератор для домашней лаборатории. Амплитуды сигнала не хватило. Пришлось временно коротнуть резистор на входе. Запустился. Проработал 10 минут, помер. Перстал форсункой щелкать. Оказалось, "поплыл" диод M4 в цепи питания драйверов полевых транзисторов. Кетай, выпаянный хз откуда. Заменил на M7 "из коробки". Запустился. Весь вечер работал, стрекотал форсунками. Не умер.
Есть подозрение, что физдипит этот показометр по температуре, градусов так на восемь-десять. Напряжение питания, кстати, тоже врет примерно на вольт.
При настройке оказалось весьма полезно знать точные характеристики двигателя. В частности, понадобились следующие параметры: Объем (что естественно), максимальный крутящий момент (понадобится перевод из ньютон-метров в фут-фунты) измеренный при оборотах, маскимальная мощнсость, измеренная при оборотах. То есть, не просто максимальный момент или мощность, но еще и на каких оборотах они максимальны. Это важно для настройки таблицы VE. Ну, еще количество цилиндров знать неплохо. )))). Обороты отсечки тоже помогают.
Что, собственно, порадовало - так это то, что показатели датчиков стоят аки вкопанные. Не дергаются, не дрожат, от перемещения проводов не зависят (кстати, в жгуте у меня к датчикам и форсункам идут витые пары). Что говорит о неплохой помехозащищенности конструкции. Значит, в целом, платка удалась. Трассировка земли правильно сделана. Фильтрация в программе тоже есть, но опыт подсказывает, если на входе расколбас - не спасет никакая фильтрация. Впрочем, посмотрим, как она переживет помехи от системы зажигания. (UPD. Перенесла. Нормально работает, ничего на скачет, не сбоит.)


08.09.2018. Разбирался, почему врет температура. Код АЦП передается правильно. Значит, врет Мегатюн. У Мегатюна по умолчанию стоит таблица калибровки для датчика GM. У меня, разумеется, BOSCH. Заменил таблицу. Попутно поправил показания вольтметра. У меня в делителе стоит резистор 51к, по схеме надо 50к. Теперь где-то 0.1-0.2 В погрешность, что нормально. А вот температуры все равно врут на 2 градуса. Начал разбираться с характеристикой. Выяснил, что американец делал калибровочную таблицу, используя полином 3-го порядка.
(UPD. Позже я выяснил, что это не просто полином, а уравнение Стейнхарта-Харта, довольно точно описывающее характеристику NTC-резисторов и позволяющее по трем точкам построить характеристику с точностью не хуже 1%)
Он немного проваливается в области 20-30 градусов относительно исходной кривой. Но поскольку сам датчег, по даташиту, дает погрешность +/- от 1.4 до 3.4 градусов, а дисперсия аппроксимации равна 0.996, то я забил на это и оставил таблицу, как есть. Единственное, что меня смутило, так это то, что она, эта таблица, в Фаренгейтах. В принципе-то это по-барабану, в чем считать, но, как говорится, есть нюанс. У старика Фаренгейта градус "короче" на 5/9. А аффтар юзает uint8_t (при этом сдвигает всю таблицу на 40 градусов, чтобы избавиться от отрицательных значений). В результате у него в эту переменную помещается шкала от -40 до +212F, что соответствует диапазону в градусах Цельсия от -40 до +100. И остается добрых 18 шагов АЦП, при которых переменная "зашкаливает", и контроллер не видит температуру больше 100 С. А вот сделал бы в Цельсиях, переменной бы хватило и до 130. Впрочем, с Цельсиями свои проблемы. В общем, оставил как есть. Обычно у движков рабочая 90, но вот, например, у AAR диапазон рабочих температур 87-102 С, так что, строго говоря, шкалы не хватает.
Заодно проверил алгоритм линейной интерполяции. Вроде, правильный. На контрольном примере не проверял, но вычисления похожи на правду.
Ну и заменил калибровку датчика абсолютного давления. И в Мегатюне, и в контроллере. В принципе, по электронике всё. Осталось железо, и можно выходить на монтаж, регулировку и испытания.
Пойду рисовать корпус, потом печатать.


11.09.2018. Стабилитроны 5.1В типа C (я использовал BZV-C5V1) мешают. Не знаю, почему ни у кого не возникло вопросов, но наличие этого стабилитрона в цепи искажает показания. В частности, при снятом датчике температуры плата показывает -11С, -8C (с разными экземплярами), а должен показывать -40С. Напряжение на входе АЦП снижено. Замер показывает 3.7-3.9В вместо 5В. Выпаиваешь - нормально. Нет, я бы еще понял 4.8В - это минимальное напряжение по даташиту. Но 3.8-странно. Стабилитроны BZX (выводные) ведут себя аналогично. С КС156А такого не наблюдается. Без защиты входы оставлять не хочется. Буду менять стабилитроны на другие, напряжением 5.6В.
UPD. В конце-концов заменил стабилитроны на защитные диоды PESD5V0L1BA,115. Могу с уверенностью сказать: для защиты входов это PESDадые диоды!


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

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

  • Двигатель с делителем 5 работает хуже, чем с делителем 1, и жрет больше. Возможно, подсосы, возможно, неправильно расположены распылители форсунок относительно клапанов (я использовал штатные вкладыши, сил искать токаря на рекомендуемые нет более). В общем, остановился на пяти впрысках за цикл.
  • Из-за этого, возможно, не получается использовать весь диапазон форсунки - не хватает разрешающей способности блока управления. Получается, что на ХХ требуется время открытия в 5 - 6 раз меньше номинального. А номинал - 16 мс. Если 16/6=2.7, тогда как в моем случае 16/5/7=0.46 мс. С учетом их инерции (я установил 0.8 мс) получается как раз 1.2-1.3. Блок корректирует, ставит 1.1 - 1.2. Так вот, в первом случае у блока для стабилизации есть 27 квантов, в моем случае всего 4-5. Не густо. Пока буду ездить так, позже, когда найду токаря, поменяю вкладыши. Сейчас длительность впрытка на холостых держится на уровне 1.1 - 1.2 мс.
  • Стандартная таблица VE От Мегатюна на мой AAR не лезет, ибо переобогащает на холостых оборотах. В низах надо уменьшать значения таблицы до 15-17. Тогда двигатель "шепчет", а выхлопная труба не "пердит". Но есть такое ощущение, что надо бы еще меньше, но невозможно - форсунки тогда вообще не включаются.
  • Тем не менее, удалось добиться разрежения 35-37 кПа на ХХ и хорошей динамики при езде при отсутствии детонации. На старой системе с отказавшим ПНД и хз какой свежести пауком и инжекторами, меньше 55 - 60 не видел.
    Кстати, интересный эффект: при приближении параметров смеси с нормальной, двигатель, как бы, "оживает": у него снижается уровень шума. и поднимаются холостые обороты. (что говорит об увеличеинии мощности) Обороты регулировкой "байпаса" ставим на место и продолжаем регулировку. За три-четыре итерации удается выйти на режим, когда любая манипуляция либо глушит двигатель, либо увеличивает давление во впускном коллекторе. Собственно, таблицу VE авторы проекта так и рекомндуют настраивать - по максимуму разряжения.
  • С регулятором оборотов (шаговый) вообще беда. Мало того, что он входит в конфликт с лямда-регулированием, так еще и с ДПДЗ. То есть, ты нажимаешь педаль, чтобы ехать, а он в это время прикрывает клапан, чтобы стабилизировать обороты. Зато после отпускания педали он открыться не успевает, и на ХХ двигатель глохнет. В общем, пока отключил. Надо лезть в прошивку, смотреть алгоритм и начальные установки, когда ему регулировать, а когда нет. Лень. Отдохну от всего, буду тонкие настройки производить. ПИД-регулятор прикрутить или еще чего...

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

PS. А плату я перерисовал. Во-первых, установил ключи посвежее, в корпусе D-Pak (хотя, можно и меньше найти и вообще, поставить какие-нибудь TLE с защитой от к/з, обнаружением обрывов, блэкджеком и (censored). Вот, даже нашел. IPS1021R До 36В, ограничение тока на 35А. Тоже в корпусе D-Pak.
Во-вторых, убрал место под ДАД (он же MAP), поскольку тот, который от Рено стоит в пять раз дешевле, а работает так же, но выносной.
В-третьих, после изъятия штатного блока новый туда так и просится, но размерчик с разъемом не пускает.
Размер у новой платы 100*100мм. Даже 99*99, чтобы уж точно уложиться в требования JBL, которые по пять баксов за десяток :)))
В планах добавить еще два канала. Первый - эмулятор показаний ПНД, второй - датчика температуры. Это, чтобы оставшемуся блоку VEZ хорошо жилось, и он не подозревал, что Джей уже не Троник, а Сквирт ))). Доделаю - закажу, соберу, посмотрим, что получится.
Не, можно, конечно, в сам блок навернуть и зажигание с регулировкой УОЗ, и CAN шину по всем стандартам. Но задача - ездить, пока не сгниет или пока не надодест, а не сидеть с паяльником. Сидеть с паяльником у меня есть, где))

PPS. Кстати, на той самой ветке очень часто задаются вопросы про неустойчивую работу, скачки показаний, перезагрузки и т.п. Напишу у себя некоторые рекомендации.

  • Провода на каждый датчик должны представлять собой витую пару с шагом не более 40мм. Надо скрутить каждые два (на ДПДЗ, выносной MAP - три) провода и так, скрученными, довести до самого датчика. Зело помогает от всяких случайных помех. К слову сказать, в таком витом пучке у меня идет и тахосигнал с катушки зажигания. И ничего он не портит. Показания датчиков не дрожат, блок не перезагружается, связь с нетбуком не пропадает.
  • Кстати, о нетбуке. Для связи блока с компом рекомендую таки кетайскую CH340G. Железная хреновина! Определяется стабильно. Коннект держит. Надежная, не капризная, помехоустойчивая, с драйверами дружит. Из "обвязки" требует только кварц на 12МГц и три конденсатора. Не чета всяким PL2003 с С2101, на которую чихнешь - и она уже не работает.
  • Провода на форсунки и РХХ тоже скрутите вместе.
  • Общий провод блока я брал с ноги штатного блока. Питание БЛОКА (не форсунок!!!) - оттуда же. С него же, кстати, откусил и перетащил провода с лямбды. Подогреватель зонда у меня включается вместе с топливным насосом тем же реле, а само реле насоса управляется с блока VEZ, что также облегчило мне задачу. Имейте в виду, что VEZ управляет реле бензонасоса "сверху", т.е. подает на него 12В, а MSAVR - снизу, т.е. подтягивает к "массе".
  • Все контакты очень желательно пропаять.
  • Если провода скручены, земля правильная, а блок все равно глючит, вероятно, проблема в блоке. Ищите внимательно на плате залипоны, непроапаи. Особенно в этом плане неприятен залипон между аналоговой и цифровой землей. Эти две сущности должны соединяться только в одной точке! Отсюда и требование - на каждый датчик должна идти свой земляной провод. Который подключен именно к аналоговой земле. Старик Кирхгоф следит за вами... ))
  • Для блока необходимо брать детали исполнения не хуже Industrial. Они дороже, но у них температурный диапазон минус 40 плюс 85. Возьмете Commercial - будете мучиться зимой. Лучше, конечно, Automotive. У него диапазон от -55, кажется. Еще лучше Aerospase, но это еще надо будет поискать, кто его продаст ))). (Про Military не пишу, товарищ майор не одобряе...)))
  • Если паяете блок самостоятельно, не используйте флюсы на глицериновой основе. Даже нейтральные. ЛТИ120 тоже фтопку. Из-под QFP его хрен вымоешь, а он потом проводить начинает. Используйте Спирто-канифольную смесь. Есть еще хорошие безотмывные флюсы для промышленного применения, но они дорогие и, к тому же, продаются оптовыми партиями. Плату после пайки обязательно отмыть. Обязательно!!! Токи маленькие, сопротивления большие. Утечки потом не дадут работать. Изопропанол пополам с калошей - неплохая спиртово-нефрасовая смесь. После промывки высушить под теплом. Градусов шестьдесят часа на полтора.
  • У этой версии блока тахосигнал берется с катушки зажигания. При размыкании катушки коммутатором на первичной обмотке возникает отрицательный импульс амплитудой до 300В. От этого импульса стоящую в этом канале оптопару защищает диод. обратное напряжение диода 1N4004 - 400В. Я советую установить 1N4007 или китайский SMD M7. Запас не тянет. Если пробьет диод - выгорит оптопара. Ехать придется на веревке. Кстати говоря, там бы надобно какой-нить другой диод, побыстрей 4007-го...
  • Если на диоде не сэкономили, а оптопару выбивает регулярно - меняйте катушку зажигания. Её пробивает. Как не сдох выходной транзистор хз, но у старых 2108 в электронном зажигании на выходе стоял КТ812А, у которого UкэR max = 400В, так вот он часто вылетал из-за пробоя катушки.
  • Не пренебрегайте установкой предохранителей! Ну его нахрен, бегать вокруг транспортного средства с огнетушителем где-нибудь на трассе, когда "...назад пятьсот, пятьсот вперед... (с)" И, кстати, если штатный предохранитель горит, нужно ремонтироваться, а не решать проблему "проволочкой 1.5 кв.мм. в три виточка"


24.04.2019. Разобрался с обогащением. Перенастроил блок на один впрыск за цикл. Добился стабильной работы, запуска и регулирования ХХ. Для последнего пришлось немного поправить константы в прошивке и перепечатать узел регулятора. Да, узел регулятора напечатан на 3D-принтере пластиком SBS. Ибо токаря во втором по величине городе России - днем с огнеметом... Первый вариант имел просто "дырку", которую открывал и разкрывал РХХ. Из-за этого получалось, что два-три шага - и воздуха много, два-три шага обратно - и воздуха мало. Второй вариант уже имеет "седло" клапана, позволяющее регулировать поток воздуха гораздо плавнее.
 

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

Приведу еще пару фото с установленной рампой (в процессе установки). Весь процесс переоборудования не снимал, т.к. нет такой привычки. Когда вспомнил, было поздно (((
На первом фото виден первый вариант корпуса РХХ

 

Ну, и еще одно фото проекта новой платы. Той, которая 99х99 мм, с блэкджэком и с ЦАПом, профетами и дополнительным ключом


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


10.05.2020 Самоизоляция хороша тем, что экономится по 3 - 3.5 часа на дорогу и машину трогать не нужно (как и лицо :))). Ну так вот, за это время неспеша разобрался таки с прошивкой немного. Что могу сказать...
Во-первых, алгоритм регулировки оборотов ХХ содержал ошибки. Подробно описывать не буду, скажу только, что до ПИДов еще не дошел, но ввел ограничение по перемещению штока (в исходной версии он мог двигаться от минус бесконечености в плюс бесконечность), ввел переменную, в которой отслеживается положение штока, и на базе этой пременной заставил РХХ при отпускании педали газа устанавливаться в заранее заданную позицию. Провел оборотов исчез не полностью (нужен подбор положения), но существенно уменьшился. В 500 оборотов уже не сваливается и не глохнет. И вообще, стал гораздо плавней регулировать. Для удобства добавил вывод положения РХХ в компорт. Примечательно, что при установившихся на прогретом движке 800 об/мин блок показывает, то РХХ открыт на 37 - 39 шагов ;)
Во-вторых, убрал говнокод типа if((a>>8) !=0), заменив на простое if(a & 0xFF00), если уж так хочется, и таким образом теперь экономится по 8 тактов на каждой такой проверке (а она есть и в прерывании таймера 10мс) Вообще-то, если нужно проверить переменную на переполнение, то следует проверять флаг переноса. В ассемблере так и делается:

					ADD R16,R1
					BRCS L1
					LDI R16, 0xFF
					L1:<...>
					


Такая проверка не требует увеличения длины переменной, чтобы отследить переполнение. Но так ли это откомпилится в си, если сделать A = N+M; if (SREG & 0x01) A = 0xFF; я не знаю, это нужно проверять.
В-третьих, переделал весь драйвер управления ШД РХХ
В-четвертых, переделал алгоритм прерывания трамблера. Он стал короче, быстрее, и оптимальней. По-крайней мере, исчезли одинаковые операции в каждой ветке алгоритма.
Ну, и для проверки всего этого безобразия пришлось сконструировать тестер для РХХ. Прибор определяет какие напряжения подаются на РХХ и определяет "аллюр" (волна/шаг/полушаг), число сделанных шагов, направление движения.

 
Если вызовут на работу - будут ходовые испытания.

А эту маленькую платку, вторую версию контроллера, я давно собрал, на ней и езжу. Эта версия блока содержит "специально обученный" ЦАП, который "подсовывает" блоку VEZ данные температуры и ПНД, которого давно уже нет. Кстати, выяснилась одна подробность: горит резистор R8. Горит, видимо, из-за перенапряжения. Горит неприятно. На светофоре. Загорается красный, ты останавливаешься. Стоишь. Двигатель работает. Загорается заленый, ты нажимаешь педаль газа - и движок глохнет. Один раз пришлось даже просить друга заехать ко мне домой, забрать резистор и газовый паяльник и привезти все это дело мне и меняли это резистор мы на месте. Поставил их два. На каждом теперь напряжение в два раза меньше. Не выгорают.

 

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


04.12.2020. Продолжаем мучить бедную машинку. Возникло желание перейти на датчик Холла. Раньше "в соответствии с канонами" тахосигнал брался с катушки зажигания. Но вот какая штука. Я в процессе переделки сохранил родной VEZ. А он ведь корректирует момент зажигания (опережение). А это значит, что момент впрыска тоже гуляет, чего не скажешь о работе ГРМ. К тому же я заметил, что в некоторых случаях (как мне показалось, это зависит от температуры) после велючения стартера искра появляется не сразу. Приходится маслать стартером. Возможно, VEZ таким образом ждет, пока пары топлива от форсунки холодного пуска (которой давно нет) доберутся до впускных клапанов (она довольно далеко [была] расположена). Но так и впрыска нет, пока на катушку сигнал не придет. Ну и, все-таки, 300В обратного импульса. Чуть выше я писал, к чему это приводит. Кстати сказать, два резистора последовательно не выбивает.
В общем, суть да дело, смотрю "штатную" схему подключения:


 
и понимаю, что работать это не будет. Просто потому, что светодиоду нужно минимум 1-2мА для нормальной работы. При таком токе на верхнем резисторе произойдет существенное падение напряжения. Замеры напряжения в точке соединения резисторов показали ровно 2,5 В. То есть, ток через оптопару составил 2,5 мА, что достаточно для ее работы.
Да, оптопара работать будет. Но VEZ работать не будет, потому как к нему на входной элемент с учетом падения напряжения на проводах и его входном резисторе 47 кОм поступит напряжение ниже уровня логической единицы ТТЛ. Беда-беда, короче. И это если там ТТЛ. А ежели там КМОП, так вообще с напряжением меньше 4,5В даже соваться смысла нет. Кстати, в схеме блока фигурирует микросхема B57460. Даташит на нее найти не удалось, но, судя по УГО, это шесть инверторов в корпусе. Будем считать, что это или ЛН1 или ТЛ2. Или ЛН2/ТЛ2, если таки КМОП.
Короче говоря, напрямую цеплять туда оптопару нельзя.
Изучив резервы схемы и печатной платы, я пришел к решению установить на входе транзистор, в коллекторную цепь которого подключить оптопару. А его базу через резистор килоом эдак в десять уже цеплять к датчкику. Подтягивающий резистор не устанавливать: он есть в блоке VEZ. Его номинал 1кОм.
Порядок доработки следующий:
1. Выпаивается разъем, на котором сидит джампер, соединяющий катод светодиода с землей. На "родной" схеме это XG1, XG2. На моих платах JP3.
2. В освободившиеся отверстия платы впаивается транзистор. Эмиттером об землю, коллектором к оптопаре. Вывод базы задирается вверх.
3. Удаляется стабилитрон. На его место устанавливается перемычка.
4. Удаляется диод (D5 на родной схеме)
5. База впаянного транзистора через резистор 10 кОм подключается к левой по схеме контактной площадке диода D5
6. На правую площадку диода, соединенную с резистором 390 Ом, подается напряжение 5В откуда удобно. Я взял прямо с ноги стабилизатора напряжения.
Ниже представлены схема "до" и схема "после"


 


 
Проверка на имитационном пульте (есть у меня такой) показала, что плата работает, сигналы стабильные, фронты ровные. Осталось переключить провод с катушки на датчик и проверить.
PS. Строго говоря, резистор в цепи базы следовало бы рассчитать. Напряжение насыщения выбранного транзистора 0,15 В, сопротивление в цепи коллектора 510 Ом (у меня), падение напряжения на диоде 1,1В. напряжение питания 5В. Получается ток коллектора в насыщении около 7,4 мА. Статический коэффициент передачи тока у транзистора при токе коллектора 10 мА равен 80 (минимум по даташиту). Значит, ток базы должен быть не менее 7,4/80 = около 100 мкА. Напряжение на переходе база-эмиттер в режиме насыщения 1В (по даташиту) Если на входе будет 4В, то на резисторе должно упасть 3В. 3В/100 мкА получается 30 кОм. То есть, в цепь базы можно поставить резистор (с запасом) 24 - 27 кОм и должно работать. Но поскольку в даташите указан ток базы и 1 мА и даже 5 мА при различных проверках, пускай остается 10 кОм.


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


30.01.2022. Ну что, год прошел как сон пустой... И тут индеец Зоркий Глаз заметил, что в сарае нет двух стен...
Впрочем, год я проездил великолепно. Сбоев нет, резистор тот не горит, узел не подводит. Единственное, что омрачало радость, - так это какая-то вялая динамика движка. Но я думал, что это, возможно, из-за неправильного расположения форсунок относительно клапана (далеко они слишком), да и вообще, двигатель старенький, ну, компрессия там, клапана... Сам VEZ-то данные получает и по температуре, и по нагрузке. Я писал об этом в мае 2020 года.
А буквально три дня назад еще раз взглянул на схему Jetronic III, потом на схему самого VEZ и, как говорил поручик Ржевский, увидел там знаете что? *опу, господа" (с)!
Ну, не в буквальном смысле, но в смысле схемотехническом. Я обнаружил там один интересный канал АЦП, который измеряет... напряжение питания ПНД. Видимо, данные с него настолько критичны, что блоку поручено контролировать не только сам сигнал, но и питающее датчик напряжение, чтобы в случае его изменений сделать соответствующие поправки.
То есть, линия питания ПНД идет с выхода блока KE3 на вход блока VEZ. А еще от нее же питается датчик атмосферного давления... Получается, что VEZ работал в кривом режиме и ничерта не рекулировал УОЗ. Отсюда копоть, иппонический (конский, в смысле) расход и никакая динамика.
Проблема решилась простой установкой перемычки между контактом 4 блока MS AVR и контактом 21 VEZ...
... и машина поехала. Нет, она ПОЕХАЛА!!! Появилась динамика, чувствительность к нажатию педали газа, даже коробка стала переключаться мягче. Двигатель стал работать тише.
Разрежение во впускном коллекторе уменьшилось на 8 кПа, с 38-39 до 30-31. Холостые обороты возросли. Надо регулировать. Регулировка у меня сделана в прошивке. Буду разбираться. Полагаю, если обороты ХХ снизить до 900, будет и 29-28, как положено.
А вообще ездить и без этого стало значительно приятней.
Поезжу, посмотрю расход, потом напишу.

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