No Image

Бортовой компьютер на ардуино

СОДЕРЖАНИЕ
1 637 просмотров
21 января 2020

Технологии не стоят на месте и сегодня автолюбителям предлагается множество различных вариантов для совершенствования своих «железных коней». Одним из таковых является Arduino. Это устройство представляет собой инструмент, использующийся для проектирования электронных устройств. В случае с автомобилем проектирование обычно осуществляется на лобовое стекло. Как сделать бортовой компьютер на Arduino и как его правильно настроить — читайте в этой статье.

Идеи для авто на основе маленькой платы с маленьким процессором — Arduino

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

С помощью платы Arduino можно соорудить автомобильный бортовой компьютер, который сможет:

  • рассчитать расход горючего;
  • вывести информацию о температуре антифриза;
  • рассчитать скорость движения, а также расстояние поездки;
  • вывести потраченное горючее за определенный километраж;
  • определить обороты мотора и т.д (автор видео — канал Arduino Tech PTZ).

Помимо устройства Arduino вам также потребуется жидкокристаллический модуль, адаптер Блютуз НС-05, а также сканер ELM327 и резисторное устройство на 10 кОм. Разумеется, необходимо приготовить и звуковой индикатор, монтажные провода и сам корпус устройства.

Процедура сборки осуществляется следующим образом:

  1. Сначала настраиваем Блютуз адаптер. К пинам устройства нужно припаять провода — к двум нижним и верхним контактам.
  2. Сам модуль подключается к плате для настройки, для этого необходимо открыть программу Arduino >Фотогалерея «Схема подключения БК»

GPS-трекер

Чтобы собрать GPS-трекер на базе Arduino, вам потребуется:

  • сама плата, процесс описан на примере модели Mega 2560;
  • модуль GSM/GPRS, который будет использоваться для передачи данных на сервер;
  • а также Arduino GPS-приемник, в примере мы рассмотрим модель SKM53 (автор видео об изготовлении трекера на примере платы SIM 808 — канал Alex Vas).

Как производится подключение схемы:

  1. Сначала осуществляется подключение модуля к основной плате, по умолчанию установлена скорость передачи данных 115200.
  2. После подключения нужно включить девайс и установить одинаковую скорость для всех портов — как последовательных, так и программных.
  3. GSM передатчик подключается к контактам 7 и 8 на основной микросхеме.
  4. Затем производится настройка модуля путем ввода команд. Все команды мы описывать не будем, их и так можно найти в Интернете без проблем. Рассмотрим только самые основные. AT+SAPBR=3,1,«CONTYPE»,«GPRS» — команда определяет тип подключения, в данном случае это GPRS. AT+SAPBR=3,1,«APN»,«internet.***.ru», где *** — это адрес оператора мобильной сети, который будет использоваться. AT+HTTPINIT — по этой команде производится инициализация HTTP.
  5. Нужно отметить один нюанс — при написании серверной составляющей интерфейса, желательно предусмотреть прием и выведение данных для нескольких адаптеров. Нужно установить переключатель на три позиции, это даст возможность получать данные от восьми автомобилей.
  6. Затем производится написание скетча на микросхеме. Сам скетч также можно найти в Сети, писать его необязательно. Учтите, если будут использоваться два активных последовательных порта, это может привести к ошибкам в передачи и отправке информации.

Парктроник

Чтобы соорудить парктроник, вам потребуются такие составляющие:

  • сама микросхема;
  • ультразвуковое устройство, в данном случае это дальномер HC-SR04:
  • шесть светодиодных элементов;
  • шесть резисторных элементов сопротивлением на 220 Ом;
  • соединительные провода типа «папа-папа»;
  • пьезодинамический элемент;
  • макетная схема для сборки.

Элементы для сборки парктроника на Arduino

Процедура сборки выглядит следующим образом:

  1. Для начала на макетной схеме необходимо установить светодиодные элементы, подготовленные заранее. Отрицательный контакт у всех светодиодов будет общим. Короткий контакт — катод — следует подключить к отрицательной шине, которая имеется на макетной плате.
  2. К более длинным контактам диодов, то есть анодам, необходимо подключить резисторные элементы на 200 Ом, если вы не будете их использовать, это приведет к перегоранию диодов.
  3. На центральной части производится монтаж ультразвукового устройства. На этом контроллере есть четыре контакта. Vcc — это контакт питания на пять вольт, Echo — это выходной контакт, Trig — это вход, а GND — это заземление.
  4. После того, как дальномер будет установлен, к его выходам следует подключить проводку. В частности, контакт Echo подключается к выходу 13, Trig — к 12 контакту. GND, соответственно, необходимо соединить с заземлением, которое имеется на схеме контроллера, а оставшийся выход Vcc соединяется с 5-вольтовым питанием на плате Arduino.
  5. После выполнения этих действий нужно соединить проводку с контактами резисторных элементов. А также они подключаются последовательным образом к пинам на плате — используются пины от 2 до 7.
  6. Следующим этапом будет подключение пьезопищалки, которая и будет предупреждать водителя о приближении к препятствию. Минусовой выход, как вариант, можно будет объединить с отрицательным контактом установленного ранее дальномера. Что касается положительного контакта, то он соединяется с пином под номером 11 на микросхеме.
  7. Для того, чтобы устройство в конечном итоге работало в нормальном режиме, дополнительно нужно будет написать, после чего загрузить код программы в плату. В этом коде необходимо точно указать дистанцию, при приближении к которой начнут загораться диодные элементы и будет срабатывать пищалка. Причем тональность пищалки должна быть разной, чтобы водитель мог узнать, когда приближение к препятствию будет критическим. Сам код либо пишется самостоятельно, либо берется уже готовый вариант из Интернета. Вариантов скетчей очень много, вам нужно только выбрать наиболее подходящий для вашего устройства (автор видео — канал Arduino Prom).
Читайте также:  Газ 322132 технические характеристики объем топливного бака

Заключение

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

Разумеется, для этого вы должны обладать знаниями в области электроники и электротехнике, при этом минимальных навыков, вероятнее всего, будет недостаточно. При изготовлении девайсов вам придется принимать собственные решения, о чем в Интернете может и не быть информации. Поэтому будьте готовы к тому, что процесс сборки может занять достаточно долгое время.

Видео «Как соорудить систему управления электродвигателем печки?»

Из видео ниже вы сможете узнать, как обустроить климат-контроль путем доработки регулятора отопительной системе на примере автомобиля ВАЗ 2115 (автор ролика — Иван Никульшин).

Как вы помните, предыдущую запись в своем блоге про круиз-контроль я закончил фотографией, на которой были запечатлены компоненты моей будущей игрушки. Следующие 2 недели я провел за изучением абсолютно новой для себя сферы, и стоит сказать наперед, что давно я так ничем не увлекался…
Не буду кривить душой, я всего несколько раз в своей жизни за 30 лет паял проводки и почти ничего не понимал в электронике на предметном уровне. Сам я по профессии программист, имею прикладное математическое образование. Программирование полюбил еще с детства, когда отец (ведущий инженер-электронщик, работающий на закрытом военном НИИ) принес нам домой собранную собственноручно вариацию популярного в 80-х — 90-х компьютера ZX-Spectrum. Отец подключил его к телевизору и показал простейшие команды на встроенном в Спектрум языке Бейсик — как заливать цветом экран телевизора, как рисовать круги, прямоугольники, овалы и прочее. Мне было 5 лет, был 90-й год и все это казалось безумно интересными вещами. Вот тогда я просто стал бредить компьютерными играми. Кто в теме, тот наверное помнит потрясающую ауру загрузки игр с кассет, помнит незабываемый скрипучий звук и медленно появляющееся изображение заставки игры. А игры… до сих пор скучаю по той атмосфере необычности некоторых игрушек, часы, проведенные за игрой Elite, которая дала огромный толчок к развитию космических симуляторов… Эта сфера так сильно меня очаровала, что свою первую игру я написал в 11 лет на языке Logo, который изучают в младших классах для "вдалбливания" основ программирования малолетним чадам. В то время как остальные рисовали простейшие фигуры, учили циклы, рекурсии меня влекло создание компьютерных игр. На зимних каникулах была написана игра-стратегия "Сечь" о запорожских казаках, которые отбивают землю у поляков и турков ) Потом футбольный симулятор, оболочку наподобие Norton Commander (помните такое? )))). Затем любовь к футбольному клубу Шахтер сподвигла на написание футбольного менеджера клуба и с этой игрой я уже ездил на Всеукраинскую Малую Академию Наук, что помогло затем поступить в универ на бюджет… Уже студентом я выбрал для себя Java как главный язык программирования и узнал, что на нем можно писать мобильные игры. А дальше пошло как по накатанной. Я был молод, у нас с моей будущей женой были общие интересы, она неплохо рисовала, мне хотелось что-то делать, мою игру заметили, позвали работать в большую как для студента компанию в Украине, а уж тем более в Донецке. Спустя год пошла переквалификация в веб-программиста и в данной сфере остаюсь и поныне.

