Адаптер обд своими руками

Digitrode

цифровая электроника вычислительная техника встраиваемые системы

Адаптер OBD-II своими руками

Современные автомобили напичканы разнообразной электроникой, и, чтобы получать данные о состоянии автомобиля, проводить его диагностику и выявлять неисправности, существует протокол OBD-II. Чтобы продиагностировать свой автомобиль сегодня не обязательно ехать в автомастерскую или покупать адаптер OBD-II, теперь его можно сделать самому.

Для этого можно воспользоваться открытым проектом obddiag.net. С помощью него можно самостоятельно собрать свой адаптер OBD-II на основе микроконтроллера LPC1517 Cortex-M3. Этот 32-разрядный микроконтроллер LPC1517 работает на тактовой частоте 72 МГц, имеет 64 КБ памяти программ, 12 КБ памяти данных и 4 КБ энергонезависимой памяти EEPROM. Его основное рабочее напряжение 3.3 В, минимальное рабочее напряжение 2.4 В. Микроконтроллер LPC1517 позиционируется своими разработчиками как устройство с низким уровнем потребления энергии. Микросхема расположена в корпусе LQFP-64, который достаточно удобен для пайки и в то же время довольно миниатюрен. Микроконтроллер LPC1517 имеет широкий диапазон рабочих температур от -40 до +105 градусов по Цельсию, поэтому он вполне может применяться в автомобильных приложениях. Впрочем, для данного адаптера OBD-II при необходимости может подойти другой микроконтроллер этого семейства, например, LPC1549 с большим объемом памяти (256 КБ). Микроконтроллеры NXP имеют записанный в ПЗУ загрузчик, который поддерживает загрузку бинарных образов во flash-память с помощью интерфейсов UART или CAN. Что является очень удобным инструментом при программировании микроконтроллеров.

Все программное обеспечение написано на языке программирования высокого уровня C++ для среды разработки NXP LPCXpresso IDE, которая использует набор инструментов GNU для процессоров ARM Cortex-M. Впрочем, написанный код может быть скомпилирован с помощью другого набора инструментов, например, GCC ARM Embedded или даже Keil uVision IDE.

Адаптер обеспечивает интерфейс последовательной передачи данных с помощью набора команд ELM327 и поддерживает все стандарты шины OBD-II такие, как SAE J1850 PWM, SAE J1850 VPW, ISO 9141-2, ISO 14230-4 и ISO 15765-4 CAN.

Схема адаптера в pdf-формате доступна здесь.

Исходный код проекта для среды разработки LPCXpresso IDE можно скачать с github.

Также имеется готовая прошивка для микроконтроллера в hex-формате.

Источник

OBD-сканер на базе Arduino



Мастер сделавший этот сканер владелец автомобиля Toyota Prius. Это гибридный автомобиль и на его приборной панели отсутствуют некоторые привычные приборы, например, тахометр или датчик температуры охлаждающей жидкости. Также интересно узнать о текущем расходе топлива или рассчитать среднее значение.

Все эти значения рассчитываются компьютером двигателя автомобиля, а для считывания данных просто требуется сканер.
Есть различные коммерческие решения, таким как Scan Gauge. Также можно использовать сканеры ELM327 работающий через Bluetooth. Популярными моделями являются Carista , BlueDriver или обычный диагностический сканер Innova / Bosch.

Мастер решил сделать сканер самостоятельно и установить его в свой автомобиль на постоянной основе.

Шаг первый: о шине CAN
Работа с CAN-шиной требует осторожности, при неправильных действиях можно вывести автомобиль из строя. Если вы не понимаете, что делаете, лучше приобретите готовый сканер.

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

Шина CAN — это протокол дифференциальной связи. Это означает, что для нее нужно всего два провода. Обычно это витая пара. Мы будем получать доступ к устройству через порт OBD. Если вы решите повторить самоделку, то вам не обязательно понимать, как этот протокол работает на фундаментальном уровне, но вы должны понимать его достаточно, чтобы иметь возможность писать или изменять код Arduino.
Почти каждый автомобиль сегодня имеет порт OBD II. Все они имеют одинаковый электрический разъем под панелью приборов. Однако существуют совершенно разные протоколы связи в зависимости от производителя автомобиля. Любой автомобиль, проданный в США после 2008 года, использует шину CAN ISO 15765 и именно его мастер будет использовать.

Читайте также:  Вода во дворе частного дома своими руками




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

12В может приходить и на порт OBD. Но здесь нужно быть уверенным, что провод именно питание, не сигнальная цепь.


Шаг четвертый: предохранитель и понижающий преобразователь
Изначально мастер подключил Ардуино к бортовой сети автомобиля 12 В без понижающего преобразователя. К сожалению устройство долго не проработало и сгорело. Тогда он установил понижающий преобразователь.

Подключает Vin- понижающего преобразователя к заземлению OBD. Подключает Vin + понижающего преобразователя к 12 В автомобиля (через предохранитель).

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

Шаг пятый: Arduino
Дальше нужно все смонтировать.
Мастер использует плату Teensy 4.0. Если будет использована другая плата, то распиновка может отличатся. Подключает напрямую контакты к плате CAN модуля:
MOSI (slave in)
MISO (slave out)
SS (chip select/slave select)
CLK (clock)
Возможно понадобиться подтягивающий резистор для интерфейса i2c.
Дисплей: подключайтесь напрямую (при условии, что используется тот же OLED-дисплей, что и у мастера) —
SDA (serial data)
SCL (serial clock)

Для питания дисплея подключает Vcc и GND. Эти четыре провода мастер установил в один разъем. Дисплей будет установлен на передней панели авто и при необходимости его можно будет снимать.

Источник

Адаптер обд своими руками

Адаптер 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. Подробнее здесь или (на русском) здесь.

Для согласования сигналов используются, как правило, специализированные микросхемы. Микросхема МС 33199 служит для согласования с К‑линией и «разделения» и «смешивания» сигналов. МАХ 232 – специализированная микросхема для согласования различных устройств с RS 232 (стандарт СОМ-порта). МАХ 232 содержит в себе интегральные преобразователи напряжения, позволяющие получить нужные для работы порта +/- 12 V и приводит поступающие сигналы к необходимому уровню. Более «продвинутые» специализированные микросхемы – DS 275 выполняет те же функции, что и МАХ 232 , но имеет автоматическую настройку выходных сигналов по уровню входных и, что немаловажно, не требует громоздкой конденсаторной «обвязки».

Существует несметное количество вариантов схем адаптеров, от самых простых, на двух транзисторах, до полнофункциональных адаптеров на специализированных микросхемах. Естественно, желательно использовать хороший адаптер на специализированных микросхемах.

При диагностике иномарок 90 ‑x годов часто возникает необходимость в дополнительной линиии L (K‑L-Line адаптер), более поздние модели, как правило используют только K‑Line. Схемы адаптеров K‑L-Line можно посмотреть здесь.

Один из самых обстоятельных из известных мне «рукодельщиков» ch 0 zen поместил на своем отличном сайте наиподробнейшее, пошаговое описание изготовления адаптера на MC 33199 по «утюжной» технологии. Очень рекомендую. Можно скачать всю информацию целиком здесь.

Читайте также:  Идеи декора беседок своими руками
Простая схема на 2 ‑х транзисторах

Как проверить адаптер не подключая к автомобилю? Очень просто. Дело в том, что поскольку линия после адаптера однопроводная, можно послать в порт сигнал и тут же его прочитать (режим «эхо»). Для этого необходимо подключить адаптер к компьютеру и воспользоваться древней программой диагностики компьютеров – Check It 3 . 0 . Включаем режим диагностики COM и наблюдаем в окнах прием – передачу символов. Если все проходит нормально, это косвенно говорит о том, что схема работает, для полной уверенности необходимо осциллографом проконтролировать сигналы RxD, TxD и K‑Line. Размах сигналов на разъеме СОМ – порта должен быть от + 12 V до 0 V (в идеале, реально чуть поменьше. По стандарту необходим размах от + 12 до ‑ 12 V), а на линии K‑Line от + 12 V до нуля. Проверку адаптера осуществляет так же программа диагностики ICD.

Адаптер K‑LINE © VSM

Более «правильную» схему адаптера для тех, кому проблематично достать дефицитную микросхему MC 33199 D прислал VSM. Здесь для согласования с портом применена всё та же, довольно распространенная микросхема MAX 232 (ICL 232 CPE, HIN 232 ), а согласование с линией диагностики – микросхема 74 ALS 04 ( 74 LS 04 , К 555 ЛН 1 , К 1533 ЛН 1 ).

Схема эксплуатируется в течении полутора лет, опробована на всех типах контроллеров. Защитный диод желателен с малым падением напряжения, второй – любой импульсный, например КД 521 , 522 . VSM поделился также опытом подстройки нагрузочного резистора. На схеме его номинал 2 Ком, это оптимально для тестирования и программирования блоков «Январь», для «Бошей» его номинал около 1 Ком, для GM – больше 2 Ком. От себя замечу, что номинал резистора применяю 510 ‑ 560 Om, как на «больших» схемах, это обеспечивает ток линии около 20 mA, что повышает помехозащищенность. В GM, повторюсь, нагрузочный резистор установлен в блоке и линия диагностики использует пятивольтовые уровни, внешний нагрузочный резистор в адаптерах ALDL не используется. Нумерация выводов по входу соответствует 9 ‑пиновому разъему СОМ, выхода – 9 ‑пиновому разъему адаптера KR‑ 2 от НПП НТС. С этим адаптером стабильнее всего работает спортивная система впрыска J 5 -Sport (Соколов-Спорт). Остальные, даже именитые адаптеры соединялись не с первого раза, рвали связь и пр.

ПРОВЕРКА И НАСТРОЙКА

1 . Ищем какой-нибудь измеритель, хотя бы простейший электрический тестер.
2 . Убеждается в правильности установки элементов схемы и наличии нужных и отсутствии ненужных соединений между ними.
3 . Подаем + 12 В, адаптер к компьютеру не подключен.
4 . Проверяем наличие + 5 В на выводе 16 MAX 232 и выводе 14 логики, если нет – проверяем правильность установки и работоспособность 142 ЕН 5
5 . Проверяем работу конверторов MAX 232 , т.е. наличие + 10 В на выводе 2 и ‑ 10 В на выводе 6 , если нет – проверяем правильность установки и исправность конденсаторов.
6 . Подаем на вход приемника RS 232 ‑ 10 В, т.е. соединяем выводы 13 и 6 МАХ 232 и проверяем прохождение сигнала: (логическая « 1 » на выходе 12 MAX 232 ) -> (логическая « 1 » на входе 5 ЛН 1 ) -> (логический « 0 » на выходе 6 ЛН 1 ) -> (+ 12 В в k‑line) -> ( логическая « 1 » на входе 1 ЛН 1 ) -> (логический « 0 » на выходе 2 ЛН 1 ) -> ( логический « 0 » на входе 3 ЛН 1 ) -> ( логическая « 1 » на выходе 4 ЛН 1 ) -> (логическая « 1 » на входе 11 MAX 232 ) -> (низкий уровень RS 232 , т.е. менее ‑ 5 В на выходе 14 MAX 232 ). При непрохождении сигнала через любой элемент, проверяем правильность установки и работоспособность этого элемента. Удаляем соединение между выводами 13 и 6 МАХ 232 .
7 . Подаем на вход приемника RS 232 + 10 В, т.е. соединяем выводы 13 и 2 МАХ 232 и проверяем прохождение сигнала: (логический « 0 » на выходе 12 MAX 232 ) -> (логический « 0 » на входе 5 ЛН 1 ) -> (логическая « 1 » на выходе 6 ЛН 1 )-(

Читайте также:  Зона для костра своими руками

0 В в k‑line) -> ( логический « 0 » на входе 1 ЛН 1 ) -> (логическая « 1 » на выходе 2 ЛН 1 )- ( логическая « 1 » на входе 3 ЛН 1 )-( логический « 0 » на выходе 4 ЛН 1 )-(логический « 0 » на входе 11 MAX 232 ) -> (высокий уровень RS 232 , т.е. более + 5 В на выходе 14 MAX 232 ). При непрохождении сигнала через любой элемент, проверяем правильность установки и работоспособность этого элемента. Удаляем соединение между выводами 13 и 2 МАХ 232 .
8 . Подключаем адаптер к порту RS- 232 компьютера, соединяем с k‑line и пытаемся установить связь с контроллером. В случае проблем, при отсутствии осциллографа, проверяем: правильность использования программы; параметры COM-порта (может ли он работать на выбранной скорости обмена); величину резистора в нагрузке k‑line; качество линии связи и т.д.

Адаптер K‑LINE © SHURIKEN

Второй вариант «правильной» схемы адаптера для тех, кому проблематично достать дефицитную микросхему MC 33199 D прислал SHURIKEN (CTTeam). Адаптер по этой схеме эксплуатируется более полутора лет, прошел проверку на всех системах впрыска и характеризуется как «железобетонный». Для согласования с СОМ – портом применена всё та же, довольно распространенная и дешевая (в разных регионах цена колеблется от 30 до 50 руб) микросхема MAX 232 (ICL 232 CPE, HIN 232 ), а согласование с линией диагностики – микросхема LM 339 . Каких либо дополнительных особенностей схема не имеет, катушка L 1 служит для фильтрации импульсных помех.

Описание настройки и осциллограммы Вы можете посмотреть здесь. Так же, как и в предыдущей схеме, нумерация выводов по входу соответствует 9 ‑пиновому разъему СОМ, выхода – 9 ‑пиновому разъему адаптера KR‑ 2 от НПП НТС.

K‑LINE: Новый взгляд на привычные вещи.

Прогресс движется вперед семимильными шагами и заглядывает даже за ворота автомастерских, в которых все чаще и чаще можно встретить ноутбуки в качестве диагностического компьютера. Нет слов, ноутбук более мобилен, функционален и в какой-то мере престижен, прибавляя «вес» автосервису. Но… В последнее время участились жалобы либо на неправильную работу адаптеров К‑Line, либо, что еще хуже, выход из строя COM – портов ноутбука. Дело, мне кажется в том, что у некоторых ноутбуков СОМ-порты работают с уровнями сигналов +/- 3 V, в то время как большинство адаптеров, рассчитанные на РС и собранные на микросхемах МАХ 232 выдают полноценные +/- 12 V. То есть, для работы с ноутбуком желательно иметь адаптер, предназначенный именно для этого. Самый простой путь – заменить привычную нам всем МАХ 232 на МАХ 3232 , имеющую пониженные напряжения сигналов. Цена вопроса – 90 рублей, именно столько составляет разница в стоимости этих микросхем в Волгограде.

Другой, и, как мне кажется (IMHO), более прогрессивный способ предложил HASS_ 78 – использование для согласования с портом ноутбука микросхему DS 275 . Данная микросхема работает с теми уровнями сигналов, которые получает, адаптируясь хоть к СОМ-порту РС, хоть к ноутбуку, представляя собой оптимальное решение для реализации K‑Line. Кроме всего прочего, данный способ практически не требует «обвязки» микросхем.

Итак, схема от Hass‑а на DS 275 и MC 33199 .

.… и МС 33290

Схемы не имеют никаких особенностей, и при правильной сборке не требуют никакой настройки. DА 1 – любой стабилизатор, например LM 2931 AZ‑ 5 , 7805 . Вместо 33199 ( 33290 ) при соответствующем изменении схемы можно использовать L 9243 (из иммобилизатора АПС‑ 4 ).

Получится что-то типа этого.…

Все три варианта адаптеров прекрасно умещаются в корпусе переходника 9 – 9 pin

В заключение хочу сказать, что несмотря на то, что этот K‑Line адаптер очень негативно встречен сборщиками-продавцами «адаптеров» на более простой и дешевой элементной базе, это самое лучшее и правильное решение на сегодняшний день.

Источник

Оцените статью