Посторонним В.


Следопыт



Итак, протокол диагностики EEC-IV окончательно раскопан

Поддаются все движки с мозгами EEC-IV (фиесты, эскорты, мондео, американцы, кроме RS2000). Контакты диагностики либо 3 и 11 на разъёме "типа OBD2», либо фордовский фирменный DCL под капотом (с которого идут провода на ноги 18 и 19 мозгов).

Что умеем непосредственно:
+ Читать и стирать все коды ошибок
+ Инициировать тесты самодиагностики KOEO/KOER и считывать их результаты
+ Читать в реальном времени (до 40 раз в секунду) состояние и параметры двигателя (обороты, угол зажигания, температуры, дроссель, лямбда, импульсы форсунок и КХХ, напряжение аккума, скорость движения и т.д.)
+ В перспективе — читать содержимое памяти мозгов целиком (местоположение кое-каких таблиц известно)

На основе этого можно сделать:
+ Показометр мгновенного/среднего расхода топлива
+ Измерители разгона 0-100, эластичности, инерции ЦПГ и т.д.
+ Подсказки для переключения передач с перегазовкой
+ Калибровку дроссельной заслонки
+ Запись логов (трендов) по всем параметрам

В железе это плата примерно 30×40 мм с микроконтроллером и парой чипов-конверторов интерфейсов. питается от +12, прекрасно помещается в корпус разъёма OBD-II (фотки позже), из которого торчит хвост в компьютер (COM или USB).

В софте — прошивка микроконтроллера (с возможностью обновления по месту) и софтина для Windows целиком написанные мной.

Варианты распространения этого всего таковы:

1. Для специалистов — я готов в личке рассказать как работает протокол (но разжёвывать не буду, подразумеваются спецы высокого уровня), паяйте и программируйте своё железо. Бесплатно

2. Желающим паять, но не программировать — могу выслать уже запрограммированную микруху ATMega324 в DIP или TQFP. С поддержкой обновления прошивки. По розничной цене оной микрухи.

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

4. Полная версия. Готовый "шнурок" в OBD-II разъёме с проводом к компу (COM или USB на выбор).

5. Борткомп. Это пока в планах — полноценный борткомп с экранчиком, включающий диагностический модуль как составную часть (ибо уместить всё в один микроконтроллер не получится).

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

По ценам — микроконтроллер стоит что-то типа 200-300 рублей. Лайт-версия в районе 1500, полная в районе 2000. Но я работаю над снижением этой суммы.

Вопросы, комментарии, пожелания? Готов всё выслушать и ответить.

p.s. Благодарности на данном этапе:
Игорь К — за регулярные напоминания о необходимости поработать
CoSysOp — за то, что не спалил, хотя датчик ТОЖ и правда под замену
Стиву Беннету — за информацию
Томасу и Сержио — за настойчивое желание заставить изобрести велосипед



Скорость компорта должна быть втрое выше скорости обмена с фордом. Соответственно для нынешних 9600 это 38400. В "турборежиме" 19200-57600.
У контроллера для общения с компом свой протокол, асинхронный. DCL практически полностью обрабатывается внутри.


Был бы в эскорте шаговый моторчик, я бы его вывел
А так — вывожу idle valve duty cycle, по-русски это скважность импульсов клапана ХХ.
Лямбду, МАФ, и Air Charge Temperature тоже можно будет увидеть.


Creator некоторые EEC-4 имеют на борту ножку Data Output Link, на которую выводят импульсы, кратные расходу. сигнал заводится на фордовский родной борткомп и отображает расход. При этом датчика давления в рампе нету. Видимо считается, что точность достаточна. Впрочем, дополнительные калибровки показометра расхода с учётом износа форсунок и регулятора давления в рампе возможны


reator в общем да, завести сигналы, про которые мозг не знает, смысл есть. Все АЦП-ноги на чипе не заняты, а вычислительных ресурсов оно особо не сожрёт (в отличие от тех же 1-wire термодатчиков). Так что поплавок можно подключить и ещё чего-нибудь неохваченное. Вот только это уже будет такой основательный проект внедрения чужеродного кремния в суверенную электрику форда, в отличие от простого подключения в штатный OBD-разъём.


отследить момент появления ошибки невозможно (хотя есть какой-то флажок, нужно будет поисследовать). разве что периодически прекращать приём данных с датчиков и переходить в режим считывания ошибок (полсекунды займёт). Я пока планирую в момент включения всей системы первым делом автоматически считывать сохранённые коды ошибок и "хрюкать" если они есть. Что касается подключения — у меня в макете мозги от мондео 93 года, диагностические ножки 18 и 19 (исправил). Так что надо просто посмотреть по эл.схеме, куда эти ножки выведены — под капотом или ещё где-то.


Вот кстати, проверил точность одометра, который просто по мгновенной скорости за примерно 170 мс высчитывает "мгновенный пробег" и суммирует его нарастающим итогом:



