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

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

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

Без поплавка? Как это возможно?

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

Контроллер проводит измерения и превращает результаты измерения в показатели стрелки. (Своего рода тестер, но с одной функцией — измерение емкости конденсатора).

Общая информация

Емкостные датчики изготавливаются серийно на любую длину (допускается обрезка датчика пилой до 30% от длины). Цена от 350 грн. Есть модели для стрелки, есть модели для подключения к КАН линии (для авто в который является центральный компьютер). Но данные датчики требуют подтянуть к ним 12 вольт и не имеют выхода на лампочку. (Ну по крайней мере я таких не встречал). Поэтому я, имея в запасе базовое понятие в программировании и принципе работы датчика, решил сделать свою модификацию.

О принципе работы

Зайду из далека … По сути датчик — это две трубки — одна меньшего диаметра, вторая большего диаметра. Если этих двух трубки запихнуть друг в друга так, чтобы они не касались друг друга — то получится конденсатор. Конденсатор — это такая штука которая умеет накапливать электрический заряд (своего рода батарейка, но очень малой емкости). И как любая батарейка накопления заряда занимает определенный промежуток времени. То есть если на тех две трубки подать 1 Вольт — это то вольт на трубках начнет накапливаться (сначала там будет 0,01В, затем 0,02В … до 1В). Измерив время накопления того вольта на стенках трубок можно вычислить их емкость. Формулы пропускают … 🙂

Возникает вопрос, как измерить тем конденсатором уровень бензина? Очень просто! Все знают, что воздух ток не проводит. Но на самом деле это не так. Оно проводит, но очень плохо. Так же бензин — ток не проводит. То есть проводит, но тоже очень плохо. Однако чуть лучше чем воздух.
К чему это я … То есть, когда мы те трубки заряжаем — то часть заряда убегает через воздух. И мы на заряд тратим больше времени.

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

На практике разница во времени заряда трубок на воздухе и в бензине очень мала — меньше миллисекунды. Точно не скажу, ибо без опыта расчетов под рукой. Но для микроконтроллера, который выполняет 8000000 операций в секунду — это очень большой промежуток времени, и он может различить более 200 значений этой разницы. 40л / 200 = 200 грамм. НЕ точность аптекаря, но для ориентировки в запасе бензина вполне достаточно.

Ну и теперь непосредственно о самом приборе.

Как видно из схемы — основой является контроллер Atmega8 и таймер NE555 (подключен по схеме мультивибратора). В качестве конденсатора, который задает частоту таймера — выступает зонд. Строение зонда очень просто. Это по сути есть две трубки с любого металла, расположенных друг в друге (я использовал два фотобарабана от картриджей лазерного принтера). Данный зонд находится в середине бака. И в зависимости от количества бензина — меняет свою емкость. Изменение емкости — меняет исходную частоту таймера. Контроллер измеряет частоту и с помощью ШИМ — формирует сигнал для приборной панели.

Для датчика нужно дополнительного питания. Он питается от тока, проходящего через лампу «аварийного запаса бензина». Ток, потребляемый — недостаточный для того, чтобы лампочка светила, однако, когда уровень бензина снижается ниже отметки 5% — контроллер создает дополнительную нагрузку (замыкая вход LAMP на минус с работодателем ШИМ сигнала с скважностью 20%) и лампочка загорается. В период свечения лампочки — контроллер питается от тока, накопленного на конденсаторе C2, а диод не позволяет ему разрядиться через нагрузочный транзистор. Полевые транзисторы установил те, которые были под рукой. В принципе — подойдут любые, которые могут выдержать ток больше 500мА (если в приборной панели стоит 5 ваттная лампочка).

Подключение

В 90% автомобилей — датчик топлива выполнен однотипно (в виде потенциометра, к которому подведено три проводника «-«, вход стрелки, вход лампочки). Так же подключается и этот датчик через разъем J2.

Назначение выходов разъема J2:

  1. Вишид указателя стрелки;
  2. Выход лампы аварийного запаса топлива.

Назначение выходов разъема J1:

  1. Внутренняя трубка зонда;

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

Виды датчиков

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

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

  • Магнитные;
  • Радиоуправляемые;
  • Ульразвуковые.

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

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

Как сделать емкостный датчик

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

1.Оба электрода изолируются от электрического контакта.

  1. Когда датчик погружается в топливо, пространство между электродами свободно заполняется горючим, а когда уровень понижается, электроды остаются в воздухе.
  2. В бак измеритель устанавливается не ровно, а слегка под наклоном.
  3. Питание, подаваемое на прибор, не должно быть больше 5 Вт, иначе бензин загорится от искры.
  4. Сама схема располагается близко к датчику, чем ближе, тем лучше.
  5. Протяженность проводов от схемы до датчика не должна быть более 2 см.
  6. Емкостный датчик состоит из двух модулей, связанных между собой тремя проводами: модуль самого датчика и модуль отображения. Два провода подают питание на модуль датчика, а третий передает сигнал от датчика на модуль отображения.

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

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

Представленная ниже фотография является монтажной.

Функциональные возможности прибора:

  • способен достаточно точно отобразить текущий уровень топлива, с точностью до литра, поддерживает топливный бак от 30 до 99 литров;
  • выводит информацию о бортовой системе;
  • работает с учётом колебания топлива, которое наблюдается во время передвижения автомобиля, внутренний датчик в баке производит многократные замеры и информация выводится на основании среднеарифметического (частоту замеров можно задать в меню);
  • яркость подсветки изменяется в зависимости от текущего уровня освещённости, всего существует два режима: день и ночь;
  • Существует два режима индикаторного отображения информации: обычный и инверсный.

Детали микроконтроллера:

R1 – 1 кОм
R2 – 75 кOм
R3 – 10 кОм подстроечный
R4 – 4,7 кОм
R5, R6, R8-R11 – 10 кОм
R23, R12-R15 – 3,3 кОм
R24, R16-R19 – 1,8 кОм
R20 – 2 кОм * подбирается в зависимости от подсветки
R21 – 240 Ом
R22 – 1 КОм * подбирается и ставится постоянный
C1, C2,C15 – 0,01 мк
C3, C4, C6-C11,C13-C15 – 0,1 мк
C5 – 47 мк
C12 – 4,7 мк
L1 – 100 мГн
DD1- LM7805
DD2 – ATMega8
DD3 – LM317T
VT1 – IRFZ44
LCD1 – Nokia 1110/1200/1110i/1112.

На схеме не обозначен разъём РС10, через который осуществляется подключения кнопок и вывод для установления программного обеспечения на микроконтроллер.

Необходимо сделать две платы: одну для дисплея; вторая же будет основной. Обе платы должны иметь форму круга, а их диаметр корпуса должен составлять 50 мм. Достаточно трудно найти индикатор ответной части под разъём, поэтому рационально выполнить разводку под шлейф. Нужно также отпаять разъём от ответной части и на его место припаять только с обратной стороны припаять шлейф, сам же дисплей можно прикрепить при помощи двухстороннего скотча.

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

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

Они нужны лишь при выполнении начальной калибровки, поэтому и выводятся на разъём РС10, который расположен сзади корпуса. Через данный искусственный разъём выводятся также сигналы для программирования микроконтроллера.

Инструкция для настройки цифрового индикатора уровня топлива.

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

2 шаг. Выставление фьюза происходит следующим образом. Для начала необходимо выполнить настройку показаний напряжения. Для этого необходимо подключить индикатор к напряжению 12-14В с целью его настройки, в этот же источник электрического питания подсоединяем вольтметр и подстроченный резистор R3, в котором выставляем значения, которые отображает вольтметр.

3 шаг. Далее необходимо выполнить программную настройку аппарата. Для начала необходимо выставить ёмкость бака и выполнить его калибрование. Калибрования топливного бака осуществляется следующим образом, задаём значение пустого бака – 0 литров и нажимаем клавишу ОК. Затем, наливаем 1 литр топлива и задаём значение 1 литр топлива и нажимаем вновь клавишу ОК.

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

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

Индикатор топлива позволит рационализировать повседневный расход бензина и тем самым сэкономить финансовые средства.

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

Весь процесс создания и что из этого вышло читаем в статье далее.

Начальные условия:

  • Грузовой автомобиль (автобус) с бортовым напряжением 24в
  • Топливный бак для дизельного топлива на 220л
  • Датчик уровня топлива ДУМП39
  • Указатель уровня топлива ЭИ8057М-3

Нужно:

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

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

Как и следовало ожидать, имеется поплавок, тяга, переменный резистор... стоп, про переменный резистор подробнее. Как говорится, лучше один раз увидеть, чем сто раз услышать:
Конструкция одновременно и логична, и топорна. Логично то, что ползунок скользит не по непосредственно переменному сопротивлению (которое довольно нежное), а по металлическим отводам от него, но за такое повышение надёжности приходится платить дискретностью. Топорно в этой конструкции то, что, как видно на фото, в среднем положении поплавка мы имеем нехилую зону "нечувствительности", из-за очень уж широкого центрального отвода от сопротивления. Зачем это сделано, остаётся только догадываться, но что имеем, с тем и придётся работать.

