Сделай сам адаптер Сидоренко.

Есть еще одно очень интересное предложение. Это аналог ELM327. Построен он на собственной прошивке. Здесь мы вам предоставляем оригинальную статью автора.
Сайт автора http://www.obddiag.net

USB OBD-II AllPro адаптер

Диагностика бортового оборудования OBD-II

Большинство современных автомобилей оснащено сейчас электронным блоком управления (ЭБУ) постоянно собирающим и анализирующим данные в реальном времени о режимах работы двигателя, системы подачи топлива, температуре охлаждающей жидкости и других компонентов автомобиля. OBD-II - On Board Diagnostic (диагностика бортового оборудования) автомобиля это технология диагностирования ЭБУ при помощи компьютера или специализированного диагностического тестера. Спецификация была разработана Society of Automotive Engineers (SAE) и принята как обязательная в США для всех автомобилей выпускающихся с 1996 года. Изначально OBD-II предназначалась для контроля параметров имеющих отношение к эмиссии. Это ограничивает ее возможности для контроля и диагностирования всего спектра параметров современного автомобиля, но обусловило ее широкое распространение в виду «экологической ориентированности». OBD-II использует 5 протоколов обмена данными:

На момент создания спецификации в начале 90-х годов уже существовало три широко используемых протокола: протокол General Motors (VPW), протокол корпорации Ford (PWM) и ISO 9141-2 используемый большинством европейских и японских автомобилей. В результате SAE решил включить в OBD-II стандарт все три. Несколько позже появился ISO 14230-4 протокол, известный также как Keyword 2000 (KWP2000) и являющийся усовершенствованной версией ISO 9141-2. Controlled Area Network (CAN) изначально был предложен Bosh в 80 годах и начал появляться в автомобилях с 2003 года. Евросоюз принял EOBD вариант автодиагностики основанный на OBD-II, который обязателен для всех автомобилей с января 2001 года. Существует также японский стандарт – JOBD. До OBD-II существовала версия OBD-I относящаяся к 1989 году и не имевшая широкого распространения. Новая версия автодиагностики OBD-III находится в состоянии доработки. Интересно, что все новые разработки автомобилей начиная с 2008 должны использовать только CAN, т.е все производители движутся к единому протоколу. SAE был также предложена и конструкция OBD-II разъема имеющего aббревиатуру SAE J1962

Назначение выводов разъема приведено в таблице. Использование контактов 1, 3, 8, 9, 11-13 стандартом SAE не определило и производили могут использовать их по своему усмотрению.

Контакт Назначение
1 Не определен
2 Положительная линия SAE J1850
3 Не определен
4 Корпус
5 Общий
6 CAN(H)ISO 15765
7 K линия ISO 9141/14230
8 Не определен
9 Не определен
10 Отрицательная линия SAE J1850
11 Не определен
12 Не определен
13 Не определен
14 CAN(L) ISO 15765
15 L линия ISO9141/142300
16 +12 вольт батареи

Что может дать OBD-II? Достаточно много, он позволяет определять и стирать коды неисправности, контролировать параметры работы двигателя в реальном времени, считывать информацию о серийном номере автомобиля и пр. Однако для чип-тюнинга производители используют собственные нестандартные проколы доступа к ЭБУ, совместимые по электрическим параметрам с ISO 9141/14230, например KW1281 (Audi, Volkswagen, Seat, Škoda), KW71 (BMW), KW82 (Opel). В новых автомобилях используется CAN протокол как для OBD-II так и для чип-тюнинга.

 

Поддерживает ли мой автомобиль OBD-II?

Как определить какой протокол поддерживает электронным блоком управления автомобиля? Первое – можно поискать информацию в Интернет, хотя там много неточной и непроверенной информации. К тому же, многие автомобили выпускаются для разных рынков с различными протоколами диагностики. Второе – найти разъем и посмотреть какие контакты в нем присутствуют. Разъем обычно находится под приборной панелью со стороны водителя. Протокол ISO 914-2 или ISO 14230-4 определяется наличием контакта 7 и отсутствием контактов 2 и 10, как показано в Таблице 2. Замечу, что контакта 15 скорее всего не будет, так как L линия сегодня почти не используется.

Протокол Pin 2 Pin 6 Pin 7 Pin 10 Pin 14
ISO 9141/14230        
J1850 PWM      
J1850 VPW        
ISO 15765 CAN      

EOBD стал стандартом в Европе начиная с 2001 года, а для дизельных двигателей начиная с 2004. Если ваш автомобиль выпущен до 2001 года то он может вообще не поддерживать OBD даже при наличии соответствующего разъема! Евросоюз даже оштрафовал Peugeot за не соответвие EOBD стандарту и после 2001 года. Например, Renault Kangoo 99 года не поддерживает EOBD,а Renault Twingo поддерживает! Те же самые автомобили сделанные для других рынков, например Турции, могут тоже не быть совместимыми с OBD протоколом. Вот далеко не полный список ЭБУ до 2001 года которые могут не поддерживать OBD:

Таблицу поддержки OBD протокола различными моделями можно найти здесь. Замечу однако что эта таблица типа "если поддерживает - то какой...", как правильно отмечено в комментарии "Если марка присутствует в таблице, то это не дает гарантии поддержки OBD-II".

 

OBD AllPro адаптер на PIC18F2455

OBD AllPro адаптер является модификацией моего USB OBD2 адаптера с поддержкой всех существующих протоколов включая CAN. Он функционально совместим с ELM327.

Microchip не выпускает контроллеры содержащие и CAN и USB. Можно использовать контроллер с CAN и внешний USB чип типа FT232R. Или наоборот, подключить внешний CAN контроллер MCP2515, как сделано в этом моем адаптере. Схема показана на Рисунке. ISO9141/14230 интерфейс выполнен на MC33290, контроль J1850 VPW шины осуществляется приемопередатчиком MC33390, а пара  P и N канальных полевых транзисторов управляет PWM шиной.  Внутренний компаратор PIC18F2455 вместе с резисторами R4, R5 выделяет дифференциальный сигнал PWM протокола. Схема получает питание от USB разъема. Транзистор Q3 управляет L-line в ISO9141/14230, но он не обязателен. Прошивку можно загрузить здесь. Постоянно задаваемый вопрос - где взять MC33290 и MC33390? MC33290 сравнительно распространен, его можно купить на Чип-и-Дип. Другая ситуация с MC33390 чипом, его можно заменить на MC33990. Freescale Semiconductor выпускает сейчас только RoHS варианты с "Z" в названии: MCZ33290, MCZ3390 , MCZ33990, варианты без "Z" - старые запасы. MC33390 и MC33990 можно купить здесь. Если не требуется поддержка GM/Chrysler моделей (VPW) то MC33390 можно не ставить вообще. Вместо PIC18F2455 можно использовать PIC18F2550 с той же самой прошивкой, а  MCP2551 можно заменить PCA82C250 или Si9200EY. Транзистор 2N7000 можно заменить на КП505, а BS250 на КП507. Внимание, схема была доработана для работы с одним кварцевым резонатором и прошивка отличается. Ошибки были исправлены также. Если у вас старая разводка - просто поставьте перемычку.

 

Кабель для адаптера

The adapter uses 9 pin D type female connector to link up to vehicle’s OBD-II J1962 connector. The pinout was chosen to match many of the commercially available cables. The pin connections required of the cable are as follows:

J1962 Pin Назначение DB9F Контакт
2 J1850 Bus + 7
5 Общий 1
6 CAN(H) 3
7 K Line 4
10 J1850 Bus - 6
14 CAN(L) 5
15 L Line+ 8
16 +12 вольт батареи 9

 

Подключение и установка драйвера

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

Если Windows не опознает устройство, то светодиод D1 будет мигать непрерывно, и следует еще раз проверить установку драйвера.

 

Печатная плата адаптера

Печатную плату адаптера в Gerber формате можно загрузить здесь. Если у вас есть собственный вариант разводки адаптера, например с использованием SMD компонентов присылайте мне, я его помещу его на сайте...

 

Схема без MC33290 и MC33390

Если есть трудности с приобретением MC33290 и 33390 чипов, то адаптер можно собрать по этой схеме. Здесь используются драйверы SN75452(К155ЛА18) и SN75453(К155ЛЛ2). Замечу, что это компромиссное решение и применение специализированных интерфейсных микросхем от Freescale предпочтительнее.

 

Варианты разводки печатной платы

Вот разводка от z-wer с использованием SMD компонентов в формате Sprint-Layout. Для просмотра можно использовать Sprint-Layout Viewer.

elm327 схема

Еще один вариант прислал Сергей Михайлович:

elm327 схема

И еще один вариант от Zalex305 здесь.

elm327 схема

 

Статья в Радиохобби N2 2009 находится здесь.