Я тут пытаюсь минимизировать потребляемый ток в режиме ожидания. Сейчас примерно 30 мА, но можно до 20 уменьшить и ещё пониже наверное. А вас какой устроит?

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



На DSL разъеме при включенном зажигании на одной ноге +4.83 v, а на другой — +0.43 v по отношению к массе (кузов автомобиля).

Может так надо? Или это плохая масса на EECIV ?

kutal12 так и надо. читай спецификацию RS485


Политика возвратов. Если что-то не понравилось/не заработало/любая другая причина — высылайте железку обратно, верну деньги без учёта доставки.

С учётом доставки верну в "гарантийном" случае. Однако все платы перед отправкой тестируются на полную работоспособность. Все используемые детальки не боятся статики, перегревов и переохлаждений. Входы защищены от любых комбинаций подключений до 15 вольт (разве что по питанию +12 не советую надолго перепутывать полярность, стабилизатор перегреется и отпаяется ). Убить какой-нибудь чип можно только случайно уронив на его ножки провод с питанием +12, так что советую подпаять провода и сделать коробочку, а не цеплять хвосты крокодилами.


На плате "лайт-версии" помимо выводов на COM-порт расположено несколько контактных "пятаков":

1 — группа контактов для внутрисхемного программирования контроллера (нужна только для первоначального программирования), а также 5 выводов, которые в будущем можно задействовать как цифровые или аналоговые входы/выходы (скажем, подключить сигнал с поплавка в бензобаке)

2 — контакты (второй контакт точно с противоположной стороны) для подключения сигнальных проводов к мозгам. Переполюсовка и подача вплоть до +12 вольт не страшна. Сюда надо подпаять пару проводов и подключить их на диагностический разъём в форде (или напрямую на ноги 18 и 19 мозгов).

3 — контакт подачи питания +12 вольт ("плюс"). общий провод ("минус") находится с противоположной стороны платы ближе к сигнальному контакту. На эти контакты надо подпаять провода с "крокодилами" и подавать туда питание где-то от 6 до 15 вольт. Кратковременная(!) переполюсовка не страшна.

Порядок подключения

Подать питание на плату. Светодиод должен загореться на 2 секунды, а затем начать "отрывисто" моргать (5%/95% включен/выключен). Сие означает режим поиска и ожидания ответа от фордовских мозгов.

Далее, подключить сигнальные провода на диагностический разъём (на лайт-версии верхний контакт на "-", нижний на "+", полярность на диагностике можно определить тестером). Включить зажигание, после чего должна установиться связь. Светодиод начнёт моргать "равномерно" (50/50 включен/выключен). Если продолжит моргать "отрывисто" — попробуйте поменять полярность сигнальных проводов. Не поможет — проверяйте контакты. Если светодиод совсем погаснет — перезагружайте плату диагностики путём отключения питания.

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

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


скорость обмена в программе 38400. А в свойствах COM-порта в системе можно ничего не указывать вообще.
Всё остальное делаешь правильно


статус связи с EEC устанавливается на основании начала обмена данными в режиме CART (когда с мозгов идёт непрерывный поток байт — фреймов). обмен начинается по запросу от адаптера мозгам типа "переключайся в CART». если светодиод моргает 50/50, значит диагностика 100% работает. тут можешь не сомневаться. тем более что статус связи с самим модулем не зависит от подключенного EEC-IV. я же залил туда прошивку перед отправкой

протестировать адаптер можно в том же PuTTY. протокол обмена с адаптером простой — команда из одного или нескольких символов и Enter. Можно попробовать команды v — вернёт версию прошивки, m — вернёт текущий режим или b — содержимое буфера данных.

стоит также попробовать включить режим совместимости с Windows XP, если у тебя Vista или 7.

на крайний случай попробуй перемкнуть две ноги на чипе MAX232, дорожки от которых идут к чипу ATMega324 (3 и 4 контакты справа в верхнем ряду, там их две рядом таких дорожки, не ошибёшься). должно так же быть эхо в терминалке.


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

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


Mondeo217 между адаптером и мозгами тип и длина провода некритичны, там протокол с высокой помехозащитой.


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

Mondeo217 дамп памяти читается 10 минут. это нормально
111 в сохранённых ошибках — тоже нормально. адаптер сам ничего не стирает. те что выводятся морганием — это всё же результат самотестирования на момент считывания. KOEO/KOER надо запускать на свежеподключенном адаптере и свежевключенном зажигании
тогда скорее всего после "бесконечного" кол-ва цифр (секунд через 30) появится результат тестирования.

рабочая (а не максимально-критическая) температура микросхемки «C270», к слову, до 125 градусов, так что всё нормально
у 485го чипа тоже до 70 градусов допустимо.

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


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

Далее,

2. матрица — это матрица. В таком формате я получаю данные из EEC-IV. Смотреть на неё не обязательно. Частота обновления будет меняться если нажата кнопка "Обновлять".

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

4. тот же глюк. форматировать диск не надо

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