USB-COM K-line адаптер своими руками. Диагностика ИТЭЛМА VS5.1
Всем привет. Как то недавно писал про адаптер для приборок VDO. Вот решил сделать адаптер для диагностики и прошивки так называемый K-line адаптер.
А толчком к сборке послужило то что машина после прошивки иногда стала тупить на переходных режимах, а при разных температурах на улице либо летит как стрела, либо ползет словно сзади прицеп кирпичей. Все это говорит о кривых таблицах БЦН и ЦН.(кому интересно смотрим в гугле)
Так как инженерного блока для откатки онлайн нету, то остается только способ калибровки по логам. Для этого и нужен этот адаптер. Но из знакомых только у Veter129 был такой кабель, но сейчас он в Сургуте, а отдавать за кабель 1500руб(с доставкой) не вариант, да и руки из прямого места.
Для сборки взял простую схему на двух транзисторах. Схема работает через COM порт, но как многие знают на ноутбуках нет COM портов, разве что на совсем старых. Поэтому при сборке нужен USB-COM переходник, сделать его можно из старых ДАТА кабелей от телефонов. Выглядят они так
В этой коробочке стоит микросхема преобразователь PL2303, бывает CP210, или китайская CH340, Главное найти на нее описание и определить контакты Rx, Tx, GND.
Стоит такой кабель 50руб, но найти в городе я не смог, фишка кабеля в том что он создает виртуальный COM порт и к этому кабелю цепляется адаптер.
Так как не смог найти, пришлось купить готовый переходник COM-USB на микрухе CH340 за 500руб.
С разъемом разобрались, теперь делаем адаптер, я взял эту схему
Вытравил плату (как травить тут ) собрал, сделал корпус и пошел проверять. Фиг там ниче не работает!
Грешил на переходник, т.к. скорость диагностики 10400бот, а это не стандартная скорость порта, и некоторые адаптеры ее не тянут.
Но на работе подцепив кабель и собранный адаптер к осциллографу выяснилось, что данная схема не работоспособна т.к. выходной транзистор перенасыщается и не дает обратный сигнал.
В этой схеме самое главное это резистор R4, вместо него нужно взять многооборотный резистор на 2Ком. Это для того чтобы подобрать ток 15-20мА между K-line и GND ведь крутить и подбирать легче чем каждый раз впаивать новый. Так же нужен диод с малым падением напряжения, и маломощные транзисторы КТ3102 или аналогичные.
К сожалению не сфоткал плату, не надеясь на работу собрал все на монтажной плате навесным мантажом, но к радости все заработало и я быстрее собрал все в корпус. (как сделать корпус смотрим по ссылке с травлением платы).
Пошел проверять на машине, работает со всеми бесплатными программами, даже не пришлось менять скорость порта.
Так же сегодня хотел снять логи, но погода подвела, в сырую погоду опасно кататься да и коэффициенты будут не те.
Поэтому пока был в саду пил ароматный чай и изучал логи, которые успел снять.
Всем спасибо за внимание, все вопросы по адаптеру в личку или в комменты.
Самодельный K-Line адаптер для диагностики
Доброго времени суток! Ранее собирал адаптер K-Line своими руками. И как то раз у меня возникло желание сделать адаптер с кабелем microUSB, но не получилось, потому что приложения телефона не хотели работать с адаптером. Поэтому поменял на обычный USB. Этот адаптер для себя, оставлю дома у жены, чтобы не возить с собой постоянно. Материал был взят с сайта.
Изготовление печатной платы
K-Line адаптер для диагностики.lay6 – Печатная плата, рисованная в программе Sprint-layout 6.
Для изготовления платы нам нужно:
1. FT232RL 1 шт.
2. L9637D 1 шт.
3. Транзистор BC847C 2 шт.
4. Резистор 270 Ом 2 шт.
5. Резистор 510 Ом 2 шт.
6. Резистор 1 кОм 2 шт.
7. Резистор 1.2 кОм 1 шт.
8. Диод 1N4148
9. Светодиоды 3 шт.
10. Танталовый конденсатор 4.7 мкФ 10В
11. Танталовый конденсатор 47 мкФ 16В
12. Керамический конденсатор 0.1 мкФ 3 шт.
Сборка устройства на этом завершена. Микроконтроллер прошивать не нужно!
Никаких драйверов в компьютер устанавливать не пришлось. Windows 7 сам определил устройство как «COM7». Драйвер FTDI у меня уже был установлен давно.
Вася Диагност хорошо читает
YuriyCh тоже собирает такое устройство и пытается подружить с планшетом. Так что жду информации от него.
Спасибо за внимание!
Volkswagen Golf 2001, двигатель бензиновый 1.6 л., 102 л. с., передний привод, механическая коробка передач — электроника
Машины в продаже
Комментарии 25
Не собираюсь изготавливать печатную плату — нет времени вообще. Могу только заказать с производства, а компоненты собирать сам.
Ну тоже вариант
Цена какая?
Позже отвечаю в личку.
А у моего заводского, синего адаптера, вместо L9637D сборка из 4 транзисторов идет.
Вооо. Теперь будет чем заняться в гараже…
с какой версией Васи работает адаптер?
юсби отрезать и блютуз бы впихнуть…)
Объясните мне плиз, а в чем глобальный смысл. В чем отличие от кабелей с ebay?
А вот если бы кто дал ссылочку на такую схему, только с RS232 был бы благодарен
RS232 для железного COM порта. Вот тут есть схема avto-diagnostika.narod.ru/K-L-line.html
Поверьте, я знаю, что такое RS232. Я из того века, когда комп грузился с флопа 5.25)))
Я не понимаю на кой, самому мутить то, что купить и дешевле и просто. Я лет 7 назад купил 2 кабеля по 10 баксов. Один живет в машине, ни разу ни единой проблемы. Как с ХП начал пользоваться, так и сейчас на 10-ке все летает.
За схему большое спасибо. Мне нужно прошить моторы подъемников, а я все никак не соберусь заказать, жаба душит. Попробую собрать.
Эх вот если бы кто собрал кабель с железным ком-портом… Скажем под mini pci-e… У меня знакомый работает в конторе, производителе холтеров, помню намаялись они с переходниками с ЮСБ на КОМ
Собираем сами для экспериментов. По деньгам выходит примерно одинаково, даже чуть дешевле. С железным комом тоже собираются кабели. В сети всё найти можно. Удачи в ваших экспериментах
Спасибо. Да нет никаких экспериментов. Нужно собраться с силами и либо заказать либо спаять железный ком, поменять пару байт и кинуть на антресоль)))
Тогда цель ясна, саморазвитие это всегда почетно и уважаемо. Удачи вам.
Собираем сами для экспериментов. По деньгам выходит примерно одинаково, даже чуть дешевле. С железным комом тоже собираются кабели. В сети всё найти можно. Удачи в ваших экспериментах
Да, конечно схемы видел. Их много, Думал может кто проверенной поделится. А так, вроде как радиокоте были схемы с обсуждением и ссылки на киты для сборки, для особо ленивых, как я…
Всепротокольный 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) – протокол автомобилей General Motors и некоторых моделей 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 в 1983 году и окончательно стандартизирован в 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 определяется использование для целей OBD как 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-II».
Использование 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 одновременно, то тогда все работает правильно.
Выход 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.
Для программирования PIC18 можно использовать несложный JDM программатор [3], схема показана на рис.5.
Он очень прост и может бы собран за час на макетной плате. Недостатком является то, что программатор требует наличия последовательного (Com) интерфейса в компьютере и не работает с виртуальными USB/Com адаптерами. Использование ноутбуков также не рекомендуется, так как они не обеспечивают необходимого напряжения на выходе Com порта.
Разводка программатора показана на рис.6 и сделана с использованием так называемой «stripboard» технологии, достаточно популярного подхода к макетированию. Типичная stripboard имеет матрицу отверстий с шагом 2.54 мм для монтажа электронных компонентов, соединенных полосками меди на обратной стороне, отсюда и название – stripboard.
Разрезав полоски на обратной стороне и установив сверху проволочные перемычки, можно быстро собрать относительно несложные конструкции. Полоски легко перерезаются зенковкой отверстий обычным сверлом. Существует даже специальная программа – «LochMaster» [4] для проектирования конструкций таким способом. При использовании программатора следует обратить внимание, что корпус персонального компьютера (контакт 5 DB9 разъема) не соответствует корпусу программатора.
Другим условием является использование «полноценного» последовательно кабеля со всеми проводами, необходимыми для работы схемы. Программатор надежно работает с WinPic [5], единственная проблема заключается в том, что требуется отдельно загрузить файл-дескриптор PIC18F2455.dev (или PIC18F2550.dev) из дистрибуции Microchip IDE после того, как установлен собственно WinPic.
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
Процедура самодиагностики не включает проверку CAN трансивера MCP2551, здесь можно просто замерить напряжение на выводах 6 и 7. Оно должно быть в пределах 2.5 В.
Работа с Адаптером
Адаптер совместим по системе команд с ELM327 и может использоваться с приложениями, работающими с ELM327. Я предпочитаю использовать «ScanMaster ELM» Владимира Гурского [8], рис.10.
Диагностический адаптер для авто своими руками
Адаптер K‑Line это устройство передачи данных по однопроводной линии, т.е запросы диагностического оборудования и ответы ЭСУД передаются по одной линии. СОМ-порт компьютера имеет раздельные входы для получения и отправки данных, для согласования и предназначен адаптер сигналов СОМ K‑Line.
К‑линия автомобильной диагностики имеет «подтяжку» к 12 вольтам (питание ЭБУ) и размах сигналов от 0 до 12 V (теоретически, реально уровни немного отличаются).
В системах GM используется другой диагностический протокол – ALDL. В адаптере ALDL используется выход с открытым коллектором и 5 ‑вольтовые уровни сигналов. «Подтяжка» в этих системах находится внутри ЭБУ. В подавляющем большинстве случаев для этих систем не используется оригинальный адаптер, для диагностики применяют K‑Line, либо занизив до 5 вольт напряжение «подтяжки», либо подбором резистора для стабильной работы и на 5 и на 12 вольтовых уровнях.
СОМ – порт компьютера имеет (в нашем, простейшем, случае) две линии – по одной идет чтение сигналов, по другой – запись. Уровни сигналов СОМ – порта от ‑ 12 V до + 12 V, то есть, высокий уровень ‑ 12 V, низкий + 12 V. Подробнее здесь или (на русском) здесь.
Существует несметное количество вариантов схем адаптеров, от самых простых, на двух транзисторах, до полнофункциональных адаптеров на специализированных микросхемах. Естественно, желательно использовать хороший адаптер на специализированных микросхемах.
При диагностике иномарок 90 ‑x годов часто возникает необходимость в дополнительной линиии L (K‑L-Line адаптер), более поздние модели, как правило используют только K‑Line. Схемы адаптеров K‑L-Line можно посмотреть здесь.
Один из самых обстоятельных из известных мне «рукодельщиков» ch 0 zen поместил на своем отличном сайте наиподробнейшее, пошаговое описание изготовления адаптера на MC 33199 по «утюжной» технологии. Очень рекомендую. Можно скачать всю информацию целиком здесь.
Простая схема на 2 ‑х транзисторах
Адаптер K‑LINE © VSM
ПРОВЕРКА И НАСТРОЙКА
Адаптер K‑LINE © SHURIKEN
Описание настройки и осциллограммы Вы можете посмотреть здесь. Так же, как и в предыдущей схеме, нумерация выводов по входу соответствует 9 ‑пиновому разъему СОМ, выхода – 9 ‑пиновому разъему адаптера KR‑ 2 от НПП НТС.
K‑LINE: Новый взгляд на привычные вещи.
.… и МС 33290
Получится что-то типа этого.…
Все три варианта адаптеров прекрасно умещаются в корпусе переходника 9 – 9 pin
В заключение хочу сказать, что несмотря на то, что этот K‑Line адаптер очень негативно встречен сборщиками-продавцами «адаптеров» на более простой и дешевой элементной базе, это самое лучшее и правильное решение на сегодняшний день.