Могу ли я переназначить ЭБУ автомобиля\велосипеда по шине CAN?

Я думаю использовать что-то вроде этого для подключения Arduino к блоку управления двигателем мотоцикла (ECU): Arduino CAN-Bus Shield с держателем карты USB .

Я никогда не делал ничего подобного; используя шину CAN, я могу только прочитать некоторые диагностические параметры в ECU или я могу также переназначить некоторые параметры ECU?

Вы можете изменить несколько параметров, но не все!

Ответы (3)

Возможно, у вас получится, но это определенно будет непросто.

Одна из проблем заключается в том, что большинство автомобилей имеют не одну, а как минимум три шины CAN:

  • Шина высокой критичности
    • Двигатель/силовая передача
    • Торможение
    • ЭСП/АБС
    • Подушки безопасности
    • Все другие важные для безопасности вещи, требующие малой задержки и высокого приоритета.
  • Автобус повышенной комфортности/средней важности
    • Вентиляция/кондиционер/отопление
    • Освещение (внутреннее, иногда и внешнее)
    • Информация приборной панели (значения шкалы, дисплеи, индикаторы и т. д.)
    • Все остальные удобные функции вашего автомобиля
  • Автобус управления развлечениями
    • Управление радио/CD-плеером
    • Бортовые развлекательные системы
    • Навигационные системы
    • Комплекты для интеграции телефона в автомобиль (отключение звука радио во время разговора и т. д.)

Ваш пробег может отличаться, но большинство производителей используют этот тип подразделения.

Ваша проблема в том, что разъем ODB-II, установленный на современных автомобилях/велосипедах, не подключен напрямую к одной из этих шин. Вместо этого он обычно подключается к оптически изолированному шлюзу. Это позволяет диагностическому оборудованию запрашивать некоторые основные значения и получать ответ. Следовательно, он обеспечивает уровень абстракции, так что все автомобили могут быть диагностированы с использованием одного и того же универсального диагностического устройства.

У некоторых шлюзов есть метод перехода в «сервисный режим», который затем позволяет вам отправлять необработанные сообщения непосредственно в одну из шин CAN и смотреть, что там уже есть. Однако это возможно даже не во всех моделях, и он всегда заблокирован каким-то конкретным PIN-кодом автомобиля (который вам нужно либо понюхать в гараже, либо взломать, используя грубую силу).

Альтернативой является подключение платы Arduino прямо к одной из шин CAN. Вам придется найти провода в моторном отсеке или в другом месте и соединить их с вашим собственным разъемом. Не относитесь к этому легкомысленно; если ваша шина CAN управления двигателем выходит из строя во время движения на высокой скорости, вы находитесь в реальной и непосредственной опасности . Мало того, что ваш двигатель глохнет, но, в зависимости от уровня автоматизации и электронного управления вашего автомобиля, все виды систем выходят из строя в той или иной степени. Усилитель руля, система помощи при экстренном торможении, ESP, ABS, стоп-сигналы, управление дроссельной заслонкой, подушки безопасности... Все может перестать работать.

Если вы действительно хотите иметь возможность настроить ЭБУ управления двигателем , это полностью отличается от простой диагностики. На самом деле, вы не сможете реконструировать этот процесс за всю свою жизнь, если только у вас нет какой-либо внутренней информации. По крайней мере, вам потребуется доступ к официальному инструменту настройки/программирования от производителя автомобиля, который вы можете одолжить, чтобы прослушивать сообщения CAN/ODB, которые он отправляет и получает обратно. Тем не менее, вам придется потратить месяцы работы (и несколько автомобилей, которые в процессе взрываются), чтобы иметь возможность изменить несколько параметров.

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

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

Например, для автомобилей Renault, подобных моей, я бы рекомендовал приобрести Renault CLIP. Это инструмент, который дилеры Renault используют для диагностики и настройки блоков управления двигателем, и он поставляется с полным программным обеспечением и документацией.

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

Для справки: большая часть моих практических знаний об экспериментах с шиной CAN была почерпнута из этой замечательной темы .

Что-то можно, что-то нельзя, это зависит от марки/модели/года.

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

Другой путь к настройке — посмотреть на систему, подобную Megasquirt, она модернизируется своими руками и имеет хорошее сообщество поддержки. Для велосипеда есть компактная версия под названием Microsquirt.

Я объясню вам siutation более подробно. Я информатик и сейчас изучаю Arduino. У меня есть друг, инженер-механик, и он сотрудничает с командой гоночных мотоциклов. Он знает, какой параметр нужно изменить, потому что после каждого квалификационного круга они переназначают какой-то параметр ECU с помощью ноутбука. Поскольку параметры, которые необходимо изменить, указаны и есть математическая формула для их расчета, он спросил меня, могу ли я, используя Arduino, реализовать простую систему, которая работает следующим образом: 1) подключается к ЭБУ 2) считывает какой-то параметр от ЭБУ
3) Рассчитать новое значение для некоторого параметра. 4) Обновить этот параметр новыми значениями. Ничего больше.
Итак, теоретически, если он может изменить эти параметры ЭБУ с помощью ноутбука, значит, ЭБУ позволяет изменять значения этих параметров. Что бы я знал, если бы с помощью CAN BUS я мог только читать или также обновлять параметры, которые в ECU можно изменить. И в конкретном случае я бы знал, если по вашему мнению, используя Arduino (и щит, как связанный), я могу попытаться изменить эти параметры. TNX
@AndreaNobili AFAIK, он должен использовать какое-то программное обеспечение для изменения этого параметра со своего ноутбука. Как правило, производители двигателей предоставляют только собственное программное обеспечение, с помощью которого вы можете изменять параметры двигателя. Поэтому я сомневаюсь, что вы можете сделать то же самое, используя любое другое устройство. (К вашему сведению, я работаю на гигантского производителя дизельных двигателей, и мы никому не позволяем изменять значения... У нас есть шифрование :)
Если ноутбук может читать/изменять его, Arduino тоже может. Вам просто нужно знать отправляемые команды.
@JohnU Я согласен ... Но в большинстве случаев производители двигателей используют проприетарный протокол в качестве более высокого уровня ... Так что его немного сложно декодировать ... Плюс вам потребуются такие инструменты, как CANalyzer и т. Д.

Я не рекомендую делать это в Arduino. Вам понадобятся годы, чтобы закончить этот проект. Ардуино - это неправильный путь. Зачем заново изобретать велосипед?

Вы ищете HUD ECU Hacker .

Если ваш ЭБУ поддерживает стандартные команды OBD2 по шине CAN с использованием протокола ISO 15765 и стандартных идентификаторов CAN, то вы просто подключаете HUD ECU Hacker и видите коды неисправностей и параметры вашего ЭБУ.

HUD ECU Hacker также имеет встроенный эмулятор ECU и может быть адаптирован к другим моделям ECU с файлами XML.

Он также может отображать весь трафик на шине CAN в режиме реального времени и позволяет устанавливать фильтры для определенных диапазонов идентификаторов. Во встроенном терминале CAN Raw вы можете вручную отправлять команды шины CAN и видеть ответы.

HUD ECU Hacker является благотворительной программой , что означает, что вы можете использовать ее без ограничений, но вас попросят сделать пожертвование в пользу выбранной вами неправительственной организации, если вы часто используете программу.

HUD ECU Hacker работает на Windows XP, 7, 8, 10, 11 (32 и 64 бит).

Вы можете использовать дешевый китайский адаптер J2534 (30-40 долларов США) для подключения к CAN-шине. Эти адаптеры подключаются к любому компьютеру через USB. Прочтите очень подробный справочный файл о различных типах адаптеров. HUD ECU Hacker также может установить драйверы, необходимые для всех поддерживаемых адаптеров.

Ниже вы видите HUD ECU Hacker, взаимодействующий с ECU DENI E1700. Весь трафик данных может регистрироваться в файле журнала HTML .

Скачать: https://netcult.ch/elmue/HUD%20ECU%20Hacker

HUD ECU Hacker CAN Bus Передача данных ECU