Как проверить версию obd2 адаптера
Выбор подключения
Изначально необходимо пояснить что для подключения к авто будет использоваться 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, что говорит о том, что у вас не получится подключиться к автомобилям, которые используют эти протоколы.
Подключение
Подключение к адаптеру происходит в несколько этапов:
- Подключение к адаптеру (Bluetooth, WIFI)
- Отправка инициализационных команд (инициализационной строки)
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]
Я продемонстрирую как определить какие датчики присутствуют в автомобиле при помощи одного из пидов. Например:
- 0100 \\ запрос
- BB1E3211 \\ ответ от авто
Используя следующую табличку можем определить какие пиды поддерживаются нашим автомобилем, начиная от 01 до 20:
Исходя из получившихся данных можем определить, что наш автомобиль поддерживает следующие пиды:
Теперь вместо отправки всех 32 команд и ожидания ответа на них, несмотря на то, что некоторые могут отсутствовать, мы будем использовать всего 15 команд. Но и это не предел так называемой оптимизации. Для того чтобы данные обновлялись еще быстрее советую запрашивать только данные о тех датчиках, которые отображаются на экране. Хотя это ограничивает некоторый функционал приложения. Например, запись истории.
Считывание и расшифровка ошибок автомобиля
Ошибки автомобиля тоже могут быть различными и для них тоже существуют отдельные команды. Например:
- 03 – Для отображения сохраненных кодов ошибок
- 0A – Для отображения постоянных кодов ошибок.
А теперь пояснение.
3, 4, 5 символы формируются по этой таблице:
Исходя из этого можем попробовать разобрать следующий ответ 0001000000111110
Код ошибки: P103E
Эпилог
На данном этапе мы разобрались в том, каким образом организовать диалог с адаптером, посылать ему команды, получать и расшифровывать его ответы. Это большая часть работы, если считать то, сколько времени уходит на изучение материала, но в то же время довольно таки интересная. За пределами этой статьи осталось множество проблем связанных с визуальным интерфейсом, а также множество дополнительных функций, таких как добавление новых пидов из файла, стандартный и расширенный способ подключения к адаптеру и построения графиков.
Адаптер ELM327 предназначен для диагностики авто, с помощью сканера можно подключиться к электронному блоку управления и получать данные с датчиков, считывать и удалять ошибки Check Engine и даже изменять настройки систем.
Первыми микроконтроллер ELM327 разработали Канадские специалисты, он оснащен прошивкой для связи ЭБУ авто с компьютером.
Адаптер ELM327 был создан для работы с автомобилями только по протоколу OBD2, но впоследствии для него изобрели переходники, с помощью которых можно диагностировать авто с другими протоколами.
Подключение ELM327
Адаптер подключается через диагностический разъем OBD2, который присутствует во всех современных автомобилях начиная с 1996 года. Разъем OBD2 находится с салоне автомобиля, около руля и иногда под торпедой со стороны пассажира.
Типы подключения ELM327:
- Проводные: через COM или USB порт
- Беспроводные: Bluetooth или WIFI
Разницы в способе подключения нет, адаптер ELM327 передает команды одинаково. Для считывания информации существует большое кол-во программного обеспечения для Windows, Android или IOS. Бывают случаи, когда адаптер не подключается к авто, происходит это по нескольким причинам:
- некачественный адаптер или версия прошивки
- протокол вашего авто не поддерживается адаптером или программой
- нерабочий адаптер
Рассмотрим проблемы с подключением подробней.
Прошивки адаптера ELM327
Версия 1.5
Полностью повторяет оригинальный адаптер, разница лишь в том, что собирали его наши Китайские друзья. Особое внимание нужно обращать на чип устройства. На рынке существует множество адаптеров версии 1.5, но не все способны стабильно работать. Это происходит из-за того, что Китайские производители пытаясь удешевить себестоимость, устанавливают некачественные чипы. Покупая ELM327, спросите у продавца, какой установлен чип, если символы сходятся с PIC18F25** (следующие цифры не имеют особого значения), смело покупайте этот адаптер. Дело в том, что адаптеры с этим чипом способны работать с максимальным кол-вом протоколов, а значит поддерживают все автомобили со стандартом OBD2.
Версия 2.1
Новая версия прошивки, в том же Китайском адаптере. В отличии от версии 1.5, эту версию перелопатили Китайские программисты и добавили много разных функций, который они посчитали необходимыми для elm327. Версия 2.1 более избирательна к моделям автомобилей и подойдет далеко не всем, многих он просто не распознает, попросту потому, что версия 2.1 работает не со всеми протоколами. Поэтому, во избежание конфуза, советуем приобретать версию ELM327 1.5 с правильным чипом, т.к. версия 2.1 не стабильна.
Прошивки профессиональных адаптеров ежегодно обновляются, в базу добавляются новые модели, но многие даже современные авто, часто используют старые блоки управления, поэтому китайская версия 1.5 адаптера elm327 будет еще долго актуальной для автолюбителей.
Какие протоколы поддерживает адаптер ELM327
Итак разберем подробней протоколы и работу адаптер.
Связь с автомобилем через адаптер происходит с помощью специальных AT команд, методы которых прописаны в чипе. Программа посылает адаптеру команду, он считывает ее и реагирует исходя из запроса. Например если мы отправим адаптеру команду SP 00, он переключиться в автоматический режим распознания протоколов. Существует большой перечень AT команд для elm327, найти их можно в мануалах к адаптеру.
Для передачи данных от адаптера к блоку управления по проводам изобрели протоколы. Если говорить простым языком, это правила, по которым сигнал передается от устройства к устройству. В автоиндустрии существует целый ряд протоколов, ниже представлен список тех, которые распознаются адаптером ELM327 версии 1.5:
- SAE J1850 PWM (41.6кбит)
- SAE J1850 VPW (10.4кбит)
- ISO9141-2 (5 бит init,10.4кбит)
- ISO14230-4 KWP (5 бит init,10.4кбит)
- ISO14230-4 KWP (fast init,10.4кбит)
- ISO15765-4 CAN (11бит ID,500кбит)
- ISO15765-4 CAN (29бит ID,500кбит)
- ISO15765-4 CAN (11бит ID,250кбит)
- ISO15765-4 CAN (29бит ID,250кбит)
- SAE J1939 CAN (29бит ID,250*кбит)
- USER1 CAN (11*бит ID,125*кбит)
- USER2 CAN (11*бит ID,50*кбит)
Все современные автомобили работают по одному из этих протоколов. Перед покупкой адаптера, Вы можете проверить, какой из протоколов у вашего авто и убедиться, сможет ли адаптер прочитать ваш автомобиль. Теперь понятно, почему elm327 версии 2.0 может не подключаться к вашему авто?
Так же, существует ряд нестандартных протоколов, таких как nissan cunsult 1, consult 2, их так же называют JOBD. Эти протоколы работают по измененным скоростям передачи данных, поэтому простыми командами адаптеру их не понять. Существуют программы, которые “умеют” работать с такими протоколами. Одна из таких программ CARZIS для Android устройств.
Считывание ошибок адаптером
Как и любой другой адаптер, elm327 оперативно диагностирует и считывает ошибки авто. Если горит индикатор Check Engine на приборной панели, подключаем адаптер к разъему, запускаем программу и считываем ошибку, затем находим описание ошибки в интернете и определяем неисправность без долгих поездок в сервис, так как в сервисе профессионалы приступят к этой же процедуре и предложат диагностировать ваш автомобиль.
Также, с помощью elm327 можно оперативно сбросить любую ошибку на панели, но тут надо быть аккуратнее, так как, если не устранить причину ошибки, то есть, не отремонтировать авто, ошибка появиться снова через определенное время.
Подведем итоги
- При выборе адаптера проверяйте не только версию прошивки, но и чип.
- Перед приобретением elm327 убедитесь в том, что ваш автомобиль поддерживает протокол, с которым работает адаптер.
- Наличие разъема OBD2 обязательно.
Если у вас праворульный автомобиль, произведенный для рынка Японии, не каждое приложение сможет работать на этих машинах. То же правила действуют для большинства автомобилей российского автопрома. Электронные блоки Январь, Микас, Bosh могут работать по протоколам,с измененными скоростями передачи данных, но и для них существуют программы. Исходя из этого, ELM327 можно смело считать профессиональным мультимарочным адаптером, который способен на многое.
Диагностика с помощью адаптера ELM327 wifi v1.5 автомобиля, который не показывает ошибок.
ELM327 как пользоваться
Как уже говорилось раньше с помощью любого адаптера ELM327 можно диагностировать двигатель, а более качественные модели с соответствующим программным обеспечением могут показать ошибки по всем системам. Но если автомобиль не показывает ошибок, это еще не означает что он исправен. Ошибки загораются, когда автомобилю совсем плохо и его нельзя эксплуатировать без ремонта, а вот пограничные состояния, когда ошибка еще не возникла или была сброшена можно отследить при помощи параметров.
ELM327 программы.
Для диагностики машины подойдет любая программа, которая работает с ELM327 и может выводить параметры работы двигателя, мы же рассмотри работу с программой Car Scanner. И так Вы вставили адаптер в разъем OBD2, повернули ключ зажигания и машину не заводим. Осуществляем подключение телефона к адаптеру. Если первый этап прошел, адаптер считаем УСЛОВНО исправным. Следующим этапом ELM327 осуществляет подключение к EBU автомобиля. Если подключение не прошло, значит Ваш автомобиль старый и требует специальной строки инициализации подключения (ищите по соответствующему запросу информацию в интернете) или Ваш адаптер не исправен (что маловероятно, так как неисправные адаптеры косячат, отваливаются, искажают информацию или сбивают работу двигателя, но подключаются). Проверьте работу другим заведомо исправным адаптером.
ELM327 аккумулятор.
И так пока зажигание включена, а машина не заведена - смотрим напряжение аккумулятора. Если напряжение в диапазоне 12,4-12,7 Вольт аккумулятор исправен. Если напряжение ниже, к примеру 11,8 Вольт то значит или аккумулятор старый и скоро сдохнет или к машине не правильно подключена навесная электроника (магнитола, камеры, регистратор, антена, GPS трекер, сигнализация) и у Вас большой ток утечки на не заведенной машине. Дальше включаем график напряжения АКБ и заводим машину. В этот момент напряжение должно подняться до 13,8 - 14,5 Вольт в зависимости от модели авто. Если напряжение ниже 13,8 вольт - генератор не достаточно заряжает аккумулятор, если больше 14,5 Вольт идет перезарядка, которая со временем выведет аккумулятор из строя. Если напряжение так и осталось 12,5 вольт - значит генератор не работает. На графике мы видим машину, которая пол зимы не эксплуатировалась, аккумулятор разряжен, но успешно завелась и пошла зарядка аккумулятора.
ELM327 абсолютное давление во впускном коллекторе.
ELM327 долговременная топливная коррекция.
ELM327 температура всасываемого воздуха.
Следующий датчик температура всасываемого воздуха, должен работать как термометр. На холодной машине, если на улице -10 градусов Цельсия, датчик должен показывать -10 градусов Цельсия, дальше машина прогревается, под капотом становится тепло +30 градусов Цельсия, датчик показывает температуру всасываемого воздуха +30 градусов. Если датчик искажает показания, EBU на основе его показаний будет готовить не правильную смесь бензина и воздуха и Вы получите перерасход топлива. Если датчик не исправен, двигатель будет работать на значениях из таблицы в EBU, а на панели приборов загорится ошибка.
Вообще инжекторный двигатель будет работать при любых неисправных датчиках с горящей ошибкой, получая данные из расчетных таблиц в памяти EBU. Единственный датчик при неисправности которого работа двигателя не возможна это датчик положения коленвала.
ELM327 температура охлаждающей жидкости.
Следующий параметр который мы смотрим это температура охлаждающей жидкости. Этот параметр очень важен для работы двигателя, поэтому его показания вынесены на панель приборов. Температура двигателя не совместимая с его жизнью зажигает на панели приборов отдельную лампочку и говорит о невозможности продолжать дальнейшее движение без печальных последствий для двигателя. И поверьте, для инжекторных двигателей это серьезно. Так вот данные о температуре охлаждающей жидкости из EBU которые Вам покажет ELM327, гораздо более точные, чем на панели приборов. Температура охлаждающей жидкости на холодной машине соответсвует температуре окружающего воздуха, и дальше плавно и равномерно поднимается до оптимальной рабочей температуры двигателя в 90 градусов Цельсия и дальше поддерживается около этого значения. Если вы видите какие либо скачки на графике во время прогрева машины - датчик не исправен и в ближайшее время может Вас подвести - его нужно менять. Если датчик умер ELM327 покажет ошибку.
ELM327 обороты двигателя.
Еще один параметр который продублирован на панели Вашего автомобиля это обороты двигателя. И показания ELM327 полученные от EBU, опять же будут более точными. На холодной машине двигатель начинает работу с 1200 оборотов и затем плавно по мере прогрева снижает значение до 800 оборотов на холостом ходу. Как видите на прогретой исправной машине показания оборотов двигателя на холостом ходу колеблются на 10 единиц от 790 до 800 оборотов. Если показания оборотов двигателя на холостом ходу колеблются значительно сильнее и Вы слышите, что обороты плавают проверьте датчик холостого хода и датчик положения дроссельной заслонки. Если какой из этих датчиков умер ELM327 покажет ошибку по данному датчику.
ELM327 датчик кислорода.
ELM327 угол опережения зажигания.
ELM327 Car Scanner.
Теперь касательно программы Car Scanner. Она ведет запись только тех параметров, которые в данный момент времени отображаются на экране телефона и связанных с ним. То есть если Вы переключили отображение с одного параметра на другой, то запись первого параметра скорее всего прервется и на графике будет пропуск, до того момента, пока Вы снова не будете наблюдать этот параметр на экране. В оправдание могу сказать, что даже устройства Launch могут выводить одновременно до 6 параметров.
ELM327 купить.
Читайте также: