fuse obd что это

Что такое OBD2 разъем и как пользоваться адаптером системы диагностики автомобилей

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

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

История диагностики с OBD II

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

Появился контрольный стандарт в США, где Калифорния всегда славилась, как самый требовательный к ограничению загрязнений окружающей среды двигателями внутреннего сгорания штат.

По теме: Что такое CAN-шина в автомобиле (устройство и схема подключения)

К середине 90х годов описание разъёма окончательно сформировалось в виде OBD II, то есть второго финального варианта исполнения. On-Board Diagnostics II стал обязателен к применению на всех автомобилях в США после 1996 года.

Что такое EOBD

Встречающаяся аббревиатура EOBD особого смысла в понятие OBD не добавляет, и даже нет точной определённости, что значит дополнительная буква в начале.

Это может быть сокращение от European, намёк на дополнительные способности Enhanced или просто бессмысленная приставка Electronic (других просто не существует).

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

В результате параллельно с американскими стандартами на диагностический интерфейс SAE образовались и общемировые ISO.

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

Основная функция диагностического разъема

Диагностический разъём необходим для возможности организации связи внешнего контрольного компьютера с внутренними вычислительными ресурсами автомобиля. Через него информация визуализируется на мониторах и может быть считана и проанализирована специалистами автосервисов.

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

Где находится

Расположение разъёма также стандартизировано, расстояние от руля не должно превышать 16 дюймов, более того, указаны совершенно точные места в нескольких вариантах для монтажа разъёма.

Обычно он прикрыт от загрязнений, но точное расположение в конкретном автомобиле и способ доступа хорошо известен ремонтникам.

Распиновка разъема ОБД 2

Очевидно, что назначение всех контактов в подобной системе должно быть чётко прописано. Использован стандартный 16-контактный разъём. а наиболее важные соединения однозначно привязаны к номерам контактов (пинам):

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

Классификация протоколов

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

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

Протоколы класса A самые низкоскоростные, но одновременно и простые, базируются на традиционных компьютерных последовательных интерфейсах, то есть не требуют значительных мощностей в виде преобразующих микроконтроллеров. Скорость до 10 кбит в секунду. Это то, что называют K-line.

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

Пока самые современные протоколы, к ним относится CAN-шина, то есть скорость порядка 500 кбит/c, увеличена разрядность кодовых посылок и усложнены прочие алгоритмы. Хорошая помехозащищённость дифференциального сигнала с витой пары.

Протокол ISO9141

Содержит два провода K и L, хотя обмен вполне возможен и по двунаправленной K-линии, без контроля по L. Раньше широко использовались «шнурки» — универсальные K-line адаптеры. Работает вполне надёжно, но очень медленно.

J1850 VPW

Относится к группе протоколов американского стандарта J1850. Применяется на машинах GM. Работает впятеро медленнее, чем полностью аналогичный по логике J1850 PWM, используемый Ford.

Различаются интерфейсы по физической реализации, одно- или двухпроводные линии, модуляция по широте или по скважности. Описаны в одном стандарте.

Расшифровка ошибок по системе OBD2

Общим для всех производителей являются коды ошибок DTC (Diagnostic Trouble Code), не всегда и всеми соблюдаемые, но к этому стремятся. Обычно каждый код содержит четыре или пять знаков.

Первый знак

Им может быть одна из четырёх букв:

Подобная локализация задумана для удобства работы с кодами на ранних этапах, без расшифровок.

Второй знак

Второй знак примерно относит кодировку к стандартной на уровне ISO или используемой производителем. Здесь пока единства нет. «0» — это кодовая страница ISO или SAE.

Третий знак

Конкретизирует подсистему, где произошла неисправность. Согласно таблицам, где приводятся все коды, это может быть зажигание, питание, электронное обеспечение, элементы трансмиссии и прочие группы устройств.

Четвертый и пятый символы

Данные знаки выступают в роли двузначного кода, конкретизирующего произошедшую ошибку. Например, обрыв, замыкание, пропуск, выход значений из допустимых рамок. Выглядят хорошей подсказкой диагносту, хотя и не всегда.

OBD2 и ELM327

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

Небольшой приборчик, содержащий в типовом случае программируемый контроллер, микросхемы питания, электрически перезаписываемой памяти и связи по типовым интерфейсам (трансмиттеры), по габаритам ненамного крупнее разъёма.

Он устанавливается в розетку OBD2 и выдаёт сигнал стандартного последовательного интерфейса UART, известного ещё с первых персональных компьютеров. Физически его можно передавать в ноутбук, компьютер или планшет через распространённые интерфейсы USB, Bluetooth или Wi-Fi.

Это интересно: Расшифровка всех значков на приборной панели автомобиля

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

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

Источник

Что такое OBD2 разъем и как пользоваться адаптером системы диагностики автомобилей

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

Читайте также:  что делать если вас заблокировали на парковке во дворе

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

История диагностики с OBD II

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

Появился контрольный стандарт в США, где Калифорния всегда славилась, как самый требовательный к ограничению загрязнений окружающей среды двигателями внутреннего сгорания штат.

К середине 90х годов описание разъёма окончательно сформировалось в виде OBD II, то есть второго финального варианта исполнения. On-Board Diagnostics II стал обязателен к применению на всех автомобилях в США после 1996 года.

Что такое EOBD

Встречающаяся аббревиатура EOBD особого смысла в понятие OBD не добавляет, и даже нет точной определённости, что значит дополнительная буква в начале.

Это может быть сокращение от European, намёк на дополнительные способности Enhanced или просто бессмысленная приставка Electronic (других просто не существует).

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

В результате параллельно с американскими стандартами на диагностический интерфейс SAE образовались и общемировые ISO.

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

Основная функция диагностического разъема

Диагностический разъём необходим для возможности организации связи внешнего контрольного компьютера с внутренними вычислительными ресурсами автомобиля. Через него информация визуализируется на мониторах и может быть считана и проанализирована специалистами автосервисов.

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

Где находится

Расположение разъёма также стандартизировано, расстояние от руля не должно превышать 16 дюймов, более того, указаны совершенно точные места в нескольких вариантах для монтажа разъёма.

Обычно он прикрыт от загрязнений, но точное расположение в конкретном автомобиле и способ доступа хорошо известен ремонтникам.

Распиновка разъема ОБД 2

Очевидно, что назначение всех контактов в подобной системе должно быть чётко прописано. Использован стандартный 16-контактный разъём. а наиболее важные соединения однозначно привязаны к номерам контактов (пинам):

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

Классификация протоколов

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

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

Протоколы класса A самые низкоскоростные, но одновременно и простые, базируются на традиционных компьютерных последовательных интерфейсах, то есть не требуют значительных мощностей в виде преобразующих микроконтроллеров. Скорость до 10 кбит в секунду. Это то, что называют K-line.

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

Пока самые современные протоколы, к ним относится CAN-шина, то есть скорость порядка 500 кбит/c, увеличена разрядность кодовых посылок и усложнены прочие алгоритмы. Хорошая помехозащищённость дифференциального сигнала с витой пары.

Протокол ISO9141

Содержит два провода K и L, хотя обмен вполне возможен и по двунаправленной K-линии, без контроля по L. Раньше широко использовались «шнурки» — универсальные K-line адаптеры. Работает вполне надёжно, но очень медленно.

J1850 VPW

Относится к группе протоколов американского стандарта J1850. Применяется на машинах GM. Работает впятеро медленнее, чем полностью аналогичный по логике J1850 PWM, используемый Ford.

Различаются интерфейсы по физической реализации, одно- или двухпроводные линии, модуляция по широте или по скважности. Описаны в одном стандарте.

Расшифровка ошибок по системе OBD2

Общим для всех производителей являются коды ошибок DTC (Diagnostic Trouble Code), не всегда и всеми соблюдаемые, но к этому стремятся. Обычно каждый код содержит четыре или пять знаков.

Первый знак

Им может быть одна из четырёх букв:

Подобная локализация задумана для удобства работы с кодами на ранних этапах, без расшифровок.

Второй знак

Второй знак примерно относит кодировку к стандартной на уровне ISO или используемой производителем. Здесь пока единства нет. «0» — это кодовая страница ISO или SAE.

Третий знак

Конкретизирует подсистему, где произошла неисправность. Согласно таблицам, где приводятся все коды, это может быть зажигание, питание, электронное обеспечение, элементы трансмиссии и прочие группы устройств.

Четвертый и пятый символы

Данные знаки выступают в роли двузначного кода, конкретизирующего произошедшую ошибку. Например, обрыв, замыкание, пропуск, выход значений из допустимых рамок. Выглядят хорошей подсказкой диагносту, хотя и не всегда.

OBD2 и ELM327

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

Небольшой приборчик, содержащий в типовом случае программируемый контроллер, микросхемы питания, электрически перезаписываемой памяти и связи по типовым интерфейсам (трансмиттеры), по габаритам ненамного крупнее разъёма.

Он устанавливается в розетку OBD2 и выдаёт сигнал стандартного последовательного интерфейса UART, известного ещё с первых персональных компьютеров. Физически его можно передавать в ноутбук, компьютер или планшет через распространённые интерфейсы USB, Bluetooth или Wi-Fi.

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

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

Источник

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

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

Читайте также:  api ключи что это такое


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


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


ECUsim 2000 OBD Simulator – ScanTool

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

Читайте также:  mi 11i что это


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 и делают поезки более комфортными и безопасными. Разумеется мы будем возвращаться к этим темам в наших будущих публикациях.

Источник

Сказочный портал