CAN-BUS Shield "не видит" Audi A3.
- Войдите на сайт для отправки комментариев
Пнд, 09/06/2014 - 06:43
Добрый день, есть CAN-BUS shield. "Полная китайская копия" платы от seeedstudio (http://www.seeedstudio.com/wiki/CAN-BUS_Shield). Пытаюсь получить данные с CAN шины автомобиля Audi.
Скетч со страницы seeedstudio залил, при запуске пишет, что CAN модуль инициализацию проходит, но, никаких данных в serial не падает. Кроме того, сильно смущает, что LED (Rx) на CAN модуле не моргает.
Занимался ли кто-нибудь похожей задачей? Как подружить Arduino и CAN шину автомобиля?
Занимался ли кто-нибудь похожей задачей? Как подружить Arduino и CAN шину автомобиля?
а вы его куда подключаете вообще? или машина в гараже а ардуина на кухне? зажигание в машине пробовали включать?
Давайте по порядку :)
1. Проверяю на заведенной машине.
2. Подключаю к диагностическому разъему ODB II который находится возле правого колена водителя. Для подключения пробовал использовать колодки (под отвертку) на плате расширения, потом сваял кабель по схеме:
Но, тоже не взлетело.
вы уверены что распиновка разъема p2 одинакова у всех машин?
http://pinoutsguide.com/CarElectronics/audi_obd_ii_interface.shtml
Да, уверен. Шнурки OBDII - USB работают. На ауди, шкоде, митсубиши, суббаре. Может ещё к чему-то цеплял, не помню. Вообщем, в распиновке разъема уверен.
Подбирайте терминирующий резистор. Вообще не самый удачный CAN шилд, но вполне рабочий. Скорость шины правильно выставляете ? Точнее так... Скорость шины в этом месте знаете ? Да , вот еще вспомнил. По умолчанию фильтры настроены так, что вы ничего не примете. Смотрите в сторону настройки аппаратных фильтров. В библиотеке седуины они включены всегда, но настроены так, что ни одного сообщения вы не получите. Если не задействовано ни одного фильтра с расширеным ID, то ни одного расширенного сообщения вы не получите. Со стандартными хидерами там то же какой то косяк был... Почитайте мануал на кан драйвер этого шилда.
На таких шилдах собрал сквозной кан логер с автоопределением скорости шины. Сей час дописываю софт. В принципе все работает.
ваш шилд поддерживает
а по второй ссылке CAN протоколы всего у нескольких моделей было. в основном другие
может конечно я неверно понял, но в эту сторону вы не копали?
По справочнику скорость шины CAN_500KBPS, но, я тоже об этом подумал и попробовал все.
Подскажите, аппаратные фильтры это что?
Аппаратные фильтры настраивают получение драйвером только сообщений с определенными ID, вплоть до отключения приема сообщений. В вашей бибилиотеке это функции :
Масок всего две.
Кстати говоря... Шилд поддерживает любую скорость до 1 мегабита. А вот настроек в библиотеке описано всего несколько, причем явно недостаточно для работы со всей автотехникой. Кроме того, на скорости 500kbps нужно четко подбирать терминатор, иначе работать точно не будет, проверено. Тем более вы подключаетесь к не терминированной шине. Диагностический разъем работает только с терминированным получателем, поскольку при подключении шнура на этой шине будет всего ДВА узла. Если же шнур не подлючен, то узел будет всего один, который после некоторого времени работы вообще уйдет в ошибку и прекратит вещание.
brokly, большое спасибо за оказываемую помощь :)
По документации на плате должен быть установлен терминирующий резистор R3 = 60 Ом.
В реальности, мультиметр говорит, что там R3=0.97 kOm.
Меня начинает смущать, что я подключаюсь в диагностический разъем. Я хочу попробовать подключиться в другое место:
вот тут: http://www.superb-club.com/forum/showthread.php?t=5392 на третьей странице автор говорит что подключается к магнитоле. А вот тут: http://ev-a2.blogspot.ru/2013/06/can-bus-analysis-started.html я пока не могу понять, куда автор подключается. Но, учитывая, что есть всего 3 места, то не сложно и проверить все 3 ))
О результатах отпишусь, что бы последователи знали где и что искать )
На оригинальном шилде резистор вообще не впаивается !!! По крайней мере так на версии 1.0 .
Если подключаться у магнитолы, то терминатор не нужен. На схеме терминатор вообще от балды нарисован - проверено. Кан шина магнитолы это CAN-инфотеймент, ее скорость у автомобилей группы ваг 100 килобит. По второй ссылке товарищ, похоже, подключается к кан-комфорт. Эта шина так же работает на частоте 100 кбит (У СОВРЕМЕННЫХ АВТО ГРУППЫ VAG). Существует еще три шины, одна из них мотор с трансмиссией, одна - высокоскоростная (в частности на нее вешается контроль давления в шинах) и диагностическая , идущая к диагностическому разъему. Обмен данными между шинами происходит в блоке именуемом ГЕЙТВЕЕМ. Не все данные доступны на любой шине. На диагностической шине вообще информационный трафик только в режиме запрос ответ, да еще и с паролями, дилерскими идентификаторами и авторизацией.
Все совсем не так просто как вам кажется. Для чего хотите подключиться к кану ?
Планирую смотреть температуру масла в коробке, и, в идеале, представляясь магнитолой выводить это значение в вместо названия текущего трека.
Для этого вам понадобится два шилда, температуру масла читать придется из моторной шины, а выводить на экран магнитолы в кан инфотеймент. Но если первая зада дочтаточно простая, то вторая потребует досконального изучения протокола инфотеймент и скорее всего не осуществима... Вы никогда не сталкивались с устройством по имени "FIS" ? Купить его будет проще ;)
нет, про FIS-Control раньше ничего не слышал. Кроме FIS есть ещё Vario Plus Control Module. Уверен, что есть ещё такие проекты. От идеи покупки отказался по 2 причинам: не гуманный ценник, и just for fun ).
вот тут: http://secuduino.blogspot.ru/2011/10/fis-seat-leon-cupra-english.html автор пишет, что выводить свою информацию на приборку возможно.
Ну не получится, так не получится. Что я потеряю? 15$ за CAN bus shield? Попробовать стоит )
Вы определитесь, на приборку или на экран магнитолы !? :) На приборку - возможно, но тогда нужно врезаться перед приборкой, перехватив ВЕСЬ трафик идущий на приборку. То есть тогда понадобится ТРИ шилда. Кстсти, у меня мозги показывают температуру масла в коробке по умолчанию :) Может достаточно поставить галочку в настройках приборки ?
На приборку конечно. Оговорился.
Дело интересное, потребуется много времени и сообразительности :) У ауди ID сообщений точно будут другие. Пишите о достижениях, буду с удовольствием читать :) Если смогу и будет нужно чего нибудь посоветую :)
Спасибо большое :)
интересная задумка. получилось что нибудь?
Где-то через пару недель/месяц после поднятия темы идея потеряла для меня актуальность: я больше не могу "мучить" ауди ) Это была машина коллеги, а я уволился. Так что до покупки мной новой машины проект заброшен )
У меня получилось подключить этот модуль только напрямую к шине на Ауди Q5
подключить, прочитать не проблема. сложнее что либо путное из этого сделать :)
А зачем для подключения к CAN-шине надо было использовать CAN-BUS_Shield с кабелем картинка которого в третьем сообщении? Там ведь всё равно надо подключиться только к двум проводам CAN High и CAN Low (ну может ещё +12 и GND).
Для этого подошёл бы и модуль TJA1050 за 1$
Или есть какие-то подводные камни?
по моему разницы нет никакой. и тот и тот подойдет.
А что делает микросхема MCP2515? Она случайно не просто обеспечивает SPI интерфейс?
Потому что есть много плат с микросхемой TJA1050 и MCP2551 которые обеспечивают работу с CAN-шиной через RX/TX.
Вот например:
