Самодельный Расходомер Для Автомобиля.

Привет! Расскажу о своей попытке сделать бортовой расходомер на базе Arduino Nano. Это мое второе изделие от Ардуино, первым был ходячий паук.

Поэкспериментировав с лампочками и сервомоторами, мне захотелось сделать что-то более полезное.

Конечно, можно было купить готовое изделие, может даже и за меньшую цену (хотя за меньшую цену я его не нашел).

Но это было неинтересно, и возможно, в нем не было тех функций, которые мне были нужны.

К тому же хобби, как и спорт, редко оправдывает затраты в материальной форме.

Прежде чем рассказать о процессе, я покажу вам картинку того, как он выглядит сейчас.

Программа пока в стадии отладки, поэтому контроллер висит на проводах в салоне, а дисплей приклеен на двухсторонний скотч) В дальнейшем будет устанавливаться по-человечески.



Самодельный расходомер для автомобиля.
</p><p>

Прибор рассчитывает и отображает на дисплее километровый расход топлива: мгновенный в нижней строке, средний за последний километр в верхней строке.

Идея сделать эту штуку пришла ко мне давно, но этому мешало отсутствие информации о том, что и как работает в моей машине.

Она у меня довольно старая – Королла Е11 с двигателем 4А-FE. Про двигатель я знал, что он инжекторный и что форсунки имеют более-менее постоянную работу, на что и рассчитывает собственный блок управления.

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

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

Поэтому, если подключиться к минусовому проводу форсунки, то момент ее открытия можно отследить, измерив потенциал: когда блок управления замыкает форсунку на массу, 14 Вольт падают до нуля.

Эта простая мысль пришла мне в голову не сразу, ведь мои познания в электронике ограничиваются школьным курсом физики и законом Ома.

Далее нам нужно было превратить +14В в +5В, который можно будет подать на логический вход контроллера.

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

Для расчета километража расхода необходимо было получить данные с датчика скорости.

С ним все оказалось проще, потому что он выдает шаги 0.+5В, чем больше шагов, тем больше пробег.

Эти шаги поступали непосредственно на логический вход без преобразований.

Мне очень хотелось отображать данные на ЖК-дисплее.

Я рассматривал разные варианты и остановился на текстовом дисплее MЭLT за 234 рубля на базе микроконтроллера Hitachi HD44780, с которым Arduino может работать с рождения.

После долгих и мучительных размышлений была составлена следующая схема:

Самодельный расходомер для автомобиля.
</p><p>

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

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

Возможно это недоработка моей схемы, но все делалось впервые, вслепую и без тестирования на макетке, в общем методом тыка.

Следуя схеме, я записал разводку печатной платы (да, я сразу бросился печатать, так как не очень хотелось возиться с кучей проводов на плате):

Самодельный расходомер для автомобиля.
</p><p>

Плату травили впервые и с некоторыми технологическими нарушениями, поэтому результат вышел так себе.

Но после лужения все пришло в порядок.

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

После травления плата получилась вот такая:

Самодельный расходомер для автомобиля.
</p><p>

Чтобы припаять элементы к плате, нам пришлось проделать в ней множество отверстий.

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

Самодельный расходомер для автомобиля.
</p><p>

После сверления отверстий, лужения и пайки плата стала выглядеть вот так:

Самодельный расходомер для автомобиля.
</p><p>

И с лицевой стороны:

Самодельный расходомер для автомобиля.
</p><p>

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

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

Для этого по моей просьбе провода от форсунки и датчика были выведены в салон.

Для микроконтроллера я написал тестовую программу, которая записывала в COM-порт сырые данные — количество импульсов с датчика скорости и миллисекунды, в течение которых форсунка была открыта.

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

После двух-трех сеансов тестирования программа начала показывать достоверные данные.

Сначала я посчитал средний расход за интервал времени (5-10 минут), что вызвало интересный эффект: после пяти минут стояния на светофоре (даже не пробка, а небольшое подобие) километраж расхода подскочил до запредельных значений 50-100 литров на 100 км.

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

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

шаг.

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

Исходный код (если кому интересно) я опубликовано на PasteBin. Есть еще что дорабатывать, хотя бы стиль самой программы, так как она писалась достаточно спонтанно.

Еще не окончательный результат:

Самодельный расходомер для автомобиля.
</p><p>

Теги: #расход топлива #arduino #самоделки #autolepra привет #Разработка для Arduino

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.