Я ремонтирую системы рулевого управления с электроусилителем для автомобилей, особенно Fiat, Alfa и Lancya (производители Delphi), и мне нужно сделать какой-нибудь инструмент для проверки этих ремонтных работ. Я имею в виду просто включить его, например.
Я исследовал в течение некоторого времени, и я понял, что мне нужно, чтобы сигналы шины CAN имитировались, поскольку ЭБУ eps получает пакеты зажигания от CAN. Здесь я иду...
Мне нужно знать, каким образом я могу читать и отправлять пакеты CAN из/в шину. Я имею в виду, какой инструмент или что-нибудь еще. Я пробовал с Arduino Uno + SparkFun CAN BUS Shield , но не получил никаких результатов. Когда все подключено, моя последовательная консоль не перехватывает пакеты. Я думаю, что все подключил правильно, и пробовал разные скорости передачи данных, менял платы Arduino и шилд, пробовал много разных примеров. Я потратил много часов без какой-либо прибыли ... Я использовал SEAT Ibiza 2010 для I + D, подключил CAN-H и CAN-L к порту OBD , к линиям CAN от радио и т. Д. ...
Любая идея о том, что может быть не так, приветствуется, как и новый метод сделать мой проект...
Информация:
ОБНОВЛЕНИЕ 2 (28.12.2014): я использовал мультиметр, потому что у меня нет осциллографа. Чтение напряжения всегда дает мне 2,5 В на CAN-H и CAN-L, я получаю эти показания на Arduino CAN-H CAN-L и в порту OBD2 (контакты 6 и 14)
ОБНОВЛЕНИЕ 3 (29.12.2014): планирую перейти на какой-нибудь язык программирования с CAN-интерфейсом, приветствуются любые предложения, спасибо!
ОБНОВЛЕНИЕ 3.1 (30.12.2014): Определенно, я использую другой способ сделать это, я жду, что Kvaser и ECOM ответят мне в их письмах поддержки. Таким образом, мы можем узнать, подходят ли их инструменты для моего проекта. Буду держать вас в курсе, спасибо всем за помощь, ребята! :)
Шилд Arduino CAN довольно крут, если вы хотите построить встроенный компьютер для работы с CAN. Однако, если я правильно понимаю, вы создаете одноразовый инструмент для личного использования (или просто будете использовать готовый инструмент, если он существует по подходящей цене). По этой причине я призываю вас подумать о написании программного обеспечения для ПК, а не встроенного программного обеспечения для взаимодействия с существующими недорогими аппаратными интерфейсами CAN.
Чарли Миллер и Крис Валасек использовали этот так называемый инструмент ECOM и написали программное обеспечение, которое взаимодействует с ним. Инструмент ECOM имеет API и пример драйвера. Их документация по взлому автомобилей и программное обеспечение послужат хорошей отправной точкой для сопряжения ПК с автомобилем. Softing также производит аппаратное обеспечение интерфейса CAN для ПК, но у меня сейчас проблемы с доступом к их веб-сайту, поэтому я не буду ссылаться на него.
Существует также несколько полноценных коммерческих программных инструментов для анализа и моделирования CAN на ПК. CANoe компании Vector — хорошо известный (и дорогой) инструмент для этой цели.
Если вы готовы купить что-то готовое за несколько сотен долларов, продукты Kvaser's Leaf довольно просты в использовании. Они позволяют отправлять предварительно записанные последовательности пакетов и контролировать шину. Вы можете получить один с разъемом OBD-2, если это то, что вам нужно.
Сборка собственного испытательного оборудования хороша для личного проекта, но если вы зарабатываете деньги на этом ремонте, вероятно, лучше начать с чего-то, что, как вы знаете, надежно.
Мне удалось в конечном итоге получить числа с шины CAN с помощью встроенного контроллера, и я считаю, что самая большая проблема, с которой вы сталкиваетесь, - это примеры поставщиков, неправильно инициализирующие регистры контроллера для квантов CAN и выборки времени.
Усилия популярных щитов CAN сдерживаются использованием кристалла 16 МГц SparkFun и Seeeed. Тогда низкоскоростная Arduino не очень подходит для передачи последовательных данных. Ни один из примеров кода в Интернете не работает, потому что все они являются готовыми примерами для скорости 1 Мбит/с...
Некоторые микроконтроллеры имеют встроенные CAN-контроллеры (к сожалению, почти ни у кого нет трансиверов). Я использовал ChipKIT Max32 и микросхему MCP2551 через макетную плату в схеме ниже. Кроме того, я подключился к трансиверам SparkFun и CAN-шилдов Seeed для получения данных Tx/Rx. Max32 от ChipKIT имеет два контроллера CAN и тактовую частоту процессора 80 МГц, поэтому он хорошо подходит для экспериментов с CAN. Используя онлайн-калькулятор, я смог настроить контроллер PIC32 с первой попытки.
Я приостановил разработку CAN для других проектов, но партнер уговорил Arduino Uno с CAN-шилдами считывать данные с шины 500 кбит/с. Я просмотрел код, которым он недавно поделился со мной, но я не смог найти, как была установлена синхронизация контроллера MCP2515 или чем она отличалась от примера кода.
Следующей платой для разработки, которую я пробую, является Ti Connected LaunchPad TM4C123GXL. Он имеет контроллеры CAN, USB OTG, множество входов/выходов и стоит 13 долларов США.
Дэймон
Аарон Агуайо Мартинес
Питер Мортенсен
Питер Мортенсен
Питер Мортенсен
Питер Мортенсен
Питер Мортенсен
Аарон Агуайо Мартинес
Питер Мортенсен
Питер Мортенсен
Питер Мортенсен
Питер Мортенсен
Аарон Агуайо Мартинес
Питер Мортенсен
Аарон Агуайо Мартинес
Питер Мортенсен
Питер Мортенсен
Аарон Агуайо Мартинес
Аарон Агуайо Мартинес
Аарон Агуайо Мартинес
Питер Мортенсен
Питер Мортенсен