Оглавление:

Тахометр / сканер с использованием Arduino, OBD2 и шины CAN: 8 шагов
Тахометр / сканер с использованием Arduino, OBD2 и шины CAN: 8 шагов

Видео: Тахометр / сканер с использованием Arduino, OBD2 и шины CAN: 8 шагов

Видео: Тахометр / сканер с использованием Arduino, OBD2 и шины CAN: 8 шагов
Видео: MCP2515, контроллер CAN шины с интерфейсом SPI 2024, Ноябрь
Anonim
Тахометр / сканер с использованием Arduino, OBD2 и шины CAN
Тахометр / сканер с использованием Arduino, OBD2 и шины CAN
Тахометр / сканер с использованием Arduino, OBD2 и шины CAN
Тахометр / сканер с использованием Arduino, OBD2 и шины CAN
Тахометр / сканер с использованием Arduino, OBD2 и шины CAN
Тахометр / сканер с использованием Arduino, OBD2 и шины CAN

Любой владелец Toyota Prius (или других гибридных / специальных транспортных средств) знает, что на их приборных панелях может отсутствовать несколько циферблатов! У моего Prius нет ни оборотов двигателя, ни датчика температуры. Если вы любитель производительности, вы можете узнать такие вещи, как опережение по времени и данные о топливе в реальном времени. Если вы гипермилайлер, возможно, вы захотите узнать больше о своей экономии топлива.

Все эти значения рассчитываются компьютером двигателя вашего автомобиля. Для считывания данных просто требуется сканер. Многие любопытные автовладельцы обращаются к коммерческим решениям, таким как Scan Gauge. Они также могут использовать инструмент сканирования, который использует ELM327 через USB или Bluetooth. Популярными соперниками являются Carista, BlueDriver или обычный диагностический сканер Innova / Bosch.

Я хотел, чтобы в моем автомобиле была постоянная установка со специальным оборудованием, поэтому я решил пойти своим путем! Я рад поделиться своим индивидуальным дизайном сканера.

Запасы:

Важный -

  • Плата Arduino (можно использовать Nano, Teensy, Pro Micro, Uno….) [Amazon]
  • Отвод предохранителя + дополнительный предохранитель (убедитесь, что у вас правильный размер) [магазин автозапчастей]
  • Разъем OBD II (я спас один из старого сканирующего прибора) [Amazon]
  • Модуль CAN Bus MCP2515 [Amazon]
  • OLED-дисплей (или другой дисплей по выбору) [Amazon]
  • Понижающий преобразователь (или другой импульсный / линейный регулятор напряжения) [Amazon]
  • 4-жильный кабель для дисплея (используйте старый USB-кабель, ленточный кабель и т. Д.)
  • Множество перемычек для подключения всего

Инструменты -

  • Вольтметр
  • Паяльное оборудование
  • Инструмент для зачистки проводов

Полезный -

  • 3D-принтер (или доступ к нему) для создания следующих деталей:

    • Корпус для ардуино
    • Лицевая панель экрана / крепление на приборной панели
  • Крепеж для ограждения
  • Клей

Шаг 1. О шине CAN (и отказе от ответственности)

О шине CAN (и отказе от ответственности)
О шине CAN (и отказе от ответственности)
О шине CAN (и отказе от ответственности)
О шине CAN (и отказе от ответственности)
О шине CAN (и отказе от ответственности)
О шине CAN (и отказе от ответственности)
О шине CAN (и отказе от ответственности)
О шине CAN (и отказе от ответственности)

ЗДЕСЬ ВЫ ОТКРЫВАЕТЕ СЕРЬЕЗНУЮ БАНКУ ЧЕРВОВ… Если вы возитесь с автомобилем / автобусом CAN, это может привести к повреждению и / или непреднамеренному срабатыванию автомобиля! Я предоставляю вам этот код и инструкцию без каких-либо гарантий. Вы берете на себя весь риск. Попробуйте это сделать, когда автомобиль ПАРКОВАНТ ПЕРВЫМ! Этот проект на самом деле довольно безопасен, если вы просто проведете небольшое исследование того, что делаете. Если вы не знаете, что означает какая-либо часть инструкций или кода, это, вероятно, знак того, что вам не следует возиться с электрической системой вашего автомобиля! Не берись за этот проект. Купите готовый Bluetooth-ключ OBD и используйте его. Я желаю вам удачи.

Теперь, когда заявление об отказе от ответственности исчезло.. МОЖЕТ ли звучать знакомо? Возможно, это похоже на LAN (Ethernet) или WLAN (WiFi), которые могут быть у вас дома… потому что все они являются сетями. CAN расшифровывается как Controller Area Network. Это цифровая коммуникационная платформа, которую ваш автомобиль использует, чтобы разговаривать сам с собой. Вместо того, чтобы прокладывать провода от компьютера двигателя к каждому датчику, свету и устройству в вашем автомобиле, все они управляются цифровым способом по сети.

Шина CAN - это протокол дифференциальной связи. Это означает, что для этого нужно всего два провода! Здесь нет Tx / Rx, как в традиционных последовательных коммуникациях, и нет прямой передачи между двумя устройствами. Обычно это витая пара в вашем автомобиле. Вы будете получать доступ к нему через порт OBD. Вам не обязательно понимать, как этот протокол работает на фундаментальном уровне, но вы должны понимать его достаточно, чтобы иметь возможность писать или изменять код Arduino.

Если вы хотите следовать этому проекту, убедитесь, что в вашем автомобиле есть CAN-шина! Почти каждый автомобиль на дороге сегодня имеет порт OBD II. Все они имеют одинаковый электрический разъем под приборной панелью. Однако существуют совершенно разные протоколы связи в зависимости от производителя вашего автомобиля. Любой автомобиль, проданный в США после 2008 года, использует шину CAN ISO 15765. Это то, что мы хотим использовать в этом проекте. Убедитесь, что в вашем автомобиле есть шина CAN. Помните, что каждая машина уникальна. У вас будет определенная скорость CAN-шины, определенные коды OBD, которые вы должны запросить, и разные причуды, которые вы должны смягчить в процессе.

Шаг 2: Схема подключения

Схема подключения
Схема подключения

Пришло время приступить к планированию вашего корпуса и установки. У моей машины блок предохранителей в капоте и один прямо под приборной панелью. Где твой? Пора задуматься.

Я использовал предохранитель на цепи стеклоочистителя, так как у моего Prius многие цепи предохранены рядом с портом OBD. Вы можете использовать Vbatt для порта OBD, но будьте осторожны! То есть подключен к аккумулятору, поэтому устройство никогда не выключится. Плохая идея. В зависимости от текущего потребления Arduino, он может разрядить вашу батарею в течение нескольких дней или недель, если вы оставите машину в покое! Если вы используете OLED-дисплей, вы можете испытывать чрезмерное выгорание, если ваше устройство постоянно включено. Очень важно, чтобы устройство было переключено на ваше зажигание.

У вас может быть простое решение! У вас может быть автомобиль с контактом питания ACC / зажигания на порте OBD. Многие булавки зависят от производителя. Это означает, что ваш порт OBD может иметь вывод питания, который переключен на зажигание. Однако не стоит просто пробовать мультиметр и подключать свой Arduino к чему-либо с напряжением 12 вольт! Ваш автомобиль может иметь J1699 или другую последовательную шину, которая использует логический уровень 12 В. Кто знает, что сделает текущий розыгрыш! Проверьте с помощью осциллоскопа, чтобы убедиться, что ваш «источник 12 В» является стабильным источником питания постоянного тока, а не сигналом, прежде чем подключать питание Arduino к любому другому контакту, кроме батареи на порту OBD.

Шаг 3: Подключение порта OBD к плате CAN

Подключение порта OBD к плате CAN
Подключение порта OBD к плате CAN
Подключение порта OBD к плате CAN
Подключение порта OBD к плате CAN

Посмотрите на распиновку вашего порта OBD для CAN Low и CAN High. Подключите эти провода к High и Low на вашей плате.

Теперь используйте заземление вашего порта OBD в качестве заземления для этого проекта! Соедините все заземляющие провода вместе и убедитесь, что они заземлены на этот порт OBD.

Мы сосредоточимся на остальном интерфейсе SPI платы CAN в несколько шагов.

Шаг 4: предохранитель и преобразователь постоянного тока в постоянный

Отвод с предохранителем и преобразователь постоянного тока в постоянный
Отвод с предохранителем и преобразователь постоянного тока в постоянный
Отвод с предохранителем и преобразователь постоянного тока в постоянный
Отвод с предохранителем и преобразователь постоянного тока в постоянный
Отвод с предохранителем и преобразователь постоянного тока в постоянный
Отвод с предохранителем и преобразователь постоянного тока в постоянный
Отвод с предохранителем и преобразователь постоянного тока в постоянный
Отвод с предохранителем и преобразователь постоянного тока в постоянный

Не пропустите понижающий преобразователь постоянного тока! Я уже однажды случайно уничтожил этот проект, потому что решил, что Arduino будет отключать 12 вольт от блока предохранителей. Я думаю, что где-то был скачок напряжения от индуктора (Arduino был подключен к тому же предохранителю, что и электродвигатель стеклоочистителя), и это поджарило мой Nano.

Рекомендуемые: