Каковы различия между протоколом OBD-II и настройкой CAN?
Как использовать сканер OBD-II на автомобиле с CAN?
Хорошо, прежде чем я отвечу на ваши конкретные вопросы, давайте немного познакомимся с системами шин. Возможно, вы знакомы с некоторыми частями этих вещей, но я начну здесь с того, что люди, которые мало или совсем не имеют знаний в области ИТ или электроники, должны быть в состоянии это понять.
- Автобусные Системы
- Что такое система шин?
- Без системы шин:
- С системой шин:
- OBD-II
- Как работает CAN-шина и для чего она нужна в автомобиле?
- Что такое автомобильная CAN-shina и для чего она нужна?
- Для чего все таки нужна CAN-шина, принципы ее работы?
- Управление автомобилем по CAN
- Введение
- Теоретическая часть
- Что такое CAN-шина
- Электроусилитель руля
- Электронная педаль газа
- Электронные системы помощи водителю
- Практическая часть
- Управление рулем
- Управление газом
- Что еще мы используем
- Оборудование и ПО
- 📺 Видео
Видео:CAN шина👏 Как это работаетСкачать
Автобусные Системы
В электронных системах сигналы передаются от одного чипа к другому с помощью проводов (давайте на секунду забудем о беспроводных вещах). Самый простой способ сделать это — использовать один провод на бит информации, которую вы хотите передать. Один бит информации — это просто ответ на вопрос « да / нет» типа «Включены ли фары?» Если фары включены, то на этом проводе есть напряжение, скажем, 5 вольт. Если они выключены, на проводе есть 0 вольт.
Теперь это хорошо для одного бита информации. Но больше данных требует больше проводов. К сожалению: больше проводов означает больше сложности. Современный автомобиль — это просто компьютер с шинами на нем , поэтому в нем много проводов ( несколько километров или миль ). Чем больше проводов, тем больше вес и больше затрат, а производителям автомобилей это не нравится. Поэтому нам нужен способ уменьшить количество проводов.
Обычный способ сделать это — использовать систему шин .
Что такое система шин?
Думайте о шине как о способе передавать больше информации, используя меньше проводов . Существуют и другие преимущества шинных систем, но я остановлюсь на этом аспекте.
Мы хотим включить или выключить четыре лампы.
Без системы шин:
- Лампа 1: +5 В на проводе 1 = лампа включена; 0 В на проводе 1 = лампа выключена
- Лампа 2: +5 В на проводе 2 = лампа включена; 0 В на проводе 2 = лампа выключена
- Лампа 3: .
- Лампа 4: .
Это легко увидеть; нам нужен один провод на лампу.
С системой шин:
- Лампа 1: +1 В на проводе 1 (селектор), 0 или +5 В на проводе 2 для включения и выключения (переключатель)
- Лампа 2: +2 В на проводе 1 (селектор), 0 или +5 В на проводе 2 для включения и выключения (переключатель)
- Лампа 3: +3 В на проводе 1 (селектор), 0 или +5 В на проводе 2 для включения и выключения (переключатель)
- Лампа 4: +4 В на проводе 1 (селектор), 0 или +5 В на проводе 2 для включения и выключения (переключатель)
С этой примитивной системой шин мы сократили количество проводов до двух . Независимо от количества ламп, которыми мы хотели бы управлять, нам нужен только один провод, чтобы сообщить другой микросхеме, какую лампу мы хотим переключить, и второй провод, чтобы сообщить, хотим ли мы включить или выключить лампу. Мой пример будет иметь ограничения в реальном мире, так как нельзя просто поднять напряжение до 1000 В на проводе 1, чтобы включить тысячу разных ламп.
Этот пример показывает, почему в электронике вообще и в автомобилях в частности используются системы шин. Автомобили используют ряд систем автобусов, которые были сделаны специально для них:
Что такое CAN (сеть контроллеров)?
CAN — самая важная система шин в автомобиле. Я не буду вдаваться в подробности по этому вопросу, просто подумайте об этом как о способе передачи больших объемов данных, используя только два провода. Вы можете прочитать больше о CAN в Википедии .
Видео:Простая проверка CAN шины. Сканер не видит автомобиль через OBD2. Как правильно выбрать изоленту.Скачать
OBD-II
В чем разница между протоколом OBD-II и настройкой CAN?
OBD-II — это протокол более высокого уровня, используемый для диагностических целей. OBD-II может использовать одну из (многих) различных шинных систем для передачи диагностических данных с вашего автомобиля и обратно. Представьте, что OBD-II — это язык (английский), на котором вы говорите, а CAN — это устройство связи (телефон), с которым вы разговариваете (о вашем автомобиле и состоянии его здоровья;).
Многие люди называют OBD (сокращение от бортовой диагностики) или OBD-II как «стандарты». OBD-II — это стандарт, но он опять-таки состоит из множества различных стандартов, протоколов и систем шин, используемых для связи, поэтому сложно перечислить их все. Однажды я сделал обзорную диаграмму, и я посмотрю, смогу ли я добавить это к своему ответу позже.
Как использовать OBD-II сканер на автомобиле с CAN?
Просто подключите его к порту OBD-II вашего автомобиля. CAN является одним из транспортных протоколов спецификации OBD-II и должен поддерживаться большинством OBD-II-сканеров. Расположение порта можно найти с помощью поиска Google (изображение). Обычно порт расположен в пределах досягаемости водителя , например, под приборной панелью или скрыт в центральной консоли .
Видео:Компьютерная диагностика авто. K-линия и CAN шинаСкачать
Как работает CAN-шина и для чего она нужна в автомобиле?
Сегодня автомобиль, представляет из себя, не просто средство на колесах с двигателем и аналоговыми релюхами, которые было при поломке с легкостью заменить не только специалиста, но и мало-мальски грамотному человеку. Автомобиль сегодня представляет из себя целый компьютер да и еще в добавок, передвигающийся на колесах.
И даже грамотный человек в сегодняшнем авто уже не сможет сам разобраться с этими системами электроники и программаторами работающими во благо передвижения автомобиля, а все работы по ремонту и исправностей каких-либо деталей, должны выполнять профессионалы и именно они, а не кто-то другой. И если вам понадобилось до оснастить свой автомобиль каким-либо дополнительным оборудованием, то доверить своего железно-электронного коня рекомендуем спецам и людям любящим свое дело.
Что такое автомобильная CAN-shina и для чего она нужна?
Очень частенько, при обсуждении с клиентами вопросов дополнительного оборудования и систем охраны в автомобили приходится проводить целые лекции на предмет почему той или иной монтаж дополнительного оборудования будет проводиться по времени больше суток, а иногда и несколько, конечно не обходится, при разговоре и без умных узконаправленных значений каких либо элементов автомобильной электроники типа CAN шина, RGB сигналы и пр… интересные штучки, что вводит незнающего человека в ступор, да я и сам когда-то, так же слушал про это все.))
Видео:Подробно про CAN шинуСкачать
Что такое автомобильная CAN-shina и для чего она нужна?
За последнее время, число различных опций в автомобиле выросло в разы. Увеличение опций произошло благодаря гонке за улучшения качества и пожеланиям клиентов и их потребностям не просто передвигаться, а передвигаться с комфортом, также еще законодательство увеличило требования безопасности окружающей среды. И при всех дополнительных оснащений потребление электроэнергии автомобиля увеличилось в двое.
Но можно было-бы оставить все без изменений и если раньше вопрос стоял о надежности, то сегодня еще к этому всему прибавилась масса различных опций электронного характера. И перед инженерами встает вопрос о приспособлении автомобиля к научно-техническому прогрессу не внося колоссальных изменений в конструкции но при этом учитывая все тонкости безопасности и эксплуатации.
Учитывая и стандартно применяющаяся схема однопроводного подключения к массе аккумулятора «GND (минус)», а вторым подключение является подключение массы к кузову, а плюсовой провод тянется по всему автомобилю и питается напрямую от генератора, и когда общая длина проводки в автомобиле достигла с километр и весом более центнера, выяснилось, что однопроводная схема хороша, но не во всем, как думали об этом прежде.
В Детройте на конференции в 1983 году компанией «Bosch» было официально анонсировано устройство под названием CAN (от англ. Controller Area Network) Сеть пространства датчиков.
Читайте также: Шины низкого давления для вездехода шерп
Для уменьшения проводов в автомобиле и увеличения скорости передачи данных появилась CAN-шина (от англ. Controller Area Network) «сеть пространства датчиков», которую применяют с сохранением минуса на кузове автомобиля и для уменьшения огромных килограммовых жгутов в автомобиле. Эта разработка велась крупной компанией BOSCH с 1970 года, пройдя международную сертификацию «ISO» в 1993 году вышла на массовое производство примерно с 2011 года.
Видео:Экспресс диагностика CAN шины на автомобиле. №21Скачать
Для чего все таки нужна CAN-шина, принципы ее работы?
Современный автомобиль обладает современной бортовой электроникой с огромным количеством управляюще-исполнительных модулей, к ним можно отнести всевозможные контроллеры, датчики и пр…, а для обмена информацией требовалась надежная и быстрая передача данных, для общения между приборами.
Современная CAN-шина обеспечивает дуплексную систему для одновременной приемо-передачи цифровой информации, обрабатывая ее одним блоком, где скорость передачи данных играет немаловажную роль. Реализация кан шины представляет с собой витую пару и позволила в разы уменьшить электромагнитные поля, которые возникают при работе генератора и других немаловажных систем автомобиля.
Обычно проводка CAN-шины оранжевых цветов, отличаясь друг от друга различными цветными полосками (CAN-Higt – черная, а CAN-Low – оранжево-серая).
С приходом CAN шины и началом ее применения, схема автомобильных проводников высвободилась от определенного количества проводников, которые обеспечивали связь контроллера управления между диагностическим разъемом, двигателем, мультимедией (навигационные системы на ОС Android), системой защиты автомобиля и пр…, по протоколу KWP 2000.
Протокол управления автомобилем при помощи CAN шины KWP 2000
Скорость обработки данных по CAN-шине может быть до 1 Мбит/с, а скорость обработки информации между жизненно важными системами в автомобиле, например – система безопасности торможения ABS, трансмиссия двигателя составляет 500 кбит/с. Помимо основных систем в автомобиле присутствует система комплектации в которую входят – подушки безопасности, мультимедия для автомобиля, блоки управления в дверях авто и пр.. может составить 100 кбит/с.
При обмене информацией между какими-либо блоками управления, и при помощи трансивера сигналы приемо-передачи информации усиливаются до необходимого уровня.
Топология и формы сигналов CAN-шины
Каждый блок подключенный к CAN-шине обладает определенным входным сопротивлением, в следствии чего, образуется нагрузка СAN модуля. Нагрузка на центральную CAN шине зависит от одновременного подключения и использования исполнительных механизмов и электронных блоков управления автомобилем и различными датчиками, например – сопротивление силового агрегата подключенного к CAN-шине составляет в среднем 68 Ом, информационно-командные системы «комплектации КОМФОРТ» от 2,0 до 3,5 кОм. В момент обесточивания всей системы отключается и нагрузочное сопротивление модулей работающих по CAN-шине.
Фрагмент CAN-шины с распределением нагрузки в проводах: CAN High CAN Low.
Системные, автомобильные блоки управления, обладают помимо различных нагрузочных сопротивлений еще и скоростью передачи данных, что может привести к препятствию в момент обработки разнохарактерных импульсов.
Для решения технической проблемы разнохарактерных импульсов применяется для связи между шинами межсетевой преобразователь.
Преобразователь – это, так называемый межсетевой-интерфейс, в автомобиле применяется в блоке управления или отдельно стоящим блоком и пр… Преобразовывающий интерфейс применяется для различного ввода / вывода информации диагностического разъема OBD, по определенному проводу выведенному к диагностическому разъему и соединяющий центральный блок управления OBD разъемом при помощи CAN-шины.
OBD – это унифицированный диагностический разъем с массой удобств и преимуществ для сканирования автомобиля на предмет ошибок и диагностики.
Блок-схема межсетевого CAN интерфейса.
Как показано на картинке, общение в автомобиле электронных блоков CAN шины происходят при помощи разных блоков, но делающие одно дело, силовой агрегат CAN-шины, информационной-командной системы и системы Комфорт, в зависимости от марки автомобиля и по своему составу, блоки могут отличаться, но суть идее остается неизменной.
Диагностика автомобиля на предмет неисправностей производится посредством подключения специализированного диагностического оборудования с необходимым программным обеспечением, так называемого анализатора CAN-шины или при помощи осциллографа (с анализатором шины CHN) и мультиметра (цифрового).
Проверку на предмет работы CAN – шины начинаются с измерения между проводами CAN сопротивления. Но необходимо помнить о том, что CAN-блок шины информационно-командной системы и системой «КОМФОРТ» постоянно находятся под напряжением, что не скажешь про силовой агрегат. Для этого в момент проверки рекомендуется отсоединить аккумулятор, можно обойтись одной из 2 клемм (плюсом или минусом).
В основном все неисправности CAN-шины заключаются в обрыве или замыкании линий, нагрузочных резисторов, нарушением логики работы или понижением уровня сигналов. В случае с нарушением логики поиск и обнаружение проблемы можно только при помощи анализатора CAN – шины.
Видео:Can Bus - что это такое ? Зачем нужен ? Как настроить ?Скачать
Управление автомобилем по CAN
Введение
Беспилотный автомобиль StarLine на платформе Lexus RX 450h — научно-исследовательский проект, стартовавший в 2018 году. Проект открыт для амбициозных специалистов из Open Source Community. Мы предлагаем всем желающим поучаствовать в процессе разработки на уровне кода, опробовать свои алгоритмы на реальном автомобиле, оснащенном дорогостоящим оборудованием. Для управления автомобилем было решено использовать Apollo, открытый фреймворк. Для работы Apollo нам необходимо было подключить набор модулей. Эти модули помогают программе получать информацию об автомобиле и управлять им по заданным алгоритмам.
К таким модулям относятся:
- модуль позиционирования автомобиля в пространстве с помощью GPS-координат;
- модуль управления рулем, ускорением и торможением авто;
- модуль состояния систем автомобиля: скорость, ускорение, положение руля, нажатие на педали и т.д.;
- модуль получения информации об окружении автомобиля. С этим справятся ультразвуковые датчики, камеры, радары и лидары.
Прежде всего перед нашей командой стояла задача научиться управлять рулем, ускорением и торможением автомобиля. А также получать информацию о состоянии систем автомобиля. Для этого была проведена большая работу по изучению CAN-шины Lexus.
Теоретическая часть
Что такое CAN-шина
В современных автомобилях управление всеми системами взяли на себя электронные блоки (Рис. 1.). Электронные блоки — это специализированные компьютеры, каждый из которых имеет все необходимые интерфейсы для интеграции с автомобилем. С помощью цифровых интерфейсов связи, блоки объединяются в сеть для обмена информацией друг с другом. Самые распространенные цифровые интерфейсы в автомобилях — CAN, LIN, FLEXRay. Из них наибольшее распространение получил именно CAN.
CAN (Controller Area Network) шина — это промышленный стандарт сети. В 1986 году этот стандарт разработали в компании Bosch. А первым автомобилем с CAN-шиной стал Mercedes-Benz W140, выпущенный в 1991 году. Стандарт разрабатывался для возможности устройствам общаться друг с другом без хоста. Обмен информацией осуществляется с помощью специальных сообщений, которые состоят из полей ID, длины сообщения и данных. Каждый блок имеет свой набор ID. При этом приоритет на шине имеет сообщение с меньшим ID. Поле данных может нести информацию, например, о состоянии систем и датчиков, команды управления механизмами и т.д.
Рис. 1. Шина CAN автомобиля.
На физическом уровне шина представляет собой витую пару из медных проводников. Сигнал передается дифференциально, за счет чего достигается высокая помехоустойчивость.
Рис. 2. Физическое представление сигнала в CAN шине
Посредством CAN шины можно получать информацию о состоянии различных датчиков и системах автомобиля. Также по CAN можно управлять узлами автомобиля. Именно эти возможности мы и используем для своего проекта.
Мы выбрали Lexus RX, потому что знали, что сможем управлять всеми необходимыми узлами по CAN. Так как самое сложное при исследовании автомобиля — это закрытые протоколы. Поэтому одной из причин выбора именно этой модели авто стало наличие описания части протокола CAN-шины в opensource-проекте Openpilot.
Читайте также: Шины в саранске по рабочей
Правильно управлять автомобилем — означает понимать, как работают механические части систем автомобиля. Нам было необходимо хорошо понимать, как правильно работать с электроусилителем или управлять замедлением автомобиля. Ведь, например, при повороте колеса создают сопротивление на рулевое управление, что вносит свои ограничения на управление при повороте. Некоторые системы невозможно использовать без ввода авто в специальные рабочие режимы. Эти и другие детали нам пришлось изучать в процессе работы.
Электроусилитель руля
Электроусилитель руля EPS (Electric Power Steering) — система, предназначенная снизить усилие на руль при повороте (Рис. 3). Приставка «электро» говорит о типе системы — электрическая. Управление рулем с этой системой становится комфортным, водитель поворачивает руль в нужном направлении, а электродвигатель помогает довернуть его до необходимого угла.
Электроусилитель устанавливается на рулевой вал автомобиля, части которого соединены между собой торсионным валом. На торсионный вал устанавливается датчик величины крутящего момента (Torque Sensor). При вращении руля происходит скручивание торсионного вала, которое регистрируется датчиком момента. Данные, полученные от датчика момента, датчиков скорости и оборотов коленвала, поступают в электронный блок управления ECU. А ECU, в свою очередь, уже вычисляет необходимое компенсационное усилие и подает команду на электродвигатель усилителя.
Рис. 3. Схематичное изображение системы электроусилителя руля
Видео: cистема LKA рулит автомобилем с помощью системы EPS.
Электронная педаль газа
Дроссельная заслонка — это механизм регулировки количества топливной смеси, которая попадет в двигатель. Чем больше смеси попадет, тем быстрее едет автомобиль.
Электронная педаль газа — это система, которая задействует работу нескольких электронных узлов. Сигнал о положении педали, при ее нажатии, поступает в блок управления двигателем ECM (Engine Control Module). ECM, на основе этого сигнала, рассчитывает необходимое количество топлива, которое нужно подать в двигатель. В зависимости от необходимого количества топлива, ECM регулирует угол открытия дроссельной заслонки.
Рис. 4. Система электронной педали газа.
Видео: Для работы круиз-контроля используется управление электронной педалью газа.
Электронные системы помощи водителю
Мы купили автомобиль, который оборудован множеством цифровых блоков и систем помощи водителю (ADAS). В нашем проекте мы используем LKA, ACC и PCS.
LKA (Lane Keep Assist) — это система удержания в полосе, которая состоит из фронтальной камеры и вычислительного блока. LKA удерживает автомобиль в полосе движения, когда водитель, например, отвлекся. Алгоритмы в вычислительном блоке получают данные от камеры и на их основе принимают решение о состоянии автомобиля на дороге. Система способна понимать, что автомобиль неконтролируемо движется к правой или левой полосе. В таких случаях подается звуковой сигнал для привлечения внимания водителя. При пересечении полосы система сама скорректирует угол поворота колес так, чтобы автомобиль остался в полосе движения. Система должна вмешиваться только в том случае, если осознает, что маневр между полосами движения не был вызван действием водителя.
ACC (Adaptive Cruise Control) — система адаптивного круиз-контроля, который позволяет выставить заданную скорость следования. Автомобиль сам ускоряется и притормаживает для поддержания нужной скорости, при этом водитель может убрать ногу с педалей газа и тормоза. Этот режим удобно использовать при езде по скоростным магистралям и автострадам. Адаптивный круиз контроль способен видеть препятствия впереди автомобиля и притормаживать для избежания столкновения с ними. Если впереди автомобиля едет другое транспортное средство с меньшей скоростью, ACC сбавит скорость и будет следовать за ним. При обнаружении статичного объекта, ACC сбавит скорость до полной остановки. Для обнаружения объектов перед автомобилем такая система использует радар с миллиметровым диапазоном длин волн. Обычно такие радары работают на частоте 24-72 ГГц и способны уверенно видеть объекты на расстоянии до 300 метров. Радар обычно установлен за передним значком на решетке радиатора.
PCS (Pre-Collision System) — система предотвращения столкновения. Система призвана предотвратить столкновение с автомобилем, который движется впереди. При неизбежности столкновения, система минимизирует урон от столкновения. Здесь так же используются радар для оценки расстояния до объекта и фронтальная камера для его распознавания. Фронт PCS прогнозирует вероятность столкновения на основе скорости автомобиля, расстояния до объекта и его скорости. Обычно у системы есть два этапа срабатывания. Первый этап — система звуком и индикацией на приборной панели оповещает об опасности водителя. Второй этап — активируется экстренное торможение с помощью системы ABS, и включаются преднатяжители ремней безопасности.
Практическая часть
Управление рулем
Первое, что захотелось сделать нашей команде, — это научиться рулить. Рулем в автомобиле могут управлять две системы: парковочный ассистент IPAS (Intelligent Park Assist) и LKA.
IPAS позволяет задавать напрямую угол поворота рулевого колеса в градусах. Так как в нашем автомобиле нет данной системы, проверить и освоить рулевое управление таким способом нельзя.
Поэтому мы изучили электрические схемы автомобиля и поняли, какие CAN-шины могут быть полезны. Мы подключили анализатор CAN-шины. Лог содержит файл записей сообщений в шине в хронологической последовательности. Наша задача была найти команды управления электроусилителем руля EPS (Electric Power Steering). Мы сняли лог поворота рулевого колеса из стороны в сторону, в логе смогли найти показания угла поворота и скорость вращения рулевого колеса. Ниже пример изменения данных в шине CAN. Интересующие нас данные выделены маркером.
Поворот руля влево на 360 градусов
Поворот руля вправо на 270 градусов
Следующим этапом мы исследовали систему удержания в полосе. Для этого мы выехали на тихую улицу и записали логи обмена между блоком удержания в полосе и DSU (Driving Support ECU). С помощью анализатора шины CAN нам удалось вычислить сообщения от системы LKA. На рисунке 6 изображена команда управления EPS.
Рис. 5. Команда управления рулем с помощью системы LKA
LKA управляет рулем путем задания значения момента на валу (STEER_TORQUE_CMD) рулевого колеса. Команду принимает модуль EPS. Каждое сообщение содержит в заголовке значение счетчика (COUNTER), которое инкрементируется при каждой отправке. Поле LKA_STATE содержит информацию о состоянии LKA. Для захвата управления необходимо выставлять бит STEER_REQUEST.
Сообщения, которые отвечают за работу важных систем авто, защищаются контрольной суммой (CHECKSUM) для минимизации рисков ложного срабатывания. Автомобиль проигнорирует такую команду, если сообщение содержит некорректную контрольную сумму или значение счетчика. Это встроенная производителем защита от вмешательств сторонних систем и помех в линии связи.
На графике (Рис. 6.) представлена диаграмма работы LKA. Torque Sensor — значение с датчика момента на торсионном валу. Torque Cmd — команда от LKA для управления рулем. Из картинки видно, как происходит подруливание LKA для удержания автомобиля в полосе. При переходе через ноль меняется направление поворота руля. Т.е. отрицательное значение сигнала говорит о повороте вправо, положительное — влево. Удержание команды в нуле говорит об отсутствии управления со стороны LKA. При вмешательстве водителя, система перестает выдавать управление. О вмешательстве водителя LKA узнает с помощью второго датчика момента на валу со стороны рулевого колеса.
Рис. 6. График работы системы LKA
Нам предстояло проверить работу команды управления рулем. С помощью модуля StarLine Сигма 10 мы подготовили прошивку для проверки управления. StarLine Сигма 10 должен выдавать в CAN-шину команды на поворот руля влево или вправо. На тот момент у нас не было графического интерфейса для управления модулем, поэтому пришлось использовать штатные средства автомобиля. Мы нашли в CAN-шине статус положения рычага круиз-контроля и запрограммировали модуль таким образом, что верхнее положение рычага приводило к повороту руля вправо, нижнее положение — к повороту влево (Рис. 7).
Читайте также: Шины для маленьких авто
Рис. 7. Первые попытки рулить
На видео видно, что управление осуществляется короткими секциями. Это возникает по нескольким причинам.
Первая из причин — это отсутствие обратной связи. Если расхождение между сигналом Torque Cmd и Torque Sensor превышает определенное значение Δ, система автоматически перестает воспринимать команды (Рис. 8). Мы настроили алгоритм на корректировку выдаваемой команды (Torque CMD) в зависимости от значения момента на валу (Torque Sensor).
Рис. 8. Расхождение сигнала приводит к ошибке работы системы
Следующее ограничение связано с системой защиты встроенной в EPS. Система EPS не позволяет командами от LKA рулить в широком диапазоне. Что вполне логично, т.к. при езде по дороге резкое маневрирование не безопасно. Таким образом, при превышении порогового значения момента на валу, система LKA выдает ошибку и отключается (Рис. 9).
Рис. 9. Превышение порогового значения регулировки момента на валу
Независимо от того, активирована система LKA или нет, сообщения с командами от нее присутствуют в шине постоянно. Мы посылаем модулю EPS команду повернуть колеса с конкретным усилием влево или вправо. А в это время LKA перебивает наши посылки «пустыми» сообщениями. После нашей команды со значением момента, приходит штатная с нулевым (Рис. 10).
Рис. 10. Штатные сообщения приходят с нулевыми значениями момента и перебивают наше управление
Тогда мы, с помощью модуля StarLine Сигма 10, смогли фильтровать весь трафик от LKA и блокировать сообщения с ID 2E4, когда нам это было нужно. Это решило проблему, а нам удалось получить плавное управления рулем (Рис. 11).
Рис. 11. Плавная регулировка поворота руля без ошибок
Управление газом
Система адаптивного круиз-контроля ACC управляет ускорением и торможением программно по CAN-шине. Блок управления двигателем ECU принимает команды DSU, если необходимо ускориться — активирует электронную педаль газа. Для торможения автомобиля используется рекуперативное торможение. При этом на торможение и ускорение используется одна команда, отличаются только значения.
Команда управления ускорением или замедлением представлена на рисунке 12. Она состоит из величины ускорения ACCEL_CMD, пары служебных бит и контрольной сумма Checksum. Для ускорения автомобилем значение ACCEL_CMD положительное, для замедления — отрицательное. Ускорение задается в диапазоне от 0 до 3 м/с^2, замедление аналогично, но со знаком минус. Для отправки данных в шину необходимо пересчитать желаемое ускорение или замедление с коэффициентом 0,001. Например, для ускорения 1 м/с^2, ACCEL_CMD = 1000 (0x03E8).
Рис. 12. Команда управления ускорения/замедления автомобиля
Мы сняли логи со штатной системы ACC и проанализировали команды. Сравнили с имеющимся у нас описанием команд и приступили к тестированию.
Рис. 13. Лог управления ускорением/замедлением системы адаптивного круиз-контроля ACC (выделено маркером)
Здесь не обошлось без трудностей. Мы выехали на дорогу с оживленным трафиком для тестирования команды ускорения. Команды управления ускорением или замедлением автомобиля работают только при активированном круиз контроле, не достаточно активировать его кнопкой. Необходимо найти движущийся впереди автомобиль и включить режим следования за ним.
Рис. 14. Активация круиз контроля происходит при наличии впереди другого траснпортного средства
С помощью модуля StarLine Сигма 10 посылаем команду ускорения, и автомобиль начинает набирать скорость. К этому моменту мы подключили графический интерфейс для управления модулем StarLine Сигма 10. Теперь мы управляем рулем, ускорением и торможением с помощью кнопок в приложении.
Команды работали до тех пор, пока не потеряли автомобиль впереди. Система круиз-контроля отключилась, а следовательно, и команды ускорения перестали работать.
Мы приступили к исследованию возможности использовать команды без активного круиз-контроля. Пришлось много времени потратить на анализ данных в шине CAN, чтобы понять как создать условия для работы команд. Нас интересовало, в первую очередь, какой блок блокирует выполнение команд ACC на ускорение или замедление. Пришлось изучить какие ID идут от DSU, LKA, радара и камеры, подсовывая липовые данные различных датчиков.
Решение пришло спустя 3 недели. К тому времени мы представляли как происходит взаимодействие блоков автомобиля, провели исследование трафика сообщений и выделили группы сообщений, посылаемых каждым блоком. За работу адаптивного круиз-контроля ACC отвечает блок Driving Support ECU (DSU). DSU выдает команды на ускорение и замедление автомобиля, и именно этот блок получает данные от радара миллиметрового диапазона. Радар сообщает DSU на каком расстоянии от машины движется объект, с какой относительной скоростью и определяет его положение по горизонтали (левее, правее или по центру).
Наша идея заключалась в подмене данных радара. Мы сняли лог следования за автомобилем, вытащили из него данные радара в момент следования. Теперь, после включения круиз-контроля, мы посылаем фейковые данные о наличии впереди идущего авто. Получается обманывать наш автомобиль, говоря что впереди движется другое авто на конкретном расстоянии.
a) б)
Рис. 15. Активация круиза: a) попытка активировать без подмены данных радара; б) активация при подмене данных от радара.
Когда запускаем нашу обманку, на приборной панели загорается значок наличия впереди идущего автомобиля. Теперь мы можем тестировать наше управление. Запускаем команду на ускорение, и автомобиль начинает быстро ускоряться.
Как мы уже узнали, команда на ускорение и замедление одна. Поэтому тут же проверили и замедление. Поехали на на скорости с активным круиз-контролем, запустили команду на торможение, и авто сразу же замедлилось.
В итоге сейчас получается разгонять и замедлять автомобиль именно так, как нам было нужно.
Что еще мы используем
Для создания беспилотника необходимо управление вспомогательными системами: поворотниками, стоп-сигналами, аварийной сигнализацией, клаксоном и пр. Всем этим так же можно управлять по CAN шине.
Оборудование и ПО
Для работ с автомобилем сегодня мы используем набор различного оборудования:
- Анализатор шины Marathon позволяет подключать и читать данные с двух шин одновременно. На сайте производителя анализатора есть бесплатное ПО для анализа логов. Но мы используем ПО, написанное в нашей компании для внутреннего пользования.
- Модуль StarLine Сигма 10 мы используем как платформу для работы с цифровыми интерфейсами. Модуль поддерживает CAN и LIN интерфейсы. При исследовании автомобиля пишем программы на C, зашиваем их в модуль и проверяем работу. Из модуля можем сделать сниффер трафика CAN-шины. Сниффер нам помогает понять, какие ID идут от блока или блокировать сообщения от штатных систем.
- Диагностическое оборудование Toyota/Lexus. С помощью этого оборудования можно найти команды управления системами автомобиля: поворотниками, стоп-сигналами, клаксоном, индикацией приборки.
Сегодня ведется активная работа по разработке беспилотного автомобиля, в ближайших планах реализация экстренного торможения перед препятствиями, их объезда и перестраивание маршрута автомобиля в зависимости от дорожной ситуации и указаний водителя.
Беспилотный автомобиль StarLine — это открытая площадка для объединения лучших инженерных умов России и мира с целью создания прогрессивных технологий беспилотного вождения, которые сделают наше будущее безопасным и комфортным.
- Свежие записи
- Нужно ли менять пружины при замене амортизаторов
- Скрипят амортизаторы на машине что делать
- Из чего состоит стойка амортизатора передняя
- Чем стянуть пружину амортизатора без стяжек
- Для чего нужны амортизаторы в автомобиле
📺 Видео
поиск нерабочей can шины, часть дваСкачать
Как работает LIN шина автомобиля. K-Line L-Line шины данных. Лин шина автомобиля. Lin-bus networkСкачать
Проверим разъём OBD-2 мультиметром.Скачать
CAN-шина, простой поиск данных в кан шине автомобиля. Как расшифровать и найти данные в кан шине?Скачать
Автомобиль не запускается, сканер не подключается: на примере FORD FOCUS 3, CAN шина (Видео 92)Скачать
Arduino CAN Monitor (простейший монитор шины CAN)Скачать
Кан шина, что это? Поймет школьник! принцип работыСкачать
Блокировка по CAN-шине в Hyundai и KIAСкачать
MCP2515, контроллер CAN шины с интерфейсом SPIСкачать
Новый интерфейс CAN-FDСкачать
Что такое CAN шинаСкачать
лекция 403 CAN шина- введениеСкачать
CAN шина простыми словами на примере Nissan X-TrailСкачать
Как проверить CAN шину Используем симулятор ElectudeСкачать