Комментарии 9
Прямо как в компьютерной игре!
Прекрасная работа! Приятно видеть качественный и информативный онборд.
Какой скорости удалось добиться на OBD протоколе?
У меня хонды 2000х годов, CAN шины там нет, есть только OBD. С помощью дешёвых OBD Bluetooth адаптеров удается читать 5гц на все каналы суммарно, как заявляет RaceChrono, но судя по графику их там нет даже близко, скорее 1гц даже если читать только обороты двигателя.
Переплатил интернеты и заказал OBDLink MX+, везде заявляют максимально возможную скорость, но что то мне подсказывает что она будет сильно ограничена возможностями ЭБУ старой хонды :)
Конечно перелопатил, а не переплатил, хотя, судя по его цене, первый вариант тоже подходит.
Под OBD протоколом я подразумевал стандартный протокол по CAN который есть во всех современных автомобилях. Вот тут подробности https://en.wikipedia.org/wiki/OBD-II_PIDs Работает это по схеме "запрос-ответ". Мой форд отвечает с некоторой задержкой и частота в результате получается около 10Гц. В каждом запросе только один параметр, в итоге чем больше параметров тем ниже частота. У меня вроде было около 10Гц при запросе 3 параметров (обороты, дроссель, температура). Если вопрос принципиальный, могу проверить. Но ограничено там всё именно блоком управления, он с задержкой отвечает.
Если нужно получать быстрее, надо смотреть на сообщения на шине конкретного производителя. У того же форда на шине около 2000 сообщений в секунду летит. Но никакого доступного описания нет, надо самостоятельно искать ID и разбирать пакеты.
То, что вы подразумеваете под OBD без CAN-шины, это скорее всего как раз обмен по K-Line. Я экспериментировал с этим на мотоцикле (honda cb-600). Структура обмена там достаточно типовая, похожа на KWP2000. Работает тоже по схеме "запрос-ответ" и есть установленные протоколом задержки между посылками. В итоге частота тоже была небольшая, до 10Гц суммарно. Только описания что где лежит нормального нет и пришлось лог. анализатором смотреть обмен и вычислять параметры.
OBD это же OnBoard Diagnostic, оно для других целей, поэтому и больших скоростей обмена там нет.
У того же Абита, например, протокол по CAN построен иначе. Это блок специально для спорта и ничего запрашивать там не нужно. Блок сам шлет все параметры с заданной частотой. Те же обороты, например, идут с частотой 100Гц.
https://www.youtube.com/watch?v=enP3at7eHrU < Вот тут я читаю из OBD только педаль газа и обороты. В целом даже на видео хорошо видно с какой большой задержкой это происходит... В итоге отказался вообще от этих показаний на онбордах и графиках, потому что они только дезинформируют. RaceChrono на эти два канала показывает в графиках 5гц, но визуально это вообще так не выглядит, слишком рваный график, между точками оборотов может быть спокойно 2000+rpm.
Наверняка при чтении через дешевый Bluetooth OBD накладывается много лишних действий, что сильно замедляет процесс обмена данными. По идее температуру и подобные параметры можно запрашивать реже (такое и сейчас реализовано в RaceChrono), а вот дроссель и обороты по идее как раз максимально быстро.
Было бы интересно попробовать ускорить чтение этих данных из обычного OBD.
Абит и другие спортивные ЭБУ мне, к сожалению, нельзя по регламенту.
Делал аналогичное устройство. У меня через ble была задержка порядка секунды. Обычный блютус реагирует почти мгновенно. Наверное от модуля зависит.
Скорость больше 100 км/ч на лесной дороге! Дорога не огорожена и не оцеплена.
Все грибники, охотники, туристы, ориентировщики и пр. предупреждены о том, что здесь проводится гонка?
Или это закрытый огороженный полигон?
CAN и GPS адаптер для RaceChrono