Итак, роемся в инете и ищем инфу. Вот что я откопал:

Диапазон перемещения поплавка - 412мм

Номинальное сопротивление - 800 Ом (по другому источнику номинальное сопротивление - 761,0 – 193,5 Ом )

Рабочий диапазон от -40°С до +60°С

Наработка на отказ - 400тыс. км до 95% ушатывания ресурса

Масса 160 грамм, аналог - МАЗ.

В общем-то не густо.

Берём тестер и замеряем, в итоге получачается такая картина:
Схема включения:

Измеренные параметры датчика:

Полное сопротивление - 767 Ом

Дополнительное сопротивление - 187 Ом (оно обеспечивает минимальное сопротивление датчика).

Левая (по фото) часть сопротивления - 203 Ом (13 отводов на ползунок), правая часть Ом 376 (17 отводов на ползунок).

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

В общем-то такое подробное описание привожу только для любопытствующих, нам же нужно значение напряжения, которое мы имеем на выходном контакте при различном уровне топлива. При крайнем левом положении контакта на выходе у нас получилось 1,57в , при крайнем правом положении 3,28в, половина бака - 2,44в. В начале сектора включения лампы остатка резерва 2,95в.

Ещё для любопытных. Общая схема подключения датчика уровня топлива выглядит примерно так:
Катушки L1A, L1B, L2 - это отклоняющая система указателя уровня топлива (по сути миллиамперметр) Резистор - термоконпенсационный.

На самом деле это схема классического электромагнитного автомобильного прибора, а конкретно ЭИ8057М-3 - это уже нечто другое: внутри расположена электронная схема, стрелка приводится в движение шаговым электродвигателем, и управляется всё это при помощи микроконтроллёра PIC .

В принципе, этого достаточно для тарировки цифрового указателя, если бы не парочка неприятностей:

1. Указанный объём топливного бака в 220л не соответствует действительности, на самом деле в баке помещается больше топлива.

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

3. Измерив рулеткой геометрию бака, убеждаемся, что это прямоугольный параллелепипед с незначительно закруглёнными длинными гранями, размеры 40х112х60 см . Соответственно перемножив стороны, получаем внутренний объём в 268л, что, согласитесь, сильно отличается от заявленных 220 л, и очень сомнительно, что внутренние перегородки, сетка, топливозаборник, и тп. занимают аж почти 50 л .

4. Как уже написано выше, сопротивление датчика на протяжении длины его сопротивления нелинейно.

Что делаем:

Заливаем полный бак и контролируем напряжение на выходе ДУТ. Получается, что после достижения отметки 1,57в в бак ещё входит добрых двадцать литров топлива.

Снимаем поплавок и ставим датчик на место. Естественно тяга, лишённая поплавка, уходит на самое дно бака, смотрим напряжение - оно составляет 3,02в ! Это важно, т.к. фактически при таком положении в баке уже нет топлива, а подвижный контакт ещё не дошёл до крайнего положения в 3,28в , при этом штатный прибор ЭИ8057М-3 показывает что в баке осталось ещё 1/8 объема. (Поставив поплавок в центральное положение, на штатном ЭИ8057М-3 наблюдаем вместо положенных 1/2 бака аж 5/8 уровня, при полном баке штатный прибор зашкаливает).

Смотрим на график нашего датчика уровня топлива,

Возмём три точки - сопротивления датчика, первая точка это его наименьшее сопротивление (подвижный контакт слева) образованное дополнительным сопротивлением в 187 Ом (на фото вертикальный чёрный прямоугольник), вторая точка при среднем положении контакта когда последовательно включены 187 Ом и 203 Ом , т.е. 390 Ом , полное сопротивление соответственно будет 390 + 376 = 766 Ом.

(по горизонтали - сопротивление в Омах, по вертикали условные единицы длины)

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

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

Получив формулу с поправкой и коэффициентом можно в принципе уже сделать нечто похожее на цифровой указатель уровня топлива, коэффициент R 2 линии тренда в 0,97 конечно не плох, можно в принципе использовать всё что больше 0,95.

а можно получить для каждой прямой свой коэффициент пересчёта, что будет более точно:
Сразу замеряем значение АЦП в нужных нам точках чтобы 5% допуск на резисторы делителя на входе АЦП нам ничего не подпортили и получаем в диапазоне от пустого бака (ADC822) до 1\2 бака (ADC700) :

(по горизонтали полученные отсчёты АЦП, по вертикали объём топлива в литрах)

В диапазоне от 1\2 бака (ADC700 ) до полного (ADC456 ):
Из вышеприведённого имеем следующее:

1. С увеличением кол-ва топлива сопротивление датчика уменьшается, и уменьшается падение напряжения на нём.

2. Дельта напряжения датчика составляет 1,45в , что при 10 битном АЦП составит 56% что более чем достаточно для масштабирования результата АЦП в шкалу 0....220л и позволит обойтись просто оцифровыванием результата без использвания ОУ для подгонки под нужный диапазон напряжения.

Схема проста до безобразия:

Микроконтроллёр Mega8, LED индикатор на 3 разряда с общим катодом, входной делитель из двух резисторов R1, R2 . Стабилитрон (по буржуйски зенер "zener" диод:)) для защиты входа МК на всякий случай. Цепи питания я рисовать не стал, там классические 0,1мкф керамика и какой нибудь электролит на 100...1000мкФ как и гасящие резисторы между МК и индикатором, подойдут любые в диапазоне 80...100Ом в зависимости от напряжения питания МК и яркости индикатора. Напряжение на борту автомобиля при заведённом двигателе составляло 27,5в .

Мой вариант разводки платы:
Справа на плате я расположил преобразователь питания обеспечивающий при бортовом напряжении 10...30в преобразователь собран на МС3406 3 по типовое схеме из даташита. дроссель murata 1812 . Указанный на схеме стабилитрон на 3,3в я профукал при разводке и допаивал сверху.

Почему я применил Mega8 когда есть куда более удобная Tiny26 и тп. ? потому что у Mega 8 имеется 1кБ оперативки, зачем столько? микроконтроллёр не просто замеряет напряжение на входе и выводит на индикатор пересчитанное значение, он постоянно записывает замерянные значения в одну из 256 ячеек памяти, заполняя их по замкнутому кругу и после записи каждой ячейки производит расчёт усреднённого значения по всем имеющимся в текущий момент 256 ячейкам.

Индикатор распологается вне платы на приборной панели автомобиля и соединяется с ним 11 жильным шлейфом. Плата помещается в крохотный корпус (второй, тот что с 4мя проводами-клеммами) лишний пластик из корпуса удалили бокорезы.

Плата односторонняя, без перемычек:

Сначала распаял ШИМку и проверил работы, работает. покрыл лаком. можно продолжить сборку:

P.S. Проект создан при огромной поддержке Романа Викторовича, за что ему огромное спасибо, также спасибо человеку Jonson из Украины за математическую помощь и некоторые идеи.


Применяется с родным датчиком уровня(в баке),и вместо штатного стрелочного(на торпеде).
Данное устройство(в основе 16f676) выводит на двухразрядный семисегментник (с общим анадом)показания датчика топлива в баке(40л).Питание от бортовой сети авто – 12в.К входу «in» подключаем датчик в баке.


Калибровка устройства:Нажимаем кнопку на устройстве-на индикаторе засветяться мигающие нули,это означает что у нас пустой бак.Если действительно пустой нажимаем кнопку еще раз.если нет опустошаем полностью и нажимаем кнопку.
На индикаторе засветится 02(2 литра)-заливаем 2 литра и нажимаем кнопку.
После засветится 04-заливаем еще 2 литра (в баке уже 4 литра)и нажимаем кнопку.
Таким образом при калибровке все значения на индикаторах в мигаищем режиме,а нажимая кнопку мы соглашаемся что в баке действительно находится n-литров при мигающем его значении.После калибровки на дисплее отобразится 40-что означает 40литров бензина в баке(ведь так оно и есть)и мигания прекратятся.Устройство перешло в режим измерения.Кнопку больше не трогаем,чтоб не сбить настроек.При падении уровня топлива ниже 6 литров индикаторы начинают мигать,это говорит о том что пора на заправку.В комплекте идут прошивки с разным шагом калибровки,все рабочие и достаточно точные.
Точно устройство показывает в состоянии покоя,когда бензин в баке не плещется и поплавок не качает.
Подводные камни были с подбором делителя 1,5кОм,у меня схема заработала без проблем при сопртивлении 500 Ом!







Поддержите проект — поделитесь ссылкой, спасибо!
Читайте также
Адвокат Соколовского о Тинькове и «Немагии»: «Все это напоминает ситуацию с моим подзащитным Адвокат Соколовского о Тинькове и «Немагии»: «Все это напоминает ситуацию с моим подзащитным Яблочный пудинг с манкой для детей Молочный пудинг для ребенка 1 5 Яблочный пудинг с манкой для детей Молочный пудинг для ребенка 1 5 вышивка – все толкования вышивка – все толкования