Вопрос

Можно ли поворачивать руль в Honda Civic 2017 (без отправки данных Honda) с помощью команд, отправляемых по шине CAN (через порт OBD ii)?

Я хочу поворачивать руль своего Honda Civic LX 2017 года выпуска (без системы Honda Sensing), отправляя команды по шине CAN (через порт OBD ii). В моём автомобиле установлен электроусилитель руля.
Я делаю это, потому что мне нужно провести несколько экспериментов с программным обеспечением для автономного вождения, которое будет отправлять угол поворота руля в качестве выходных данных.



Для этой цели я буду использовать адаптер Panda OBD от comma.ai. Я видел, как люди делали это в автомобилях с системой Honda Sensing. Просто хочу знать, возможно ли это в моём автомобиле.



Перевод вопроса с Mechanics Stack Exchange
Лицензия: CC BY-SA (2.5–4.0)
Оригинальный вопрос: https://mechanics.stackexchange.com/questions/47874/can-i-turn-the-steering-wheel-in-honda-civic-2017-no-honda-sending-by-sending

0 Комментариев

  1. Не уверен насчёт Civic, но с помощью openpilot от comma.ai мой друг на Тайване смог получить L2 на свой Prius без функции LKAS (в его машине вообще нет модуля камеры).


  1. Нет, не напрямую через порт OBDII. Невозможно отправить сигнал о повороте руля через OBD даже с помощью диагностического оборудования дилерского уровня. Представьте, насколько это было бы опасно, если бы такое было возможно.



    Даже если бы вы напрямую подключились к шине CAN рулевого управления, я сомневаюсь, что вы смогли бы отправить какие-либо данные для активации рулевого управления.



    В системах, с которыми я работал (Scania, Landrover, Volvo, Toyota), система управления рулевым механизмом является автономной, поэтому контроллер двигателя H-Bridge и блок обработки данных, включая датчик угла поворота рулевого колеса, находятся в одном электронном блоке управления, поэтому вы не можете отправлять ему ложную информацию. По шине CAN передаются только данные о частоте вращения двигателя, скорости автомобиля, дублированном угле поворота рулевого колеса и сотни других битов данных от других датчиков. Все критически важные для безопасности данные обычно передаются по шине Flex-ray с несколькими резервными каналами.



    На самом деле существует всего три способа взять управление на себя:



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



    2. Подключитесь напрямую к входам H-моста. Я делал это много раз, и это, пожалуй, самый безопасный и простой способ, если у вас есть базовые навыки в области электроники и программирования. Просто разберите ЭБУ EPS и найдите входы от микроконтроллера к H-мосту. Скорее всего, они будут рассчитаны на напряжение 3,3 или 5 В. Просто подайте на них питание от чего-то вроде Arduino или самодельной платы. Вы можете добавить дополнительные функции безопасности, отслеживая по шине CAN входные данные от водителя и т. д. Вам нужно будет найти способ заставить вашу систему работать с новым контроллером. Я делаю так: обрезаю дорожки на печатной плате, идущие от микроконтроллера к H-мосту, и подключаю выходы микроконтроллера к входам моего контроллера, а входы H-моста — к выходам моего контроллера.



    3. Внедрите пользовательский код в микроконтроллер EPS. Без сомнения, это лучшее и самое безопасное решение, если у вас есть обширные знания в области программного обеспечения и реверс-инжиниринга. Просто внедрите код, который будет активировать рулевое управление при получении определённых сообщений по шине CAN. Преимущество этого способа в том, что вы не обходите стороной никакие функции безопасности, а поскольку код встроен, автомобиль не считает, что что-то не так. Единственная проблема, которую я вижу в этом способе, — это синхронизация, поскольку для рулевого управления требуется чрезвычайно высокая частота обновления/реакции.


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