Диагностический кабель obd2 usb своими руками
Своими руками
Как известно для диагностики на современных авто используют разъем OBD II . В этом разъеме присутствует цифровая шина, с которой можно снимать необходимые данные. Протоколов этой цифровой шины много, отличаются от поколения и марки авто. У меня используется K-Line шина. Для того чтобы соединить порт USB компьютера с разъемом диагностики нужен переходник-конвертер. Вот этот переходник я и решил собрать.
Для начала приобрел уже давно необходимые детальки.
Собирать решил по стандартной схеме, коих в интернете полно. Только немного подкорректировал под себя:
Далее опираясь на схему была нарисована печатная плата:
Далее идет обычный процесс лазерно утюжной технологии. Применяемая микросхема FT232RL имеет корпус SSOP28, у которого расстояние между ножками 0,25 мм заставит применить аккуратность. Опыт травления печатных плат ЛУТом позволит этого добиться. У меня получаются дорожки толщиной 0,12мм.
Всё готово к лужению и пайке деталек
А вот и готовый переходник с припаянными детальками. Судя по фотке размер девайса получился флэшечный.
При подключении устройства в windows 7 драйвера устанавливаются автоматически, судя по всему они имеют цифровую подпись, так что проблем в 64-битной версии семерки не будет.
Своими руками
Это, вероятно, случалось с каждым из нас: вы едете в своем автомобиле и вдруг желтая лампочка «Check Engine” загорается на приборной панели как тревожное предупреждение о том, что возникли какие-то проблемы с двигателем. К сожалению, это оно само по себе не дает каких-либо намеков на то, что именно является причиной неполадки и может означать все что угодно, начиная от неплотно закрытой крышки топливного бака до проблем с каталитическим конвертером. Я помню, как Honda Integra 94-го года имела ЭБУ под креслом водителя и красный светодиод начинал мигать, если возникали какие-то проблемы с двигателем.
• 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) – протокол автомобилей General Motors и некоторых моделей Chrysler со скоростью передачи 10.4 кбит/с по одному проводу.
Напряжение на шине VPW изменяется от 0 до 8 В, данные по шине передаются чередованием коротких (64 мкс) и длинных (128 мкс) импульсов. Реальная же скорость передачи данных по шине изменяется в зависимости от битовой маски данных и находится в пределах от 976 до 1953 байт/с. Это самый медленный из OBD протоколов.
CAN (Controlled Area Network) протокол разработан Robert Bosch в 1983 году и окончательно стандартизирован в ISO 11898. Использование CAN шины данных в автомобиле позволяет различным устройствам общаться друг с другом, минуя центральный процессор, так называемый multi-master режим.
Плюсами является также повышенная скорость передачи, до 1 Мбит/с и лучшая помехоустойчивость. Изначально протокол предназначался для использования в автомобилях, но теперь применяется и в других областях. Чтобы повысить надежность передачи данных, в шинах CAN применяется способ дифференциальной передачи сигналов по двум проводам. Образующие эту пару провода называются CAN_High и CAN_Low.
В исходном состоянии шины на обоих проводах поддерживается постоянное напряжение на определенном базовом уровне, приблизительно 2.5 В, называемым рецессивным состоянием. При переходе в активное (доминантное) состояние напряжение на проводе CAN_High повышается, а на проводе CAN_Low снижается, рис.1.
Поддерживает ли ваш автомобиль 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.
В качестве примера необходимости L-линии он приводит Renault Twingo 1.2л 2005 года выпуска. Использование здесь при иницилиазации только K-линии приводит к неверному адресу двигателя в ответах ЭБУ. Если же инициализация производится по K и L одновременно, то тогда все работает правильно.
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 с той же самой прошивкой, см. варианты замены в таблице 2.
Внешний вид устройства показан на рис.3 и обложке, а печатная плата на рис.4.
Программирование PIC18F2455
Для программирования PIC18 можно использовать несложный JDM программатор [3], схема показана на рис.5.
Он очень прост и может бы собран за час на макетной плате. Недостатком является то, что программатор требует наличия последовательного (Com) интерфейса в компьютере и не работает с виртуальными USB/Com адаптерами. Использование ноутбуков также не рекомендуется, так как они не обеспечивают необходимого напряжения на выходе Com порта.
Другой программой, работающей с JDM программатором, является PICPgm [6], никаких дополнительных файлов здесь не требуется, хотя автору следует поработать над английской грамматикой, рис.7 . Прошивка адаптера доступна .
Подключение и тестирование устройства. Правильно собранный адаптер в налаживании не нуждается и распознается Windows как USB устройство. Микропроцессор PIC18F2455 не имеет собственного драйвера и использует Windows 2000/XP/Vista CDC (Communication Device Class ) драйвер usbser.sys виртуального Com порта.
Для этого требуется подключить источник стабилизованного напряжения 12 вольт на выводы 1 и 9 разъема J2 и подключить адаптер к персональному компьютеру через USB кабель. Проверяется наличие напряжения 8 В на выходе стабилизатора IC4. Следующим шагом является запуск Windows приложения HyperTerm и подсоединения к Com порту адаптера.
Прохождение проверяется по следующим цепям:
• 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 В.
рис 10
Схема
По просьбе некоторых читателей, решил выложить самый простой наверное что есть K-line адаптер через сом-порт ( в этом случаи USB – вариант не берётся) . Это отличный и проверенный адаптер, его достоинства; дешёвый, простенький и может хорошо ковыряться в мозгах вашего авто 🙂 В данном случаи берётся только K-линия, Л-линия нам не нужна.
Сам адаптер собран всего на двух транзисторах, вот схема- проще не найдёте…
Сперва я делал тестовый вариант K-line адаптера
Так сказать начинал с экспериментов на макетке собирал всё как попало, главное чтобы держалось и детали подходили, некотрых деталей не было, к примеру вместо конденсатора о.47 мкф поставил 220 нф , но параллельно…ну и так дальше.
Переменник взял на 500 Ом, вот какая чудо-плата сперва получилась 😉
Ну что ж надо проверить работоспособность данного девайса…
Как проверить адаптер без подключения к авто?
Итак сперва качаем софтинку Check It 3.0
К компьютеру подключаем наш адаптер и подаём на него 12 вольт. Делаем именно в этой последовательности, иначе можно спалить Сом-порт. Саму К-line не подключаем, так как мы же не подключились к авто.
Интерфейс DOS-овский, давим любую кнопку нажимаем). Затем — “пропустить”. Опять давим любую кнопку и о чудо )
Попадаем в меню, где методом тыка (проб и ошибок — интуитивно) находим test\serial ports\com1
Пойдет тест порта, если конечно всё вы собрали правильно. Сначала тест пойдёт на скорости 300 бит в сек, потом 1200, 4800, 9600, короче перебераются все скорости.
Если тест прошел на скоростях 300 и 1200 бит (бод), нам этого вполне хватит чтобы наш адаптер работал нормально.
Если тест не пройдёт то вылезит окно типа такого…
Это говорит о том что неправильно собран адаптер или нет питания на адаптере. Ну ладно с тестом покончено, ( это было так, можно сказать познавательно) теперь перейдём к рабочей версии адаптера.
Рабочий вариант K-line адаптера
Всё что нам понадобится ….
- транзисторы: КТ315 или S9014 (2шт)
- резисторы 3кОм (3шт) — это R2, R3, R6 и 10кОм (2шт) — это R1, R5
- светодиод подойдёт любой (если нет можно не ставить вообще)
- диод любой маломощный типа 1n4148
- Кондёр на 470 мкф , ну и клемник и разъём DB9
Рисуем сначала печатку в Спринте…
Как видно, печатка для двухстороннего текстолита. Второй слой используется лишь для крепления печатки к контактам разъема…кому лень делать можете скачать ))) ЗДЕСЬ…
2. Печатаем на принтере на глянце несколько рисунков, чтобы выбрать хороший. Все варианты были нормальными — делаем три печатки.
Время прочтения
Сложность материала:
Для любителей - 3 из 5
Для того чтобы современный инжекторный двигатель работал как можно дольше, важно своевременно проводить работы по техническому обслуживанию. А если потребуется проведение ремонта, необходимо предварительно провести максимально точную проверку электроники, для чего используется адаптер для диагностики авто.
Современные методы предусматривают использование компьютерных технологий, которые позволяют максимально точно провести диагностику авто, выявить основные неисправности в работе силового агрегата, других узлов автомобиля, датчиков, электронных систем и цепей.
1. Что представляет собой адаптер для диагностирования транспорта?
Компактное универсальное электронное средство, подключаемое через специальный разъем к ЭБУ автомобиля, которое обеспечивает передачу и расшифровку информации на требуемый формат данных для внешнего компьютера - называется адаптером диагностическим. (Адаптер от слова адаптировать).
Если говорить ещё подобнее, то чтобы получить информацию о параметрах и состоянии датчиков автомобиля, необходимо установить связь ЭБУ с другим внешним прибором (смартфоном, планшетом, ноутбуком), которые используют иные протоколы передачи данных. Как раз для этого и применяются диагностические автосканеры, у которого архитектура преобразования протоколов, переводит информацию с одного формата (ЭБУ) на другой формат (внешне подключенный ПК).
Конечный же результат очевиден получение информации о тех или иных ошибках, значениях датчиков, электронного блока управления.
2. Как происходит диагностика через адаптер
Результаты автодиагностики - информация, поступающая на ЭБУ от всех датчиков, установленных в различных узлах и электронных системах. Данные передается на адаптер, затем через софт выводятся на экран планшета, смартфона или ПК.
Важно понимать, что приложения (программы) существуют в большом многообразии и необходимо выбрать подходящую для своих нужд, а так же марки автомобиля. О программном обеспечении так же имеется информации далее в статье.
Соответственно, если синхронизация устройств корректная, происходит считывание данных с ЭБУ. Программа сама расшифрует все значения, ошибки, и представит в удобном виде для изучения.
Читайте также: