С-Петербург, улица Тосина 3
+7 (812) 917-84-85
+7 (921) 316-27-00

Диагностический разъем obd 2


Диагностический разъём автомобиля OBD2: версии и протоколы

Диагностика автомобиля своими руками: OBD порт в помощь.

Почти никто из посетителей этого сайта не является профессиональным инженером по ремонту… да чего-либо. Профессии разные, по дому можем сделать привычные вещи: заменить лампу, забить гвоздь… выложить плитку, установить окна…  Однако у многих есть один предмет, который является одновременно и предметом обожания, и отдельным элементом семейного бюджета. Его мы используем для передвижения наших организмов из пункта А в пункты Б, В и далее по алфавиту.

Неприятно, когда наступает момент, когда наше средство передвижения, превращаясь в «роскошь», это делать отказывается. Ну, колесо пробито, антифриз на дороге — здесь всё ясно. А если не заводится или работает как ему вздумается? Посвящаем раздел машинкам.

А разобраться со многими проблемами своего автомобиля по силам самостоятельно. Сейчас, впрочем, немало автостанций, которые читают ошибки с бортового компьютера. Причём бесплатно. Но на рынке уже есть предложения, с помощью которых провести компьютерную диагностику авто можно самому.

Ищем OBD2 порт

Для начала стоит обнаружить сам OBD2 порт. Ниже рулевой колонки, рядом с блоком предохранителей или посередине приборной панели — и всегда закрыто крышкой от случайного взгляда. На корточки придётся присесть, но увидев его, ни с чем не спутаете:

СПРАВКА

Отечественные автомобили стали с диагностическим разъёмом OBD2 с 1 января 2012.

Кстати, узнать о его существовании и точно местонахождении можно (теоретически) прямо сейчас. Отправляемся на сайт CarMD, вводим модель, марку и год авто (доступны не все, русских нет, да и иномарки представлены не всеми моделями — я выбрал подходящую):

и через мгновение вам покажут, где искать:

Помнится, было даже иллюстрированное приложение для Андроид OBD Port Lookup, однако Google Store на данный момент выдаёт по этому названию ошибку . Но поиск разъёма — не самая трудная часть.

Ошибки OBD2: научитесь читать и понимать

Обнаружили его? Присмотритесь к нему. Я знаю два вида 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

Разработка разъема obd2 началась 1988 году, а уже с 1994 года начали выпускать автомобили, отвечающие стандартам obd2, двумя годами позже он вступил в силу окончательно и стал обязательным для всех легковых и коммерческих автомобилей в США.

Позже и европейские законодатели также приняли obd2  за основу при разработке требований EURO 3, в числе которых есть и требования к системе бортовой диагностики — EOBD. В Европе принятые нормы действуют с 2001 года.

Дело в том, что в начале 1990-х годов в США стремительно развивалось экологическое движение, на фоне которого в США были приняты определенные стандарты, по которым ввели обязательное оснащение автомобилей электронными блоками управления (ЭБУ, ECU), или, если проще — системой за контролем работы двигателя и всех параметров, отвечающих за состав выхлопа.

Стандарт OBD2

Стандарты предполагали считывание информации об отклонениях в экологических параметрах работы двигателя, а также диагностики ЭБУ, obd2 как раз и является системой накопления и считывания подобных протоколов информации. Изначальная «экологическая направленность» obd2, с одной стороны, ограничила возможности по его использованию в диагностике всего спектра неисправностей, но с другой стороны  определила его крайне интересную судьбу и, как следствие, широкое распространение не только в США, но и на других автомобильных рынках.

С помощью obd2 можно снять практически любые данные, но общее количество физических интерфейсов и протоколов напугает любого. Это объяснимо тем, что к моменту появления первых версий спецификаций obd2 большинство автопроизводителей уже успели разработать что-то своё. Конечно, введение стандартов привело к некому порядку, но также потребовало включения в спецификацию всех интерфейсов и протоколов, которые на тот момент существовали, практически у всех.

В obd2 разъёме присутствуют три стандартных интерфейса:

MS_CAN, K/L-Line, 1850, там же плюс аккумулятора и две земли (сигнальная и просто масса). Это по стандарту, остальные 7 из 16 выводов – ОЕМ, то есть каждый производитель эти выводы использует как по его мнению наиболее удобно. Но и стандартные выводы зачастую имеют расширенные, продвинутые функции.

Например, MS_CAN может быть HS_CAN, HS_CAN может быть на других пинах (неоговоренных стандартом) наряду со стандартным MS_CAN., Пин №1 может быть: у Ford – SW_CAN, у WAGов – IGN_ON, у Кia – check_engene и т.д.

Все интерфейсы OBD2 также сильно развивались:

тот же интерфейс K –Line изначально был однонаправленным, сейчас он двунаправленный, Бодрейт CAN интерфейса также растёт. На сегодняшний день большинство европейских авто 90-х и начала 2000-х можно продиагностировать имея только K –Line, а большинство американских – только SAE1850. Сегодняшний вектор развития – это всё более широкое применение CAN, повышение скорости обмена, всё чаще видим и однопроводный SW_CAN.

Безусловно, стоит отдать дань стандартам, но все же каждый производитель привносит что-то свое в реализацию той или иной модели автомобиля и не всегда получается следовать стандартам и поэтому obd2 делает свое дело. Этот микроконтроллер, с набором интерфейсов, соответствующих стандарту J1962M переводит всё многообразие данных на разных интерфейсах диагностических разъёмов в язык, оптимальный для приложений, используемых для диагностики автомобиля.

В основном, сейчас большинство протоколов расшифровывается приложением, что позволяет любому профессионалу и не очень оценить данные по ошибкам и параметрам системы.  Первым массовым интерпретатором obd2 с открытым протоколом стал ELM327. Это 8-ми битный микроконтроллер MicroChip PIC18F2580, который стал широко распространён в авто кругах и его стоимость хоть и разнообразна, но вполне приемлема.

Использование такого адаптера автолюбителями начинается от -  положить в бардачок на всякий случаи и заканчивается -  сбросить ошибку перед продажей недобросовестным продавцом.

Обновление прошивок и переконфигурирование электронных блоков также возможно большинством адаптеров, но всё-таки лучше в таком случае обратиться к специалистам.

Кому-то просто нравится владеть всей информацией о параметрах работы двигателя и других систем в красивом интерфейсе приложения на телефоне.

Многих мучают вопросы: Насколько необходим данный стандарт obd2 в реальной практике, каковы его плюсы и минусы? Каким требованиям должны удовлетворять диагностические приборы?

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

Такая ориентация определяет все сильные и слабые стороны стандартов obd2. Так как далеко не все неисправности имеют прямое влияние на токсичность, это сужает сферу действия стандарта. Но, с другой стороны, основными и самыми важными устройствами автомобиля являются двигатель и трансмиссия, а этого вполне достаточно, чтобы констатировать важность применения стандартов obd2.

Унификация OBD2

Вторым важным отличием стандарта obd2 является унификация. Стандартный диагностический разъём, унифицированные протоколы обмена, единая система обозначения кодов неисправностей дает производителям диагностического оборудования возможность создавать недорогие универсальные приборы, а специалистам значительно сокращать затраты на приобретение дорогостоящего оборудования для диагностирования и стандартизировать процесс, сокращая время на диагностику.

Одним из самых важных достижений стандарта диагностики obd2 является развитие оперативной диагностики и значительное упрощение данной процедуры. На блок управления возложено огромное количество функций, обеспечивающих беспрерывный контроль всех систем автомобиля. Благодарю развитию и усовершенствованию модельных рядов автопроизводителей, количество функций контроля блока управления кардинально растет с каждым поколением.

Давайте рассмотрим, как можно использовать диагностические возможности obd2 в повседневной работе.

Это и отражает документ J1979, определяющий диагностические режимы, которые должны поддерживаться как блоком управления двигателем/АКП, так и диагностическим оборудованием.

Ниже список этих режимов: — Параметры в реальном времени — Сохраненный кадр параметров — Мониторинг для непостоянно тестируемых систем — Результаты мониторинга для постоянно тестируемых систем — Управление исполнительными компонентами — Идентификационные параметры автомобиля — Считывание кодов неисправностей — Стирание кодов неисправностей, сброс статуса мониторов

— Мониторинг датчика кислорода

Руководства по ремонту

Очень важно, что наличие аналогичного разъема не является 100 процентным признаком совместимости с OBD-II. Автомобили оборудованные этой системой обязательно должны иметь отметку на одной из табличек в подкапотном пространстве и/или в сопроводительной документации. Чаще всего используемый протокол можно идентифицировать по наличию/отсутствию определенных контактов на диагностическом разъеме. Если на этом разъеме присутствуют все контакты, следует обратиться к технической документации на конкретный

автомобиль, которая есть на сайте.

Диагностический коннектор OBD II

Обозначение контактов

  1. OEM
  2. J1850 Шина+ (Bus + Line, SAE)
  3. OEM
  4. Заземление кузова
  5. Сигнальное заземление
  6. Верхний контакт CAN (J-2284)
  7. K Line ISO 9141-2
  8. OEM
  9. OEM
  10. Bus — Line, Sae J1850 Шина
  11. OEM
  12. OEM
  13. OEM
  14. Нижний контакт CAN (J-2284)
  15. L Line ISO 9141-2
  16. Напряжение АКБ

Контакты диагностического разъема для используемых протоколов. Контакты 4, 5, 7, 15, 16 — ISO 9141-2. Контакты 2, 4, 5, 10, 16 — J1850 PWM. Контакты 2, 4, 5, 16 (без 10) — J1850 VPW. Протокол ISO 9141-2 идентифицируется наличием контакта 7 и отсутствием 2 и/или 10 контактов на диагностическом разъеме. Если отсутствует контакт 7, в системе используется протокол SAE J1850 VPW (Variable Pulse Width Modulation) или SAE J1850 PWM (Pulse Width Modulation). Все три протокола обмена данных работают через стандартный кабель OBD-II J1962

connector.

Описания кодов DTC

Код DTC состоит из 5 цифр. На рисунке внизу показана структура кода DTC. При помощи данной информации вы можете удалить код DTC даже в том случае, если у вас нет описания данного кода.

Обозначения кодов DTC
Список наиболее употребительных сокращений по OBDII

AFC – Расходомер воздуха ALDL – Диагностический коннектор. Так раньше назывался диагностический коннектор для автомобилей GM, а также разъем для подключения сканнера; также может использоваться как название любых сигналов OBD II CAN — Контроллер CARB – Калифорнийский совет по атмосферным ресурсам CFI – центральный впрыск топлива (TBI) CFI – непрерывный впрыск топлива CO – монооксид углерода DLC – Диагностический коннектор Driving Cycle – Последовательность пуска, прогрева и движения автомобиля, в ходе этого цикла происходит тестирование всех функций OBD II DTC – Код неисправности

ECM – Блок управления двигателем

EEC – Электронное управление двигателем EEPROM or E2PROM – Программируемая память, доступная только для чтения EFI – электронный впрыск топлива EGR — рециркуляция выхлопных газов EMR – электронный блок уменьшения угла зажигания EPA – Совет по охране окружающей среды ESC – Электронная регулировка зажигания EST – Электронная регулировка момента зажигания Fuel Trim – балансировка состава смеси HC — углеводород HEI — зажигание HO2S – подогрев датчика кислорода ISO 9141 – международный стандарт для разъема OBDII J1850PWM – протокол для разъема OBD II, установленный по стандарту SAE J1850VPW — протокол для разъема OBD II, установленный по стандарту SAE J1962 – стандарт для диагностического коннектора OBD II, установленный по стандарту SAE J1978 – стандарт SAE для сканнеров OBD II J1979 – стандарт SAE для режимов диагностики J2012 – стандарт SAE, одобренный EPA, для сообщений при тестировании системы выхлопных

газов

MAF – расход воздуха MAP – абсолютное давление во впускном коллекторе MAT – температура воздуха во впускном коллекторе MIL – индикаторная лампа неисправностей. Лампа «Check Engine Light» на панели приборов. NOx – оксид азота O2 — кислород OBD — диагностика OBDII or OBD II – усовершенствованный стандарт для диагностики автомобилей в США после 1-1- 96 Parameters – Параметры по диагностике OBD II PCM – Блок управления трансмиссией PCV — Картер Proprietary Readings – Параметры бортового компьютера, которые не требуются для диагностики OBD II, но могут использоваться для диагностики неисправностей различных типов автомобилей. PTC – Код неисправности RPM – об/мин Scan Tool — сканнер SES – лампа сервисного обслуживания двигателя на панели приборов SFI – последовательный впрыск топлива Stoichiometric ( Stoy’-kee-o-metric) Ratio – Коэффициент сгорания топлива TPS – Датчик положения дроссельной заслонки VAC — вакуум VCM – центральный блок управления автомобиля VIN – идентификационный номер автомобиля VSS – датчик скорости

WOT – открытая дроссельная заслонка

Разъем диагностики OBD-II, как интерфейс для IoT

Когда-то давно, примерно в середине 90-х, во время появления процессора Pentium Pro, один из основателей компании Intel Гордон Мур заметил, что: «Если бы автомобилестроение развивалось со скоростью эволюции полупроводниковой промышленности, то сегодня Роллс-Ройс мог бы проехать полмиллиона миль на одном галлоне бензина, и было бы дешевле его выбросить, чем платить за парковку». Но, пожалуй, уже сегодня автомобилестроение совершает гигантский шаг развития в направлении, как кардинальной смены типа топлива, так и технологий управления автомобилем. Практически недавно представлены коммерческие электромобили и авто на водородном топливе, а автопилот становится желаемым компонентом электронной «начинки» транспортного средства. В большинстве своем, как раз стремительный рывок автопрома обусловлен появлением надежных и безопасных решений на основе умной электроники для автомобильных бортовых систем управления. Но, где же в повседневной жизни Интернет в автомобиле, где же технологии Интернета вещей (IoT), а также многим известная концепция подключенного к сети автомобиля (Connected Car)?

The Rolls-Royce 103EX. Rolls-Royce unveils driverless, electric concept car, complete with silk love seat – The Telegraph. На самом деле, все вышеперечисленные технологии уже существуют и используются, однако, только в достаточно обособленных решениях. Виною тому, строгие требования к обеспечению безопасности, которые непременно должны быть реализованы при запуске любой новой технологии или решения на транспорте. Поэтому, нельзя сказать, что, садясь в автомобиль со смартфоном, можно автоматически получить решение IoT или Connected Car. В большинстве стран, и это очень логично, существует запрет на использование смартфона или других гаджетов за рулем, а если говорить о голосовых ассистентах, то в большинстве случаев они сейчас раздражают и отвлекают, как водителя, так и пассажиров. В свою очередь, медиа-центр, дополнительные видеоэкраны и отличная акустика, конечно, являются очень привлекательными составляющими современного автомобиля. Но хочется поймать себя на слове, и отметить, что как хорошо приглушить музыку и просто смотреть в окошко на проносящиеся мимо улицы или природу. Конечно, есть пробки, но в этой публикации ставится цель отметить не сколько этическую составляющую или рассмотреть проблемы информационного перенасыщения участников дорожного движения, а рассмотреть те «невидимые» компоненты технологий IoT, которые уже используются в транспортных средствах и доступны для широкого применения.

На сегодня, интересным и очень перспективным решением автомобильного IoT, является платформа Open Connected Car компании Mojio. Эта платформа с открытым интерфейсом (API) предоставляет облачный сервис для «подключенных» авто и уже доступны коммерческие предложения. Например, телекоммуникационный гигант Т-Mobile, на базе этой платформы, предоставляет сервис SyncUP DRIVE. Это программно-аппаратное решение на базе портативного устройства, подключаемого к автомобилю через разъем диагностики OBD-II, и соответствующее мобильное приложение. Благодаря такому подходу можно эффективно выполнять непрерывный мониторинг параметров работы своего автомобиля и в любой момент времени получать его текущее месторасположение. Приложение может рассказать о стилях вождения, предупредить о профилактическом обслуживании, а также уведомить владельца о проблемах с транспортным средством. Кроме того, SyncUP DRIVE разворачивает в автомобиле точку доступа Wi-Fi, используя доступ по высокоскоростному протоколу мобильного стандарта LTE.

The Open Connected Car Platform – Mojio Для подключения к автомобилю используется стандартный диагностический разъем OBD-II. Большинство серийных автомобилей, выпущенных после 1996 года, уже оснащены таким разъемом. Хотя такой разъем диагностики и стандартизирован, но в нем поддерживаются сразу несколько протоколов различных систем управления двигателем (физически используются разные контакты на разъеме), которые должен «знать» коммуникационный модуль IoT. Соответственно в разных марках автомобилей могут быть разные внутренние шины получения данных диагностики с бока управления двигателя (ECU — Electronic control unit). Для работы с сервисом SyncUP DRIVE предлагается решение на основе модуля VM6200S компании ZTEWelink. Модуль VM6200S поддерживает подключение по мобильному протоколу LTE, содержит интегрированный 3-х осевой датчик ускорений и 3-х осевой гироскоп, приемник GPS-сигналов, чип OBD-II, с поддержкой протоколов ISO 15765-4 (CAN), ISO 14230-4 KWP (Keyword Protocol 2000), ISO 9141-2 (Chrysler, Euro, and Asian automobiles), SAE J1850 PWM (Ford vehicles), SAE J1850 VPW (GM vehicles). Таким образом, модуль позволяет развернуть точку доступа Wi-Fi 802.11 b/g/n/, регистрировать события во время движения, выполнять диагностику работы двигателя, оценивать экономичность расхода топлива и т.п. А поскольку партнерами Mojio являются проекты Amazon Alexa, сервис IFTTT и другие, то для разработчиков и интеграторов решений открываются все перспективы вплоть до создания социального IoT на основе «подключенного» автомобиля, как составляющей такой инфраструктуры.

VM6200S4G OBD Device – ZTEWelink Corporation Но не только SyncUP DRIVE сейчас представлена на рынке, например, многие компании предоставляют нечто подобное. Конечно, недавно появившийся Samsung Connect auto device – одно из таких интересных предложений, превращающих автомобиль в подключенное устройство. Решение от Samsung аналогичным образом использует мобильную сеть поколения 4G LTE и разворачивает внутри автомобиля точку доступа Wi-Fi: 802.11 a/b/g/n. Connect auto device поддерживает подключение Bluetooth v4.1, содержит GPS-приемник, датчик ускорений, гироскоп и базируется на 4-х ядерном процессоре с частотой 1.2GHz и операционной системе Tizen. Следует отметить, что корейский электронный гигант Samsung говорит о защищенности системы за счет использования Samsung Knox – мобильного решения с защитой уровня предприятия. Фактически Samsung Knox – это программно-аппаратное решение для усиления защиты операционной системы Android.

Samsung Connect auto

Таким образом, информация, полученная по средствам считывания данных OBD-II, текущие координаты месторасположения с GPS-приемника и параметры динамики движения автомобиля, полученные с гиро-сенсоров, на текущий момент времени и де-факто, стали основой для превращения любого транспортного средства в устройство IoT. Дальше можно рассмотреть сценарии использования агрегированной информации, полученной от автомобилей, применять различные методики обработки Big Data, и при этом не нужно забывать о перспективах объединения таких данных с информацией от инфраструктуры «умных» дорог. Но прежде чем заняться обработкой данных, нужно их сначала получить, поэтому в этой публикации уделим основное внимание аппаратной составляющей реализации сценариев работы на уровне диагностического разъема OBD-II.

Так или иначе, но все ранее рассмотренные решения – это более совершенные промышленные изделия, по сравнению с обычным устройством считывания кодов диагностики на базе микросхемы ELM327 канадской компании Elm Electronics. ELM327 – это универсальный преобразователь протоколов, используемых в диагностических шинах автомобилей, в последовательный протокол типа RS-232.

Структурная схема микросхемы ELM327 v2.2 – Elm Electronics

