Sparkfun CAN Shield BMW OBD2 чтение
Я купил CAN-Shield у Sparkfun https://www.sparkfun.com/products/13262 и также получил Uno от Sparkfun, чтобы убедиться, что все работает нормально.
Некоторая информация о моей машине:
- БМВ Е91 2006
- Доступна OBD2
- Доступны KWP 2000 и другие линейки как те, что с той же скоростью передачи в демо-версии
Я попробовал демоверсию SparkFun_CAN_Demo, которая доступна на их веб-сайте и в GitHub.
Мой вывод таков: Инициализация CAN прошла успешно, но я не знаю, правда ли это... Например, если я попытаюсь прочитать RPM, я получу буфер размером 1 -> " ".
Мои вопросы:
- Я что-то не так с MCP2515, как я узнаю, что он мертв?
- Кто-нибудь знает, правильно ли работает демоверсия?
- Как правильно получить данные от BMW с OBD2?
@Kasti96, 👍1
Обсуждение1 ответ
Во-первых, я не могу много сказать о библиотеке, которую вы используете, я еще не пробовал ее, что касается щита, у меня есть некоторые из них, и есть две их версии, проверьте свои пины на них, вывод cs либо на d9, либо на d10
другое дело, убедитесь, что вы находитесь в правильном режиме работы, т.е. Нормально и, возможно, попробуйте эту библиотеку. У меня был большой успех с этим: https://github.com/coryjfowler/MCP_CAN_lib
Что касается скорости передачи данных, я перепробовал все типы способов получения правильной скорости передачи данных для определенных транспортных средств, но лучше всего начинать с малого и увеличивать ее, пока не получите тот, который даст вам ответ
убедитесь, что вы заземлили Arduino на автомобиль, он работает и без этого, но иногда ничего не делает. Если вы используете кабель OBDII, он должен быть заземлен по умолчанию
Спасибо за ваш ответ, ваши предложения кажутся хорошим способом выяснить, что я сделал неправильно., @Kasti96
Я боролся в начале и до сих пор борюсь с CAN-шиной STM32, но я думаю, что у меня есть Arduino, отсортированная с моей стороны, попробуйте эту библиотеку, она лучшая, которую я мог найти, обязательно используйте эту строку : if(CAN0.begin(MCP_ANY, CAN_500KBPS, MCP_16MHZ) == CAN_OK) и это: CAN0.setMode(MCP_NORMAL); один, чтобы настроить ваше устройство правильно, @Tjaart van aswegen
- Можно ли настроить CAN-BUS Arduino Shield для связи с SocketCAN для UNIX?
- 5 В MCP2515 в 3.3V Teensy. Как уменьшить напряжение MISO
- Изменение режима работы CAN- трансивера
- Подключите Arduino к ПЛК (обмен данными)
- Конфликт SPI с двумя экранами - IOREF?
- CAN-шина MCP2515 с Arduino
- Что может привести к тому, что данные будут напечатаны правильно, затем неправильно, а затем повторятся? CAN-шина/общая передача
- Что такое "tCAN" в кодах CAN-шины?
каково содержимое буфера?, @jsotola
Знаете ли вы битрейт CAN-шины вашего BMW? Если нет, пробовали ли вы разные битрейты?, @oh.dae.su
@oh.dae.su Я пробовал разные битрейты, но ничего не работает. Я знаю, что мой BMW поддерживает KWP 2000 с битрейтом 10,5 кбит и стандартный OBD-II ISO со скоростью 500 кбит., @Kasti96
@jsotola это просто пробел -> " ", @Kasti96