Простейший индикатор расхода топлива на инжекторный двигатель

Сразу же после покупки автомобиля (Mitsubishi Lancer, 2003) озадачился установкой индикатора расхода топлива. Японцы сильно сэкономили на этом авто и не установили некоторые полезные функции — пришлось исправлять ситуацию.
Первой мыслью было или покупка готового — существуют множество промышленных устройств, в том числе заточенных под Lancer 9, или самостоятельная сборка какой-нибуть любительской конструкции — и таких немало. Поизучав немного тему выяснил, что все предложенные девайсы обладают избыточностью функций — а мне-то всего навсего нужен расходомер. Поэтому и было решено делать самому. Единственное место на панели куда-бы приборчик вписывался — на место штатных часов, поэтому хочешь-не хочешь он должен и время показывать. Ну и так как при применении 2-х строчного ЖК в этом случае остается незаполненный угол — значит и туда надо что-нибуть более-менее полезное вставить, например индикацию температуры. Кстати говоря, поначалу задумывалась индикация и некоторых других параметров — зарядка аккумулятора, расход на 100 км, мгновенный расход в цифрах и т.д. уже и не припомню — и почти все задумки были реализованы в первой версии индикатора.


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

И вид сзади

Устройство показывает (повторюсь)

  • 1. Мгновенный расход в виде прогрессбара
  • 2. Время
  • 3. Температуру за бортом или в салоне — по выбору (переключается кнопкой)

Схема
Ничего особенного — микроконтроллер 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-х подключаемых модулей

  • LCD.inc — описание подключения ЖК дисплея к выводам МК
  • LCDchar.inc — доп. символы ЖК дисплея
  • LCDbar.inc — функция прогрессбара, в этом же модуле содержится переменная, определяющая «чувствительность» прогрессбара BAR_range VAR WORD : BAR_range = 6000

Исходники достаточно подробно прокомментированы, так, что думаю не составит труда разобраться и при необходимости подправить ко-что «под себя». Например, изменить или вообще отключить заставку-анимацию при включении — сейчас пишет «Mitsubishi LANCER IX».

Сама прошивка (hex) и исходники.
Firmware.rar

Доп. информация по компилятору
Программа написана на PicBasic Pro, v2.5b (обязательно пропатчить до 2.5b, версия 2.5 насколько я понял некорректно отрабатывает OneWare команды, я намучился с температурными датчиками пока не поставил соотв. патч)
Сайт PicBasic
Надо скачать также Microcode Studio, чтобы не заморачиваться с командной строкой
Сергей — SSh

138 thoughts on “Простейший индикатор расхода топлива на инжекторный двигатель”

  1. Имею такой же агрегат :) Так же сетую на отсутствие расходомера.
    Реализовано в устройстве затемнение подсветки при включении ближнего света/габаритов, ибо даже на фотке видно, что второй экран довольно ярок?
    Где можно узнать про первую версию устройства? Я весной собираюсь менять машину, мне бы не хотелось что-то в ней сверлить?
    И по поводу съема сигнала о расходе, разве там не K-line протокол?

    1. Да, конечно. Узел на реле как раз этим и занимается.
      Если же ничего сверлить не хочется, то надо или поставить кнопки в другое место или применить экранчик поуже, так, чтобы кнопки поместились справа от него, как 1-м на фото.
      Насчет К-линии — конечно можно, тем более протокол обмена известен. Но ради такого простого дела занимать К думаю не стоит…
      А в первой версии были излишества (например отдельный стабилизатор для часов) и, признаюсь, некоторые неточности в прошивке — я всю инфу по ним давно стер…

        1. Нет, как раз так не получается… Написано, что при желании данные можно снимать и с К-line, но в данном случае информация о расходе берется непосредственно с инжектора.

  2. ХА! Уже пару лет обдумывал такую девайсину! И вот те на! :-)

    Есть вопросы.
    Будет ли работать ЛЦД-экранчик зимой в морозы?
    По опыту, во все уличные устройства с такими экранами ставятся обогреватели (парковочные автоматы, например), ибо жидкие кристалы тупо замерзают :-) А при наших зимах… А в салоне машины в морозы тоже будет минус.

    Не мог бы автор в 2х словах описать принцип измерения расхода?
    Что мы считаем? Частоту следования импульсов? Как узнать расход в цифрах, допустим «6.52 литра»? Можно, конечно, разбираться с программой, но если автору не сложно…

    Спасибо.

    1. Из предложения «Сигнал с ЭБУ (Fuel) — один из тех, что идут на инжектор, можно использовать любой.» можно сделать вывод, что сигналы идут на форсунки, а любой — это один из четырех. Если так, то расход топлива можно измерить в литрах в единицу времени, а не на 100 километров, как принято, так как прибор не имеет данных о скорости.

      Если интересно, можно взглянуть http://eldigi.ru/site/avto/1.php (нашел в гугле). Снимается сигнал с форсунок и датчика скорости. Отдельно рассмотрен вопрос калибровки прибора под форсунки.

      1. Насчет морозов — Вы правы, поэтому-то и рекомендовано использование ЖК с расширенным температурным диапазоном, они до -30 работают. Кстати, в пробной версии у меня некоторое время стоял обычный индикатор, он действительно замерзал, но после включения через некоторое время «отходил». Лучше конечно туда OLED вставить, как только достану подходящий — переделаю под него.
        Сейчас у меня почти готов индикатор на светодиодах, но шкала маловата — всего 12 градаций — этот минусовых температур не боится.

        Принцип измерения расхода довольно прост — форсунки имеют так называемую производительность, и т.к. давление в топливной магистрали постоянное, то кол-во топлива, проходящее через форсунку определяется временем открытия последней. Т.е. измеряя длительность (не частоту!) импульсов и умножая её на производительность получаем расход. Если же еще снять сигнал с датчика скорости, то путем несложный вычислений можно получить и расход на 100 км.
        В первой версии эта возможность была, потом, как я уже писал, изъял за ненадобностью. Если же привязывать не к пройденному пути а ко времени, то информация о скорости не нужна, надо просто выкинуть подпрограмму прогрессбара и вместо неё выводить цифры. Но, по-моему, прогрессбар и легче для восприятия и не отвлекает во время движения в отличии от прыгающих на экране цифр…

        1. Спасибо за ответ!
          Теперь всё примерно ясно! Бум копать информацию.

          Я юзал недорогой (~10 баксов новый) экранчик от Нокия 5110 = вполне достойно смотриться в плане отображения информации. Правда, он тоже ЖК. Рабочая температура до -10 цельсия. Маловато-с….

          Смотрю OLED модули на ebay.com — совсем недорогие.

        2. То есть фактически, помимо часов и термометра, этот девайс являет собой не расходомер, а «экономайзер» ? На ВАЗ2107 такое явление штатно присутсвовало.
          Мне всегда было интересно, зачем такие устройства нужны, не поясните практическую пользу?

          Вот зачем нужен расходомер (который л/100км показывает), я
          более-менее представляю — мериться его показаниями на форумах и
          сравнивать с паспортными данными на автомобиль. А экономайзер зачем?

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

          1. А я, например, совсем противоположного мнения )) Мне наоборот, не нужны показания в цифрах типа Х литров на Y километров, тем более, что бегающие перед глазами цифры будут отвлекать. А экономайзер для того и предназначен — для экономичной езды. Я как раз на себе и почуствовал разницу в расходе до и после установки пробора. Сейчас он мне как-бы и не очень нужен, но именно благодаря ему выработался стиль езды при котором расход топлива значительно снизился. Насчет функционала — пожалуйста, что угодно, было-бы интересно посмотреть.

            1. вы не путайте, экономайзер и эконометр. Экономайзер — это исполнительное устройство (например, экономайзер принудительного холостого хода, как в зубилах карбовых был, или экономайзер вакуумный коррекции угла зажигания на трамблере в карбовых старых машинах). Эконометр — это тот прибор который ставили в ранние зубилы (с низкой торпедой) и вроде в жигули семерки. Он показывал просто разрежение во впускном коллекторе. Пользы от него — ноль, одни понты. То что сделал автор статьи похоже на это, не хочу обидеть конечно, но все же если прицепится еще к ножке ЭБУ датчика скорости и учесть скорость, то ценность прибора вырастет в разы. Ибо сейчас он показывает грубо говоря просто несколько заторможеное положение педали газа. Если точнее то просто считается время открытия форсунки.
              Ssh проделал полезную работу, не стоит воспринимать мое ИМХО близко к сердцу, но все же л/100 полезен, и особенно если его отображать в таком виде как у автора (прогресс баром)
              Почему данная схема может быть ошибочной — пример: Едем на 3й передаче, обороты скажем 4 тыс. в мин. расход показывает скажем по прогресс бару 50%. Переходим на 4ю, едем на тех же оборотах, расход показывает тот же, но скорость наша НАМНОГО выше, т.е. мы едем НАМНОГО БОЛЕЕ экономично , но прибор этого знать не может, не имея данных о скорости! Это касается низких скоростей, так как на трассе иногда на 4й передаче кушает меньше чем на 5й, очень зависит от условий. таких примеров можно море привести.

              1. СОгласен… но не совсем :)
                В любом случае кол-во потребляемого топлива для конкретного автомобиля однозначно определяется временем открытия форсунки, так? Вот это количество мне и надо было контроллировать. А практическая польза — я уже писал — после установки уменьшился расход — это факт!

                Насчет остального (эмоции и т.д.) наоборот — я с интересом слежу за всеми комментами и благодарен за любые замечания, предложения, критику и т.д.

                1. в том то и дело что не однозначно. при большем времени открытия форсунок может быть меньший расоход относительно пути, я пример приводил. Расход уменьшился потому что все-таки как то оно показывает, так же как несколько уменьшался расход у тех кто пользовался эконометром на зубилах. Но больше данная фича учит «не газовать лишний раз» , отсюда в осноновном уменьшение расхода. Если сделать что бы прогресс бар показывал расход относительно пути — уверен, расход еще уменьшится и значительно.

              2. varan, позволь тебя поправить. На четвертой передачи прибор автора будет показывать больший расход при одинаковых оборотах.
                Естесственно, если привязаться к скорости, то все встанет на свои места.

                1. В любом случае будет показывать такой расход какой есть на самом деле вне зависимости от оборотов, скорости и т.д. Именно такая цель и ставилась при разработке.

            2. Вы путаете содержимое информации и ее представление. Согласен что прогрессбар удобнее для восприятия (спидометр, я считаю, тоже прогрессбар), чем циферки. Вопрос в том, что сейчас отображается расход по времени, а хочется видеть литры на километры. А как видеть — цифрами или столбиком — кому как нравится.

              1. Так я же и говорю — мне не хочется литры на километры, была у меня предусмотрена и такая функция — за год ни разу не воспользовался…
                Я-то этот прибор делал не для продажи а лично для себя и под свои запросы. Вон на некоторых автомобилях вообще в стоке стоят «обратные» расходомеры, показывают не л/км а км/л

                1. то на американских, так называемый MPG (милес пер галлон) совершенно дебильная единица измерения, полезность которой крайне сомнительна.
                  Ну скажите, если я хочу поехать в крым, и туда от меня 500 км, и я хочу рассчитать сколько бензина мне нужно, я беру эти 5 сотен км и умножаю на расход на сто, потом умножаю на два, потом умножаю на цену бензина и знаю сколько мне нужно бензина на поездку в крым! а если расход паспортный в мпг, то как мне блин считать? это мне нужно делить 500 км на 1.6, потом то что получится делить на паспортный мпг, потом это умножать на 4.33 или сколько там в галлоне? потом на два, потом на цену на бенз. ужас

                  И я не говорю о том что ту фичу юзать что была (я так понял цифрами у тебя отображалось л/сто), а говорю о том что было бы неплохо прогресс бар рисовать учитывая сигнал с датчика скорости. А там гляди уже и до продажи недалеко :) ну разве плохо будет немножко заработать, так сказать окупить праведный умственный труд?

                  1. :) Точно так…
                    Насчет информации о скорости конечно можно подумать… но в след. релизе (если будет). Насчет коммерции — вряд-ли, есть еще парочка интересных (на мой взгляд конечно) девайсов — их тоже выложил в паблик на Амадеусе…

        3. «Принцип измерения расхода довольно прост — форсунки имеют так называемую производительность, и т.к. давление в топливной магистрали постоянное, то кол-во топлива, проходящее через форсунку определяется временем открытия последней. Т.е. измеряя длительность (не частоту!) импульсов и умножая её на производительность получаем расход.»
          Неверное допущение о том, что давление топлива в рейке постоянное. В разных режимах работы двигателя ЭБУ выставляет давление в рейке соответствующее режиму, разница между минимальным и максимальным давлением обычно около 30%, может быть и больше. Соответственно в какие-то моменты прогресс бар короче на треть и не даёт нужного представления о реальном расходе топлива.
          Вообще простейшие экономайзеры в качестве параметра берут разрежение воздуха во впускном коллекторе и при помощи простейшего датчика (есть контакт/нет контакта) преобразуют в простейший электрический сигнал, который зажигает светодиоды. Думаю если подобрать чуть более навороченый датчик разрежения, то можно снять сигнал, который будет показывать расход на прогрес-баре, а не просто 0/1, и эта информация будет гораздо более правдоподобной.

    1. В принципе Вы правы, но думаю пока это время придет — не раз переделаю индикатор ))
      Сейчас уже есть желание в очередной раз сменить дисплей, дело в том, что этот на солнце как-бы «выцвел». Если достану OLED — поставлю его, а нет — постараюсь подобрать что-нибуть посимпатичнее синего или красного свечения. Янтарные у меня есть — но что-то не нравятся…
      Еще есть мысль — приспособить дисплей от мобильника, но эту возможность пока не изучал — именно в части температурного диапазона, а то например от S65 смотрелся бы весьма неплохо..

  3. Всем привет!

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

      1. :)) Конечно посмотрим, очень даже интересно.
        Насчет мини-компьютера, естественно в этом случае лучше по-моему цепляться к К-линии (если она есть )), мало ли что надо чтоб он показывал, а тут просто снимаешь с ЭБУ необходимые данные и все.
        Я, как уже писал, данные по протоколу связи для Lancer 9 имею, он немного отличается от других машин. Например, инициализация обмена происходит на 5 бодах, после чего сам обмен идет уже на более высоких скоростях. Одно время тоже думал сделать борткомпьютер, потом по здравому размышлению решил что он мне не нужен. Ну не буду же я постоянно логгировать и диагностировать машину, если возникает такая необходимость, то только раз в несколько месяцев а то и лет, нетрудно и ноутбуком подцепиться… Также, по-моему, точные значения некоторых параметров абсолютно не нужны, например, температура ОЖ, ну какая мне разница, 87 или 92 градуса? )) Лишь бы не выходила за допустимый диапазон. Для этого случая у меня стоит индикатор температуры на двухцветном светодиоде.

        1. На данный момент делается девайс для Российских карбовых двиглов, иномарки пока не трогаю (хотя ….. то, что делаю возможно…..)

          Это типа «Автоподсос», но с более расширенными функциями.

        2. ну вот не соглашусь снова, борт компьюетр — офигенная вещь.
          Насчет температуры — по ее уходу от обычного значения (иногда на пару градусов всего) можно например судить о том что между радиаторами двигателя и климата уже собралось много грязи :)

          1. Опять-же кому как :) Я предпочитаю при необходимости просто подцепиться к OBD и просмотреть что надо. Хотя в последний раз такая необходимость возникала в прошлом году ))

        3. Все таки я бы предложил добавить (К-линия)контроль кислородных датчиков , например:
          1. для первого:
          -фронт нарастания сигнала (не должен быть более 15мс (начало «умирания» );
          -отрицательное напряжение (умер=)
          2.сравнение сигналов обеих датчиков , сигналы не должны быть идентичны (умер катализатор, что чревато его разрушением с попаданием керамики в ДВС и капиталка)

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

  4. а как узнать производительность форсунки (у меня вот ford mondeo 3)?

    просто сам делаю сейчас нечто похожее, часы, температуру, хочу расход, но не знаю где искать эти данные….

    1. Производительность, как мне кажется, рассчитывать надо.
      1. диаметр сопла
      2. давление в рампе
      3. длительность импульса открытия форсунки
      4. ……. может еще что?

      А так, берешь маркировку и в инет.

      1. Производительность — паспортная величина, при определенном давлении естественно зависит только от диаметра сопла. От длительности открытия зависит уже сам расход. Также расход зависит от кол-ва форсунок, т.е. если надо будет считать абсолютный расход, то помимо скорости надо в формулу подставлять и кол-во цилиндров.

    2. Надо смотреть что за форсунка стоит — потом справляться по таблицам.
      Например, для Bosch, здесь
      http://www.chiptuner.ru/content/efi_bosch/

      А в принципе, если не нужны числовые данные, то можно и не заморачиваться с точными значениями. Я свой калибровал вообще на столе а не на авто. Сначала подцепился осциллографом к форсунке, погазовал немного и выяснил, что длит. импульса изменяется (если не изменяет память) от 0 до 15 мс. Подавая соотв. сигнал с генератора подбором коэффициента BAR_range добился отклонения прогрессбара на всю шкалу при длительности импульса 18…20 мс и все. Если в дальнейшем окажется что индикатор зашкаливает или наоборот раскрывается не на всю шкалу — всегда можно подкорректировать указанный коэффициент.
      Насколько я понял — указанный диапазон длительностей практически на всех машинах одинаковый.

      1. Немного неоптимальный алгоритм. Не стоило прописывать максимальное значение жестко. Например

        if(currentConsumption > maxConsumption) {
        maxConsumption = currentConsumption;
        eepromWrite(‘max_consumption’, maxConsumption);
        }

        Если не нравится мучать eeprom то можно сделать проверку того что записано в eeprom и максимального потребления раз в энное кол-во времени.

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

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

    1. Можно конечно. Еще можно различные Step-Down и т.д. Но практика показала, что и обычные кренки отлично работают, т.е. ГУТ :), зачем тогда усложнять схему? Ведь для той же 34063 еще и обвязка нужна. И еще насчет кренок — мне встречались разные, дешевые, которые как-раз и не есть ГУТ, и нормальные, я как-то даже поигрался на макетке с двумя разными 78хх и 317 — разница ощутимая (стабильность, уровень пульсаций и т.д.)

          1. Все правильно (насчет предложений) :)). Чем больше замечаний и предложений — тем лучше. Я только за!

            Насчет КПД, при заглушенном двигателе устройство вообще отключено от питания, в первом варианте был отдельный стабилизатор для 1307 (я писал об этом), сейчас его нет.

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

              Да и замки не вечные :)

              1. Я честно говоря не понял…Я пользуюсь информацией с прибора только во время езды, т.е. ключ повернут куда надо :) Если же автомобиль заглушен, то время можно посмотреть и по наручным часам, и нажав на соотв. кнопку на магнитоле и спросить кого-нибуть в конце-концов )). Во время езды-же лучше не отвлекаться, знаю по собственному опыту. И хотя у меня стаж вождения уже более 30 лет, но всегда найдется какой-нибуть придурок который или подрезать может или еще что-нибуть выкинуть… Как-раз после одного подобного случая сделал дистанционное управление для магнитолы — отвлекся буквально на пол-секунды — приглушить громкость — и чуть не врезался в выскочивший с соседней полосы автомобиль…

                1. >> Во время езды-же лучше не отвлекаться…
                  Это да!!! :) По дорогам «ходят» еще те «ездоки».

                  Про температуру эт я конечно сморозил, она нужна на ходу.

                  Как я уже писал — делаю девайс для карбовых движков, тэк там я тоже первоначально поставил часы — классно же часики моргают. Но потом выкинул их, кому надо — спросят. Они только отвлекают.

                  1. Кстати, насчет температуры — наиболее точно внешний термометр показывает именно во время движения. Из-за высокой чувствительности датчика во время стоянки он начинает привирать на пару градусов. Не всегда конечно, только при определенных условиях.

                    Еще в далекие СССР-овские времена сделал на свои Жигули электронные часы вместо штатных, на 176 серии и 7-сегментных индикаторах. А еще отдельный светодиод мигал секундами. Поездив всего один день почуствовал какой-то дискомфорт что-ли… Потом понял — непроизвольно глаза как-бы следили за этими подмигиваниями. Перепаял на постоянное свечение — все стало нормальным.

                    1. Про температуру я имел ввиду ОЖ
                      А часы в таком девайсе, как мне кажется, вообще не нужны.

                      В конце-концов не будильник-же изобретаем :)

                    2. Часы по-моему нужны. Тем более, что т.к. сам приборчик стоит на месте штатных часов было бы несправедливо по отношению к часам вообще выкинуть их :)
                      А вот насчет температуры ОЖ — тут не соглашусь, не нужна она с точностью до градуса, у меня одно время испортился индикатор температуры ОЖ на приборке, я поставил самодельный индикатор на двухцветном светодиоде (уже упоминал об этом).
                      Пока двигатель греется — мигает зеленый
                      Слегка согрелся — горит зеленый
                      Рабочий режим — ничего не горит
                      Слегка перегрет — красный
                      Перегрет — красный мигает
                      И представь себе — этот индикатор меня полностью удовлетворял. Далее, не знаю как на других машинах, а на моей стрелка индикатора ОЖ стоит ровно посередине при изменении сопротивления терморезистора датчика аж на целых 30 Ом, по температуре это выходит почти 10 градусов.

                      Ну а если нужен только расходомер, то лучше конечно делать на светодиодах.

  5. По схеме — эти датчики температуры можно соединять параллельно и управлять всеми по одному порту :) До 127 штук, кажется. В даташите на 18B20 есть рекомендации по созданию сканера адресов.

    1. Можно конечно, как и другие one-ware устройства — у них у каждого свой уникальный ID, по нему и определяется текущий. Но посмотрите — сколько еще незадействованных портов осталось? Поэтому и посадил на разные ноги. Вот когда образуется дефицит портов — можно переделать прошивку и совместить 2 датчика на одной ноге.
      Я как-то по просьбе одного друга сюда-же и индикацию включенной передачи (для АКПП) всунул — все равно хватило портов :)

      1. Кстати.
        По поводу ниже написанных постов про несколько датчиков на одном проводе.
        Пришла идея как распознавать.

        В епром записываем ID уже известных и прога знает какой ID где стои УЛИЦА/САЛОН.
        По мере «вымирания» датчиков — заменять по-одному и при сканировании шины, прога найдет новый ID которого нет в епроме и сообразит, что новый не совпадает с записями и сделает изменения: перезапишет ID на новый.

    2. Все это хорошо, но если вдруг один «помер» — ты его поменял и ID уже другое.
      Это опять лезть в прогу менять ID, чтобы знать какой за что отвечает (снаружи или внутри), компилить и прошивать.
      Чета не катит.

      А на разных портах без разницы какой у него ID — 1й УЛИЦА, 2й САЛОН и всё.

      1. Я как-то делал термометр — у него была такая же организация. Т.е. ИДы прописывались во внутренней еепромке, и потом свободно управлялись. Перепрошивка не нужна была, т.к. в устройстве была менюшка, в которой можно было добавить в систему по одному устройству.

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

        PS: Автор поста уже привел свою аргументацию почему он так не сделал. Я лишь предложил вариант, который возможен — вдруг кто-то не знает)

        1. Ну определила прога этот новый ID и что? где он (датчик) стоит? на улице или в салоне? как это «сказать» проге?
          только прописав его во внутрь.

          1. ага, не подумал. Но все же в прошивке можно предусмотреть настройку прибора, и присвоение «улице» и «салону» нужного датчика с сохранением инфы в ЕПРОМ

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

    1. Сигнал снят непосредственно с ЭБУ, надо найти контакт откуда этот сигнал идет на инжектор и подцепиться к нему любым удобным способом. У меня например это сделано так: обрезал концы резистора (~1кОм), к одному из них подпаян провод, который идет на формирователь устройства, другой вывод просто воткнул в соотв. контакт разъема ЭБУ. Резистор примотал изолентой к жгуту — чтоб случайно не слетел — и все.
      Разъем для тестирования — диагностический разъем, OBD2 — о нем уже писали. Повторюсь — не думаю, что для такой простой задачи надо во-первых занимать этот разъем, и во-вторых, что самое главное — у разных машин протокол обмена может отличаться. Т.е. если скажем этот прибор изготовлен для конкретно MMC Lancer 9, то уже ни на одной другой работать не будет, ну разве что опять же с автомобилями Mitsubishi, и то не со всеми, у Lancer X, например уже CAN шина.

      1. У 9-го тоже шина CAN есть.
        OBD2 и CAN связаны только тем, что имеют один разъем на двоих (и то, не всегда), а так вообще — это это разные протоколы и цели у них разные.
        Если на апельсинах (в понятных терминах т.е. :) ), то CAN — это типа 1Wire или даже I2C, а OBD — это JTAG.

  7. Здравствуйте. Подскажите как реализовать расходомер л/100км на автомобиле ЗАЗ 1102?
    Спидометр там аналоговый. Двигатель Мелитопольского завода карбюраторный.

    1. Это устройство только на инжекторный двигатель, принцип его действия состоит в измерении длительности импульсов подаваемых на форсунки. А на карбюраторные надо ставить датчик-расходомер прямо на топливную магистраль,

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

        Я так понимаю что со спидометра необходимо снять скорость вращения его тросика. А как как поступить топливом?

        1. Как раз в этом варианте со спидометра никакая информация не берется т.к. индицируется просто мгновенный относительный расход. А насчет топлива я написал, видел конструкцию такого расходомера, давным-давно, в журнале Радио.
          Вот она эта статья
          http://www.radioman-portal.ru/pages/1023/index.shtml

  8. А по вопросу мощности стабилизатора никто не задумывался?
    Предположим устройство потребляет 150mA… а питание устройства 5В полностью заряженый аккумулятор 14,5В в итоге имеем (14,5в — 5в) * 0,15А + 5в * 0,15А = 2,175Вт Т.е. стабилизатор 3 Вт не может быть без радиатора… по этому я исполььзую импульсные стабилизаторы которые не выделяют в тепло 9,5в разницы по питанию…

  9. А зачем предполагать что устройство потребляет столько мА? :)
    Вместе с подсветкой ток потребления не превышает 50 мА, поэтому рассеиваемая мощность получается в 3 раза меньше…
    А импульсные стабилизаторы — без проблем, можно поставить что угодно )). Так же как и дисплей и при небольшом изменении прошивки и МК.

  10. Нужная вещица, тоже давно искал подобное, хорошо бы все-таки отображать не прогресбар, а количественный показатель расхода топлива. В первой версии у Вас все более функционально было (судя по описанию), может выложите и первий вариант индикатора

  11. К сожалению вся документация по 1-му варианту утеряна, вернее во время очередной «уборки» я все стер… ((

  12. Здравствуйте.
    Собрал, попробовал, очень понравился реальная вещь.
    Испытания индикатор проходил на Mazda DEMIO, все работает.
    Правда есть просьба, хотя вы писали почему именно прогресбар а не цифры, но все таки хотелось бы увидеть еще один параметр, это время открытия форсунки в мс, ну скажем 20 открытий счет, 20 открытий индикация. Заранее благодарен.

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

      1. Да уж. На самом деле — проблема )) (А глянуть на схему и разводку платы — лень?)
        Но, могу Вас успокоить… Автор прошивку менять не собирается, его полностью устраивает та что есть. А если менять — то весь расходомер, но не функциональность а только дисплей — как только достану OLED.

  13. Кое-как сумел войти в блог…
    Длительности импульсов поступающих на форсунки постоянно изменяются и их индикция по большому счету ничего не даст. Ну будет высвечиваться скажем 0,12 мс и что это дает?
    В любом случае исходник выложен, если есть желание можно подправить как угодно.
    Переменная FPuls и есть длит. импульсов.

  14. А какая в принципе разница… К нему же и подключить. В крайнем случае, если прогрессбар будет зашкаливать, скорректировать коэффициент BAR_range в файле LCDBar.inc.

  15. Здравствуйте,
    Мне очень понравилась идея устройства, кстати оформить можно очень красиво на оргстекле при помощи эпоксидки, и кнопачки воткнуть и прочее.
    Единственное экономайзер я считаю обсалютно бесполезной вещью, хочешь съэкономить возьми просто и не га-зуй, это так просто сделать не газуй и экономайзер не нужен, интерес есть только к расходомеру и причем не на 100км. мои маршруты не лежать в 100км дистанциях, мне интересен расход из точки А в точку Б. Пожалуйста сделайте такую прошивку, и желательно схему развести под обычный процессор а не SMD как его прошить ума не приложу.

  16. DI HALT, :)
    В сети много устройств которые показывают и мгновенный и относит. и суммарный расход.
    Мне-же лично нужен был именно такой прибор какой описан, ни больше ни меньше.
    Ничего не понял насчет оформления на оргстекле и всего остального, ну да ладно… не важно. Приборчик и сейчас смотрится в нише как родной, если не знать — ни за что не догадаешься что в стоке там стояло что-то другое.
    Насчет прошивки SMD-контроллера — и на схеме и на разводке присутствует разъем ICР.
    Расположение контактов позволяет без всякого переходника прошивать PicKit-ом.

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

  17. :)
    Для общего понимания — расход зависит не только от положения педали газа, но и от множества других факторов.
    Делать выводы исходя из одних только умозаключений по-моему не совсем правильно. Не обижайтесь, но по моему мнению Вы склонны к скоропалительным выводам. Например как и с прошивкой SMD-шного МК. Но, в любом случае я никоим образом не хочу переубеждать ни Вас ни кого-нибуть другого, в конце-концов все имеют право иметь и высказывать свое мнение. По себе-же скажу, разницу в расходе топлива я почувствовал сразу-же после установки индикатора, и, т.к. я постоянно в разъездах из города в город — то разница ощутимая. Еще ни разу расход не доходил до 8л на 100 км — в смешанном цикле, а обычно вообще около 7-и, тогда, когда раньше бывало и 9 и даже 9,5… За накатанные за это время порядка 100000 км получается более 20-и полных баков бензина экономии.
    Сейчас мне по большому счету этот расходомер на самом деле не архинеобходим, т.к. с его-же помощью выработался стиль вождения, из-за одного только этого факта — уже стоило его ставить.

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

      1. Думаю автору схемы как то пофигу кто, что и сколько спаяет. Он сделал для себя так как ему надо и поделился конструкцией. За что ему спасибо. Кто захочет — повторит.

  18. тема то называется «Простейший индикатор расхода топлива» а вы впаривает наивному населению страны индикатор мгновенного расхода.

    1. Да, кстати, индикатор мгновенного расхода это тоже индикатор расхода топлива. Офигеть, да? Так что название правильней некуда.

  19. DI HALT
    А вы затычкой в бочке работаете на пол ставки по совместительству? Вас кто спрашивает? Ваше мнение делите со своими близкими, а я с афтарам общаюсь.

  20. Mikron, после вашего последнего сообщения желание общаться с вами у автора напрочь пропало. Уверен, не у него одного.

  21. У меня вопрос по линейному стабилизатору, не пойму почему именно такой? У него ток выходной 10мА, неужели этого хватает запитать все остальные компоненты? И как подобраны конденсаторы для стабилизации линейника? Изучаю другую схему, там у человека с 2-х сторон взяты конденсаторы по 1vrA/ У вас вообще 2 разных на одну сторону. Диод подобран по обратному напряжению, наверное, а ток какой он должен пропускать?
    С электрикой у меня хорошо, а с электроникой стал что-то более понятнее после вашего сайта :) 2-ой день изучаю.

  22. У стабилизатора обозначенного на схеме выходной ток не 10 а 100 мА )). На плате-же вообще установлен 78М05, ток которого 500 мА. Сейчас на все «автомобильные» конструкции ставлю LDO стабилизаторы, которых у меня пару лет назад не было… Ради справедливости надо сказать, что многолетняя эксплуатация нескольких устройств — сабж, one-touch поворотники, автоопускатель зеркал и т.д. — показала что в принципе и лин. стабилизаторы работают надежно.
    На входе и выходе стабилизатора стоят по 2 конденсатора — электролит и керамический. Электролиты можно и не ставить, а вот керамику (0,1…0,33 мкФ) — обязательно.
    Диод по существу — любой, даже у широкораспространенных 1N4148 и то допустимый ток 150 мА, что намного превышает ток потребляемый устройством.
    После замены ЖК индикатора на OLED потр. ток еще более уменьшился.
    http://forum.easyelectronics.ru/viewtopic.php?p=121679#p121679

  23. А почему ты транзистр подтянул к плюсу 47к резистром? Зачем это? ведь закрывается транзистр от минуса. Значит и подтягивать надо к минусу. а минус в сети и так будет. В проводке либо плюс либо она через нагрузку которая висит на этом проводе падает на корпус т.е. минус. Получается там подтяжка совсем ненужна. Или не так?

  24. Там-же стоит защитный диод, и при положительном напряжении (форсунка закрыта) база будет просто висеть в воздухе…

  25. А вы не думали выполнить прогресс бар в виде светодиодной ленты на приборной панели под стеклом. Так , чтобы видеть отражение светодиодов от стекла. Так будет еще безопасней, в смысле меньше отвлекаться от дороги. Соответственно регулировать яркость светодиолов в зависимости от освещенности. Получится изображение светящейся ленты на фоне дороги (в нижней её части над капотом). Размеры , форму и расположение самих светодиодов можно варьировать в зависимости от используемых лент их колтчества. или использовать отдельные светодиодные модули. Я видел такие в магазине электроники. Модуль размером 3 на 3 см и питается 12 вольтами. Как вам такая идея?

  26. :) Не только думал, но и сделал…
    Но не на светодиодных линейках а на отдельных SMD-диодах и, насколько помню, на 628-м пике. Вот здесь фото:
    http://forum.amadeus-project.com/index.php?showtopic=600&view=findpost&p=11921
    Размеры и кол-во светодиодов выбраны исходя из возможности установки на мою приборку — Лансер9 — на ней есть 2 смежных неиспользованных отсека — аккурат под «табло»
    Но, мне как-то нравится такой какой есть, поэтому светодиодный и не стал монтировать.
    Отвлекать абсолютно не отвлекает, установлен ведь на месте штатных часов и находится в поле зрения. С другой стороны — постепенно как-бы вырабатывается стиль вождения и начинаешь все реже посматривать на сабж ))
    Сейчас ведь индикатор заменен на OLED, смотрится классно…
    http://forum.amadeus-project.com/index.php?showtopic=600&view=findpost&p=91334

  27. К сожалению от первой версии осталась только одна фотка ;( Схемотехнически отличалась наличием еще одного формирователя с датчика скорости и отдельным питанием с аккумулятора — для часов. Конструктивно — разъем программирования и резервная батарейка были вынесены в район бардачка. Ни исходников ни даже самой прошивки не сохранил…

  28. Доброго времени суток!
    Подскажите пожалуйста, есть проблема с аналогичным штатным расходомером: после замены топливных форсунок на более производительные (и соответствующей правки программы мозга) длительность импульсов открытия форсунок уменьшилась. Тупой штатный расходомер, организованный отдельно от мозга двигателя, об этом не подозревает, и выдает теперь цифры очень привлекательные, но к сожалению, отдаленные от истины. Короче говоря мне требуется устройство которое будет считывать длительность исходного импульса, и выдавать на штатный расходомер имульс с длительностью умноженной на нужный коэффициент. Подскажите пожалуйста, где можно найти хотя бы приблизительно похожее устройство, и куда принципиально копать, на какой основной идее должно это базироваться, общие черты устройства. В микроэлектронике, к сожалению, понимаю не много, но готов изучать нужное направление.

  29. Проще всего по-моему сделать преобразователь на МК. Контроллер считывает длительность входных импульсов, умножает на требуемый коэффициент и на выходе выдает импульс с требуемой длительностью. Чтоб не влезать в дебри программирования МК, разные там таймеры, прерывания и т.д. можно опять-же воспользоваться PicBasic-ом, имеющим в своей библиотеки такие команды как PulseIn и PulseOut
    Где-то так:
    PULSIN FPort, 0, FPuls
    PULSEOUT OutPort, FPuls*x

    где х — требуемый коэффициент, FPort — вход импульсов, OutPort — выход, FPuls — считанная длительность импульса. Необходимо иметь в виду, что форсунки открываются отрицательным перепадом импульса, поэтому выход МК надо доп. инвертировать.

  30. В дополнение… Посмотрел как работает PulseOut. Выдает импульс с полярностью, противоположной исходному состоянию вывода МК. Т.е. если заранее установить соотв. вывод в 1 — OutPort = High — то получаем импульс нужной нам полярности, т.е. отрицат. перепад. И доп. инвертор, естественно не нужен…

  31. Большое спасибо, это как раз то что мне нужно было. Теперь хоть стало понятно что искать в дебрях информации. Уже нашёл подходящую статью где всё разжевано [url]http://habrahabr.ru/post/97795/[/url] останется только разобраться с программой прошивки и правильным применением Ваших советов :) Если я правильно понял, то и входящий порт тоже надо включить в положение High, чтобы он чуствовал подключение земли на форсунки.

  32. Нет, входящий порт — именно входящий )) Т.е. это принимающая линия и она самостоятельно не устанавливается в какое-либо состояние. Почитайте про установки портов, командой TRIS порты объявляются или как входы или как выходы. Например, в качестве преобразователя выбираем простейший 8-ножечный PIC12F629. Порты у него называются GPIO0, GPIO1 и т.д. Пусть на GPIO0 подаются импульсы а с GPIO1 — снимаются. Тогда 0-й у нас будет входом, 1-й — выходом. Значит в начале программы надо записать
    TRISIO = %01
    0 — выход (ассоциируется с 0utput)
    1 — вход (1nput)
    Т.к. остальные порты у нас не задействованы, их можно никак не объявлять, все равно они не нужны ))
    Далее, по считыванию импульсов, в команде PULSEIN второй параметр (в моем примере — 0 ) указывает по какому уровню распознаются импульсы, 0 — по спаду (отрицательные), 1 — по фронту (положительные)

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

  34. SSh читаю Ваш сайт и снимаю шляпу от Вашей энергии. Не об этом. Я на МК только повторяю конструкции, но сам брался не раз, но пока не смог освоить. Попробую ещё раз. У вас есть расходометр на 84 пике на 12 светодиодов. Тут совпала надобность девайса и желание разобраться в написании. Написана прога в ассемблере, я хочу попробовать переделать под другой камень. Например 676, но не знаю как. примерно догадываюсь, но пока не могу. Подскажите что для этого надо, какие компиляторы.

  35. вот не могу найти как написать Вам в личку, не хочется эту тему загаживать, а вопросы есть. Дайте пожалуйста свои контакты на емайл, или подскажите как в личку написать.
    Вопросы то есть. Буду признателен.
    ad_tv@mail.ru

  36. поясните пожалуйста чайнику, а производительность форсунок надо в даташитах к своему автомобилю искать? и как на точность влияет загрязнение форсунок, я читал что из засмоленных сопел нормального распыла нет и от этого топливо не догорает, а расход увеличивается, оно понятно что потому что автоматика больше горючки впрыскивает. Но сама производительность форсунок от грязи разве не падает?

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

  38. Делаю такую-же штуку на AVR ASM. Ну и помедитировал над статьёй. Если замерять только период открытой форсунки: 1 впрыск — 4 такта поршня — коробка передач и т.д. — фиксированное пройденное расстояние, зависящее от втыкнутой скорости. Т.е. период открытой форсунки помноженный на коэффициент (для каждой скорости КПП — свой) даёт расход на сотню. А для моментального расхода надо производительность форсунки помножить на скважность: период открытой форсунки / (период открытой форсунки+период закрытой форсунки). Выходит, для определения расхода на сотню можно вместо спидометра отслеживать номер скорости КПП. Я пока решил не париться и показывать расход всегда на 5 скорость КПП — за городом всегда пятая скорость, а по городу больше нужен моментальный расход и суммарный расход типа одометра.

    1. Я, честно говоря, не задавался целью измерять расход топлива, мне нужен был только относительный, типа мало-много. Хотя сейчас уже и на это практически не смотрю, хотя индикатор исправно работает. Да и применение OLED себя полностью оправдало, без проблем пережили и жару и мороз )))
      Видео, немного расфокусированое
      https://www.youtube.com/watch?v=aCa-BXHJrQA

  39. Нет, но только если обороты выше определенного числа, где-то около 1500. При более низких оборотах форсунки включаются.

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

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

    1. извините за долгое отсутствие… у меня такой вопрос, как именно на МК поступают данные о количестве топлива? с чего они считываются?

  41. вопросов много:
    — что такое key?
    — сверху схему изображены Pickit 2 pinouts, что это и куда идет?
    -какой транзистор и диод именно используется?

  42. Количество топлива равно произведению производительности форсунки (инжектора) на время его открытия. Производительность — величина постоянная для конкретной форсунки, т.е. в конечном итоге расход пропорционален времени открытия, поэтому данные считываются непосредственно с любой из форсунок, ну или с соотв. контакта ЭБУ.
    Key — питание, появляющееся при включении зажигания, на замке зажигания положение АСС. Рickit2 — фирменный программатор компании Microchip, на плате предусмотрены выводы для внутрисхемного программирования, распиновка (pinout) дана именно для этого программатора.
    Транзистор (n-p-n) и диод любые маломощные.

    1. Спасибо большое. А что такое — icp? Как я понял то питание всех схемы идет от +5 вольт? Извините, возможно, за очевидные вопросы, в данном деле новичек. Что за компонент на диаметре К1, и куда он вообще подключается? (тоже из-за режима в замке зажигания ILL?)

  43. icp — in circuit programming — внутрисхемное программирование, при котором контроллер прошивается после установки на плату. На схеме и на разводке, как уже отмечалось, предусмотрен соотв. разъем, совместимый по распиновке с программатором PicKit2.
    К1 — реле, управляющее подсветкой индикатора, само реле включается напряжением, взятом с включенных габаритов, т.е. включаем габариты, включается и реле.
    ILL — так на моем автомобиле обозначен провод диммирования штатных часов, напряжение на котором опять-же появляется с включением габаритных огней,
    Следует иметь в виду, что такой алгоритм диммирования (глушение свечения при включении габаритов) применим только к «негативным» индикаторам. Для позитивных все должно быть наоборот, подсветка включается вместе с габаритами. Кстати, учитывая ПДД России, требующие постоянного включения габаритов и БС (у нас таких требований нет), думаю, стоит ввести доп. датчик освещенности, напр. фотодиод, посадив его на свободный порт и, естественно, подправив под это дело прошивку.

Добавить комментарий

Ваш e-mail не будет опубликован.

Перед отправкой формы:
Human test by Not Captcha