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 адаптер очень негативно встречен сборщиками-продавцами «адаптеров» на более простой и дешевой элементной базе, это самое лучшее и правильное решение на сегодняшний день.
Источник