Взаимодействие с ELM327 осуществляется стандартными AT-командами, поддерживаемыми микросхемой. Нужно просто организовать обмен текстовыми сообщениями по, уже ставшему классикой, протоколу RS-232 (или правильнее UART, т.к. речь идет только о потоке данных, а не уровнях сигнала). А само физическое соединение низкого уровня по USB, Bluetooth или Wi-Fi просто реализуется, с применением микросхем преобразования последовательного протокола UART. Получается, чтобы превратить автомобиль в устройство IoT вполне достаточно, не забыв о согласовании уровней напряжений, подключить микросхему ELM327 к диагностическому разъему OBD-II и на выходе этой микросхемы, например, поставить преобразователь последовательного интерфейса в Bluetooth или Wi-Fi. Затем, можно со своего смартфона «считывать» диагностику автомобиля. Впрочем, таких готовых модулей или блоков на рынке предостаточно. А их цена на AliExpress колеблется в пределах US $2.50 – US $10. Хотя модуль и не должен потреблять много энергии, но будет очень удобно, если на нем уже присутствует кнопка отключения питания. Кстати, с точки зрения защищенности – это тоже не плохо.

Mini ELM327 Bluetooth OBD-II Car Diagnostic Adaptor V1.5 Теперь можно подключить стандартный модуль Mini ELM327 Bluetooth OBD-II V1.5 (интересно, что во многих источниках советуют использовать модули со старой прошивкой версии 1.5, а не новые с версией 2.2, т.е. как аргумент высказывается более стабильная работа модуля на старой прошивке и поддержка большего количества авто, но это очень субъективно) и поэкспериментировать с подключением смартфона к выбранному модулю, например, для платформы Android можно использовать одну из самых популярных программ диагностики Torque Lite (OBD2 & Car) или Torque Pro (OBD 2 & Car), а также что-нибудь попроще или использовать свои наработки.

Работа приложения Torque Pro под Android.

Кстати, хочется отметить, очень удобный сервис MockUPhone с бесплатными mock-up современных гаджетов, который очень пригодился, для подготовки скриншота работы программы Torque. Но это небольшое отступление от темы публикации. Нужно заметить, что в большинстве случаев, разъем OBD-II, к которому подключается модуль диагностики, находится под рулевой колонкой автомобиля.

Getting Started with OBD-II – SparkFun Electronics

Понятно, что уже готовых решений существует множество. Но если речь идет о разработке сервиса на основе IoT или более конкретно – реализуется концепция Connected Car, то достаточно удобно использовать эмулятор бортовой информационной сети автомобиля, чтобы не бегать каждый раз к автомобилю. Например, Mojio для работы со своим API предлагает онлайн симулятор автомобиля, а на примере работы с облачным сервисом IBM Watson IoT Platform в статье: «Sending Vehicle Data to the IBM Watson IoT Platform – IBM developerWorks Recipes» предлагается для отправки в облако данных с транспортного средства использовать мобильное приложение, например, «IBM IoT for Automotive — OBDII Fleet Management App for Android», которое взаимодействует с разворачиваемым облачным сервисом «IBM IoT for Automotive (Bluemix) — Fleet Management Starter Application», но если не отвлекаться на эти проекты можно использовать просто эмулятор данных: «Car Simulator». Правда, все эти решения, в основном, эмулируют уже как бы полученные данные, а нам интересен именно эмулятор бортовой информационной сети. Наиболее известное такое решение – это ECUsim 2000, стоимость которого начинается с отметки US $200 и зависит от количества поддерживаемых эмулируемых протоколов.

ECUsim 2000 OBD Simulator – ScanTool

Конечно, профессиональный эмулятор не заменишь, но энтузиастов и гиков вполне может заинтересовать самостоятельная реализация менее сложного проекта на Arduino или Raspberry Pi. Например, можно ограничиться только наиболее распространенным интерфейсом CAN (Controller Area Network). В свое время, стандарт CAN, предложенный компанией Bosch, совершил заметный прогресс в разработке систем для автомобильной электроники. Если автомобиль в сети Интернет появился только недавно, то концепция сети внутри автомобиля существует уже с середины 80-х. Идея очень проста, и как Ethernet совершил прорыв в компьютерных сетях, так и CAN стал основой надежных коммуникаций внутри автомобиля.

An Arduino Based CAN Bus Network – Henry’s Bench Раньше в автомобиле, как правило, к центральному блоку управления двигателем «стекались» шины и провода различных подключенных модулей и устройств. Последовательная двухпроводная шина CAN позволила реализовывать уже независимые интеллектуальные модули, например, центральный блок управления стал просто одним из таких модулей, которые «общаются» друг с другом фактически по сетевому протоколу. При этом значительно уменьшается количество проводки внутри автомобиля. В отличие от Ethernet, сеть CAN значительнее надежнее, что обусловило ее применение не только в автопроме, но и в системах промышленной автоматики, решениях умного дома и т.п. На физическом уровне в CAN используется двухпроводная линия, CAN Lo и CAN Hi, которые побитно передают данные, упакованные в пакет. На концах шины присутствуют согласующие сопротивления по 120 Ом, а также для подавления помех следует использовать скрутку проводов. Скорость передачи данных может достигать 1 Мбит/с.

A Controller Area Network (CAN bus)

Передача данных в CAN bus чем-то напоминает модель «издатель-подписчик», где каждое устройство на шине имеет уникальный идентификатор и, когда передает данные одно устройство, то все остальные слушают, и принимают решение на основе этого идентификатора – нужны ли конкретно им эти данные для приема и обработки или нет. В общем, протокол достаточно сложен, но для микроконтроллера или микропроцессора вряд ли придется писать реализацию CAN, а также думать об особенностях физической среды передачи данных. Для решения этих задач уже есть готовые аппаратные контроллеры шины, а для согласования уровней, зачастую применяются интегральные преобразователи. Например, контроллер MCP2515 с интерфейсом SPI и трансивер (согласовательная микросхема уровней) MCP2551. Как раз на базе этих микросхем и предложен проект Arduino OBD2 Simulator, опубликованный на площадке Instructable. Для его реализации потребуется лишь плата Arduino UNO и CAN-BUS Shield, например, компании Seeed Technology.

Эксперименты с применением Arduino OBD2 Simulator В принципе, для разработки эмулятора данных OBD-II, не помешает наличие блока питания DC на 12V для модуля ELM327, а также разъем OBD-II. Впрочем, no-name преобразователь DC-DC-USB-TO-12V вполне может решить проблему, т.к. несколько блоков питания на 5V, пожалуй, будут под рукой у любого разработчика для Интернета вещей и не только. Для подключения к OBD-II потребуется два информационных провода CAN_H и CAN_L, а также наличие питания 12 V, но как было замечено ранее, 12 V нужно только для обеспечения работоспособности для модуля ELM327.

CAN-BUS Shield V1.2 — Seeed Development Limited Wiki

На плате расширения CAN-BUS Shield очень удобно использовать не разъем D-SUB, а просто клеммник на два контакта (CAN_H, CAN_L). С точки зрения разработки программного кода, следует отметить, что прототип энтузиасты выложили на GitHub. Сейчас платы от Seeed изменились, да и в любом случае для контроллера MCP2515 лучше использовать новые драйверы все той-же Seeed-Studio. Конечно, оригинальную программу нужно будет немного доработать под новые драйверы, но это дело на пару минут.

Работа с CAN-BUS в среде Arduino IDE на основе low cost OBD2 ECU Simulator

Однако, рассмотренный пример очень примитивен, так как все параметры, отправляемые по протоколу OBD-II, просто генерируются случайным образом, нет связи параметров работы двигателя между собой и т.д. Как продолжение проекта очевидным является разработка приложения, похожего на Freematics OBD-II Emulator GUI. Это графическая оболочка с открытым исходным кодом, которая используется в аппаратном решении Freematics OBD-II Emulator.

