Всепротокольный OBD-2 AIIpro адаптер своими руками

      Комментарии к записи Всепротокольный OBD-2 AIIpro адаптер своими руками отключены

Всепротокольный OBD-2 AIIpro адаптер своими руками

Это, возможно, случалось с каждым из нас: вы едете в собственном автомобиле и внезапно желтая лампочка «Check Engine» загорается на приборной панели как тревожное предупреждение о том, что появились какие-то неприятности с двигателем. К сожалению, это оно само по себе не дает каких-либо намеков на то, что именно есть обстоятельством неполадки и вероятно значит все что угодно, начиная от неплотно закрытой крышки топливного бака до неприятностей с каталитическим конвертером. Я не забываю, как Honda Integra 94-го года имела ЭБУ под креслом водителя и красный светодиод начинал мигать, в случае если появлялись какие-то неприятности с двигателем. Подсчитав количество «блинков», возможно было выяснить код неточности.

По мере того, как ЭБУ машин становятся все более и более сложными, количество кодов неточностей возрастает экспоненциально. Применение бортовой диагностики автомобиля On-Board Diagnostic (OBD-II) разрешает решить эту проблему. Этот адаптер разрешает применять ПК для OBD диагностики. Адаптер AllPro функционально совместим с ELM327 и поддерживает все существующие OBD-II протоколы обмена данными:
• ISO 9141-2
• ISO 14230-4 (KWP2000)
• SAE PWM J1850 (Pulse Width Modulation)
• SAE VPW J1850 (Variable Pulse Width)
• ISO 15765-4 Controlled Area Network (CAN)
VPW, PWM и CAN
Первых два протокола ISO обрисованы в вышеуказанной прошлой публикации. Детальное описание OBD протоколов выходит за рамки данной статьи, я только их коротко перечислю.
J1850 VPW (Variable Pulse Width) — протокол машин Дженерал моторс и некоторых моделей Chrysler со скоростью передачи 10.4 кбит/с по одному проводу. Напряжение на шине VPW изменяется от 0 до 8 В, эти по шине передаются чередованием маленьких (64 мкс) и долгих (128 мкс) импульсов. Настоящая же скорость передачи данных по шине изменяется в зависимости от битовой маски данных и находится в пределах от 976 до 1953 байт/с.

Это самый медленный из OBD протоколов.

J1850 PWM (Pulse With Modulation) употребляется в машинах корпорации Ford. Скорость передачи тут 41.6 кбит/ с с применением дифференциального сигнала по двум проводам. Напряжение на шине изменяется от 0 до 5 В, a продолжительность импульса образовывает 24 мкс.

Работа с этим протоколом требует аккуратности в программировании процессора, поскольку скорость исполнения руководств языка «C» на PIC процессоре кроме того с улучшенной PIC18 архитектурой делается сопоставимой с длиной маленькой посылки PWM протокола (7 мкс).

CAN (Controlled Area Network) протокол создан Robert Bosch в первой половине 80-ых годов XX века и совсем стандартизирован в ISO 11898. Применение CAN шины данных в автомобиле разрешает разным устройствам общаться между собой, минуя центральный процессор, так называемый multi-master режим. Плюсами есть кроме этого повышенная скорость передачи, до 1 Мбит/с и лучшая помехоустойчивость. Изначально протокол предназначался для применения в машинах, но сейчас используется и в других областях. Дабы повысить надежность передачи данных, в шинах CAN используется метод дифференциальной передачи сигналов по двум проводам. Образующие эту несколько провода именуются CAN_High и CAN_Low.

В исходном состоянии шины на обоих проводах поддерживается постоянное напряжение на определенном базисном уровне, примерно 2.5 В, именуемым рецессивным состоянием. При переходе в активное (доминантное) состояние напряжение на проводе CAN_High увеличивается, а на проводе CAN_Low понижается, рис.1.

Существует кроме этого два формата сообщений либо фреймов — обычный с 11 битным адресным полем (CAN 2.0A) и расширенный с 29 битным полем (CAN 2.0B). Стандартом ISO 15765-4 определяется применение для целей аккумуляторная как CAN 2.0A, так и CAN 2.0B. Совместно со скоростями передачи по шине 250 и 500 кбит/с это формирует 4 разных CAN протокола.

Поддерживает ли ваш автомобиль OBD-II?
OBD есть необходимым лишь на западе. В случае если в Америке это правило действует с 1996 года, то Европейский союз принял EOBD вариант автодиагностики, основанный на OBD-II, недавно. В Европе OBD стал необходимым, начиная с 2001 года, а для дизельных двигателей кроме того с 2004.

В случае если ваш автомобиль выпущен до 2001 года, то он может по большому счету не поддерживать OBD кроме того при наличии соответствующего разъема. К примеру, Renault Kangoo 99 года не поддерживает EOBD (не смотря на то, что редакционная Kangoo dcI60 2004 года с CAN протоколом прошла успешную стыковку с обрисованным адаптером, а Renault Twingo поддерживает! Те же самые машины, сделанные для других рынков, к примеру Турции, смогут также не быть совместимыми с OBD протоколом.

Как выяснить, какой протокол поддерживается электронным блоком управления автомобиля?

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

Разъем в большинстве случаев находится под приборной панелью со стороны водителя. Протокол ISO 914-2 либо ISO 14230-4 определяется наличием контакта 7, как продемонстрировано в таблице 1.

Большая часть машин последних лет выпуска поддерживает лишь CAN протокол с контактами 6 и 14 соответственно. На западе все новые машины, начиная с 2007/ 2008 года, должны применять OBD лишь на базе CAN. Увижу, но, что, как верно отмечено в комментарии, «В случае если марка присутствует в таблице, то это не дает гарантии помощи OBD-аккумуляторная».

Применение L-line в ISO 9141/14230…Раздельно хочется сообщить по поводу L-линии в ISO 9141-2/ 14230-4 протоколах. на данный момент она фактически нигде не употребляется, поскольку для процедуры инициализации связи достаточно лишь K-линии. В стандарте же, но, сообщено, что сигнал инициализации обязан передаваться по двум линиям в один момент, K и L. Владимир Гурский из www.wgsoft.de, создатель программы «ScanMaster ELM», собрал громадную коллекцию разных ЭБУ. Как пример необходимости L-линии он приводит Renault Twingo 1.2л 2005 года выпуска.

Применение тут при иницилиазации лишь K-линии ведет к неверному адресу двигателя в ответах ЭБУ. В случае если же инициализация производится по K и L в один момент, то тогда все трудится верно.

рис 2

AllPro адаптер на PIC18F2455
Схема моего всепротокольного OBD-II адаптера продемонстрирована на рис.2. Базой есть микроконтроллер Microchip PIC18F2455, имеющий модуль USB интерфейса. Устройство применяет напряжение питания 5 В от шины USB. Конденсатор C6 является фильтром внутреннего стабилизатора 3.3 В для обеспечения работы USB шины. Светодиоды D2 и D3 являются индикаторами приема/передачи, а светодиод D1 использован для контроля статуса USB шины. Выход ISO 9141/14230 интерфейса управляется половинкой драйвера IC2-2, а входной сигнал подается через делитель R12/R13 на вход RX (вывод 18), что есть триггером Шмидта, как и большая часть входов PIC18F2455, что снабжает достаточно надежное срабатывание.

Для контроля L-линии употребляется IC3-1 и R10. Шина J1850 VPW требует напряжения питания 8 В, приобретаемого от стабилизатора L78L08 IC4. Сигнал на выход VPW подается через инвертор IC3-2 и буферный полевой транзистор Q1. Делитель R7/R8 и внутренний триггер Шмидта на входе RA1 составляют входной интерфейс J1850 PWM протокола. Внутренний компаратор (входы RA0 и RA3) PIC18F2455 вместе с резисторами R4, R5 выделяет дифференциальный сигнал PWM.

Для контроля выхода PWM шины употребляются IC2-1 и полевой транзистор Q2.

Раздельно хочется сообщить по поводу помощи CAN. Microchip не производит контроллеры, которые содержат и CAN, и USB. Возможно применять контроллер с CAN модулем и внешний USB чип типа FT232R. Либо напротив, подключить внешний CAN контроллер, как сделано в этом адаптере. CAN интерфейс тут образуют контроллер MCP2515 (IC5) и трансивер MPC2551 (IC6).

MCP2515 подключен через SPI шину к PIC18F2455 и программируется любой раз при подаче питания адаптера. Согласующие (bus termination) RC цепочки R14/ C10 и R15/C11 предназначены для уменьшения отражений на CAN шине в соответствии с стандарту ISO 15765-4. Применение их не обязательно, при довольно маленьком кабеле отражениями возможно пренебречь. Вместо PIC18F2455 возможно применять PIC18F2550 с той же самой firmware, см. варианты замены в таблице 2.

таблица 2

Внешний вид устройства продемонстрирован на рис.3 и обложке, а печатная плата на рис.4.

Программирование PIC18F2455

Для программирования PIC18 возможно применять несложный JDM программатор [3], схема продемонстрирована на рис.5.

рис 5

Он весьма несложен и может бы собран за час на макетной плате. Недочётом есть то, что программатор требует наличия последовательного (Com) интерфейса в компьютере и не работает с виртуальными USB/Com адаптерами. Применение ноутбуков кроме этого не рекомендуется, поскольку они не снабжают нужного напряжения на выходе Com порта.

рис 6

Разводка программатора продемонстрирована на рис.6 и сделана с применением так называемой «stripboard» технологии, достаточно популярного подхода к макетированию. Обычная stripboard имеет матрицу отверстий с шагом 2.54 мм для монтажа электронных компонентов, соединенных полосами меди на обратной стороне, из этого и наименование — stripboard. Разрезав полосы на обратной стороне и установив сверху проволочные перемычки, возможно скоро собрать довольно несложные конструкции. Полосы легко перерезаются зенковкой отверстий простым сверлом.

Существует кроме того особая программа — «LochMaster» [4] для проектирования конструкций таким методом. При применении программатора направляться обратить внимание, что корпус ПК (контакт 5 DB9 разъема) не соответствует корпусу программатора.

Вторым условием есть применение «полноценного» последовательно кабеля со всеми проводами, нужными для работы схемы. Программатор надежно трудится с WinPic [5], единственная неприятность содержится в том, что требуется раздельно загрузить файл-дескриптор PIC18F2455.dev (либо PIC18F2550.dev) из дистрибуции Microchip IDE по окончании того, как установлен фактически WinPic. Второй программой, трудящейся с JDM программатором, есть PICPgm [6], никаких дополнительных файлов тут не нужно, не смотря на то, что автору направляться поработать над британской грамматикой, рис.7. Firmware адаптера дешева .

OBD-II кабель
Для подключения к бортовому компьютеру адаптер применяет «обычный» DB-9/OBD-II кабель. Разводка кабеля продемонстрирована в таблице 3.

тестирование и Подключение устройства. Верно собранный адаптер в налаживании не испытывает недостаток и распознается Windows как USB устройство. Процессор PIC18F2455 не имеет собственного драйвера и применяет Windows 2000/XP/Vista CDC (Communication Device Class ) драйвер usbser.sys виртуального Com порта.

По поводу применения драйвера хочется, но, добавить, что в соответствии с информации www.usb.org исправил баги в usbser.sys лишь начиная с Windows XP SP2 и применение адаптера с Windows 2000 возможно проблематично. По окончании того, как адаптер распознался как USB драйвер и устройство установлен, возможно приступать к тестированию. Для этого требуется подключить источник стабилизованного напряжения 12 вольт на выводы 1 и 9 разъема J2 и подключить адаптер к персональному компьютеру через USB кабель. Проверяется наличие напряжения 8 В на выходе стабилизатора IC4.

Следующим шагом есть запуск Windows приложения HyperTerm и подсоединения к Com порту адаптера. Устройство имеет процедуру самодиагностики с проверкой прохождения сигнала со выхода на вход по всем протоколам. Для этого употребляется команда «AT@3», рис.8.

Прохождение проверяется по следующим цепям:

• IC2-1, R4 для отрицательной шины PWM
• Q2, D6, R5 для хорошей шины PWM
• IC3-2, IC4, R11, Q1, D5, R7, R8 для VPW
• IC2-2, R9, R12, R13 для ISO 9141/14230
• Ответ контроллера MCP2515 по шине SPI

К примеру, отсутствие IC2 приведет сходу к двум неточностям, рис.9.

Процедура самодиагностики не включает диагностику CAN трансивера MCP2551, тут возможно напряжение на выводах 6 и 7. Оно должно быть в пределах 2.5 В.

Работа с Адаптером
Адаптер совместим по совокупности команд с ELM327 и может употребляться с приложениями, трудящимися с ELM327. Я предпочитаю применять «ScanMaster ELM» Владимира Гурского [8], рис.10.

рис 10

Адаптер трудится кроме этого со следующими приложениями:
• ScanTool.net for Windows v1.13
• Digimoto
•PCMSCAN
• EasyObdII Pro
Как пример приведу обстановку, которая произошла с VW Passat моего привычного. В автомобиле загорелась лампочка «Check Engine», подключение ANPro адаптера выяснило неточность Р0118 -«engine coolant temperature circuit high input», т.е. большой уровень сигнала с датчика температуры охлаждающей жидкости, рис. 11. Предстоящее расследование распознало неисправный датчик.

По окончании замены датчика неточность была стерта посредством «Clear Trouble codes» кнопки, см. рис.12. Неточность провалилась сквозь землю и больше не оказалась, рис.13.

ВСЁ ДЛЯ СТАТЬИ В АРХИВЕ…СКАЧАТЬ… [105,79 Kb] (cкачиваний: 943)

В обязательном порядке к прочтению:

OBD2 GM переходник собственными руками


Статьи как раз той тематики,которой Вы интересуетесь: