06.09.2023

Что представляет собой датчик уровня топлива и как его поменять? Цифровой указатель остатка уровня топлива на LCD дисплее Собираем электронный индикатор уровня топлива


Опубліковано 25.09.2012

Знать уровень топлива в баке не только “прикольно”, но иногда жизненно необходимо. В некоторых случаях затруднительно оценить уровень топлива в баке из-за его расположения или недостаточной прозрачности. Для таких случаев и существуют датчики уровня топлива. На сегодняшний день наиболее распространены поплавковые датчики. Принцип работы таких датчиков достаточно прост. Поплавковый механизм в зависимости от уровня топлива в баке изменяет положение подвижного контакта потенциометра. Показание напряжения на потенциометре измеряются и преобразуются в человекочитаемый вид. Однако не всегда имеется возможность установить поплавковый датчик из-за его габаритов. Кроме того, в аппаратах, где крен является нормальным состоянием, например, сверхлегкие летательные аппараты, возможен перекос и подклинивание поплавкового механизма. Кроме того, положение бака в наземном и полетном положении может отличаться, что может внести изменения в работу поплавкового механизма. Однако существуют и другие способы измерения уровня топлива. Я говорю о емкостном датчике топлива . Он особо актуален, если существует необходимость избавится от подвижных частей.

Принцип измерения и особенности

Этот способ основан на измерении электрической емкости датчика, которая, в свою очередь, зависит от уровня топлива. Датчик, с помощью которого измеряется уровень топлива, называют емкостным датчиком уровня топлива. Конструкция датчика достаточно проста и представляет собой не что иное, как конденсатор. Он состоит из двух обкладок, между которыми существует зазор, который может заполнять топливо. Исполнение датчика может быть в виде двух металлических пластин или вставленных одна в другую трубок. При этом поверхности двух электродов (обкладок конденсатора) не должны иметь электрического контакта, а промежуток между обкладками должен свободно заполняться топливом при погружении датчика и так же свободно освобождаться при уменьшении уровня топлива. Поскольку топливо заполняет пространство между обкладками конденсатора (датчика), его емкость изменяется. Этот способ подходит только для жидкостей, не проводящих электрический ток. Таким способом не получится измерить уровень воды. Бензин и другие виды жидкого топлива электрический ток не проводят. Измеряя электрическую емкость датчика можно оценить уровень топлива в баке. Хотелось бы обратить внимание на некоторые недостатки такого способа измерения. Дело в том, что диэлектрические свойства топлива могут изменяться при изменении химического состава топлива. Т.е. при смене типа топлива, возможно, придется калибровать прибор. Не смотря на это, такой способ позволяет устанавливать датчик в баке под углом, или даже монтировать в крышку заливной горловины бака. Датчик не имеет подвижных частей, что в некоторых случаях крайне необходимо.

Насколько безопасно помещать электрическую схему в бак? Многих беспокоит этот вопрос. А вдруг искра? Наша схема датчика питается напряжением 5В, а датчик заряжается через резистор в несколько мегаом. В этих условиях образование искры невозможно. Напряжение в 5В ничтожно мало для возникновения искры пробоя. Кроме того, в баке любого автомобиля уже “плавает” электрический датчик уровня топлива. Низкие напряжения и токи не могут вызвать искру и возгорание топлива.

Я не ставил перед собой задачу получить супер точный датчик, способный измерить уровня топлива в 1мм и погрешностью в 0,1%, хотя это вполне возможно. Учитывая, что датчик создавался для аппаратов, где топливо в баке будет подвижно, нас вполне устроит бюджетный вариант с погрешностью в 5%.

Схема модуля датчика основана на измерении времени заряда датчика. Чем выше уровень топлива, тем выше емкость датчика, тем больше времени потребуется для заряда датчика (конденсатора). Работает схема следующим образом. Используется встроенный в микроконтроллер ATMega8A аналоговый компаратор.
На вход компаратора PD7 подается половина напряжения питания через резистивный делитель R3,R4 . В момент, когда датчик зарядится до этого напряжения, сработает компаратор. На ноге PD6 устанавливается логический «0» . Датчик разряжается через резистор R2 . После чего выход PD6 переключается и работает как вход компаратора, запускается таймер, а датчик начинает заряжаться через резистор R1 . При достижении напряжения установленного на входе PD7 , срабатывает компаратор, таймер останавливается. Показания таймера используются для вычислений. Для обеспечения стабильности микроконтроллер должен тактироваться кварцем. Чем больше частота, на которой работает контроллер, тем выше точность измерения. В нашей схеме ATMega8A тактируется кварцем 16Мгц . Измерения выполняются постоянно, усредняются и один раз в секунду отправляются по последовательному порту UART на скорости 9600 в виде числового значения. На этом функции модуля датчика и заканчиваются.

В качестве датчика я использовал две полоски из фольгированного текстолита толщиной 1.5мм размерами: 290×20 мм. Полоски склеены между собой фольга к фольге через небольшие непроводящие прокладки. Расстояние между пластинами 1.5 мм. Их можно делать практически любой длины. При необходимости можно обрезать. Особо важно обеспечить равномерный зазор между пластинами по всей длине “конденсатора” .

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

Модуль отображения работает следующим образом. Данные в числовом виде принимаются от модуля датчика по порту UART на скорости 9600 , рассчитываются показания уровня топлива и выводятся на дисплей. Но для того, чтобы выполнить корректный пересчет, модулю отображения потребуется знать как минимум два значения датчика – числовое показание датчика при пустом баке и числовое показание датчика при полном баке. Для этого, после установки датчика выполняется процедура калибровки прибора. Модуль отображения запоминает показания при пустом и полном баке, сохраняет в своей энергонезависимой памяти и в соответствии с этими данными выполняет пересчет. Поскольку от модуля не требуется особого быстродействия, его микроконтроллер ATMega8A работает на частоте 2Мгц от встроенного RC-генератора.

Процедура калибровки прибора:
-топливный бак должен быть пуст, прибор выключен
-нажмите и удерживайте кнопку
-включите питание прибора
-отпустите кнопку
-на экране появится “SET 0”. Убедитесь, что бак пуст и нажмите кнопку.
-на экране появится “SET 100”. Залейте полный бак топлива и нажмите кнопку.
-калибровка завершена.

Пример печатных плат:

Плата модуля датчика


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


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





Схема цифрового индикатора уровня топлива обладает высокой степенью повторяемости, даже если опыт работы с микроконтроллерами незначителен, поэтому разобраться в тонкостях процесса сборки и настройки не вызывает проблем. Программатор Громова – это простейший программатор, который необходим для программирования 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 литр топлива и нажимаем вновь клавишу ОК.

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

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

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

Схема бакомера для автомобиля своими руками

Сегодня вашему вниманию предоставляю действительно самодельный прибор. Опять же на микроконтроллере PIC16f676 и на этот раз с сдвоенным, динамическим семи-сигментным индикатором. Данное устройство создатели назвали "Бакометр " - И является оно цифровым указателем уровня бензина в литрах .
Точность устройства вызывает доверие так как калибруется оно непосредственно на конкретном автомобиле, так как датчики уровня топлива только по марке одинаковые. Первоисточник был этот сайт

Схема устройства:



Сверлим отверстия под детали


Спустя пару часиков устройство готово


Прошивка микроконтроллера, крона, и вот первый запуск "Бакометр"-а


Теперь нужно сделать морду лица.Для этого понадобилась пара винтиков как для установки материнок в корпус и винтики к ним. Черные винтики были взяты от материнкок ASUS. Когда-то собирал и они мне очень понравились поэтому ставил обычные а эти оставлял пригодиись.


После сборки прибор был откалиброван на столе с помощью переменного резистора на 500 Ом. Этого достаточно для наглядности так как сопротивление пустого бака классики около 340 Ом .
Бакометр после калибровки показывает уровень бензина в баке согласно прошивке. Прошивку можно сделать 0-99 литров.

При снижении уровня в баке меньше 5 литров индикатор начинает мигать отображая показания в баке до 00 литров. Это хорошо видно на видео. И скачек 35-40 на видео потому как калибровал на глаз и расстояние на переменнике от 35 до 40 литров оказалось очень маленьким. В реальных усовиях такого не будет.
Ну и само видео примера работы


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

Наверное непонятно, почему собственно версия V.3, когда версии 2 не было, на самом деле была, вот она


Но она оказалась неудачной, для питания были использованы импульсные стабилизаторы на MC33063, которые дают пульсации в обе стороны и избавится мне от них так и не удалось. А поскольку появилась идея создания КИТа было решено делать новую версию, с надежным питанием, с защитой всех входных цепей и на деталях соответствующих условиям эксплуатации, в первую очередь это температурный диапазон -40..+125°C.
Так появилась новая 3-я версия, сделанная почти по всем правилам, с обновленной прошивкой.

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

От Игоря (Datagor):
При анализе личной переписки, комментариев к первой статье и после проведения выборочных опросов было установлено, что народ хочет не просто очень качественный бензомер, но и часы с будильником и т.п. и прочее (и шоб внутри был маленький китаец и за пивом бегал) , что превращает эту замечательную и совершенно самостоятельную разработку в очередной бортовой компьютер (БК). При этом, за этот БК народ желал заплатить не более 500 руб в собранном виде. А это и совсем ни в какие ворота не пролазит...
БК мы делать не стали и подписку на кит открывать на таком грустном фоне тоже не стали.
Уважаемому Сергею (HSL) при любом раскладе - наш почет и спасибы!
Качество его разработок на высочайшем уровне.

Итак по порядку...

Схема

Схема блока процессора, их 2 модификации А5 и А2
Схема А5

Схема А2


Разница в подключении сигнала AREF (опорное напряжение), в варианте А5 оно берется с шины питания +5в, в варианте А2 берется от внутреннего источника.
Основной является модификация А5, А2 сделана для расширения функционала, на случай когда с основной модификацией не удастся откалибровать бак.
На плате это осуществляется разной установкой элементов R11, C4, C6 более подробно это будет описано ниже в инструкции.
Разъем для подключения платы дисплея также используется и для внутрисхемного программирования

Схема блока дисплея


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

Платы

Плата процессора


Разъем для подключения платы дисплея также используется для внутрисхемного программирования МК.

Плата дисплея


Дисплей подключается через стандартный разъем и крепится к плате на двухстороннем скотче.

Технические характеристики

Напряжения питания 8-30 в
Напряжения срабатывания ночного режима подсветки 10-20 в
Сопротивление датчика топлива (рекомендуемое) 250-500 Ом
Дискретность отображения напряжения 0,1 в
Диапазон отображения напряжение 8 -30 в
Дискретность отображения количества топлива 1 л.
Поддерживаемый диапазон емкости бака 30-99 л.
Диапазон инерционности 1-10 сек.
Диапазон градаций яркости 0-255 ед.
Диапазон градаций контрастности 1-15 ед.

Возможности основного режима устройства

Цифровой индикатор уровня топлива и напряжения позволяет контролировать:
  • Напряжение бортовой сети с точностью отображения до 0,1 вольта, допустимый диапазон рабочих напряжений 8-30 Вольт.
  • Остаток топлива в баке с точностью отображения 1 литр, допустимый диапазон измерения 30-99 литров. Рекомендуемое сопротивление датчика в баке 250-500 Ом.
  • Подключается устройство к следующим точкам: земля, питание, датчик в баке, подсветка приборной панели или габариты.

Возможности индивидуальной настройки устройства

  • Возможность установки емкости бака от 30 до 99 литров.
  • Возможность политровой калибровки выбранной емкости.
  • Возможность сгладить последствия качания датчика в баке, методом десятикратного измерения уровня топлива и выводом усредненного значения, с выбором времени замера от 1 до 10 секунд.
  • Возможность устанавливать яркость подсветки дисплея разделльно для дневного и ночного режима работы. Режим работы определяется по факту включения габаритов и подсветки приборной панели.
  • Возможность устанавливать обычный или инверсный режим работы дисплея.
  • Возможность устанавливать уровень контрастности дисплея.

Описание работы и органов управления устройства

Органы управления


Управление осуществляется кнопками Menu, Ok, Up, Down
Menu – в основном режиме вход в режим установок. В режиме установок возврат в предыдущее меню, без сохранения текущих изменений и выход из режима установок.
Ok - Действует только в режиме установок. Вход в выбраный пункт, сохранение текущих параметров в энергонезависимой памяти.
Up – Действует только в режиме установок. Перемещение вверх по пунктам меню, увеличение текущего значения.
Down – Действует только в режиме установок. Перемещение вниз по пунктам меню, уменьшение текущего значения.

Режимы работы
Основной режим


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

Режим установок


Режим установок предназначен для настройки устройства под конкретные условия эксплуатации. Вход в режим установок осуществляется кнопкой Menu

Пункты меню
Емкость бака


позволяет установить объем используемого бака. Кнопками меню Up/Down изменяется в пределах от 30 до 99 литров. Для сохранение выбранного объема необходимо нажать кнопку Ok . Для выхода в меню без сохранения сделанных изменений необходимо нажать кнопку Menu .

Калибровка


позволяет политрово откалибровать емкость бака. Калибровка осуществляется после выбора необходимого объема бака в меню Емкость бака .
Литры – в данном пункте кнопками Up/Down устанавливается необходимое значение ячейки литров для записи значения калибровки. Запись значения калибровки производится кнопкой Ok .
Датчик – показывает текущее значение датчика остатка
топлива. При нажатии кнопки Ok это значение заносится в текущую ячейку памяти выбранную в пункте меню Литры .
В памяти – показывает сохраненное в памяти значение, соответствующее выбранной в данный момент, в пункте Литры , ячейке памяти.

Инерционность


позволяет установить период измерения остатка топлива. Кнопками меню Up/Down изменяется в пределах 1 - 10 секунд. В течении выбранного периода времени через равные промежутки, происходит 10 замеров остатка топлива, после чего вычисляется среднее значение.

Подсветка


позволяет установить яркость подсветки днем и ночью. Факт дня и ночи определяется включением габаритов и подсветки приборной панели.Кнопками Up/Down выбирается нужный пункт для корректировки День/Ночь. Для входа в режим изменеий выбранного значения необходимо нажать кнопку Ok , после чего кнопками Up/Down установить необходимое значение яркости подсветки от 0 до 255. Для сохранения установленного значения необходимо нажать кнопку Ok , для выхода из текущего пункта без сохранения изменений необходимо нажать кнопку Menu .

Инверсия


позволяет выбрать режим работы дисплея обычный/инверсный. Выбор нужного пункта производится кнопками Up/Down . Сохранение выбранного значения производится кнопкой Ok . Выход из текущего пункта без сохранения изменений производится кнопкой Menu .

Контрастность


позволяет установить желаемую контрастность дисплея. Кнопками меню Up/Down изменяется в пределах от 1 до 15. Сохранение выбранного значения производится кнопкой Ok . Выход из текущего пункта без сохранения производится кнопкой Menu .

Подключение и начальная настройка


Подключите устройство согласно маркировке.
[-] Земля, для подключения земли желательно выбрать надежный контакт.
[+] Плюс питания бортовой сети, 12 Вольт подключается к любой точке бортовой сети после замка зажигания.
[G] Габариты, подключается к цепи питания габаритов или подсветки приборной панели
[F] Датчик топлива, для исключения влияния родного датчика, его желательно отключить и подключить устройство непосредственно к линии датчика в баке.
Включите зажигание, подключите параллельно питанию вольтметр и
проконтролируйте показания напряжения индикатора, при необходимости подстройте показания индикатора подстроечным резистором R2