Читайте также:  Актуатор турбины ниссан патфайндер r51

Однако все это время меня не покидало желание пойти еще дальше и писать не только код в редакторе, но и работать непосредственно с железом. Именно поэтому у меня все время владением машины был постоянный зуд влезть то в один, то в другой узел автомобиля, что-то делать не только виртуально, но и руками.

Поставив почти все, что можно найти в Украине и не только на нашу машину, стал думать, а что еще можно сделать. И тут мой взгляд зацепился за Ардуино и я понял, это оно )

Если вы еще не слышали об Arduino, то вот вам маленький ликбез с офиц. сайта:

Arduino — это платформа с открытым исходным кодом, созданная для быстрой и легкой разработки разнообразных электронных устройств. Ардуино может получать данные об окружающем мире благодаря датчикам и реагировать, управляя светом, моторчиками и другими приводами. Микроконтроллер на плате программируется с помощью языка программирования Arduino и среды разработки Arduino. Для программирования не требуется программатор, программа зашивается через порт USB. Для начала работы понадобится только сама плата Arduino и компьютер с установленной средой разработки Arduino.

По сути ничего нового. Мой отец уже давно прошивает микроконтроллеры, проектирует платы, собирает устройства и все это известно и применяется многими радиолюбителями. Однако меня привлекла простота старта освоения этой сферы, доступность компонентов, хорошая документация и куча, нет не так, миллионы примеров в сети. Есть еще один плюс для наших итальянских машин — платформа итальянская. А уж тюнить итальянцев мы умеем )

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

В качестве первой вещи, которую хотелось бы сделать я выбрал проект бортового компьютера нашего драйвовчанина horhomun , отлично описанный в статье на Хабрахабр. Пользуясь статьей были куплены необходимые на первый взгляд компоненты:

А именно модуль Bluetooth HC-5, LCD экран 20×4, платку Arduino Uno, макетку и кучу перемычек. Ну а потом пошло-поехало ) Нашелся старый паяльник, отец прислал припой, инструменты, на местном радио рынке были куплены корпус, коннекторы, провода, кнопки и прочая хрень, на которую раньше просто не обращал внимания )

Остановимся немного на проекте. Проект представляет собой устройство, которое без проводов подсоединяется к бортовой сети машины через диагностический разъем OBD-II. Вы спросите, а чем родной то не устраивает? ) А я вам отвечу, а вы сможете в родной компьютер запихнуть новые функции, которые ограничиваются лишь вашей фантазией? ) Расход, скорость и пройденный путь это хорошо, но этого мало. Я знаю одного человека, который перепрограммировал родную приборку на пунто и смог выводить туда все, что хочет используя OBD и CAN. Но своим ноу хау он не захотел делиться. Также вы спросите, а как же твоя диагностика по wifi? Будете правы, все тоже самое я могу смотреть со своего айфона. Но вот, а если я хочу добавить что-то свое? Программу на айфоне я не переделаю, а тут свободное поле для творчества. При этом телефон при связи по wifi греется и быстро расходует заряд аккумулятора. А телефон, сами знаете, может сесть в самый неподходящий момент. Поэтому автономное удобно расположенное устройство, которые при необходимости покажет полезную информацию по машине в том виде, в каком я сам захочу — очень полезный в хозяйстве инструмент. А уж тем более — это отличный полигон для изучения новой для меня сферы, а также замечательный плацдарм для дальнейшего тюнинга.

Читайте также:  Как настроить инжектор самому

Первой сложностью для меня стала настройка модуля блютуза:

Данная модель умеет работать в двух режимах master/slave, и чтобы она без пароля подсоединялась к адаптеру Bluetooth ELM 327 нужно было прописать в нее с помощью AT-команд MAC-адрес адаптера и перевести в режим master. Пару слов о bluetooth адаптере ELM 327. Как вы помните у меня стояла на постоянке wife версия ELM 327. Однако проект был заточен под bluetooth, поэтому встал вопрос поиска донгла. В современных донецких условиях это нереально. Поэтому окольными путями в ближайшем селе Селидово был куплен такой вот красивый донгл:

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

Далее взяв ноут с виндой удалось найти MAC-адрес адаптера и добавить его в модуль блютуз для ардуино:

Далее пошло подключение экрана и прочих компонентов:

Примерно с год назад возникла идея сделать для своего авто БК. Что из этого получилось судить Вам.
БК работает по протоколу MUT (специализированный протокол диагностики Mitsubishi)
Как и планировалось экран БК установлен в окно приборной панели, где ранее была индикация открытой двери. Соответственно индикатор открытой двери добавлен в БК.
БК построен на основе Arduino Pro Mini. Плата была изготовлена по ЛУТ технологии, элементная база: оптопары PC817, мосфет AO4407, драйвер К-линии mc33290/
Возможности БК.
— расчет мгновенного расхода топлива
— расчет расхода топлива за последние 10 км
— расчет общего расхода топлива
— отображение параметров работы двигателя (скорость, обороты, температура ОЖ, РХХ, ДПДЗ, УОЗ, напряжение …)
— измеряет температуру воздуха (внешний датчик 18b20)
— управление ДХО (плавно включает с началом движения, автоматически выключает при включении основного света, коротким включением света позволяет включить/выключить ДХО)
— управление ЦЗ (запирает двери по достижении скорости 20 км/ч)
— индикация низкого уровня омывающей жидкости в бачке омывателя. (установлен датчик уровня).
Плата односторонняя, перемычек нет. Разведена в Sprint-layout 6.0.

Назначение входов/выходов:
Vbat — постоянный "+" от батареи
GND(слева внизу) — постоянный "-"
IGN — "+" при включении зажигания
Door — "-" при открытии дверей
Light — "+" при включении света
DRL+ — выход "+" на питание ДХО
K-line — к диагностическому разъему
LockDoor — к центральному замку, для запирания дверей
water — к датчику уровня жидкости в бачке омывателя
+5v — 5в для датчика температуры DS18B20
GND(справа внизу) — "-" для датчика температуры DS18B20
temp — шина данных датчика температуры DS18B20

Компоненты:
Экран — 1 шт.
Arduino Pro Mini 5 v — 1 шт.
Модуль часов реального времени — 1 шт.
Драйвер К линии mc33290 — 1шт.
Стабилизатор напряжения 78m05 — 1 шт.
Полевой транзистор ao4407 — 2…4 шт.
Оптопары PC817 — 6 шт.
Резисторы 0.25 Вт
Датчик температуры ds18b20 — 1 шт.

На плате предусмотрено место для параллельного соединения полевых транзисторов управляющих ДХО, в зависимости от мощности нагрузки. У меня установлены ДХО суммарной мощностью 6 Вт, на плате распаян только 1 транзистор. Он не греется.
Экраны бывают с красной или черной платой. Они имеют различие в настройке подключаемых библиотек. Я установил черный экранчик, соответственно в представленной библиотеке настройка под него.
Что касается библиотек Adafruit_mfGFX, TFT_ILI9163C то они сильно мною изменены под мои нужды, поэтому скетч компилировать только с ними.

Ссылка на скачиваниеархива содержащего скетч, библиотеки и файл платы.

Комментировать
1 637 просмотров
Комментариев нет, будьте первым кто его оставит

Это интересно
No Image Автомобили
0 комментариев
No Image Автомобили
0 комментариев
No Image Автомобили
0 комментариев
Adblock
detector