Прочитал замечательную статью на Хабре, habrahabr.ru/post/256493/:
и решил на её основе, использовать уже готовый имеющийся модуль 2CAN (описанный мной в предыдущей статье) совместно с написанной и довольно распространенной уже программой CANHacker. Удивительным образом, в статье автора, и имеющимся у меня модулем 2CAN совпадают по назначению все выводы микроконтроллера, разница только в частоте кварцевого генератора. Получается, вносить изменения в плату модуля мне не придётся. Установил программный продукт STM32Cube MX с необходимыми компонентами, и немного изменил настройки и код в проекте, любезно предоставленные автором статьи:
1. Меняем параметры системы тактирования:
2. Добавляем дополнительный вывод для контроля системы тактирования RCC_MCO -> PA8:
3. Далее генерируем код и затем автоматически запускаем компиляцию в KEIL, при этом возникает ошибка компиляции, имеющийся у меня KEIL не понимает две строчки на ассемблере, но так как мы не собираемся спать во время работы, закоментируем их:
4. Далее добавим команду, которая задает режим микросхемы трансивера CAN (PB7 -> «1»):
5. Припаиваем к модулю 2CAN выводы для подключения к шине CAN, и выводы для программирования по SWD, питание же платы осуществляется через разъем USB:
6. Припаиваем резистор ( 560 Ом, но не критично ) для правильной работы USB:
Видео:MCP2515, контроллер CAN шины с интерфейсом SPIСкачать
7. Программируем:
Соответствие выводов платы и модуля такое:
8. Проверяем как наш модуль определяется компьютером, и зададим более удобный для работы номер COM порта для модуля:
9. Запускаем программу, настраиваем на заданный COM порт, и подключаемся к работающей CAN шине какого либо устройства (драйвера от STM были уже установлены), результат есть:
Подключаться к шине автомобиля решил с помощью имеющегося диагностического адаптера ELM327 (удобный корпус, легко устанавливать и вынимать), просто припаяв провода к его разъему от 2CAN модуля:
Три провода, CANH (pin 6), CANL (pin 14) и «земля» (pin 4 & 5):
Вот к примеру показания с «Дастера» 1.6, там CAN шиной объединены только блок управления двигателем, блок ABS и блок 4WD, подключаемся:
И видим такие данные:
Записываем их в лог-файл. Импортируем в excel, проводим переупорядочивание и фильтрацию. И в результате можно увидеть следующие данные с can шины автомобиля: обороты двигателя, положение педалей газа, тормоза и сцепления, скорость каждого колеса в отдельности, работу кондиционера и т.д (некоторые значения пока для меня тайна). Полученные данные свел в таблицу, если что то надо исправить или дополнить, подсказывайте.
Видео:CAN шина👏 Как это работаетСкачать
Некоторые данные нуждаются в простой обработке, где-то поделить, где-то рассчитать по формуле. Но все просто и без заморочек.
Или к примеру, Outlander III, подключаемся к CAN шине салона автомобиля, за приборным щитком.
Смотрим данные на экране компьютера, и что меняется при нажатии на кнопку открыть и закрыть автомобиль. И пары нажатий на соответствующие кнопки, хватает узнать какие команды надо подать, чтобы открыть или закрыть автомобиль. Эти коды кратковременно появляются в строчке, обведенные красным овалом. Повторяем эти команды в окне для передачи и:
Читайте также: Ваз 2110 рекомендуемые шины
Открыть автомобиль:
Закрыть автомобиль:
Что было добавлено в исходный код (в файле usb_cdc_if.c), выбор скорости:
и несколько подобных процедур для задания скорости (в файле main.c, для примера укажу пару):
Про контрольные светодиоды думаю вопрос не актуальный.
Как то так, суеты на пол дня :). Конечно есть некоторые шероховатости в работе программы, но это уже не ко мне (я надеюсь). Если есть вопросы, советы, и если кому надо помочь запрограммировать такой модуль — спрашивайте тут. Извиняюсь за огромные фотки ?
Надеюсь, что никого не обидел написанием этой статьи…
С уважением, Астанин Сергей. ICQ 164487932.
(к сожалению, ветка форума с первоначального сайта с познавательной перепиской вся пропала, что смог восстанавливаю, ссылки на проект если кому надо добавлю)
P.S. Немного еще исправил код в проекте, можно менять скорость обмена, и обмениваться используя стандартные заголовки. Разобрался с программой CANHacker, можно улучшать и модернизировать проект по необходимости, все просто.
Связь вполне устойчивая с другими блоками автомобиля, можно использовать (проверено на Volvo, Renault и Mitsubishi).
Видео:Универсальный CAN адаптер MFD207CAN-UN (часть 2)Скачать
Продублирую тут.Некоторое время назад занялся CAN шиной. Наконец созрела статья, как сделать простейший кан сниффер для Астры (легко адаптировать к любой другой марке, конечно).
Начнём сразу со схемы!
Добавлено:
По многочисленным вопросам.
Цели следующие.
ЛС кан:
оповещение о выключенных фарах во время движения,
отображение температуры мотора и напряжения на одометре или на стрелках приборов,
функция «спасибо» — моргнуть только задними аварийками,
отображение реальной скорости на одометре
отображение, какая дверь открыта (на одометре?)
другие плюшки – см «кан адаптер» и «мини кан адаптер»
МС кан:
включение и отключение компрессора одним нажатием (климат контроль)
ввод команд цифровыми кнопками магнитолы д команд цифровыми кнопками магнитолы
Добавлено: пример лога
Hello World!
Starting sniffer v0 program
Time (ms) ; ID ; Length ; B0 ; B1 ; B2 ; B3 ; B4 ; B5 ; B6 ; B7
8; 110; 5; 0; 48; 16; 4A; E; 0; 0; 0
29; 108; 8; 13; C; 34; 0; 0; 0; 0; 0
79; 625; 8; 0; 48; 50; 0; 0; 0; 0; 0
83; 108; 8; 13; C; 38; 0; 0; 0; 0; 0
108; 110; 5; 0; 48; 16; 4A; E; 0; 0; 0
112; 130; 7; 0; DB; 28; 0; 0; 0; 0; 0
129; 108; 8; 13; C; 38; 0; 0; 0; 0; 0
179; 625; 8; 0; 48; 50; 0; 0; 0; 0; 0
183; 108; 8; 13; C; 38; 0; 0; 0; 0; 0
208; 110; 5; 0; 48; 16; 4A; E; 0; 0; 0
Читайте также: Как правильно измерить шины автомобиля
И после импорта данных в эксель:
Добавлено. Важно!
С указанным преобразователем напряженияиногда наблюдается падение шины LS, уже при подключении устройства. Не знаю, с чем связано. Возможно, решится добавлением конденсатора.
==> Barm76 подсказал, что питание нужно обвесить конденсаторами: вход 220 мкФ 25В, выход 470 мкФ 16В
Заранее извиняюсь, если создал тему не там.
Всем привет. Установил себе на Passat B3 ABS+EDS от G4, но тут возникла непредвиденная проблема. Эта ABS имеет связь по CAN-шине, которой у меня в машине естественно нет. Опытным путём было установлено, что несмотря на отсутствие шины всё функционирует и прекрасно работает. Таким же опытным путём было установлено, что на G4 АБС начинает бить тревогу при отключении приборной панели от CAN-шины. При этом всё функционирует, но АБС не нравится отсутствие связи. Изучая форумы узнал только то, что в приборке бортовой комп online тестирует блок на ошибки. Больше ничего такого связанного с АБС и приборкой не нашёл.
Так вот вопрос можно ли как-то эмулировать сигналы CAN-шины?
Если кто не понял в чём вообще проблема и почему вопрос интересует, раз всё функционирует, то отвечаю: при полной функциональности блока горит лампа неисправности. Это раздражает и хотелось бы, чтобы она работала и сигнализировала обо всём должным образом.
И ещё такой небольшой вопрос: не могу разобраться как фунционирует схема (слева), в ней 2 транзистора и один диод. Уважаемый товарищ сказал, что это мультиплексор, который при ошибке подушек или АБС зажжёт на приборной панели контрольную лампу (!) неисправности. Так ли это?
Смотрите также
Видео:Can Bus - что это такое ? Зачем нужен ? Как настроить ?Скачать
Комментарии 46
Будем искать эту же АБС версии без кан
Есть очень простенький шилд для Ардуино (CAN-BUS Shield). Он может как передавать, так и получать CAN-сообщения, при чем программно делается это очень просто. Остается только разобраться что передавать и что получать, но здесь уже нужно читать конкретную документацию по CAN устройству.
Вот некоторые ссылки:
— www.seeedstudio.com/wiki/CAN-BUS_Shield
— devicter.ru/goods/CAN-BUS-Shield
Да к сожалению сошлись уже на том, что без приборки никак
не могу что-то у себя в эльзе найти варианты кодировок на эту АБС. странно, что она не ругается в диагностике на отвал CAN-шины. А вот лампу зажигть должна, если нет связи с приборкой
Тут ещё видишь какая фишка, в этих машинах приборка является так называемым гейтвеем CAN-шины. короче коммутатор и основа коммуникаций между блоками, в т.ч. сидящими на разных шинах: Шина-привод (Мотор, КПП, АБС), Шина-комфорт, аналоговые датчики всякие и т.д. Без этого гейтвея у АБС естественно не будет
информации от моторного блока о нагрузке, и информации от датчика скорости в КПП. ну и т.д.
Читайте также: Датчики давления в шинах мазда 6 gh 2008
Вообще желательно-бы подключиться диагностикой и пройтись по измеряемым группам
Ты почти всё верно сказал, кодировка моего блока 13504 если верно помню.
Но насчёт информации от датчика скорости, нагрузке блока и т.д. переборщил. Всё это применяется, если блок ещё поддерживает ASR (антибукс), тогда да, а мой блок в этом отношении стационарен, ему не требуются подобные сигналы
Короче тебе только CANhacker может помочь или копаться по заграничным ресурсам. В любом случае если хочешь, чтобы все работало, придется делать эмуль гейтвея приборки.
Видео:Ставим эмулятор CAN шины для магнитолы RCD 330+. Делаем Рапид солиднее за 9000 рублей. часть 2-яСкачать
P.S. у меня, кстати, на Б4 тож стоит марк20, только более старая версия без CAN-шины конечно-же
Да знал бы я про эту CAN на «рестайловом» марк 20, то искал бы «дорестайл» от В4, а теперь уже на машине всё стоит, не хочется переделывать. Вот и ищу как заткнуть CAN
А какая именно АБС-ка? марк 20 или марк 60
Марк 20. От Марк 60 CAN-модуль отстыковывается вроде
а ошибки только по кан-шине?
По K-line вообще чисто, не даёт никаких ошибок. Про тревогу мы узнали только экспериментальным путём, когда на G4 отсоединили приборку
Вообще, CAN-шины две: высокоскоростная и низкоскоростная. По высокоскоростной CAN-шине связаны блок управления двигателем (ECM), блок ABS, блок управления автоматической трансмиссией (TCM) и центральный блок управления. По низкоскоростной шине связаны центральный блок управления блок климат контроля, блок управления доступом, компьютер, блок навигации, и приборная панель.
Основной же обмен происходит между блоками ABS и ECM. При этом, каждый из них имеет отдельный провод к приборке, по которму зажигается лампа неисправности (ABS и Check Engine, соответственно).
Если блок ABS ещё и выполняет функцию системы стабилизации ESP, то по высокоскоростной CAN-шине к нему подключаются ещё и датчик динамических сил, и датчик положения рулевого колеса (у вас нет, как понимаю, только блокировка дифференициала EDS). Прошивки блоков ECU в машинах с ABS и с ABS+ESP сильно отличаются.
У вас формируется ошибка «Сбой по CAN-шине» С0140. Она и приводит к зажиганию контрольной лампы ABS.
Кстати, а вы пробовали повесить между проводами CAN-шины стандартное нагрузочное сопротивление — обычный резистор номиналом 120 Ом. Что бы ваш блок ABS «почувствовал» внешнюю нагрузку реальной шины. Может быть, этого, на физическом уровне будет достаточно? И не важно, что на канальном уровне нет синхронизации от других CAN-устройств? Попробуйте! Самое простое.
Видео:Как управлять автомобилем через CAN-шину?Скачать
- Свежие записи
- Нужно ли менять пружины при замене амортизаторов
- Скрипят амортизаторы на машине что делать
- Из чего состоит стойка амортизатора передняя
- Чем стянуть пружину амортизатора без стяжек
- Для чего нужны амортизаторы в автомобиле
🌟 Видео
Магия CAN-шиныСкачать
Arduino CAN Sender ( Ардуино отправка пакетов в КАН шину)Скачать
Универсальная плата CAN шиныСкачать
Arduino CAN Monitor (простейший монитор шины CAN)Скачать
CAN блоки в магнитолах Android или CAN шина в автомобиле ВОПРОС/ОТВЕТСкачать
CAN Эмулятор скорости из модуля CAN StarLine Stm32f103c8t6 Подмотчик скорости по кан шине (без схем)Скачать
CanHacker из 2CAN модуля своими руками КанХакер подробно в деталяхСкачать
Настройка can шины магнитолы андроид vw volkswagen vagСкачать
CAN Hacker своими руками пример чтения кан шины с помощью ARDUINO MCP2515Скачать
CAN Bus Gateway (самодельный кан шлюз с дополнительными плюшками)Скачать
Кан шина, что это? Поймет школьник! принцип работыСкачать
Как настроить Canbus на Android магнитоле . Правильное подключение .Скачать
"CAN BUS" кан бас (кан адаптер) - что и как простыми словами.Скачать
Эмулятор Can bus для магнитол VAGСкачать