Подключение планшета к кан шине
Беспилотный автомобиль StarLine на платформе Lexus RX 450h — научно-исследовательский проект, стартовавший в 2018 году. Проект открыт для амбициозных специалистов из Open Source Community. Мы предлагаем всем желающим поучаствовать в процессе разработки на уровне кода, опробовать свои алгоритмы на реальном автомобиле, оснащенном дорогостоящим оборудованием. Для управления автомобилем было решено использовать Apollo, открытый фреймворк. Для работы Apollo нам необходимо было подключить набор модулей. Эти модули помогают программе получать информацию об автомобиле и управлять им по заданным алгоритмам.
К таким модулям относятся:
- модуль позиционирования автомобиля в пространстве с помощью GPS-координат;
- модуль управления рулем, ускорением и торможением авто;
- модуль состояния систем автомобиля: скорость, ускорение, положение руля, нажатие на педали и т.д.;
- модуль получения информации об окружении автомобиля. С этим справятся ультразвуковые датчики, камеры, радары и лидары.
Запчасти
VW Transport Protocol 2.0
Volkswagen Transport Protocol 2.0 используется в качестве транспортного уровня, а данные передаются в формате KWP2000. Keyword Protocol 2000 - это протокол для бортовой диагностики автомобиля стандартизированный как ISO 14230. Прикладной уровень описан в стандарте ISO 14230-3. Более подробно в википедии.
Диагностические данные от двигателя по протоколу KWP2000 (Skoda Octavia A5)
Разбор протокола VW TP 2.0 на примере подключения к первой группе двигателя:
200 01 C0 00 10 00 03 01
Настраиваем канал с двигателем. Байт 0: 0x01 - двигатель, 0x02 - трансмиссия. Байт 5,4: 0x300 - адрес источника
201 00 D0 00 03 40 07 01
Получили положительный ответ. Байт 5,4: 0x740 - к двигателю обращаемся по этому адресу
740 A0 0F 8A FF 32 FF
Настраиваем ЭБУ на отправку сразу 16 пакетов и выставляем временные параметры
300 A1 0F 8A FF 4A FF
Получили положительный ответ
740 10 00 02 10 89
Отправляем команду KWP2000 startDiagnosticSession. Байт 0: 0x10 = 0b0001 - последняя строка данных + 0x0 счетчик отправляемых пакетов 0 (0x0 - 0xF)
Получили первый ACK
300 10 00 02 50 89
Получили положительный ответ. Байт 0: 0x10 - cчетчик принимаемых пакетов 0
Мы отправили первый ACK, что получили ответ
740 11 00 02 21 01
Делаем запрос. Байт 0: 0x11 - счетчик отправляемых пакетов 1. Байт 3: 0x21 - запрос параметров. Байт 4: 0x01 - из группы 1
Получили второй ACK
300 22 00 1A 61 01 01 C8 13
Байт 0: 0x22 - 0b0010 (не последняя строка данных) + 0x02 (cчетчик принимаемых пакетов 2). Байт 1,2: 0x00 0x1A длина 26 байт. Байт 3,4: 0x61 0x01 - положительный ответ на команду запроса параметров 0x21+0x40=0x61 из 0x1 группы. Байт 5: 0х01 - Запрос RPM (соответсвует протоколу KW1281). Байт 6,7: (0xC8 * 0x13)/5 = 760 RPM (формула соответствует протоколу KW1281)
300 23 05 0A 99 14 32 86 10
Байт 1: 0x05 - запрос ОЖ. Байт 2,3: (0x0A * 0x99)/26 = 57.0 C. Байт 4: 0x14 = запрос лямбда контроль %. Байт 5,6: 0x32*0x86; Байт 7: 0х10 - двоичная настройка
300 24 FF BE 25 00 00 25 00
0x25 0x00 x00 - Заполнитель, до 8 параметров
300 15 00 25 00 00 25 00 00
Байт 0: 0x15 - 0b0001 (последняя строка данных) + 0x5 (счетчик принимаемых пакетов 5)
Отправляем ACK. Прибывляем к нашему предыдущему ACK количество полученных пакетов 0xB1 + 0x4 = 0xB5
Запрос KeepAlive, что мы еще на связи
740 A1 0F 8A FF 4A FF
Мы разрываем связь
ЭБУ в ответ тоже разрывает связь
Во второй версии мобильного приложения VAG Virtual Cockpit появилась возможность диагностировать двигатель и трансмиссию по протоколу VW TP 2.0.
VAG Virtual Cockpit - экран с данными от двигателя по протоколу VW TP 2.0
Opel Astra 2008, двигатель бензиновый 1.8 л., 140 л. с., передний привод, автоматическая коробка передач — аксессуары
Мобильное приложение VAG Virtual Cockpit
Для разработки мобильного приложения подключаемого к автомобилю требовалось:
Сниффером собрать трафик от диагностической утилиты VCDS
Изучить работу протоколов UDS, VW TP 2.0, KWP2000
Настроить диагностический сканер ELM327 на работу с UDS и VW TP 2.0
Изучить новый для меня язык программирования Swift
В итоге получилось приложение, которое сочетает в себе функции отображения точных данных панели приборов и диагностика основных параметров двигателя и трансмиссии.
Пару слов про точность данных. Штатная панель приборов не точно показывает скорость - завышает показания на 5-10 км/ч, стрелка охлаждающей жидкости всегда на 90 °C, хотя реальная температура может быть 80 - 110 °C, стрелка уровня топлива до середины идет медленно, хотя топлива уже меньше половины и при нуле на самом деле топливо еще есть в баке. Производитель это делает для удобства и безопасности водителя.
На данный момент приложение показывает следующие параметры:
Приборная панель
Двигатель
Трансмиссия (температура)
1) Какая дверь открыта
2) Скорость
3) Обороты
4) Температура масла
5) Температура ОЖ
6) Топливо в баке в л.
7) Запас хода в км.
8) Средний расход
9) Время в машине
10) Пробег
11) Температура за бортом
1) Обороты
2) Массовый расход воздуха
3) Температура забора воздуха
4) Температура выхлопа (рассчитанная)
5) Критический уровень масла
6) Уровень масла
7) Наддув турбины (реальный)
8) Наддув турбины (ожидаемый)
9) Пропуски зажигания в цилиндрах
10) Углы откатов зажигания в цилиндрах
1) ATF AISIN (G93)
2) DSG6 (G93)
3) Блок управления DSG6 (G510)
4) Масло диска сцепления DSG6 (G509)
5) Мехатроник DSG7 (G510)
6) Процессор DSG7
7) Диск сцепления DSG7
Я стремлюсь чтобы приложение поддерживало как можно больше моделей автомобилей. Пока что поддерживаются производители: Volkswagen, Skoda, Seat, Audi. На разных комплектациях могут отображаться не все параметры, но это поправимо.
Сейчас я провожу тестирование версии 3.0. Приложение доступно только на iOS, после релиза 3.0 перейду к разработке версии для Android.
Знал что буду резать все разъёмы, идёт она с квадблок против исо, о переходнике даже и не думал.
Тут встал вопрос как подключить декодер, тк шина штатно не проведена как в лтз. В сети я ничего полезного не нашёл, кроме распиновки
После подключения остались 5 проводов которые должны быть связаны с авто, это 2-16, 13-27 и 14.
Натолкнула инструкция старлайн, сигна у меня по кан шине.
Накинул провода obd1 — 14, 6 — 2, 14- 16
Проверка, открытые двери, траектория
Потом жгут из 3 проводов покинул под панелью. Но остались 2 провода, из описания — активация и сброс центральной консоли, но что это и куда подключить, так и не разобрался и конкретики по ним тоже нет, может позже это удастся.
А пока перекидываем кнопки, подключаем всё остальное и облагораживаем
Всё работает, магнитола более чем устраивает.
Если нужно выложу больше фото.
Подключение без декодера
Комментарии 45
когда уже видос? я уже и блок питания умный заказал, а продаж все нет
Магнитолу ни как не покрашу, второй раз буду перекрашивать, с первого не получилось. Могу без нее снять. Умный бп там нафик не нужен по идее, я себе купил mini 360 на чипе MP какой то там за 50 рублей, с ним планшет прекрасно у меня работает.
Привет. Подскажи, меню климата показывается? Тест режим БК?
Привет, меню климата, настройки магнитолы, все это показывается. В тест режим даже не пробовал заходить, т.к. заходил туда что бы смотреть только температуру двигателя, а с адаптером температура выводится на главный экран, плюс можно так же вывести другие параметры, например, напряжение АКБ, остаток литров в баке, всякие расходы топлива(за поездку, средний), параметров очень много в настройках есть, я по началу когда вывел все на главный экран даже от дороги постоянно отвлекался пока все посмотришь.
А питание планшета идёт от адаптера, или нужно свой блок питания делать?
Вообще от адаптера идет, но у меня планшет разряжается быстрее чем заряжается, поэтому я буду ставить отдельно БП.
Привет. Ну где же продолжение статьи? Как успехи с установкой и настройкой?
Привет. Пока разбираюсь с планшетом. Который был установлен изначально слишком тормозит, решил поставить нексус 2013 и столкнулся с проблемами((( От адаптера планшет заряжается, но зарядка очень медленная, поэтому планшет разряжается быстрее чем заряжается, решил выпаивать акб и ставить преобразователь питания(его заказал, жду). Плюс планшет категорически отказывается видеть флешки подключенные к адаптеру, но тут пока разбираюсь в чем дело, то ли в планшете, то ли с флешками что то, то ли с адаптером. Так же снял пока центральную консоль на перекрас в космо и рамку подгонять надо под новый планшет. На все времени вообще не хватает, поэтому занимаюсь всем по чуть чуть в свободное время)))
В данной теме попытаюсь рассказать как именно подключить планшет к автомобилю, в том числе с CAN-шиной и какие вас при этом могут ждать подводные камни.
Планшет будет устанавливаться в автомобиль Chrysler Pacifica.
Изначально планшет был установлен вот так:
Но внизу — это неудобно
и я его перенес вверх:
Долго писать, что и как я делал поэтому кому интересно смотрите видео. Я рассказал все что нужно делать.
Программный сниффер VCDS
Программный сниффер VCDS: CAN-Sniffer
Чтобы узнать по какому протоколу общаются электронные блоки я использовал специальную версию VCDS с программным сниффером в комплекте. В этот раз никаких железных снифферов на Arduino или RPi не пришлось изобретать. С помощью CAN-Sniffer можно подсмотреть общение между VCDS и автомобилем, чтобы затем телефон мог прикинуться диагностической утилитой и отправлять те же самые запросы.
Я собрал некоторую статистику по использованию диагностических протоколов на разных моделях автомобилей:
VW/Skoda/Seat (2006-2012) - приборная панель UDS. Двигатель и трансмиссия VW TP 2.0
Audi (2006-2012) - приборная панель VW TP 2.0. Двигатель UDS. Трансмиссия VW TP 2.0
VW/Skoda/Seat/Audi (2012-2021) - везде UDS
Теоретическая часть
Что такое CAN-шина
В современных автомобилях управление всеми системами взяли на себя электронные блоки (Рис. 1.). Электронные блоки — это специализированные компьютеры, каждый из которых имеет все необходимые интерфейсы для интеграции с автомобилем. С помощью цифровых интерфейсов связи, блоки объединяются в сеть для обмена информацией друг с другом. Самые распространенные цифровые интерфейсы в автомобилях — CAN, LIN, FLEXRay. Из них наибольшее распространение получил именно CAN.
Рис. 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, и включаются преднатяжители ремней безопасности.
Теоретическая часть
Что такое CAN-шина
В современных автомобилях управление всеми системами взяли на себя электронные блоки (Рис. 1.). Электронные блоки — это специализированные компьютеры, каждый из которых имеет все необходимые интерфейсы для интеграции с автомобилем. С помощью цифровых интерфейсов связи, блоки объединяются в сеть для обмена информацией друг с другом. Самые распространенные цифровые интерфейсы в автомобилях — CAN, LIN, FLEXRay. Из них наибольшее распространение получил именно CAN.
Рис. 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, и включаются преднатяжители ремней безопасности.
Comments 26
Как работает громкая связь? Микрофон штатный подключается?
Спустя время не лагает планшет?
Нет, все нормально
Перечитал несколько раз, так и не понял какие провода от магнитолы к каким гнёздам разъёма obd2 подключать.Если не трудно то по схеме пронумерованных колодок можешь указать?
Например провод с колодки магнитолы номер такой то подкючаем к колодке obd2 номер такой то.Схемки колодок можно от руки нарисовать.Буду очень признателен за помощь.Заранее спасибо.
Здравствуйте! Купил магнитолу KingBeats K1 plus и возникли проблемы. После подключения включилась на пару минут и потом циклическая перезагрузка. Когда машина постоит пол дня то снова может включится на пару минут и снова выключается и не может загрузиться. Может дело в канбусе? У меня шевроле кобальт лт.
Привет, возможно и сам мафон, можно проверить, обойти декодер, напрямую поставив перемычку. И попробовать магну сбросить, в rst нажми тонким чем нибудь
Комментарии 70
Привет, как реализовано автоматическое включение\выключение планшета при запуске авто?
Привет. Этот планшет уже снят и поставлен на виндовс 10. На андройде я реализовывал через софт. И в данном посте есть видео в котором все сказано по этому поводу.
Здравствуйте. А в чем причина перехода на вин 10?
какой процессор на планшете и какую прогу использовал для подключения камеры заднего вида?
Вопрос по питанию, у меня планшет 9V при понижении с 14 до 9(при заведенном авто) все хорошо, но в момент завода авто сеть падает до 10В и понижатель соответственно понижает до 5В что не хватает для планшета ну и в состоянии покоя 12В получаем на выходе 7В. Как быть?
А что за понижатель? Где то в планшете? Или отдельное устройство?
Инвертор понижающий Leivin CL-2122 что на видео на 9.35 минуте
Интересная проблема! У меня нет такого. Подцепите обычный зарядник на полампера на прямую к модулю заряда на аккумуляторе планшета чтоб он не разряжался а левина на разъем питания планшета. Тогда он будет управлять планшетом при условии что вы подцепите его к АСС и так же будет заряжать, а если питание упадет меньше 9-ти вольт планшет все равно будет заряжаться от второго зарядного. Думаю так можно попробовать решить проблему.
лучший вариант передачи звука с планшета или телефона-это блютуз, я так слушаю планшет на магнитоле в машине, возможно есть какие нибудь дивайсы для такого подключения к штатному усилителю
Полно таких девайсов))) Ютур например))
Показалось очень полезной статьёй, однозначно в закладки, спасибо
Спасибо Вам!))) Не зря старался)))
Куча 2 дин устройств, с разной функциональностью, на любой цвет и вкус. Вы планшеты суёте.
Не делают 10,1 дюйма мультимедию ни пионер ни альпайн ни какие другие именитые бренды. А тыркать 6-ти дюймовый экран на устройстве в котором даже ОС нет в 21 веке мне лично не хочется. Вот и вставляют люди планшеты что бы функционал нормальный получить. Все просто)))
Бмв на Нбт сделала же. С нбт эво ещё и 12 дюймовые в g серии пойдут. А с помощью Кар систем всё это ещё можно и в любую бмв поставить прошлых годов. Так что делают.
Ну тесла то же сделали замечательный огромный экран, только вот внедрить его в БМВ или Крайслер или в любой другой авто будет практически нереально. Я говорю про универсальные устройства. Эксклюзив типа БМВ и Тесла с планшетом или даже мультимедиа сравнивать некорректно.
Тесла это вообще очень далекое будущее, да и то замена нефти тот же метиловый спирт. Не особый я сторонник таких доработок как планшет в тачку.
Практически полноценный компьютер в авто. Все эти штатные "мультимедии" по функционалу и рядом не стоЯт.
Ты слишком высоко взял. Нбт им не перепрыгнуть.
Нбт не поставить в приору/калину/рио/лачетти/солярис/etc.
Ребятам в Кар системс напиши, сделают ретрафит, поставишь.
Дешевле и проще поставить планшет самостоятельно:)
Ну тесла то же сделали замечательный огромный экран, только вот внедрить его в БМВ или Крайслер или в любой другой авто будет практически нереально. Я говорю про универсальные устройства. Эксклюзив типа БМВ и Тесла с планшетом или даже мультимедиа сравнивать некорректно.
Кстати, набор в Братство стали еще идёт?))
Не делают 10,1 дюйма мультимедию ни пионер ни альпайн ни какие другие именитые бренды. А тыркать 6-ти дюймовый экран на устройстве в котором даже ОС нет в 21 веке мне лично не хочется. Вот и вставляют люди планшеты что бы функционал нормальный получить. Все просто)))
+ заоблачная цена готовых решений поддталкивает на постройку чего- то своего из плашета
А как с кан шиной работает ни слова нет.
Батарея в таких случаях обычно вздумается, а затем и бахнуть может со всеми вытекающими…
А про AZ-FM разве не говорил? Что Вас конкретно интересует в работе с цифровой шиной?
Так он только для звука, а кан это управление. Например кнопки на руле…
Я это честно говоря вырезал из видео, решил что неинтересно будет. Кнопки на руле работают через ELM327. Программка выдергивает из кучи цифровых сигналов именно нажатие кнопок и планшет переключает треки и громкость. Софтинку не помню как зовут. Завтра к планшету схожу и гляну.
Напишите тогда как называется, буду безмерно благодарен.
Без проблем. Завтра отпишусь.
Можно конечно через ардуино еще данный функционал реализовать, но этот способ мне показался более простым. Хотя ардуино я купил, спаял и кнопки считал уже))))
Напишите тогда как называется, буду безмерно благодарен.
Я это честно говоря вырезал из видео, решил что неинтересно будет. Кнопки на руле работают через ELM327. Программка выдергивает из кучи цифровых сигналов именно нажатие кнопок и планшет переключает треки и громкость. Софтинку не помню как зовут. Завтра к планшету схожу и гляну.
Парктроник у меня не штатный, но почитать будет интересно. Спасибо за ссылку!
Просто там описано как читать данные, чем читать. Ардуино и шилд это по сути мертвые железки, их сначало запрограммировать надо. А что бы правильно написать программу нужно знать протокол.
И при этом нужно обработать данные со стороны андроида.
У меня есть плата Эльдуино, описанная в ссылке- по сути Ардуино Мега, правда туда добавлены кан и лин трансиверы.
Офигеть столько работы! Вид отличный.
Только я выявил несколько минусов такого инстала:
— качество звука надо полагать низкое
— запас громкости низкий, чем громче тем больше искажений
— фильтр от мистери не убирает помехи, от тупо отрубает высокие частоты, писк и вой пропадает, и как правило после него качество звука падает
— нет фм радио
Что бы посоветовал сделать:
Купить 1 дин голову, с нормальным процом. Скрыто впихнуть.
Поставить в обход всему can"у, тупо +/- и асс.
установить усилитель
купить фронт
тыл по желанию
саб конечно же
акустические провода кинуть
rca кинуть
все это дело сконектить с головой
а голову с планшетом через AUX или Blue-th, а был бы ipad так и через USB.
Плюсы:
Не надо мучать can, пусть курит.
Подать звук с планшета через голову проще. И меньше проблем для планшета.
Качество звука на голову выше
Запас громкости
Фм радио
Не нужно планшет сращивать с штатной аудиосистемой.
И как правило все любители покапаться с авто, ставят себе в итоге хорошие компонеты для аудиосистемы.
Поэтому я думаю путь будет такой.))))
Спасибо за советы, но от обычной головы я отказался, хотя это действительно самый лучший вариант. Решил проблему проще: перепаял AZ-FM. Играет вполне сносно кстати, штатный усилитель работает))) А саб и усь куплены уже. Надо только поставить))))
А сколько проживет штатная батарея планшета в таком исполнении? Думаю, от нее надо было избавиться.
Живет она в таком исполнении уже пол года. Кроме того она подключена на постоянку. И даже если она сдохнет, не велика потеря))) Все будет работать от штатного аккума автомобиля.
Не, ну это понятно, что будет работать, просто смысл ее там оставлять? Перепады температур не есть хорошо для батареи. Просто был опыт вздувшейся батареи через пол года и темные пятна на экране после вздутия (правда планшет был собран и батарею расперло между задней крышкой и экраном) Насколько это безопасно в машине? И еще вопросик, питание планшета (зарядка) появляется с ключом зажигания или напрямую от АКБ постоянно?
Стоит 2 зарядных. Один запаян в планшет и там постоянное напряжение от АКБ. Второй на зарядный вход планшета для того что бы планшет включался и запускал весь нужный софт при повороте ключа, ну и соответственно все выключал и уходил в сон когда асс выключено.
В принципе конечно можно её и выкинуть, но честно говоря мне лень))))) Все работает, а на батарейку мне все равно, ценности она все равно никакой не представляет)))) Потребляет минимум. Стоял 1,5 недели автомобиль без движения и за это время не разрядился.
Понятно, спасибо за ответ. Я поступил немного иначе. Выкинул батарею планшета, вкинул вместо нее зарядное (все кто читает, не путать с зарядным для прикуривателя). Разъем планшета является и местом для зарядного — это минус, но он остается незадействованным для питания — это плюс :) В разъем можно подключить хаб и кучу всего остального включая флешку. Из минусов такого подключения — планшет не управляется питанием, т.е. только руками вкл/выкл, а не через АСС, как у Вас, соответственно долгая загрузка после выключения. По звуку — стоит простенькая магнитола Пионер + усь и саб. Играет планшет по кабелю АУКС. Помех практически нет, но качество звука на порядок ниже, чем с диска. Короче пока так, но есть еще над чем поразмыслить :)
Что бы повысить немного качество звука можно поставить драйвера на планшет viper fx и плеер их всех какие я только не пробовал играет нормально только Poweramp. Попробуйте если еще не поставили, станет лучше.
Спасибо за совет, не пробовал. У меня стоит "ПлеерПро" и "Виджетсоид", который управляет плеером из "всех мест", где нужно переключать аудио файлы вынесенными кнопками (на разных рабочих столах). Можно попробовать и Poweramp, но нет гарантии, что "Виджетсоид" сможет им управлять. Но можно попробовать, спасибо!
Мобильное приложение VAG Virtual Cockpit
Я продолжаю изучать CAN шину авто. В предыдущих статьях я голосом открывал окна в машине и собирал виртуальную панель приборов на RPi. Теперь я разрабатываю мобильное приложение VAG Virtual Cockpit, которое должно полностью заменить приборную панель любой модели VW/Audi/Skoda/Seat. Работает оно так: телефон подключается к ELM327 адаптеру по Wi-Fi или Bluetooth и отправляет диагностические запросы в CAN шину, в ответ получает информацию о датчиках.
По ходу разработки мобильного приложения пришлось узнать, что разные электронные блоки управления (двигателя, трансмиссии, приборной панели и др.) подключенные к CAN шине могут использовать разные протоколы для диагностики, а именно UDS и KWP2000 в обертке из VW Transport Protocol 2.0.
Машины в продаже
Диагностический адаптер ELM327
Для меня некоторое время было вопросом, как получить данные из CAN шины и передать на телефон. Можно было бы разработать собственный шлюз с Wi-Fi или Bluetooth, как это делают производители сигнализаций, например Starline. Но изучив документацию на популярный автомобильный сканер ELM327 понял, что его можно настроить с помощью AT команд на доступ к CAN шине.
Копия диагностического сканера ELM327 Не все ELM327 одинаково полезны
Оригинальный ELM327 от компании elmelectronics стоит порядка 50$, в России я таких не встречал в продаже. У нас продаются только китайские копии/подделки, разного качества и цены 10-30$. Бывают полноценные копии, которые поддерживают все протоколы, а бывают и те которые умеют отвечать только на несколько команд, остальные игнорируют, такие адаптеры не имеют доступ к CAN шине. Я например пользуюсь копией Viecar BLE 4.0, который поддерживает 100% всех функций оригинала.
Последовательность ELM327 AT команд для работы с UDS по CAN шине:
Для работы с протоколом KWP2000 через ELM327 нужно только указать адреса назначения и источника.
Последовательность ELM327 AT команд для работы с VW TP 2.0 по CAN шине:
Практическая часть
Управление рулем
Первое, что захотелось сделать нашей команде, — это научиться рулить. Рулем в автомобиле могут управлять две системы: парковочный ассистент IPAS (Intelligent Park Assist) и LKA.
IPAS позволяет задавать напрямую угол поворота рулевого колеса в градусах. Так как в нашем автомобиле нет данной системы, проверить и освоить рулевое управление таким способом нельзя.
Поворот руля влево на 360 градусов
Поворот руля вправо на 270 градусов
Рис. 5. Команда управления рулем с помощью системы LKA
На графике (Рис. 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. Превышение порогового значения регулировки момента на валу
Рис. 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, радара и камеры, подсовывая липовые данные различных датчиков.
Наша идея заключалась в подмене данных радара. Мы сняли лог следования за автомобилем, вытащили из него данные радара в момент следования. Теперь, после включения круиз-контроля, мы посылаем фейковые данные о наличии впереди идущего авто. Получается обманывать наш автомобиль, говоря что впереди движется другое авто на конкретном расстоянии.
a) б)
Рис. 15. Активация круиза: a) попытка активировать без подмены данных радара; б) активация при подмене данных от радара.
Когда запускаем нашу обманку, на приборной панели загорается значок наличия впереди идущего автомобиля. Теперь мы можем тестировать наше управление. Запускаем команду на ускорение, и автомобиль начинает быстро ускоряться.
Как мы уже узнали, команда на ускорение и замедление одна. Поэтому тут же проверили и замедление. Поехали на на скорости с активным круиз-контролем, запустили команду на торможение, и авто сразу же замедлилось.
В итоге сейчас получается разгонять и замедлять автомобиль именно так, как нам было нужно.
Что еще мы используем
Для создания беспилотника необходимо управление вспомогательными системами: поворотниками, стоп-сигналами, аварийной сигнализацией, клаксоном и пр. Всем этим так же можно управлять по CAN шине.
Оборудование и ПО
Для работ с автомобилем сегодня мы используем набор различного оборудования:
Беспилотный автомобиль StarLine — это открытая площадка для объединения лучших инженерных умов России и мира с целью создания прогрессивных технологий беспилотного вождения, которые сделают наше будущее безопасным и комфортным.
Планшет с рамкой лежал уже очень давно, года полтора ждали своего часа. первым делом побежал в машину попробовать подключить и проверить работу.
Описывать подключение не вижу смысла, два провода, один от диагностического разъема в адаптер, второй от адаптера к планшету. Итак вроде работает. Начал рамку впихивать в машину, вот тут возникли проблемы, два дня подгонял, пилил, вроде засунул, но есть небольшая щелочка так и не смог подогнать, думаю снять еще рамку немного подпилить.
На расход особо не смотрите, пробная поездочка по дворам)))
Попробовал флешку, музыка играет, с руля управление работает.
Сейчас снял планшет с ним еще разбираюсь, прошивка что то тупит, буду думать что с ним делать. Сам адаптер положил в перчаточный ящик, а провода все пропустил через центральную консоль. Чуть позже доработаю планшет все соберу на место окончательно и сниму видео работы.
З.Ы. Просьба к тем кто ждет адаптер, не торопите разработчика, пообщавшись с ним понял, что не все так гладко и просто, ребята стараются и сами ждут не дождутся когда все будет готово. Я сам когда получил адаптер пока все настроил замучал вопросами человека, в течении недели написывал каждый день, то одно то другое, сейчас вроде все более менее понятно.
Протокол UDS
Unified Diagnostic Services (UDS) - это диагностический протокол, используемый в электронных блоках управления (ЭБУ) автомобильной электроники. Протокол описан в стандарте ISO 14229-1 и является производным от стандарта ISO 14230-3 (KWP2000) и ныне устаревшего стандарта ISO 15765-3 (Diagnostic Communication over Controller Area Network (DoCAN)). Более подробно в википедии.
Диагностические данные от двигателя по протоколу UDS (Skoda Octavia A7)
Разбор UDS пакета в формате Single Frame
Пример запроса и ответа температуры моторного масла:
Запрос температуры моторного масла:
7E0 - Адрес назначения (ЭБУ двигателя)
Байт 0 (0x03) - Размер данных (3 байта)
Байт 1 (0x22) - SID идентификатор сервиса (запрос текущих параметров)
Байт 2, 3 (0x11 0xBD) - PID идентификатор параметра (температура моторного масла)
Байт 4, 5, 6, 7 (0x55) - Заполнитель до 8 байт
Ответ температуры моторного масла:
7E8 - Адрес источника (Диагностический прибор)
Байт 0 (0x05) - Размер данных (5 байт)
Байт 1 (0x62) - Положительный ответ, такой SID существует. 0x22 + 0x40 = 0x62. (0x7F) - отрицательный ответ
Байт 2, 3 (0x11 0xBD) - PID идентификатор параметра (температура моторного масла)
Байт 4, 5 (0x0B 0x74) - значение температуры моторного масла (20.1 °C формулу пока что не смог подобрать)
Байт 6, 7 (0x55) - Заполнитель до 8 байт
Первая версия мобильного приложения VAG Virtual Cockpit умела подключаться только к приборной панели по UDS.
VAG Virtual Cockpit - экран с данными от приборной панели по протоколу UDS
Parts
Chevrolet Cobalt 2013, engine Gasoline 1.5 liter., 106 h. p., Front drive, Manual — car audio
Читайте также: