Разработка софта для elm327 часть2

Взаимодействие с Блоком управления автомобилем

Стандарты требуют, чтобы каждая OBD команда или запрос, отправленный на транспортное средство должны придерживаться установленного формата. Первый отправленный байт (известный как «режим») описывает тип запрашиваемых данных, а второй байт (и, возможно, третий и далее) определяет актуальную информацию, которая требуется. Байты, которые следуют после байта режима известны как байты «Идентификации параметров» или байт PID. Режимы и PIDы подробно описаны в документах, таких как SAE J1979 или ISO 15031-5, а также могут быть определены производителем автомобилей.
Стандарт SAE J1979 в настоящее время определяет десять возможных диагностических режимов, среди которых:
01 — показывать текущие данные
Mode 1 PID Status & Live PID Information. Всего стандартом поддерживается около 20 параметров. Однако, каждый конкретный блок управления поддерживает ограниченное количество из них (например, в зависимости от установленных датчиков кислорода). С другой стороны, некоторые автопроизводители поддерживают расширенные наборы параметров — например, некоторые автомобили концерна GM поддерживают более 100 параметров. Через систему OBD-II диагностики можно считать (основные параметры):
  • режим работы системы топливной коррекции (PID 03 Fuel system status). При значении «Closed Loop» система работает в режиме обратной связи (замкнутой петли), при этом данные с датчика кислорода используются для корректировки топливоподачи. При значении «Open Loop» данные с датчика кислорода не используются для корректировки топливоподачи;
  • расчетная нагрузка на двигатель (PID 04 Calculated Load);
  • температура охлаждающей жидкости (PID 05 Coolant temperature);
  • краткосрочная коррекция подачи топлива по банку 1/2 (PID 06/08 Short Term Fuel Trim Bank 1/2);
  • долгосрочная коррекция подачи топлива по банку 1/2 (PID 07/09 Long Term Fuel Trim Bank 1/2);
  • давление топлива (PID 0A Fuel pressure);
  • давление во впускном коллекторе (PID 0B Manifold pressure);
  • обороты двигателя (PID 0C Engine speed — RPM);
  • скорость автомобиля (PID 0D Vehicle speed);
  • угол опережения зажигания (PID 0E Ignition Timing Advance);
  • температура всасываемого воздуха (PID 0F Intake Ait Temperature);
  • расход воздуха (PID 10 Air Flow);
  • положение дроссельной заслонки (PID 11 Throttle position);
  • режим работы системы подачи дополнительного воздуха (PID 12 Secondary Air Status);
  • расположение датчиков кислорода (PID 12 Location of O2 sensors);
  • данные с датчика кислорода №1/2/3/4 по банку 1/2 (PID 13-1B O2 Sensor 1/2/3/4 Bank 1/2 Volts).
Как правило, для анализа работы конкретной подсистемы системы управления двигателем, достаточно одновременно контролировать 2-3 параметра. Однако, иногда требуется одновременно просматривать и большее число. Число одновременно контролируемых параметров, а также формат их вывода (текстовый и/или графический) зависят как от возможностей конкретной программы-сканера, так и от скорости обмена информацией с блоком управления двигателем автомобиля (скорость зависит от поддерживаемого протокола). К сожалению, наиболее распространенный протокол ISO-9141 (см. ниже) является и самым медленным из всех — при работе с ним невозможно просматривать с приемлемой частотой дискретизации более 2-4 параметров.
02 — данные стоп-кадра
Получение сохраненной фотографии текущих параметров работы системы управления на момент возникновение кодов неисправностей (Mode 2 Freeze Frame)
03 — показать диагностические коды неисправностей
Mode 3 Read Diagnostic Trouble Codes (DTCs)
04 — очистить коды неисправностей и сохраненные значения
Mode 4 Reset DTC's and Freeze Frame data — стирание кодов неисправностей, фотографий текущий параметров, результатов тестов датчиков кислорода, результатов тестовых мониторов
05 — результаты испытаний кислородных датчиков
Mode 5 O2 Sensor Monitoring Test Result
06 — результаты испытаний датчиков, не контролируемых постоянно
Запрос последних результатов диагностики однократных тестовых мониторов (тестов, проводимых один раз в течение поездки) (Mode 6 Test results, non-continuosly monitored) — эти тесты контролируют работу катализатора, системы рециркуляции выхлопных газов (EGR), системы вентиляции топливного бака.
07 — показания «текущих» кодов неисправностей
Запрос результатов диагностики непрерывно действующих тестовых мониторов (тестов, выполняемых постоянно, пока выполняются условия для проведения теста) (Mode 7 Test results, continuosly monitored) — эти тесты контролируют состав топливно-воздушной смеси, пропуски зажигания (misfire), остальные компоненты, влияющие на выхлоп.
08 — специальный режим управления
Управление исполнительными механизмами
09 — запрос информации об автомобиле
Mode 9 Request vehicle information — запрос VIN-кода и калибровочных данных.
0A — запрос постоянных кодов неисправностей
Транспортные средства, не обязаны поддерживать все режимы, и в режимах, они не обязаны поддерживать все возможные PID (одни из первых OBDII-совместимые транспортные средства поддерживают только очень небольшое количество из них).
В каждом режиме ПИД-00 зарезервирован, чтобы показать, какие PID поддерживает этот режим. Режим 01, PID 00 должны поддерживать все транспортные средства, он доступен следующим образом...
Убедитесь, что ваш ELM327 интерфейс правильно связан с транспортным средством. Большинство транспортных средств не будет реагировать без ключа зажигания в позиции ON, поэтому включите зажигание, но не заводите двигатель. Если вы экспериментировали, состояние интерфейса могут быть неизвестны, поэтому сбросьте его отправив:
> АТ Z
Вы увидите, что вспыхнет лампочка интерфейса, а затем чип должен ответить «ELM327 v1.4b». Теперь вы можете выбрать протокол, по которому ELM327 должен соединиться, но это, как правило, легче сделать просто выбрав протокол '0 ', который говорит чипу найти протокол самостоятельно:
> AT SP 0
Вот и все, что вам нужно сделать, чтобы подготовить ELM327 для общения с автомобилем. Введите команду режим 01 PID 00:
> 01 00
ELM327 должен ответить «Поиск ...» затем он выдаст ряд чисел похожих на это:
41 00 ВЕ 1F B8 10
41 означает ответ на запрос Режим 01  (01 + 40 = 41), а второе число (00) повторяет запрошенный номер PID. Режим 02, ответ на запрос 42, режим 03 - 43, и т.д. Следующие четыре байта (BE, 1F, B8, и 10) представляют запрашиваемые данные, в данном случае набор битов показывает PID, которые поддерживаются этим режимом (1 = поддерживается, 0 = нет). Хотя эта информация не очень полезна для обычных пользователей, она доказывает, что соединение работает.
Другой пример запрашивает температуру охлаждающей жидкости двигателя (ECT). Температура охлаждающей жидкости это ПИД-05 в режиме 01, может быть запрошена вот так:
> 01 05
Ответ будет иметь вид:
41 05 7B
41 05 показывает, что это является ответом на Режим 1 PID 05, в то время как 7B является искомым значением данных. Преобразуем шестнадцатеричное значение 7B в десятичную форму, получаем 7 х 16 + 11 = 123. Это текущая температура в градусах Цельсия, но с нулевым смещением для обеспечения отрицательных температур. Чтобы преобразовать ее в фактическую температуру охлаждающей жидкости, необходимо вычесть 40 из полученного значения. В этом случае температура охлаждающей жидкости составит 123 — 40 т.е. 83 ° C.
Последний пример показывает запрос оборотов двигателя в минуту. Это PID 0С режима 01, поэтому в командной строке введите:
> 01 0C
Если двигатель работает, ответ может быть таким:
41 0C F8 1A
Возвращаемое значение (1А F8) на самом деле двухбайтовое шестнадцатеричное число, которое должно быть преобразовано в десятичное значение. Преобразовав это, мы получим значение 6904, которое высоковато для обычного двигателя.
Это потому, что количество оборотов в минуту отправляется с шагом в 1/4 оборота!
Чтобы преобразовать его в фактическое количество оборотов двигателя, мы должны разделить 6904 на 4. Значение 1726 оборотов в минуту выглядит значительно более разумным.
Обратите внимание, что эти примеры запрашивают информацию без учета используемого типа OBD протокола. Это происходит потому, что ELM327 обрабатывает форматирование и перевод данных. Если вы не собираетесь делать более продвинутые функции, на самом деле не нужно знать, что собой представляет протокол.
Приведенные выше примеры показали только одну строку ответа для каждого запроса, но ответы часто состоят из нескольких отдельных сообщений. Чтобы быть готовым к переменному числу строк ответа, ELM327 обычно ждет, чтобы увидеть, если вдруг появляется еще одно сообщение. Если ответ не приходит в определенное время, предполагается, что соединение завершено. Этот же таймер используется также при ожидании первого ответа, и если он не приходит, отображает «No Data».

Пример взаимодействия с elm327-устройством:

Блог им. info: Разработка софта для elm327 часть2
Команды:
ATZ — сброс устройства;
ATH1 — включает отображение заголовков, используемых в рамках диагностических протоколов;
ATI — отображение версии прошивки;
AT@1 — отображение описания устройства;
ATRV — прочитать текущий уровень напряжения на устройстве;
ATSP0 — включить автоматический выбор диагностического протокола;
ATDP — отобразить текущий диагностический протокол;
Результатом исполнения данной команды будет 'AUTO', таким образом, устройство находится в режиме автоматического определения диагностического протокола, но фактический протокол еще не определен. Далее мы исполняем команду 0100, то есть хотим определить какие PID'ы поддерживаются конкретным блоком управления двигателем (ЭБУ). Устройство отвечает строкой Searching… и после некоторого ожидания определяет диагностический протокол, возвращая ответ ЭБУ на исходный запрос PID'ов. После определения конкретного диагностического протокола запрос ATDP отображает его наименование.
0105 — отображает текущую температуру охлаждающей жидкости. Для того, чтобы получить реальное значение температуры, необходимо вычесть разность 'полученный результат — 40'.
ATH0 — отключает отображение заголовков диагностических протоколов, в этом случае результат команды 0105 отображает только полезную информацию в виде полученных значений.
Подробности и описание всех команд доступно здесь (на английском)

Как выбрать СТО Lada?

Обсуждать будем очень актуальный для автолюбителей вопрос, который касается выбора станции техобслуживания. Действительно, благодаря хорошо проведённому техобслуживанию ремонт Лада может обойтись относительно недорого, плюс ликвидируются все неполадки автомобиля. Конечно, для этого необходимо подобрать хорошего продавца запчастей на Ларгус, например катушки зажигания ВАЗ, либо другую модель. Каким образом выбрать подходящую СТО? Предлагаем разобраться вместе. Конечно, советы ваших знакомых по поводу выбора СТО Лада пригодятся, но
Читать дальше →

Промывка радиатора автомобиля

Регулярная промывка радиатора  — лучший способ сохранить двигатель вашего автомобиля для нормальной работы.
Сколько раз вы видели людей на середине дороги с поднятыми капотами своих машин, и пар хлестал из радиатора? И таких случаев очень много.
Систему охлаждения двигателя, в основном, игнорируют многие водители и, это является главной причиной ситуаций, когда двигатель раньше времени начинает требовать ремонта.
Вы легко можете избежать всего этого, выполняя плановое техническое обслуживание вашего автомобиля.
Прежде чем перейти к промывке радиатора, давайте узнаем, как он функционирует!
Читать дальше →

Как подключиться через USB-адаптер ELM327 к смартфону планшету на Android?

Как подключиться через USB-адаптер ELM327 к смартфону планшету на Android
 
Для этого на андроид-устройстве должна поддерживаться функция USB-host (USB-OTG), о чем можно узнать из ТТХ аппарата. 
Драйвер для USB-адаптера уже есть внутри программы, но скорее всего придется вручную установить драйвер в системе.
Вот моя инструкция:
Читать дальше →

Покупка аккумулятора для авто

Аккумулятор для автомобиля, выбираем цену и марку
Автомобильный аккумулятор – это тот важный элемент легкового автомобиля, который обеспечивает нормальную работу всего установленного электрооборудования. При обнаружении неполадок в работе АКБ или в том случае, когда устройство выходит из строя, вам следует посетить каталог запчастей Unisnab.by, как и MotorState.com.ua  и подобрать новую батарею для своего автомобиля.
Блог им. info: АКБ автомобиля 
Ассортимент аккумуляторов
Электронный каталог магазина содержит различные модели автомобильных АКБ тут http://www.unisnab.by/catalog/popular/akb/, поэтому вы без труда подберете оптимальный вариант. В ассортименте присутствуют следующие марки аккумуляторов:
  • Bosch;
  • Varta; 
  • A-mega;
  • Tenax;
  • Akom;
  • AutoPart и др.
Каждая батарея обладает определенными характеристиками и свойствами. При выборе подходящей модели нужно учитывать следующее:
  • цена;
  • модель;
  • тип;
  • ресурс;
  • мощность;
  • надежность.
Например, вы зря потратите деньги, если купите дорогой аккумулятор и установите его в старый автомобиль с изношенным генератором и небольшим набором потребителей энергии.
При помощи информативного и хорошо проработанного поиска на сайте вы легко сможете купить АКБ, оптимальный для конкретной марки и модели транспортного средства.
Что влияет на цену?
Как было сказано выше, покупать в старые машины дорогие аккумуляторный батареи – не лучшее решение. При этом самый дешевый и ненадежный АКБ может быстро выйти из строя, вызвав новые финансовые затраты. В связи с этим рекомендуем выбирать аккумуляторы проверенных брендов, которые представлены в нашем интернет-магазине. Все наши АКБ проверены временем и успели хорошо себя зарекомендовать.
Блог им. info: АКБ автомобиля 
Что касается стоимости батареи, она обычно зависит не только от бренда, но и от технических характеристик:
  • Размеры и объем. Чем больше батарея, тем она дороже. Объясняется это необходимостью использования большего количества исходных материалов.
  • Производственная технология. Современные производители переходят на новые технологии производства аккумуляторов, что неизбежно способствует повышению стоимости батареи.
  • Пусковой ток.
  • Материал, из которого сделан корпус. Высокопрочные АКБ стоят дороже, так как изготавливаются из более дорогого и качественного пластика. Также на цене сказывается наличие специального индикатора.
С учетом перечисленных факторов вы сможете купить АКБ для своего транспортного средства.
Где следует выбирать аккумулятор?
Наш интернет-каталог MotorState.com.ua предлагает широкий ассортимент автомобильных аккумуляторов от разных производителей. При этом каталог гарантирует высокое качество продаваемых товаров, предоставляем доступные цены и организуем быструю доставку. При возникновении любых вопросов вы можете связаться с нашими менеджерами по телефону, которые проконсультируют вас и помогут подобрать подходящую модель автомобильного АКБ.

Как выбрать автомобильный бокс

Как выбрать автомобильный бокс
Путешествие – это всегда приятные ощущения, связанные с чем-то новым и неизведанным, но вот сборы вещей – события не из приятных. Более того, всегда (сколько человек не ехали бы) не хватает места в багажном отделении. И тут становиться вопрос о том, как же решить эту ситуацию, но при этом взять все необходимые вещи с собой. Но решение есть и оно довольно простое – это специальные боксы для вещей. Автомобильные боксы представляют собой специальные дополнительные приспособления, которые крепятся на крышу любого транспортного средства. Они имеют довольно эстетичный внешний вид, а потому совершенно не портят вид автомобиля. В даже можно перевозить тяжелые наборы инструментов.
Сегодня на рынке автомобильных запчастей и аксессуаров представлено два вида бокса для вещей, в зависимости от конструкции:
Читать дальше →

Примерка-Распаковка. Комбинезон зимний утепленный Mobihel. Куртка и Комбинезон

Обзор автоламп

Габаритные огни и прочие лампы играют очень важную роль в современности, потому как они обеспечивают визуальную индикацию транспортного средства даже в условиях плохой видимости. Сегодня в продаже данная продукция представлена в колоссальном многообразии и широком ценовом диапазоне. Такие компании, как motorstate.com.ua, могут предложить лампы освещения именно той конфигурации, которая требуется.
Наиболее популярная продукция
Читать дальше →

Чем же лучше Launch EasyDiag 2.0 сравнивая с ELM327? Смотри видео обзор авто диагностики EasyDiag