Визуализация данных считываемых с ELM327 адаптера через bluetooth на arduino | BayRepo. ХобТех – электроника, программирование, эксперименты, исследования
Появилась идея реализовать визуализатор для данных собираемых автомобильным OBD2 адаптером на базе ELM327 с поддержкой BlueTooth соединения. Хотелось обойтись без использования TorqueLite/Pro и прочих программных компонент, требующих наличие телефона.
Взаимодействие и считывание было решено организовать с помощью Arduino Nano. Платка маленькая, большое число готовых библиотек для реализации задумки, а так же возможно питание от аккумулятора 12-ю вольтами. Т.к ток потребления сравнительно не большой, то перегрева внутреннего стабилизатора не должно быть. В крайнем случае можно поставить внешний стабилизатор до 7 вольт с радиатором, а далее уже внутренний стабилизатор на плате справится без перегрева.
Для взаимодействия был выбран модуль BlueTooth HC05/06. Все имелось в наличии, поэтому поле для экспериментов было открыто.
По задумке управляться устройство должно следующим способом:
- сенсорная кнопка, нет дребезга и не требует усилий при нажатии.
- переключатели, для отключения питания и принудительного сброса сохраненных настроек.
Первым делом возник вопрос, а ка же проверять работоспособность схемы и программы, не гонять же постоянно автомобиль. И решение было найдено, есть программа эмулятор, которая успешно запустилась под Windows 10. Программа называется OBDSim – https://icculus.org/obdgpslogger/obdsim.html.
Выглядит при запуске примерно вот так:
И может подцепиться при запуске к COM порту. Запускать нужно в командном окне, командой:
obdsim.exe -w COM9
ну или тем COM портом, который создался при сопряжении с блутуз адаптером. Сам процесс сопряжения показан на видео в конце статьи.
Изначально была проведена операция сопряжения obdsim с TorqueLite, чтоб убедиться, что сопряжение работает и команды посылаемые в obdsim и ответы, воспринимаются корректно.
Испытания прошли успешно, программа показала, что все изменения на телефоне воспринимаются корректно и любой изменение датчика в obdsim тут же отображается в TorqueLite.Это был первый этап – проверка. Второй этап – компьютер с obdsim выступает в роли мастера, а arduino nano в связке с HC06(который может быть только в роли slave) в роли ведомого.
Для arduino nano была набросана простая программа с использованием ELMDuino и вновь симуляция закончилась успехом. Весь процесс соединения и работы устройства показан на видео в конце статьи.
И третий этап – это окончательная реализация визуализатора на HC05 в режиме master.
Сразу было решено, что сопрягать ELM327 и визуализатор нужно в автоматическом режиме, т.е перевод HC05 в режим приема команд должен сам микроконтроллер.
Была найдена библиотека, которая с небольшими изменениями (перевел ее с Serial, на SoftwareSerial) отлично заработала в проекте.
Окончательная схема получилась такая:
и примерно так выглядит на макетке:
только аккумулятор 12В.
На HC05 я напаял два проводка на выходы 34 – CMD и выход 11 – RESET.
И эти проводки были подсоединены к микроконтроллеру для перевода HC05 в режим передачи данных или в режим приема команд, а так же для жесткого сброса (hardReset).
В режиме команд МК посылает HC05 следующие команды:
AT+INIT AT+ORGL AT+ROLE=1 AT+RESET AT+INIT AT+RMAAD AT+CMODE=1 AT+INQM=0,6,20 AT+CLASS=0 AT+INQ
Данный набор команд ищет все видимые устройства и по очереди показывает MAC адреса данных блутуз устройств на дисплее.
Если за время отображения адреса нажать на сенсорную кнопку, то адрес запишется в постоянную память микроконтроллера и HC05 будут отправлены следующие команды:
AT+INQC AT+RESET AT+INIT AT+CMODE=0 AT+PSWD=XXXX AT+RESET AT+INIT AT+PAIR=XXXXXX,XX,XXXX,30 AT+BIND=XXXXXX,XX,XXXX AT+LINK=XXXXXX,XX,XXXX
После данного набора команд в Windows 10 появляется окошко с запросом пароля и устанавливается сопряжение. В автомобиле же в ELM327 просто устанавливается сопряжение. Работа данного устройства также показана в видео в конце статьи.
Далее HC05 сбрасывается командой HardReset и переводится в режим обмена данными. С этого момента перебираются различные скорости для SoftwareSeria от 4800 до 38400.
Как только сопряжение визуализатора и ELM327 или obdsim произошло, сразу отображается дисплей с отображаемым параметром:
Короткое однократное нажатие на сенсорную кнопку переключает следующий отображаемый параметр.
Долгое нажатие на сенсорную кнопку (более 5 сек, в этот момент светодиод начинает мигать) отображает экран со всеми доступными для считывания параметрами:
При выключении запоминается какой параметр отображался и на какой скорости осуществлялась связь с ELM327.
На текущий момент вот доступные для считывания параметры OBD2:
{ VEHICLE_SPEED, string5, NULL, string5_1 }, { ENGINE_RPM, string4, NULL, string4_1 }, { ENGINE_LOAD, string0, NULL, string0_1 }, { ENGINE_COOLANT_TEMP, string1, NULL, string1_1 }, { FUEL_PRESSURE, string2, NULL, string2_1 }, { INTAKE_MANIFOLD_ABS_PRESSURE, string3_0, string3_1, string3_2 }, { TIMING_ADVANCE, string6, NULL, string6_1 }, { INTAKE_AIR_TEMP, string7, NULL, string7_1 }, { MAF_FLOW_RATE, string8, NULL, string8_1 }, { THROTTLE_POSITION, string9, NULL, string9_1 }, { RUN_TIME_SINCE_ENGINE_START, string10, NULL, string10_1 }, { DISTANCE_TRAVELED_WITH_MIL_ON, string11_0, string11_1, string11_2 }, { FUEL_RAIL_PRESSURE, string12_0, string12_1, string12_2 }, { FUEL_RAIL_GUAGE_PRESSURE, string13_0, string13_1, string13_2 }, { FUEL_TANK_LEVEL_INPUT, string14, NULL, string14_1 }, { ABS_BAROMETRIC_PRESSURE, string15, NULL, string15_1 }, { CONTROL_MODULE_VOLTAGE, string16, NULL, string16_1 }, { ABS_LOAD_VALUE , string17, NULL, string17_1 }, { RELATIVE_THROTTLE_POSITION, string18, NULL, string18_1 }, { AMBIENT_AIR_TEMP, string19, NULL, string19_1 }, { ETHONOL_FUEL_PERCENT, string20, NULL, string20_1 }, { RELATIVE_ACCELERATOR_PEDAL_POS, string21_0, string21_1, string21_2 }, { ENGINE_OIL_TEMP, string22, NULL, string22_1 }, { FUEL_INJECTION_TIMING, string23, NULL, string23_1 },
Вот сам код для Arduino IDE. Для сборки необходимо установить библиотеки:
- Adafruit_GFX_Library
- Adafruit_SSD1306
- BluetoothHC05 – https://github.com/BayRepoOrg/Bluetooth_HC05
- ELMDuino
- U8g2_for_Adafruit_GFX
- U8g2
- GFX_Library_for_Arduino
Все библиотеки есть в стандартном менеджере библиотек, кроме BluetoothHC05, которая скачивается с указанного репозитория.
Для сброса запомненных данных: адреса блутуз устройства и скорости, нужно отключить питание визуализатора, и законнектить переключателем присоединенным к ножке d12 контроллера на землю и включить визуализатор, данные мгновенно будут стерты из памяти. Обратное отключение питания и отключения земли от ножки D12 вернет МК в стандартное рабочее состояние и он снова начнет искать доступные BlueTooth устройства.
Видео моделирования:
Распиновка ОБД2 (OBD II) диагностического разъема: схема, описание и защита
31. 01.2023 6 562 2 Диагностика
Автор: Виктор
Для облегчения процесса диагностики современные автомобили оснащаются диагностическими разъемами ОБД2. С помощью него автовладелец может подключиться к блоку управления и узнать обо всех возможных неполадках, которые имеются в работе тех или иных агрегатов. Что представляет собой распиновка ОБД2 диагностического разъема, и как выглядит схема, вы сможете узнать из этой статьи.
Содержание
- 1
Описание технологии ОБД2
- 1.1
История создания
- 1.1
- 2
Важные моменты распиновки
- 3
Адаптер OBD2
- 3.1
Фотогалерея «Сканеры для ОБД2»
- 3.1
- 4
Видео «Как произвести диагностику авто через ОБД2?»
Открытьполное содержание
[ Скрыть]
Описание технологии ОБД2
Аббревиатура ОБД с английского языка дословно расшифровывается как диагностика бортового оборудования.
Изначально технология ОБД использовалась для выдачи сообщений о неполадках в работе мотора и других агрегатов, но конкретных данных не предоставляла. Со временем автомобили стали оснащаться цифровыми разъемами, которые позволяют получить наиболее точную информацию о неисправностях в работе систем. Точные данные о неисправностях выдаются кодами ошибок.
История создания
Технология ОБД берет свое начало в 50-х годах прошлого века. Тогда власти США задумались над защитой экологии, поскольку наполнение материка транспортными средствами привело к ее ухудшению. Технология разрабатывалась Сообществом инженеров сферы автомобилестроения. Поначалу она позволяла только контролировать работу системы рециркуляции отработанных газов, подачи горючего, работу лямбда-зонда, управляющего модуля и т.
д. В общем все, что контролировала технология, так или иначе относилось к выхлопным газам.На тот момент не было единой системы контроля, поэтому все автомобильные производители использовали свои технологии. Спустя несколько десятков лет, в 1996 году правительством была создана еще одна концепция ОБД2, ее установка была обязательна на все транспортные средства. В странах Европы был принят стандарт ЕОБД, который основан на технологии ОБД2. В ЕС этот стандарт был введен на все машины, выпущенные после января 2001 г (видео снято каналом Mr Emelya).
Важные моменты распиновки
Распиновка разъема ОБД2 представляет собой список требований, которые должны соблюдать все без исключения производители транспортных средств. В соответствии с международными стандартами, данный разъем должен быть расположен не дальше, чем в 18 см от рулевого колеса.
Что касается непосредственно распиновки, то сам разъем оснащен 16 контактами, распиновка такова:
- Определяется производителем транспортного средства.
- По этому контакту осуществляется связь с шиной J1850.
- Этот контакт также определяется производителем авто.
- Осуществляет контроль заземления контактов транспортного средства.
- Предназначен для контроля заземляющей составляющей сети сигнальной линии.
- Данный контакт связан с цифровой шиной CAN.
- Связь с K-Line или ISO 9141.
- Определяется автопроизводителем.
- Аналогично — устанавливает производитель.
- Используется для контроля работы шины CANJ 1850.
- Назначение зависит от производителя авто.
- Также устанавливается компаний при выпуске авто.
- Определяется автопроизводителем.
- Предназначен для осуществления контроля шины CANJ 2284.
- Применяется для обеспечения связи с линией L-line либо ISO 9141-2.
- Контакт, связанный с аккумулятором автомобиля (автор видео — канал shlepanovan).
Адаптер OBD2
В каждом современном авто имеется данный разъем.
К нему можно подключить адаптер, который можно использовать для выполнения следующих функций:
- проверки состояния всех систем и агрегатов транспортного средства;
- поиска ошибок, а также их анализа;
- контролирования процесса работы двигателя в целом;
- контролирования уровня напряжения в электрической сети авто, его пробега, температуры работы мотора;
- контроля объема расхода горючего и т.д.
Фотогалерея «Сканеры для ОБД2»
Покупая диагностический сканер, необходимо учитывать его функциональные особенности и возможности. Для получения более точных данных о состоянии работы систем машины нужно использовать более дорогие адаптеры для проверки. Если вы не хотите тратиться на универсальное устройство, то лучше отдать предпочтение адаптера, разработанным для конкретной модели машины. Их стоимость будет более низкой, при этом изначально они рассчитаны на работу с конкретным транспортным средством.
Выход ОБД2 используется для связи адаптера с электронным управляющим модулем. Благодаря правильной распиновке производится подключение адаптера к бортовой сети авто и обеспечивается заземление устройства. Это позволяет достичь бесперебойной работы девайса. Также нужно отметить, что протоколы данной технологии контролируют параметры, которые так или иначе влияют на загрязненность выхлопных газов, что дает возможность защитить экологию. С помощью выхода ОБД автолюбитель может самостоятельно протестировать работоспособность агрегатов и систем машины, не используя дорогостоящее оборудование для проверки.
Загрузка …
Видео «Как произвести диагностику авто через ОБД2?»
Подробное пособие по проверке работоспособности основных узлов транспортного средства на примере автомобиля Субару приведено в ролике от канала Black Mamba.
У Вас остались вопросы? Специалисты и читатели сайта AVTOKLEMA помогут вам, задать вопрос
Поддержите проект – поделитесь ссылкой, спасибо!
Оценить пользу статьи:
Загрузка…
Обсудить статью: 2
2023 год
|
Автомобильный диагностический сканер ELM327 OBD2
Хотя порт OBD присутствует во всех автомобилях, для связи с вашим автомобилем требуется диагностический кейс OBD2. Вот тут-то и пригодится клавкарр!
Существует несколько типов интерфейса. Чаще всего используют микросхему производства ELM Electronics. ELM327 является наиболее широко используемым и практичным, поддерживает все протоколы OBD, то есть KWP, PWM, VPN и CAN.
Другие схемы поддерживают только один протокол: ELM320 поддерживает только ШИМ; ELM322 поддерживает VPN и ELM323 KWP.
Какая связь для моего интерфейса?
Насколько нам известно, существует 4 типа интерфейса ELM327:
- ELM327 RS232 (RS или Series) : Этот тип вывода постепенно исчезает с современных ПК.
- ELM327 USB : требуется установка драйвера USB (FTDI или Silicon Labs). Преимущества: все ПК оснащены портом USB.
- ELM327 Bluetooth : Преимущество беспроводной связи и возможность использования с компьютером или смартфоном Android .
- ELM327 WiFi : Благодаря беспроводному соединению его можно использовать с компьютером или смартфоном. Только интерфейсы WiFi могут использоваться с iPhone/iPad .
Купить диагностический сканер OBD2
Windows | Макбук | Андроид | Айфон | |
---|---|---|---|---|
ELM327 RS232 | ||||
ELM327 USB | ||||
ELM327 Bluetooth | ||||
ELM327 WiFi |
Несмотря на внешний вид, эти 4 интерфейса практически идентичны, по крайней мере, в электронном виде. Различаются только их внешний вид и тип подключения. В их основе схема ELM327. Эти 4 интерфейса отправят один и тот же результат во время диагностики вашего автомобиля.
Еще одна вещь, которая может сбивать с толку, — это версия «прошивки». что может варьироваться. В настоящее время в обращении находятся официальные версии 1.3a и 1.4b. Только очень продвинутые пользователи могут отличить 1.3 от 1.4, так как основные диагностические функции идентичны. В сети вы также найдете версию 1.5. Мы купили один и можем подтвердить, что его не существует! Это всего лишь копия версии 1.2, маскирующаяся под версию 1.2.
Ознакомьтесь с нашим разделом советов и советов, чтобы узнать, какая у вас версия ELM.
Новое: Elm Electronics только что выпустила версию 2.2 своей схемы ELM327.
Купить диагностический сканер OBD2
Где можно купить интерфейс ELM?
Наш официальный магазин:
По просьбам пользователей, которые спрашивают, где они могут купить интерфейс OBD2, совместимый с интерфейсом ELM327, мы решили разработать собственный диагностический сканер OBD2 для автомобилей: klavkarr . Если вы решите совершить покупку в нашем бутике, у вас будут следующие преимущества:
- С каждым интерфейсом klavkarr мы включаем лицензию на наше программное обеспечение EOBD-Facile.
- Поскольку интерфейс есть на складе, он будет доставлен вам в течение максимум 48 часов бандеролью.
- Наш интерфейс klavkarr прост в использовании и не требует информационных навыков: это Plug & Play.
Клавкарр 100
Клавкарр 110
Клавкарр 200
Клавкарр 210
Купите диагностический сканер OBD2
Иностранные продавцы:
Большинство продавцов из этих стран: Китай, Гонконг, США. Перед покупкой рекомендуем проверить следующее:
- Интерфейс поставляется с демонстрационной программой только на английском языке.
- Цена включает любые таможенные расходы или дополнительный НДС (продавцы за пределами Европейского Союза). Некоторые продавцы за пределами ЕС не включают таможенные пошлины. Компания доставки попросит вас оплатить их при доставке (около 20% от заявленной стоимости товара или иногда фиксированную стоимость около 20 евро).
- Способ доставки. Если вас нет дома в течение дня, предпочтите доставку почтой. Такие компании, как DHL, Fedex, UPS, часто требуют, чтобы вы присутствовали в течение дня, чтобы принять доставку товара. Для иностранных компаний проверьте срок доставки (который может составлять до 15 дней).
- Также проверьте, что в случае выхода из строя устройства продавец заменит (или вернет деньги) его.
Инструкции для интерфейсов ELM327
1. Установка драйверов:
- RS232: установка не требуется.
- USB: для подключения интерфейса к компьютеру необходимо установить драйвер USB для интерфейса.
- Bluetooth: перед использованием необходимо подключить интерфейс к компьютеру. Код 1234.
- WiFi: вам необходимо определить настройки беспроводной сети на вашем компьютере (более подробная информация в файле справки программного обеспечения
2. Первое подключение к автомобилю:
- Подключите интерфейс к разъему OBD вашего автомобиля.
- Подключите интерфейс к USB-порту вашего компьютера.
- Запустите программу EOBD-Facile.exe.
- Включите зажигание автомобиля. Индикатор двигателя на приборной панели должен гореть.
- Нажмите «Подключиться». Программное обеспечение автоматически подключится к автомобилю. В случае проблем с подключением обратитесь к файлу справки программного обеспечения.
3. Описание светодиодных индикаторов:
- Питание (красный светодиод): Указывает, что интерфейс включен. Этот индикатор должен полностью гореть, чтобы интерфейс правильно питался.
- Tx OBD (желтый светодиод): Мигает при отправке данных с интерфейса на автомобиль.
- Rx OBD (зеленый светодиод): Мигает при отправке данных с автомобиля на интерфейс.
- Tx USB (желтый светодиод): мигает, когда данные передаются с ПК на интерфейс.
- Rx USB (зеленый светодиод): мигает при отправке данных с интерфейса на ПК.
Совет. На некоторых интерфейсах индикаторы не имеют надписей. В этом случае, когда вы включаете питание, сначала загорается красный светодиод, а затем кратковременно: 1. Tx OBD, 2. Rx OBD, 3. Tx PC, 4. Rx PC.
Купите диагностический сканер OBD2
Принцип работы интерфейса ELM327
Электронный блок содержит 3 основных узла для работы интерфейса:
- Адаптеры электрического напряжения : Бортовые сети в автомобилях имеют уровни напряжения которые требуют определенных драйверов. Для ELM327, поскольку устройство поддерживает несколько протоколов, необходимо несколько драйверов. Эти протоколы можно разделить на 3 семейства: сети CAN, линии K/L и PWM/VPN. Подробнее об этих протоколах см. на нашей странице 9.0192 стандарт связи .
- Микросхема ELM327 : Интегральная схема, давшая название всему устройству, является мозгом интерфейса. Он выбирает протокол и преобразует его в протокол, понятный современным ПК. Эта небольшая схема (скорость 4 МГц) действует как мост между протоколами.
- Адаптеры напряжения для ПК : Электронный чип сам по себе не может обмениваться данными с компьютером; ему необходимо адаптировать электрические уровни перед отправкой потоков данных.
На приведенной ниже схеме показаны основные функции интерфейса.
После этой краткой презентации термин «интерфейс» должен означать больше. Роль ELM327 заключается в том, чтобы действовать как интерфейс между двумя различными средами: автомобилем, управляемым стандартами с высоким уровнем надежности и низкой ценой, и миром ИТ, более ориентированным на модульность.
Советы и рекомендации по использованию интерфейсов ELM327
Как узнать версию программного обеспечения?
Интерфейсы не всегда имеют одинаковый уровень качества. Как мы упоминали выше, отображаемая версия программного обеспечения не всегда достоверна. В продаже есть версии схемы, которые даже не указаны производителем (напоминание: ELM Electronics). Возвраты пользователей научили нас тому, что некоторые версии, которые официально не существуют, находятся в обращении. Чтобы прояснить ситуацию:
- СУЩЕСТВУЕТ: версии 1.0 1.1 1.2 1.3 1.3a 1.4, 1.4b, 2.0 и 2.1
- НЕ СУЩЕСТВУЕТ: версии 1.2а 1.4а 1.5 и 1.5а (и вообще все не указанные в “СУЩЕСТВУЮЩИЕ”)
Нам не нужно вдаваться в подробности того, почему существуют эти неофициальные версии. Для пользователя важно иметь возможность квалифицировать ваш интерфейс. т.е. иметь возможность проверить его работоспособность. Для этого мы рекомендуем вам сделать следующее:
- Подключитесь к вашему автомобилю с помощью нашего программного обеспечения
- Используйте вкладку терминала для ввода команд, описанных в таблице ниже:
- Если интерфейс отвечает “ОК”, команда поддерживается. В противном случае “?” появится сообщение о том, что команда неизвестна.
- Важно : После этой манипуляции не забудьте «сбросить» соединение, если вы хотите продолжить связь с вашим автомобилем.
Купите диагностический сканер OBD2
Элементы управления, чтобы убедиться, что ваш ELM327 работает правильно
Compatibility | Command | Expected reply |
---|---|---|
version 1.2 et + | ATKW0 | OK |
version 1.3 et + | ATS0 | OK |
version 1.3a ET + | ATFE | OK |
Версия 1.4 ET + | ATSS | OK |
Версия 1.4B ET + | ||
Версия 1.4B ET + | Версия 1.4B ET +0193 | ATCSM1 | OK |
версия 2. 0 | ATAMT 40 | OK |