Вопрос

Считывайте данные об угле поворота в режиме реального времени

Для исследовательского проекта, в котором я участвую, мне нужно в режиме реального времени считывать данные об угле поворота рулевого колеса (углу поворота переднего колеса). Как мне этого добиться? Какое аппаратное и программное обеспечение мне для этого нужно?



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



Вариант №1



Специальное измерительное оборудование/датчик, установленный непосредственно на рулевом колесе рядом с передним колесом. Это может быть довольно сложно с точки зрения разработки специального оборудования и его установки на автомобиль. Преимуществом будет простота считывания показаний датчика, поскольку используемый датчик будет иметь известный формат выходных данных.



Вариант №2



Пытаюсь считать данные с датчика угла поворота рулевого колеса (SAS), расположенного прямо на руле. Думаю, его можно считать по шине CAN через интерфейс OBD2? Мне нужно получить доступ к данным из моего кода на C++ в Linux.



Я могу приобрести подержанный автомобиль для целей проекта. Есть ли у кого-нибудь предложения по маркам и моделям автомобилей, которые могут предоставить данные SAS? Я нахожусь в Европейском союзе. Я бы предпочёл автомобили Volkswagen Group (VW, Audi, Seat, Skoda), но это не обязательно.



Судя по тому, что я читал, системой SAS оснащаются только автомобили с электронной системой стабилизации (ESC или ESP).



Редактировать:



После дальнейших поисков я выяснил, что данные об угле поворота рулевого колеса не входят в стандартные идентификаторы ODB, поэтому их можно получить только с помощью специализированного программного обеспечения. Это означает, что рынок, скорее всего, будет фрагментирован. Однако я также нашёл платформу OpenXC с открытым исходным кодом от Ford, которая позволяет получать данные об угле поворота рулевого колеса для некоторых автомобилей Ford. У них даже есть библиотека C для взаимодействия с автомобилем.



Перевод вопроса с Mechanics Stack Exchange
Лицензия: CC BY-SA (2.5–4.0)
Оригинальный вопрос: https://mechanics.stackexchange.com/questions/17634/read-steering-angle-data-in-real-time

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

  1. Если посмотреть на процедуру сброса настроек SAS (датчика угла поворота рулевого колеса) на вики-странице Ross Tech VCDS здесь, то можно увидеть, что в этом программном обеспечении измерительные блоки 08 группы 007 возвращают данные об угле поворота рулевого колеса в градусах в режиме реального времени. Боюсь, я не знаю, где находятся эти данные.



    Номер детали SAS для автомобилей VAG — 1J0-959-654-J, который был заменён на 1J0-959-654-AG. Судя по всему, эта деталь устанавливалась на VW Bora, Audi A3 и Seat Alhambra, Leon и Toledo. Я не уверен насчёт конкретных моделей и характеристик, но, судя по тому, что я вижу, на багажнике автомобиля, оснащенного системой электронного контроля устойчивости (и, следовательно, системой активного контроля устойчивости), должны быть указаны коды 1AP, 1AS, 1AT и 1AZ.



    Надеюсь, эта информация вам чем-то поможет. Боюсь, я недостаточно компетентен, чтобы дать вам однозначный ответ.


  1. Что вы имеете в виду под «вводом угла поворота руля»? Где вводить?
  1. @Kozuch, спасибо за ответ. А вы нашли способ вводить угол поворота руля?
  1. @GrahamSlick — я выбрал европейский Mondeo Mk3. См. мой комментарий к вопросу выше. Идентификатор CAN — 0x80. У VW такой же SAS на нескольких моделях, вы можете провести реверс-инжиниринг. У меня нет идентификатора для этой модели. Вот информация о Mondeo — см. этот пост.
  1. @Kozuch, у меня тот же вопрос: как ты в итоге сделал ?? У меня та же проблема, и я бы предпочёл не прибегать к нестандартному решению
  1. Спасибо за ответ! Вы натолкнули меня на мысль о другом способе считывания данных. Что ж, помимо удобного считывания данных (в известном формате) с CAN-шины, есть ещё одно очевидное решение — попытаться провести реверс-инжиниринг самой SAS... Однако у меня почти нет опыта взлома низкоуровневой электроники, но, возможно, оно того стоит, ведь нужно купить только датчик SAS, а не весь автомобиль, так что финансовые риски гораздо ниже...
  1. Сталкивались ли вы с чем-то подобным для Honda?
  1. Подводя итог, можно сказать, что OpenXC может быть лучшим универсальным решением, подходящим для нескольких моделей автомобилей. Кроме того, необходимо анализировать и декодировать шину CAN конкретного автомобиля — некоторые из них могут предоставлять данные, а некоторые — нет. Лучшее решение, которое я нашёл, — это европейский Mondeo Mk3, который передаёт данные об угле поворота рулевого колеса с шагом в 0,1 градуса на шину CAN через OBD2 — см. этот пост (идентификатор CAN 0x201 — я проверил это опытным путём).
Вы уже ответили на этот вопрос