Freematics OBD-II Emulator GUI – Freematics Таким образом, собрав на базе Arduino модуль, позволяющий работать с CAN, вполне можно создать эмулятор OBD-II, так как протокол диагностики хорошо описан и его несложно реализовать. Следует отметить, что реализация взаимодействия микроконтроллера и бортовой шины CAN – это совсем другая задача и нужно понимать, что внутренние высокоуровневые протоколы этой шины не документируются автопроизводителями, да и с другой стороны – не следует внедрятся во внутреннее устройство автомобильной электроники, чтобы не коим образом не снизить безопасность эксплуатации транспортных средств. Если говорить о CAN в общем, то для разработки своих устройств на базе этой шины вполне можно использовать высокоуровневый открытый протокол CANopen. Остается дело за малым – немного свободного времени и в удовольствие выполнять разработку своего кода. Правда, где же это время найти в конце года? Но будем оптимистами. А вот, если говорить о применении такого эмулятора OBD-II, то самое прямое направление – это разработка уже своего модуля для диагностического разъема. Например, за отправную точку можно взять открытый проект Carloop, который нацелен на создание модуля подключения автомобиля к облаку с использованием технологий 3G, Wi-Fi или Bluetooth.

Carloop Bluetooth Проект Carloop основывается на использовании плат: Particle Photon (на базе Wi-Fi модуля Cypress BCM43362, который поддерживает стандарт 802.11b/g/n; контроллера семейства ARM Cortex M3 – STM32F205 на частоте 120Mhz; 1MB флеш-памяти; 128KB оперативной памяти) и Electron (платы с поддержкой подключения к сети мобильной связи 3G/2G). Платформа Particle и сама очень интересна, поскольку базируется на облачном сервисе подключения устройств IoT, облачной IDE для разработки, например, на базе плат Photon, где используется язык похожий на C/C++ для Arduino. Фактически Particle – это отдельная тема для публикации, а проект Carloop однозначно заслуживает отдельного внимания со сороны энтузиастов автомобиля, как подключенного устройства IoT. Подключив автомобиль к сети Интернет и сервисам IoT, можно реализовать множества сценариев, которые несомненно будут способствовать удобству эксплуатации транспортных средств, повышению комфорта и, просто, эфективному решению повседневных задач, конечно, включая и решение транспортных перевозок. Например, данные о стиле вождения, надежности работы двигателя и агрегатов автомобиля, вполне могут и уже сейчас учитываются страховыми компаниями. Текущее месторасположение автомобиля будет актуально для сервисов такси и аренды автомобилей. Взаимодействие участников дорожного движения стает более удобной при использовании IoT, так же проблема парковок, поиска свободных мест на стоянке, и многое-многое другое.

Надеемся, что идея этой публикации достигнута – в одном месте собраны материалы по работе с диагностическим разъемом OBD-II, как на уровне простого считывания кодов неисправностей, так и эмуляции физического подключения к автомобилю. Также надеемся на комментарии читателей. В завершении хочется отметить, что рассмотрены лишь некоторые вопросы разработки устройств Connected Car, но «за кадром» остались многие технологии, которые, так или иначе, превращают современный автомобиль в устройство IoT и делают поезки более комфортными и безопасными. Разумеется мы будем возвращаться к этим темам в наших будущих публикациях. — Car Hacking: так ли безопасны системы безопасности автомобиля? – Хабрахабр — Микропроцессору- 25 лет! – Computerworld — T‑Mobile SyncUP DRIVE – T-MOBILE — ZTE и Mojio сделают практически любой автомобиль частью Интернета вещей – ZTE Corporation — Samsung Knox – SAMSUNG — Возможности CAN протокола – Журнал «СТА» — Интернет вещей в вашем доме — подключите к дому свою машину – IBM developerWorks — Vehicle telematics analytics using Watson IoT Platform Cloud Analytics – IBM developerWorks Recipes — Использование сети CAN и стека CANopen – Хабрахабр — Протокол высокого уровня CANopen – Журнал РАДИОЛОЦМАН — Бортовой компьютер для авто на Arduino своими руками – Geektimes — Wiring the MCP2515 Controller Area Network CAN BUS Diagnostics – 14CORE — Arduino OBD2 ELM327 I2C-LCD HC05 Bluetooth – Instructables —Разработка Android приложения для работы с OBDII протоколом – Хабрахабр


Смотрите также

 

"Питер - АТ"
ИНН 780703320484
ОГРНИП 313784720500453

Новости