- Емкостной датчик уровня топлива
- Датчик уровня топлива (ДУТ). Сборка, схемы, производство
- 0. Вступление
- 1. Немного теории
- 2. Описание работы электрической схемы датчика уровня топлива
- 3. Чертеж датчика уровня топлива, материалы
- 4. Итог
- Емкостной датчик уровня топлива на ATMega8A
- Принцип измерения и особенности
- Схема модуля датчика и модуля отображения
Емкостной датчик уровня топлива
Емкостной датчик — это такой вид датчиков, в которых для измерения уровня жидкости не используют механические элементы (поплавка нет!). Измеряется даже не сама жидкость, а диэлектрическая проницаемость вещества между электродами, которая прямо пропорциональна количеству жидкости между ними (или не очень прямо, в физику углубляться не будем).
Без поплавка? Как это возможно?
Вместо поплавка ставим две трубки (одна в одной, так чтобы они не прикасались друг к другу) — получается конденсатор, который меняет свою емкость в зависимости от количества изолятора между его пластинами. В качестве изолятора выступает бензин.
Контроллер проводит измерения и превращает результаты измерения в показатели стрелки. (Своего рода тестер, но с одной функцией — измерение емкости конденсатора).
Общая информация
Емкостные датчики изготавливаются серийно на любую длину (допускается обрезка датчика пилой до 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:
- GND;
- Вишид указателя стрелки;
- Выход лампы аварийного запаса топлива.
Источник
Датчик уровня топлива (ДУТ). Сборка, схемы, производство
0. Вступление
Забегая вперед скажу, будет три статьи, в этой я расскажу о самом простом варианте определения уровня дизельного топлива (только дизельного, использование на бензиновой технике абсолютно запрещено, так как взрывоопасно). В следующих статьях, если конечно будет читателю интересно, рассмотрим цифровой датчик уровня топлива, а в самом конце я планирую выложить схему и прошивку устройства для мониторинга, которое описывал в данной статье.
1. Немного теории
Самые популярные датчики измерения уровня топлива представляет собой электрический конденсатор, состоящий из двух трубок помещенных друг в друга, устанавливаются резервуар с топливом, уровень которого измеряется. Дизель свободно проникает в пространство между трубками, сигналом изменения уровня топлива в резервуаре является изменение электрической ёмкости датчика.
При изменении уровня топлива в резервуаре изменяется относительная диэлектрическая проницаемость пространства между обкладками конденсатора, поскольку диэлектрическая проницаемость топлива и воздуха в общем случае различна. А так как емкость прямо пропорциональна диэлектрической проницаемости изолятора, то в результате изменяется и электрическая ёмкость датчика. Датчики в большинстве своем изготавливаются из алюминия или меди, потому что они меньше всего подвержены влиянию агрессивных сред. Из многих способов измерения значения емкости конденсатора и последующим преобразованием его емкости в пропорциональное изменение постоянного напряжения на выходе, был выбран широтно-импульсный способ, как достаточно простой и надежный, но при этом обеспечивающий необходимый уровень точности измерения. Сразу требуется оговорка, это самый простой в плане финансов и достаточно простой в плане сборки ДУТ метод определения уровня дизельного топлива.
2. Описание работы электрической схемы датчика уровня топлива
Рис 2. Принципиальная схема датчика уровня топлива (ДУТ) (большая схема тут)
Для увеличения стабильности и точности показания все элементы схемы используются с минимальным температурным коэффициентом. Резисторы используются с 1% допуском, микросхемы выбраны с улучшенными параметрами в отличии от бытовых аналогов, например: SE555N вместо NE555N, а LM358D вместо LM258D.
На микросхеме U1 SE555N и элементах R1, R2 и C1 собран задающий генератор. Так как от него сильно зависит стабильность показания то в качестве конденсатора С1 используется прецизионный полистирольные конденсатор К71-7 1%, обычно их устанавливали в советские цветные телевизоры в задающие генераторы строчной развертки. Можно заменить чем-то современным, но доступность и цена этих конденсаторов делает их весьма привлекательными, да и родились они еще в далеком году, когда СССР весьма неплохо следил за качеством производимых элементов.
С выхода 3-й микросхемы U1 прямоугольные импульсы запускают одновибратор, собранный на микросхеме U2 SE555N. В качестве конденсатора одновибратора, используется датчик помещенный в топливо, поэтому его емкость будет зависеть от уровня топлива, а следовательно, ширина импульса на выходе 3 микросхемы U2, будет изменяться также от уровня топлива.
Для обеспечения линейной зависимости ширины импульса от уровня заполнения датчика топливом, на датчик топлива поступает зарядный ток от стабилизатора тока выполненного на микросхеме U3.2 и транзисторе Q1 BC856BT. Также путем изменения зарядного тока осуществляется настройка схемы на различные размеры датчиков. Настройка схемы осуществляется путем подбора резисторов R6 и R7, для получения 1.8-1.9 Вольт на выходе схемы, при «сухом» датчике.
С выхода 3 микросхемы U2 импульсы поступают на интегратор, собранный на элементах R8 и C6.
Далее интегрированное напряжение сформировавшись на конденсаторе C6 поступает на фильтр низких частот, выполненного на R10 и С10.
Затем постоянное напряжение поступает на усилитель постоянного тока, выполненного на микросхеме U3.1.
С выхода 1-й микросхемы U3.2 сигнал, через фильтр, выполненный на элементах R17, С12, С14 и С15 поступает на выход.
Резистор R16 используется для предотвращения самовозбуждения усилителя при работе на емкостную нагрузку.
Делитель выполнен на резисторах R9 и R11 обеспечивает необходимое постоянное смещение для работы усилителя постоянного тока в линейном режиме.
Стабилизатор напряжения для питания электронной схемы, размещён по классической схеме на микросхеме U4 LM317MDT.
В итоге, на выходе, мы получаем аналоговый сигнал пустой бак 1.8В полный 6.0В (тут есть зависимость от высоты ДУТ), который линейный и прямо пропорциональный уровню топлива в баке\цистерне\хранилище. Затем, применив фильтр Калмана, можно убирать скачки топлива, выводить обсчет среднего расхода и пр.
В реальности это будет выглядеть примерно вот так:
График уровня топлива + скорость.
3. Чертеж датчика уровня топлива, материалы
РИС 3. Чертеж датчика уровня топлива (ссылка на большой чертеж)
Уже упоминалось, что используется в основном алюминий, как видно из чертежа, наружная трубка впаивается любым удобным способом в «голову» ДУТ. При производстве своих датчиков мы используем сварку, т.к. имеем к ней доступ, пусть не самый эстетически красивый вариант, но, надежен и проверен временем. Внутри используется алюминиевый стержень, для фиксации которого нарезается резьба в верней части. Втулки используются из специального фторопласта, который максимально толерантен к дизельному топливу.
4. Итог
На данном решении построены подавляющее большинство датчиков уровня топлива представленных на GPS рынке СНГ и мира. Каждый производитель вносит свои изменения для увеличения точности измерения уровня топлива, такие как акселерометр, температурные датчики, цифровая обработка сигнала и прочее. Представленная мною схема самая простая, готовая к работе, как говорится, в полях без каких либо сложностей. Уважаемый читатель с прямыми руками вполне может сделать любые доработки, которые можно использовать как для своих целей, так и для коммерческих нужд.
PS. Немного эротики про то как подобное добро устанавливается на технику можно посмотреть тут.
Источник
Емкостной датчик уровня топлива на ATMega8A
Знать уровень топлива в баке не только «прикольно», но иногда жизненно необходимо. В некоторых случаях затруднительно оценить уровень топлива в баке из-за его расположения или недостаточной прозрачности. Для таких случаев и существуют датчики уровня топлива. На сегодняшний день наиболее распространены поплавковые датчики. Принцип работы таких датчиков достаточно прост. Поплавковый механизм в зависимости от уровня топлива в баке изменяет положение подвижного контакта потенциометра. Показание напряжения на потенциометре измеряются и преобразуются в человекочитаемый вид. Однако не всегда имеется возможность установить поплавковый датчик из-за его габаритов. Кроме того, в аппаратах, где крен является нормальным состоянием, например, сверхлегкие летательные аппараты, возможен перекос и подклинивание поплавкового механизма. Кроме того, положение бака в наземном и полетном положении может отличаться, что может внести изменения в работу поплавкового механизма. Однако существуют и другие способы измерения уровня топлива. Я говорю о емкостном датчике топлива. Он особо актуален, если существует необходимость избавится от подвижных частей.
Принцип измерения и особенности
Этот способ основан на измерении электрической емкости датчика, которая, в свою очередь, зависит от уровня топлива. Датчик, с помощью которого измеряется уровень топлива, называют емкостным датчиком уровня топлива. Конструкция датчика достаточно проста и представляет собой не что иное, как конденсатор. Он состоит из двух обкладок, между которыми существует зазор, который может заполнять топливо. Исполнение датчика может быть в виде двух металлических пластин или вставленных одна в другую трубок. При этом поверхности двух электродов (обкладок конденсатора) не должны иметь электрического контакта, а промежуток между обкладками должен свободно заполняться топливом при погружении датчика и так же свободно освобождаться при уменьшении уровня топлива. Поскольку топливо заполняет пространство между обкладками конденсатора (датчика), его емкость изменяется. Этот способ подходит только для жидкостей, не проводящих электрический ток. Таким способом не получится измерить уровень воды. Бензин и другие виды жидкого топлива электрический ток не проводят. Измеряя электрическую емкость датчика можно оценить уровень топлива в баке. Хотелось бы обратить внимание на некоторые недостатки такого способа измерения. Дело в том, что диэлектрические свойства топлива могут изменяться при изменении химического состава топлива. Т.е. при смене типа топлива, возможно, придется калибровать прибор. Не смотря на это, такой способ позволяет устанавливать датчик в баке под углом, или даже монтировать в крышку заливной горловины бака. Датчик не имеет подвижных частей, что в некоторых случаях крайне необходимо.
Насколько безопасно помещать электрическую схему в бак? Многих беспокоит этот вопрос. А вдруг искра? Наша схема датчика питается напряжением 5В, а датчик заряжается через резистор в несколько мегаом. В этих условиях образование искры невозможно. Напряжение в 5В ничтожно мало для возникновения искры пробоя. Кроме того, в баке любого автомобиля уже «плавает» электрический датчик уровня топлива. Низкие напряжения и токи не могут вызвать искру и возгорание топлива.
Я не ставил перед собой задачу получить супер точный датчик, способный измерить уровня топлива в 1мм и погрешностью в 0,1%, хотя это вполне возможно. Учитывая, что датчик создавался для аппаратов, где топливо в баке будет подвижно, нас вполне устроит бюджетный вариант с погрешностью в 5%.
Немного о конструктивных особенностях. Для уменьшения паразитных емкостей измерительная схема должна находиться в непосредственной близости от датчика. Не допускается подключение датчика к измерительной схеме с помощью проводов более 20 мм. Другими словами измерительная схема должна быть на датчике, датчик в баке, в то время, как дисплей должен находиться возле человека на некотором расстоянии от бака. Поэтому, конструктивно схема измерения уровня топлива разделена на два модуля — модуль емкостного датчика топлива и модуль отображения. Эти два модуля связаны между собой тремя проводами по двум из них подается питание к модулю датчика, по третьему — от модуля датчика передаются данные в цифровом виде к модулю отображения. Это позволило решить вопрос с передачей данных на несколько метров, и дает возможность конструктивно изменять модуль отображения. При этом схему модуля датчика модифицировать не придется.
Схема модуля датчика и модуля отображения
Схема модуля датчика основана на измерении времени заряда датчика. Чем выше уровень топлива, тем выше емкость датчика, тем больше времени потребуется для заряда датчика (конденсатора). Работает схема следующим образом. Используется встроенный в микроконтроллер 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». Залейте полный бак топлива и нажмите кнопку
- калибровка завершена
Пример печатных плат:
Плата модуля датчика
Плата модуля дисплея
Это наиболее простой вариант модуля отображения. В перспективе можно создать модуль с возможностью тарирования. Т.е. указать прибору не только два крайних значения при пустом и полном баке, а несколько промежуточных, которые учитывали бы особенности формы бака. Такой подход позволит не только отображать уровень топлива, но и рассчитывать оставшееся количество топлива в литрах. А также, при необходимости, вести ориентировочный расчет времени работы двигателя на текущем остатке топлива.
Фьюзы (Fuses) для модуля датчика:
Фьюзы (Fuses) для модуля отображения (дисплея):
P.S. Видео теста прототипа:
Источник