OBD-сканер на базе Arduino

Мастер сделавший этот сканер владелец автомобиля Toyota Prius. Это гибридный автомобиль и на его приборной панели отсутствуют некоторые привычные приборы, например, тахометр или датчик температуры охлаждающей жидкости. Также интересно узнать о текущем расходе топлива или рассчитать среднее значение.

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

Мастер решил сделать сканер самостоятельно и установить его в свой автомобиль на постоянной основе.

Инструменты и материалы:
-Плата Arduino;
-Предохранитель с патроном;
-Разъем OBD II;
-Плата модуля шины CAN MCP2515;
-OLED-дисплей;
-Понижающий преобразователь;
-4-жильный кабель для дисплея;
-Мультиметр;
-Паяльное оборудование;
-Инструмент для зачистки проводов;
-3D-принтер;
-Крепеж;
-Клей;

Шаг первый: о шине CAN
Работа с CAN-шиной требует осторожности, при неправильных действиях можно вывести автомобиль из строя. Если вы не понимаете, что делаете, лучше приобретите готовый сканер.

CAN-шина — это система цифровой связи и управления электрическими устройствами автомобиля, позволяющая собирать данные от всех устройств, обмениваться информацией между ними, управлять ими.

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

Шаг второй: схема подключения
Питаться устройство будет от блока предохранителей. Конкретно он берет питание от цепи стеклоочистителя. Можно использовать любую цепь главное, чтобы она отключалась при вытаскивании ключа из замка зажигания. В противном случае устройство может посадить аккумуляторную батарею автомобиля.

12В может приходить и на порт OBD. Но здесь нужно быть уверенным, что провод именно питание, не сигнальная цепь.

Шаг третий: подключение порта OBD к плате CAN
Согласно распиновки подключает CAN Low и CAN High разъема OBD к плате CAN. Подключает землю.

Шаг четвертый: предохранитель и понижающий преобразователь
Изначально мастер подключил Ардуино к бортовой сети автомобиля 12 В без понижающего преобразователя. К сожалению устройство долго не проработало и сгорело. Тогда он установил понижающий преобразователь.

Подключает Vin- понижающего преобразователя к заземлению OBD. Подключает Vin + понижающего преобразователя к 12 В автомобиля (через предохранитель).

Теперь нужно отрегулировать выходное напряжение. Мастер подключает нагрузку к выходу преобразователя и устанавливает необходимый диапазон.

Шаг пятый: Arduino
Дальше нужно все смонтировать.
Мастер использует плату Teensy 4.0. Если будет использована другая плата, то распиновка может отличатся. Подключает напрямую контакты к плате CAN модуля:
MOSI (slave in)
MISO (slave out)
SS (chip select/slave select)
CLK (clock)
Возможно понадобиться подтягивающий резистор для интерфейса i2c.
Дисплей: подключайтесь напрямую (при условии, что используется тот же OLED-дисплей, что и у мастера) —
SDA (serial data)
SCL (serial clock)

Для питания дисплея подключает Vcc и GND. Эти четыре провода мастер установил в один разъем. Дисплей будет установлен на передней панели авто и при необходимости его можно будет снимать.

Шаг пятый: код
Код был самой сложной частью. Мастер писал его самостоятельно и это заняло много времени. Скачать его можно здесь GitHub. Мастер тщательно прокомментировал код и разобраться будет не очень сложно.

Шаг шестой: корпус
Корпус мастер разработал в графической программе, а затем напечатал на 3d-принтере. Файлы для печати он не выкладывает, так как сделал несколько версий корпуса. Он советует самостоятельно разработать дизайн с учетом особенностей своего автомобиля.

Шаг седьмой: установка устройства
Дальше мастер прокладывает провода под панелью автомобиля, устанавливает дисплей. Закрепляет устройство рядом с блоком предохранителей и подключает разъем.

Источник (Source)

Становитесь автором сайта, публикуйте собственные статьи, описания самоделок с оплатой за текст. Подробнее здесь.

Источник: usamodelkina.ru

Понравилась статья? Поделиться с друзьями:
KIA