как узнать какой протокол стоит на авто
OBD разъём: ищем в автомобиле, определяем версию
Диагностика автомобиля своими руками: OBD порт в помощь.
Почти никто из посетителей этого сайта не является профессиональным инженером по ремонту… да чего-либо. Профессии разные, по дому можем сделать привычные вещи: заменить лампу, забить гвоздь… выложить плитку, установить окна… Однако у многих есть один предмет, который является одновременно и предметом обожания, и отдельным элементом семейного бюджета. Его мы используем для передвижения наших организмов из пункта А в пункты Б, В и далее по алфавиту.
Неприятно, когда наступает момент, когда наше средство передвижения, превращаясь в “роскошь”, это делать отказывается. Ну, колесо пробито, антифриз на дороге – здесь всё ясно. А если не заводится или работает как ему вздумается? Посвящаем раздел машинкам.
А разобраться со многими проблемами своего автомобиля по силам самостоятельно. Сейчас, впрочем, немало автостанций, которые читают ошибки с бортового компьютера. Причём бесплатно. Но на рынке уже есть предложения, с помощью которых провести компьютерную диагностику авто можно самому.
Ищем OBD2 порт
Для начала стоит обнаружить сам OBD2 порт. Ниже рулевой колонки, рядом с блоком предохранителей или посередине приборной панели – и всегда закрыто крышкой от случайного взгляда. На корточки придётся присесть, но увидев его, ни с чем не спутаете:
Отечественные автомобили стали с диагностическим разъёмом OBD2 с 1 января 2012.
Кстати, узнать о его существовании и точно местонахождении можно (теоретически) прямо сейчас. Отправляемся на сайт CarMD, вводим модель, марку и год авто (доступны не все, русских нет, да и иномарки представлены не всеми моделями – я выбрал подходящую):
и через мгновение вам покажут, где искать:
Обнаружили его? Присмотритесь к нему. Я знаю два вида OBD2 разъёмов: тип А и тип Б. Они легко различимы:
Как определить версию протокола? Посмотрите на контакты разъёма:
задействованы контакты (слева-направо, сверху-вниз) 2 6 7 10 14 15
А вот таблица, которая поможет понять версию протокола:
к 2 | к 6 | к 7 | к10 | к 14 | к 15 | Стандарт |
есть | есть | J1850 PWM | ||||
есть | J1850 VPW | |||||
есть | есть* | ISO9141/14230 | ||||
есть | есть | ISO15765 (CAN) |
* 15 контакт называется ещё L-линия. Его существование опционально в новых версиях автомобилей, использующих протоколы ISO9141-2 или ISO14230-4.
Присмотревшись к контактам, поймёте, что таблица неполная. Да, в дополнение к контактам 2, 7, 10 и 15 коннектор должен иметь контакты 4 (земляной на шасси), 5 (схемная земля) и 16 (плюс аккумулятора). Таким образом, тип протокола определяется по наличию контактов:
J1850 PWM | у разъёма есть контакты 2, 4, 5, 10 и 16 |
J1850 VPW | у разъёма есть контакты 2, 4, 5 и 16 (без 10) |
ISO9141/14230 | у разъёма есть контакты 4, 5, 7 и 16. Контакт 15 есть или нет |
ISO15765CAN | у разъёма есть контакты 4, 5, 6, 14 и 16 |
Один из способов узнать, какую версию OBD поддерживает бортовой компьютер автомобиля, это найти информационный шильдик Vehicle information. Под капотом его можно (или не можно) увидеть сразу в нескольких местах. Он исполняется в виде таблички на металлической или бумажной основах, и в числе прочего обязательно содержит в себе надпись OBD XX sertified. Это и есть ваша версия.
OBD2 reader — диагностика автомобиля
Выбор подключения
Изначально необходимо пояснить что для подключения к авто будет использоваться ELM327 адаптер. ELM327 – это микросхема, которая позволяет преобразовать протоколы, используемые в диагностических шинах автомобилей в протокол RS232, которым мы и будем передавать данные. За счет того что передача данных по протоколу RS232 происходит последовательно возникает первая проблема – скорости передачи данных, которую мы постараемся обойти в одном из следующих пунктов.
Существует несколько вариаций адаптера ELM327, которые классифицируются по способу передачи данных – Bluetooth, WIFI, USB. Исходя из того что целью разработки является мобильное устройство под операционной системой Android можно подобрать две наиболее подходящие версии ELM327, такие как Bluetooth и WIFI. Так как способ получения и обработки данных один, а отличаются они всего лишь вариантами подключения к адаптеру, то можно выбрать всего один, организовать при помощи него диалог, а после добавить остальные варианты подключения.
ELM327 1.5 vs ELM327 2.1
Одной из первых проблем, с которыми можно столкнуться стала проблема выбора непосредственно адаптера, в нашем случае Bluetooth. Оказывается если вам необходимо поддерживать все (по крайней мере большинство) автомобилей необходимо выбирать версию v1.5 вместо v2.1, что на самом то деле необходимо несколько раз уточнить при покупке адаптера, потому как продавцы пытаются выдать версию адаптера не за ту, которая есть на самом деле, т.к. они особо ничем не отличаются. На деле же в версии v2.1 отсутствует поддержка протоколов J1850 PWM и J1850 VPW, что говорит о том, что у вас не получится подключиться к автомобилям, которые используют эти протоколы.
Подключение
Подключение к адаптеру происходит в несколько этапов:
AT Z [reset all]
Сброс настроек адаптера до заводского состояния.
AT L1-0
Включить/Отключить символы перевода строки.
AT E1-0
Echo on – off
AT H1-0
Headers on – off
AT AT0-1-2
Adaptive Timing Off — adaptive Timing Auto1 — adaptive Timing Auto2
AT ST FF
Установить таймаут на максимум.
AT D [set all to Default]
Сброс настроек в исходное, настроенное пользователем состояние.
AT DP [Describe the current Protocol]
Сканер способен самостоятельно определять протокол автомобиля, к которому он подключен.
AT IB10 [set the ISO Baud rate to 10400]
Команда устанавливает скорость обмена данных для ISO 9141-2 и
ISO 14230-4 10400
AT IB96 [ set the ISO Baud rate to 9600]
Команда устанавливает скорость обмена данных для ISO 9141-2 и
ISO 14230-4 9600 для протоколов 3,4,5.
AT SP h [ Set Protocol h]
Команда выбора протокола h, где h:
0 – Automatic;
1 — SAE J1850 PWM (41.6 Kbaud);
2 — SAE J1850 VPW (10.4 Kbaud);
3 — ISO 9141-2 (5 baud init, 10.4 Kbaud);
4 — ISO 14230-4 KWP (5 baud init, 10.4 Kbaud);
5 — ISO 14230-4 KWP (fast init, 10.4 Kbaud);
6 — ISO 15765-4 CAN (11 bit ID, 500 Kbaud);
7 — ISO 15765-4 CAN (29 bit ID, 500 Kbaud);
8 — ISO 15765-4 CAN (11 bit ID, 250 Kbaud);
9 — ISO 15765-4 CAN (29 bit ID, 250 Kbaud);
AT SP Ah [Set Protocol h with Auto]
Команда устанавливает по умолчанию протокол h, если подключение по протоколу h не удалось, тогда адаптер начинает автоматический подбор протокола.
Исходя из описанных выше команд, формируем инициализационную строку.
Желательно давать возможность пользователю сменять инициализационные команды, потому как для того чтобы подобрать «ключ» к некоторым авто необходимо выбрать более подходящие настройки адаптера. В нашем же случае используются настройки, которые походят для большинства стандартных протоколов.
Так же желательно обратить внимание на команду APSP0, таким образом мы устанавливаем по умолчанию автоматический подбор протокола, это может занять некоторое время.
Соответственно если пользователь знает какой у его авто протокол, то используя возможность смены протокола подключения он может поменять 0 на номер его протокола.
Считывание диагностических данных
Для считывания диагностических данных используются специальные команды PID’s.
PID (Parameter id’s — Бортовые диагностические идентификаторы параметров) – коды, которые используются для запроса показателей определенных датчиков автомобиля.
Основные пиды можно найти в Википедии, там полный набор основных команд, которые должны поддерживать все автомобили. Так же есть наборы команд для определенных марок и типов автомобилей, эти наборы предоставляются за отдельную плату. В нашем случае приложение заточено на базовую диагностику автомобилей соответственно мы используем базовый набор команд.
Также есть возможность получать текущие данные от автомобиля при этом команда получения данных от авто будет иметь вначале 01, указывая на то что мы хотим получить real data. Если же мы хотим получить сохраненные данные автомобиля, то вначале команды необходимо указать 02. Например, команда для получения текущей скорости автомобиля – 010D, а для получения сохраненной скорости – 020D.
Если внимательно посмотреть на то количество команд, которое предоставляется открытыми ресурсами, то можно как раз и заметить ту проблему, о которой я писал в самом начале, а именно проблема скорости ответа адаптера. Так как отправка и получение команд идет последовательно, то для того чтобы получить показания датчика на текущий момент времени необходимо дождаться ответа на все предыдущие команды. Соответственно если запрашивать на получение все команды, то большая вероятность того что обновление реальных данных будет происходить очень медленно. Но и эту проблему можно решить, если воспользоваться командами, которые отобразят только те команды, что существуют в автомобиле. Например:
0100 – PIDs supported [01 — 20]
0120 – PIDs supported [21 — 40]
0140 – PIDs supported [41 — 60]
0160 – PIDs supported [61 — 80]
0180 – PIDs supported [81 – A0]
01A0 – PIDs supported [A1 — C0]
Я продемонстрирую как определить какие датчики присутствуют в автомобиле при помощи одного из пидов. Например:
Используя следующую табличку можем определить какие пиды поддерживаются нашим автомобилем, начиная от 01 до 20:
Исходя из получившихся данных можем определить, что наш автомобиль поддерживает следующие пиды:
Теперь вместо отправки всех 32 команд и ожидания ответа на них, несмотря на то, что некоторые могут отсутствовать, мы будем использовать всего 15 команд. Но и это не предел так называемой оптимизации. Для того чтобы данные обновлялись еще быстрее советую запрашивать только данные о тех датчиках, которые отображаются на экране. Хотя это ограничивает некоторый функционал приложения. Например, запись истории.
Считывание и расшифровка ошибок автомобиля
Ошибки автомобиля тоже могут быть различными и для них тоже существуют отдельные команды. Например:
А теперь пояснение.
Исходя из полученного ответа мы можем получить код ошибки, для этого декодируем полученное сообщение используя следующие таблички.
3, 4, 5 символы формируются по этой таблице:
Исходя из этого можем попробовать разобрать следующий ответ 0001000000111110
Эпилог
На данном этапе мы разобрались в том, каким образом организовать диалог с адаптером, посылать ему команды, получать и расшифровывать его ответы. Это большая часть работы, если считать то, сколько времени уходит на изучение материала, но в то же время довольно таки интересная. За пределами этой статьи осталось множество проблем связанных с визуальным интерфейсом, а также множество дополнительных функций, таких как добавление новых пидов из файла, стандартный и расширенный способ подключения к адаптеру и построения графиков.
Как узнать какой протокол стоит на авто
Диагностика бортового оборудования OBD-II
Назначение выводов разьема приведено в таблице. Использование контактов 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, Skoda), KW71 (BMW), KW82 (Opel). В новых автомобилях используется CAN протокол как для OBD-II так и для чип-тюнинга.
Выводы разъемы для Toyota/Lexus, источник pinoutsguide.com
Поддерживает ли мой автомобиль OBD-II?
Как определить какой протокол поддерживает электронным блоком управления автомобиля? Первое – можно поискать информацию в Инернете, хотя там много неточной и непроверенной информации. К тому же, многие автомобили выпускаются для разных рынков с различными протоколами диагностики. Второе – найти разьем и посмотреть какие контакты в нем присуствуют. Разьем обычно находистя под приборной панелью со стороны водителя. Протокол ISO 914-2 или ISO 14230-4 определяется наличием контакта 7 и отсуствием контактов 2 и 10, как показано в таблице. Замечу, что контакта 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 II Руководство пользователя
$02 (Freeze Frame)
$03 (Read Stored DTC)
Сканер производит запрос на считывание кодов неисправностей из памяти блока управления, а блок соответственно эти коды либо выдает, либо пишет, что их нет. Вполне традиционная и наиболее употребляемая диагностами всего мира процедура. Для кодов стандарта OBD II была разработана удобная и информативная система обозначений – буква и четыре цифры (см. рис 1). Эту систему безоговорочно приняло большинство автопроизводителей, причем не только для OBD II, но и для ОЕМ-протоколов. Первая позиция (то есть буква) обозначает тип системы – P (Powertrain), C (Chassis), B (Body) и U (Network). На рынке пока не так много автомобилей, у которых токсичность зависит от работы, например кузовных систем (хотя это абсолютно реально!). Как уже говорилось выше, практическое использование протокола OBD II пока в большей степени ориентировано на силовой агрегат, поэтому речь пойдет о кодах группы Р. Вторая позиция отвечает за степень «крутизны» кода. Все коды с нулевым расширением (Р0) являются базовыми (их еще называют Generic). Один и тот же базовый код описывает одинаковую неисправность, вне зависимости, с какого автомобиля производится считывание. Например, код Р0102 означает одну и ту же проблему для любого автомобиля, поддерживающего требования OBD II / EOBD – низкий уровень сигнала датчика расхода воздуха. Сканер уровня GST может считывать и расшифровывать только коды группы P0. Расширенные коды (Р1ххх, Р2ххх и т.п.), даже если имеют одинаковый номер, имеют разную расшифровку для разных производителей. Например, для Mazda код P1101 означает отклонения от нормы уровня сигнала датчика расхода воздуха, а аналогичный код для Mitsubishi – наличие проблем в цепи вакуумного соленоида противо-буксовочной системы. Пока такие коды являются привилегией производителей автомобилей и это, конечно, создает проблемы для независимых СТО. Расшифровка ОЕМ-кодов под силу только весьма продвинутым OBD-II приборам, хотя следует признать, что даже хорошие универсальные сканеры, работающие по заводским протоколам с этой задачей справляются далеко не всегда (дилерские приборы естественно не в счет). Однако постепенно ситуация меняется в лучшую сторону. Третья позиция (или вторая цифра) в обозначении кода призвана идентифицировать определенную функцию, выполняемую блоком управления, либо подсистему блока, а именно: 1 – измерение нагрузки и дозирование топлива; 2 – подача топлива, система наддува; 3 – система зажигания и регистрация пропусков воспламенения смеси; 4 – системы уменьшения токсичности; 5 – система холостого хода, круиз-контроль, система кондиционирования; 6 – внутренние цепи и выходные каскады блока управления; 7 и 8 – трансмиссия (АКП, сцепление и т.п.) Ну и, наконец, четвертая и пятая позиции – это собственно номер кода, идентифицирующий цепь или компонент.
$04 (Clear/information)
$05 (O 2 monitoring test results)
$06 (Monitoring test results for noncontinuously monitored systems)
$07 (Monitoring test results for continuously monitored systems)
$08 (Bidirectional controls)
$09 (Vehicle information)
Описание интерфейса универсального сканера ELM327.
Схема подключения сканера ELM327.
PID’ы Toyota/Lexus.
Для каких авто подходит сканер ELM327 OBD2
Знать все о техническом состоянии машины, выявлять неисправности еще до их проявления, сбрасывать ошибки «Check Engine», не прибегая к услугам автосервиса можно, если купить ELM327 OBD2. С таким сканером эти желания осуществимы. Но подходит ли прибор именно для вашего автомобиля, совместим ли он с его системами? С этими и другими вопросами разбираемся далее.
Краткая информация о сканере ELM327 OBD2
В основе аппаратной части – микроконтроллер ELM327, разработанный компанией Elm Electronics. Встроенное программное обеспечение v1.5 или v2.1
В зависимости от модели, данные о работе двигателя, ЭБУ и других систем автомобиля выводятся на экраны ноутбуков, планшетов и смартфонов.
Сканеры, поддерживающие Wi-Fi, работают с iOS и остальными устройствами. Посредством Bluetooth и USB обеспечивается обмен информацией с устройствами Android и Windows.
Сканеры ELM327 OBD2 подходят к авто, поддерживающим стандарт интерфейса бортовой диагностики OBDII и оборудованными цифровыми 16-контактными диагностическими разъемами. Через них в режиме реального времени передаются стандартизованные коды, позволяющие определять неисправности. При этом авто может стоять или быть в движении.
Определить, для каких авто подходит сканер ELM327 OBD2 можно по году выпуска, так как в разных странах переход на данный стандарт произошёл в разное время.
Как узнать совместимость сканера с автомобилем по году выпуска
Первыми были США. Cadillac, Ford Chevrolet, Dodge, Chrysler, оснащённые DLC Pin 16 и предназначенные для внутреннего рынка, здесь выпускают с 1996 года. Сканер подходит к любым моделям этих и других американских марок.
Япония – вторая страна, которая с 2000 года массово стала оснащать 16 контактными DLC свои Тойоты, Ниссаны, Мазды и другие модели авто, поставляемые в США и Европу. С 2003 года принимается японская версия стандарта JOBD и для праворульных моделей. С этого времени их также можно продиагностировать с помощью сканеров на базе ELM327.
В Западной Европе 16 Pin разъём сначала появился на машинах с бензиновыми двигателями, а затем и на дизелях. Произошло это соответственно в 2001 и в 2004 годах.
В России данный стандарт не является обязательным, что не мешает автомобилестроителям, включая АвтоВАЗ и ГАЗ, выпускать для экспорта модели с разъёмом 16 Пин. Следовательно, устройство подходит и для многих отечественных легковых машин и микроавтобусов.
Ниже приведена таблица, которая поможет ориентировочно определить, для каких авто подходят приборы ELM327 OBD2. Примите во внимание, что автомобили, произведенные в указанных странах для экспорта, могли и ранее оснащаться разъёмами 16 Pin.
Страна-производитель | Год выпуска |
США | с 1996 |
Западная Европа (бензин) | с 2001 |
Япония | с 2003 |
Западная Европа (дизель) | с 2004 |
Китай (бензин) | с 2007 |
Китай (дизель) | с 2008 |
Важно: если у вас авто с разъёмом другого типа, например, 12 Pin или 14 Pin, вы также сможете использовать ELM327, но через переходник. Главное, чтобы поддерживался интерфейс OBD2.
Оценка применимости: визуальный осмотр и изучение документов
Если вы сомневаетесь, подходит ли диагностическое устройство для вашего авто:
изучите техническую документацию, где может быть указание на поддержание стандарта;
поищите на авто идентификационную табличку «OBDII compliant»;
воспользуйтесь программой Mitchell OnDemand;
воспользуйтесь дилерской базой по конкретной модели;
осмотрите диагностический разъем.
DLC Pin 16 имеет трапециевидную форму и обычно располагается под приборной панелью (с ближней к водителю о стороны). Он может быть на виду или прикрыт крышкой. Его наличие почти на 100% подтверждает возможность подключения сканера ELM327 OBD2 и использование всех его функций.
Подводим итоги
Сканеры ELM327 OBD2 подходят к авто, поддерживающим диагностический стандарт OBD-II и оснащённым разъёмом 16 Pin. Если ваша иномарка сошла с конвейера в 2004 году или позже, она с огромной долей вероятности совместима со сканером. Владельцы современных российских автомобилей и микроавтобусов также могут хорошо сэкономить на диагностике в автосервисе.