Как сделать счетчик топлива
Электроника для всех
Блог о электронике
Простейший индикатор расхода топлива на инжекторный двигатель
Сразу же после покупки автомобиля (Mitsubishi Lancer, 2003) озадачился установкой индикатора расхода топлива. Японцы сильно сэкономили на этом авто и не установили некоторые полезные функции — пришлось исправлять ситуацию.
Первой мыслью было или покупка готового — существуют множество промышленных устройств, в том числе заточенных под Lancer 9, или самостоятельная сборка какой-нибуть любительской конструкции — и таких немало. Поизучав немного тему выяснил, что все предложенные девайсы обладают избыточностью функций — а мне-то всего навсего нужен расходомер. Поэтому и было решено делать самому. Единственное место на панели куда-бы приборчик вписывался — на место штатных часов, поэтому хочешь-не хочешь он должен и время показывать. Ну и так как при применении 2-х строчного ЖК в этом случае остается незаполненный угол — значит и туда надо что-нибуть более-менее полезное вставить, например индикацию температуры. Кстати говоря, поначалу задумывалась индикация и некоторых других параметров — зарядка аккумулятора, расход на 100 км, мгновенный расход в цифрах и т.д. уже и не припомню — и почти все задумки были реализованы в первой версии индикатора.
Двигатель заглушен, поэтому прогрессбар отсутствует.
Плюсом первой версии считаю то, что при установке на автомобиль не пришлось абсолютно ничего сверлить, точить и т.д. Просто отщелкнуть штатные часы и на их место защелкнуть прибор. Кнопки управления (3 шт.) располагались справа от дисплея.
Но покатавшись некоторое время понял, что из всех функций мне нужны всего 3 (остальными за все это время я ни разу не воспользовался). И тут как раз попался новый дисплей, более симпатичный — решил поставить его ну и заодно переписать все заново — выкинуть ненужные функции. Просто переставить дисплей не получилось-бы во-первых из-за разных габаритов и во-вторых — новый дисплей негативный, надо менять систему диммирования.
Из-за больших размеров дисплея кнопки сбоку не поместились, пришлось высверливать 2 отверстия в подиуме, но это никак не повлияло на внешний вид а пользоваться стало удобнее. Вот фото нового индикатора
Устройство показывает (повторюсь)
Схема
Ничего особенного — микроконтроллер PIC16F876 считывает данные с датчиков температуры (DS18B20), с микросхемы часов (DS1307) и с ЭБУ, обрабатывает все это и выводит на дисплей (LCD 2×16). Сигнал с ЭБУ (Fuel) — один из тех, что идут на инжектор, можно использовать любой. Для формирования (скорее даже согласования) сигнала применен узел на n-p-n транзисторе. Питание устройства — через стабилизатор на 7805. Отдельного питания для микросхемы часов при заглушенном двигателе не предусмотрено т.к. backup батарейки согласно даташиту должно хватить лет на 10.
Управляется устройство 2-мя кнопками, одна из которых — «Mode» — переключает индикацию внутренней и внешней температуры, вторая — «Set» — в зависимости от того какая из температур выбрана устанавливает или часы или минуты.
Дисплей — любой подходящий по размерам двухстрочник, главное чтоб он был с расширенным температурным диапазоном.
Датчики температуры установлены — один в салоне, другой выведен под передний бампер.
Диммер — котакты реле размыкаясь просто подключают добавочный резистор в цепь питания светодиодов подсветки тем самым приглушая их. Реле включается от габаритов. Диммер, как уже указывалось, для негативного дисплея, разница между негативным и позитивным в том, что в первом случае днем дисплей должен подсвечиваться ярче чем в темноте. Второй же наоборот — днем подсветка вообще не нужна, включается только с габаритами.
МК кстати можно использовать и другой, послабее. Надо только перекомпиллировать программу под новый. Просто этот остался от предыдующего варианта…
Конструкция
Все устройство собрано на одной печатной плате, посредсtвом которой оно и крепится в защелки штатных часов. На этой же плате расположены и резервная батарейка часов и разъем для подключения LCD и разъем ICP (внутрисхемного программирования). Разводка — под SMD элементы.
Схема и разводка также выложены в архиве в форматах Splan и SprintLayout соответственно:
schem.rar
Управляющая программа
Прошивка написана на одном из самых простых для изучения и понимания компиляторов — PicBasic Pro.
Состоит из главной программы — mmc.pbp и 3-х подключаемых модулей
Исходники достаточно подробно прокомментированы, так, что думаю не составит труда разобраться и при необходимости подправить ко-что «под себя». Например, изменить или вообще отключить заставку-анимацию при включении — сейчас пишет «Mitsubishi LANCER IX».
Сама прошивка (hex) и исходники.
Firmware.rar
Доп. информация по компилятору
Программа написана на PicBasic Pro, v2.5b (обязательно пропатчить до 2.5b, версия 2.5 насколько я понял некорректно отрабатывает OneWare команды, я намучился с температурными датчиками пока не поставил соотв. патч)
Сайт PicBasic
Надо скачать также Microcode Studio, чтобы не заморачиваться с командной строкой
Сергей — SSh
142 thoughts on “Простейший индикатор расхода топлива на инжекторный двигатель”
Имею такой же агрегат 🙂 Так же сетую на отсутствие расходомера.
Реализовано в устройстве затемнение подсветки при включении ближнего света/габаритов, ибо даже на фотке видно, что второй экран довольно ярок?
Где можно узнать про первую версию устройства? Я весной собираюсь менять машину, мне бы не хотелось что-то в ней сверлить?
И по поводу съема сигнала о расходе, разве там не K-line протокол?
Да, конечно. Узел на реле как раз этим и занимается.
Если же ничего сверлить не хочется, то надо или поставить кнопки в другое место или применить экранчик поуже, так, чтобы кнопки поместились справа от него, как 1-м на фото.
Насчет К-линии — конечно можно, тем более протокол обмена известен. Но ради такого простого дела занимать К думаю не стоит…
А в первой версии были излишества (например отдельный стабилизатор для часов) и, признаюсь, некоторые неточности в прошивке — я всю инфу по ним давно стер…
так получается по K-Line поступают данные на мк?
Нет, как раз так не получается… Написано, что при желании данные можно снимать и с К-line, но в данном случае информация о расходе берется непосредственно с инжектора.
ХА! Уже пару лет обдумывал такую девайсину! И вот те на! 🙂
Есть вопросы.
Будет ли работать ЛЦД-экранчик зимой в морозы?
По опыту, во все уличные устройства с такими экранами ставятся обогреватели (парковочные автоматы, например), ибо жидкие кристалы тупо замерзают 🙂 А при наших зимах… А в салоне машины в морозы тоже будет минус.
Не мог бы автор в 2х словах описать принцип измерения расхода?
Что мы считаем? Частоту следования импульсов? Как узнать расход в цифрах, допустим «6.52 литра»? Можно, конечно, разбираться с программой, но если автору не сложно…
Из предложения «Сигнал с ЭБУ (Fuel) — один из тех, что идут на инжектор, можно использовать любой.» можно сделать вывод, что сигналы идут на форсунки, а любой — это один из четырех. Если так, то расход топлива можно измерить в литрах в единицу времени, а не на 100 километров, как принято, так как прибор не имеет данных о скорости.
Если интересно, можно взглянуть http://eldigi.ru/site/avto/1.php (нашел в гугле). Снимается сигнал с форсунок и датчика скорости. Отдельно рассмотрен вопрос калибровки прибора под форсунки.
Принцип измерения расхода довольно прост — форсунки имеют так называемую производительность, и т.к. давление в топливной магистрали постоянное, то кол-во топлива, проходящее через форсунку определяется временем открытия последней. Т.е. измеряя длительность (не частоту!) импульсов и умножая её на производительность получаем расход. Если же еще снять сигнал с датчика скорости, то путем несложный вычислений можно получить и расход на 100 км.
В первой версии эта возможность была, потом, как я уже писал, изъял за ненадобностью. Если же привязывать не к пройденному пути а ко времени, то информация о скорости не нужна, надо просто выкинуть подпрограмму прогрессбара и вместо неё выводить цифры. Но, по-моему, прогрессбар и легче для восприятия и не отвлекает во время движения в отличии от прыгающих на экране цифр…
Спасибо за ответ!
Теперь всё примерно ясно! Бум копать информацию.
Смотрю OLED модули на ebay.com — совсем недорогие.
Вот зачем нужен расходомер (который л/100км показывает), я
более-менее представляю — мериться его показаниями на форумах и
сравнивать с паспортными данными на автомобиль. А экономайзер зачем?
Но вообще интересная штучка, конечно. Программный функционал бы я к ней другой приделал, а железка сама по себе хорошая.
А я, например, совсем противоположного мнения )) Мне наоборот, не нужны показания в цифрах типа Х литров на Y километров, тем более, что бегающие перед глазами цифры будут отвлекать. А экономайзер для того и предназначен — для экономичной езды. Я как раз на себе и почуствовал разницу в расходе до и после установки пробора. Сейчас он мне как-бы и не очень нужен, но именно благодаря ему выработался стиль езды при котором расход топлива значительно снизился. Насчет функционала — пожалуйста, что угодно, было-бы интересно посмотреть.
СОгласен… но не совсем 🙂
В любом случае кол-во потребляемого топлива для конкретного автомобиля однозначно определяется временем открытия форсунки, так? Вот это количество мне и надо было контроллировать. А практическая польза — я уже писал — после установки уменьшился расход — это факт!
Насчет остального (эмоции и т.д.) наоборот — я с интересом слежу за всеми комментами и благодарен за любые замечания, предложения, критику и т.д.
varan, позволь тебя поправить. На четвертой передачи прибор автора будет показывать больший расход при одинаковых оборотах.
Естесственно, если привязаться к скорости, то все встанет на свои места.
В любом случае будет показывать такой расход какой есть на самом деле вне зависимости от оборотов, скорости и т.д. Именно такая цель и ставилась при разработке.
Вы путаете содержимое информации и ее представление. Согласен что прогрессбар удобнее для восприятия (спидометр, я считаю, тоже прогрессбар), чем циферки. Вопрос в том, что сейчас отображается расход по времени, а хочется видеть литры на километры. А как видеть — цифрами или столбиком — кому как нравится.
Так я же и говорю — мне не хочется литры на километры, была у меня предусмотрена и такая функция — за год ни разу не воспользовался…
Я-то этот прибор делал не для продажи а лично для себя и под свои запросы. Вон на некоторых автомобилях вообще в стоке стоят «обратные» расходомеры, показывают не л/км а км/л
то на американских, так называемый MPG (милес пер галлон) совершенно дебильная единица измерения, полезность которой крайне сомнительна.
Ну скажите, если я хочу поехать в крым, и туда от меня 500 км, и я хочу рассчитать сколько бензина мне нужно, я беру эти 5 сотен км и умножаю на расход на сто, потом умножаю на два, потом умножаю на цену бензина и знаю сколько мне нужно бензина на поездку в крым! а если расход паспортный в мпг, то как мне блин считать? это мне нужно делить 500 км на 1.6, потом то что получится делить на паспортный мпг, потом это умножать на 4.33 или сколько там в галлоне? потом на два, потом на цену на бенз. ужас
И я не говорю о том что ту фичу юзать что была (я так понял цифрами у тебя отображалось л/сто), а говорю о том что было бы неплохо прогресс бар рисовать учитывая сигнал с датчика скорости. А там гляди уже и до продажи недалеко 🙂 ну разве плохо будет немножко заработать, так сказать окупить праведный умственный труд?
🙂 Точно так…
Насчет информации о скорости конечно можно подумать… но в след. релизе (если будет). Насчет коммерции — вряд-ли, есть еще парочка интересных (на мой взгляд конечно) девайсов — их тоже выложил в паблик на Амадеусе…
«Принцип измерения расхода довольно прост — форсунки имеют так называемую производительность, и т.к. давление в топливной магистрали постоянное, то кол-во топлива, проходящее через форсунку определяется временем открытия последней. Т.е. измеряя длительность (не частоту!) импульсов и умножая её на производительность получаем расход.»
Неверное допущение о том, что давление топлива в рейке постоянное. В разных режимах работы двигателя ЭБУ выставляет давление в рейке соответствующее режиму, разница между минимальным и максимальным давлением обычно около 30%, может быть и больше. Соответственно в какие-то моменты прогресс бар короче на треть и не даёт нужного представления о реальном расходе топлива.
Вообще простейшие экономайзеры в качестве параметра берут разрежение воздуха во впускном коллекторе и при помощи простейшего датчика (есть контакт/нет контакта) преобразуют в простейший электрический сигнал, который зажигает светодиоды. Думаю если подобрать чуть более навороченый датчик разрежения, то можно снять сигнал, который будет показывать расход на прогрес-баре, а не просто 0/1, и эта информация будет гораздо более правдоподобной.
Насчет подсветки разобрался.
А плату девайса надо защитить от пыли и влаги, а то со временем начнутся проблемы.
В принципе Вы правы, но думаю пока это время придет — не раз переделаю индикатор ))
Сейчас уже есть желание в очередной раз сменить дисплей, дело в том, что этот на солнце как-бы «выцвел». Если достану OLED — поставлю его, а нет — постараюсь подобрать что-нибуть посимпатичнее синего или красного свечения. Янтарные у меня есть — но что-то не нравятся…
Еще есть мысль — приспособить дисплей от мобильника, но эту возможность пока не изучал — именно в части температурного диапазона, а то например от S65 смотрелся бы весьма неплохо..
Олед рулит, не требует подсветки и глазу приятен.
Расходомер топлива для автомобиля
Один из вариантов устройства, которое позволяет контролировать количество и скорость жидкости (в частности топлива), протекающего через магистраль, был описан в статье И. Семенова и др. «Электронный расходомер жидкости» («Радио», 1986, № 1).
Описанное ниже устройство свободно от перечисленных недостатков, имеет более простую конструкцию датчика и схему электронного блока. В нем нет прибора для контроля скорости расходования топлива, его функцию выполняет счетчик суммарного расхода. Частота срабатывания пропорциональна скорости расходования топлива и воспринимается водителем на слух. Это не отвлекает от управления автомобилем, что особенно важно в условиях городского движения.
Гидравлическая схема расходомера показана на рис. 2. Через канал 3 и электроклапан топливо от бензонасоса поступает в каналы 1, 2 и заполняет верхнюю и нижнюю полости датчика, а через канал 4 поступает в карбюратор. Переключается клапан под действием сигналов электронного блока (на этой схеме не показан), управляемого герконовым коммутатором датчика.
Рис.2
В исходном состоянии обмотка электроклапана обесточена, канал 3 сообщается с каналом 1, а канал 2 пепекрыт. Диафрагма находится в нижнем положении, как показано на схеме. Бензонасос создает избыток давления жидкости в нижней полости 6. По мере выработки двигателем топлива из верхней полости а датчика диафрагма будет медленно подниматься, сжимая пружину.
При достижении верхнего положения сработает геркон 1 и электроклапан закроет канал 3 и откроет канал 2 (канал 1 открыт постоянно). Под действием сжатой пружины диафрагма быстро переместится вниз, в исходное положение, и перепустит топливо через каналы 1, 2 из полости б в а. Далее цикл работы расходомера повторяется.
Рис.3
По мере расхода топлива из полости а датчика магнит медленно перемещается от геркона SF2 к геркону SF1. В некоторый момент геркон SF2 переключится, но это не вызовет никаких изменений в блоке. В конце хода магнит переключит геркон SF1 и через него и резистор R2 потечет базовый ток транзистора VT1. Транзистор откроется, сработает реле К1 и контактами К1.2 включит электромагнит клапана, а контактами К1.1 замкнет цепь питания счетчика импульсов Е1.
В результате диафрагма вместе с магнитом начнут быстро перемещаться вниз. В некоторый момент геркон SF1 после обратного переключения разорвет цепь базового тока транзистора, но он останется открытым, так как базовый ток теперь протекает через замкнутые контакты К1.1, диод VD2 и геркон SF2. Поэтому шток с диафрагмой и магнитом продолжат движение. В конце обратного хода магнит переключит геркон SF2, транзистор закроется, электромагнит Y1 клапана и счетчик Е1 выключатся. Система вернется в исходное состояние, и начнется новый цикл ее работы.
Таким образом, счетчик Е1 фиксирует число циклов срабатывания датчика. Каждый цикл соответствует определенному объему израсходованного топлива, который равен объему пространства, ограниченного диафрагмой в верхнем и нижнем положениях. Суммарный расход топлива определяют умножением показаний счетчика на объем топлива, израсходованного за один цикл. Этот объем устанавливают при тарировке датчика. Для удобства отсчета расходуемого топлива объем за один цикл выбран равным 0,01 литра. При желании этот объем можно несколько уменьшить или увеличить. Для этого необходимо изменить расстояние между герконами по высоте. При указанных размерах датчика оптимальный ход диафрагмы равен примерно 10 мм. Длительность цикла датчика зависит от режима работы двигателя и находится в пределах от 6 до 30 с.
При тарировке датчика необходимо отключить трубопровод от бензобака автомобиля и вставить его в мерный сосуд с топливом, а затем запустить двигатель и выработать некоторое количество топлива. Разделив это количество на число циклов по счетчику, получают значение единичного объема топлива за один цикл.
В расходомере предусмотрена возможность его отключения тумблером SA1. В этом случае диафрагма датчика постоянно находится в нижнем положении и топливо по каналам 2 и 3 через полость а будет напрямую поступать в карбюратор. Для реализации возможности отключения устройства в электроклапане необходимо снять резиновую манжету, перекрывающую канал 3, но при этом ухудшится погрешность расходомера.
Электронный блок смонтирован на печатной плате из стеклотекстолита толщиной 1,5 мм. Чертеж платы показан на рис. 4. Детали, устанавливаемые на плату, обведены на схеме штрихпунктирной линией. Плата смонтирована в металлической коробке и укреплена в салоне автомобиля под щитком приборов.
Рис.4
Если шток выполнен из стали, то магнит удерживается на нем за счет магнитных сил. Если же шток выполнен из немагнитного металла, то магнит необходимо приклеить или укрепить любым другим способом. Для того, чтобы работе датчика не мешало давление сжимаемого над магнитом воздуха, во втулке следует предусмотреть перепускной канал сечением около 2 мм2.
Диафрагма изготовлена из полиэтиленовой пленки толщиной 0,2 мм. Перед установкой в датчик ее необходимо отформовать. Для этого можно воспользоваться поддоном датчика в сборе со штуцером. Необходимо изготовить технологическое прижимное кольцо из листового дюралюминия толщиной 5 мм. По форме это кольцо точно соответствует сборочному фланцу поддона.
Для формовки диафрагмы шток в сборе с ее заготовкой вставляют с внутренней стороны в отверстие штуцера поддона и зажимают заготовку технологическим кольцом. Затем равномерно нагревают узел со стороны диафрагмы, держа его над пламенем горелки на расстоянии 60. 70 см и, слегка поднимая шток, формуют диафрагму. Для того, чтобы диафрагма не теряла эластичности в процессе эксплуатации, необходимо, чтобы она постоянно находилась в топливе. Поэтому при длительной стоянке автомобиля необходимо пережимать шланг от датчика к карбюратору, чтобы исключить испарение бензина из системы.
Датчик и электроклапан устанавливают на кронштейне в моторном отсеке около карбюратора и топливного насоса и кабелем соединяют с электронным блоком.