Как сделать датчик уровня воды в бочке своими руками
Перейти к содержимому

Как сделать датчик уровня воды в бочке своими руками

  • автор:

Как сделать датчик уровня воды в бочке своими руками

Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нём некорректно.
Необходимо обновить браузер или попробовать использовать другой.

Дорогие друзья! Если Ваш дом украшает и обогревает финская печь Туликиви, у вас есть отличная возможность пригласить съёмочную группу FORUMHOUSE для съёмок обзорного сюжета о вашем доме и об этой классной печи! Впереди зима, согреемся от теплой истории!) Пишите нам! expert@forumhouse.ru

1 2 3 4 5 6 7 8 9 10 10 /10 10,00 оценок: 1

Индикатор уровня воды

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

Особенности устройства и краткие характеристики:

Дешевый и доступный микроконтроллер ATtiny13A в DIP-корпусе;
Индикация 3-уровней воды 2-мя светодиодами;
Измерение 3-уровней воды 2-мя электродами;
Звуковое сопровождение индикации “высокого” уровня;
Низкий уровень (внимание) – мигает красный светодиод:
Средний уровень (норма) – горит зеленый светодиод;
Высокий уровень (авария) мигает красный светодиод и сопровождается звуковым сигналом;
Высокая чувствительность устройства позволяет использовать его для контроля даже грязной воды, влажности почвы и пара;
Потребляемый ток не более тока потребляемого примененным светодиодом (т.е. около 20мА);
Напряжение питания 3-30В;
Текущий уровень воды индицируется соответствующим светодиодом (другие не горят);
Защита от переполюсовки.

Схема. Классическая для подключения такого типа МК. Защита от переполюсовки сделана на диоде включенном последовательно с “питанием”. Помимо основного входа “питания” (через стабилизатор напряжения) имеется вход 5V для питания устройства от 5-вольтового блока питания, например “зарядника” от сот. телефона. Пищалка-зуммер 5-вольтовая, включается транзистором, поэтому может быть любой.
Настройка схемы не требуется, устройство начинает работать сразу после прошивки МК.

При необходимости уменьшить (“загрубить”) чувствительность входов нужно уменьшить сопротивление подтягивающих резисторов входов электродов HI и MID. В одном случае, из-за обильного парообразования в расширительном баке, мне пришлось уменьшить сопротивление этих резисторов до 4.7кОм.

Низкий уровень индицируется когда ни один электрод не касается воды. Подразумевается, что рашир. бак металлический и “общий” провод прикручивается непосредственно к баку. Иначе (как на фото ниже) потребуется 3 электрода. Когда электрод MID касается воды индикация переключается в реж. “норма”. Так будет до тех пор пока электрод MID в воде или пока воды не коснется еще и электрод HI – тогда индицируется высокий уровень.

Плата. Односторонняя, разведена в DipTrace 3.0. Все компоненты для поверхностного монтажа. Светодиоды и зуммер припаиваются с торца платы – для удобства вывода индикации из корпуса готового устройства. Платы готовых устройств покрыты тонированным цапон-лаком. Шелкография на верхней стороне платы выполнена ЛУТ, как, впрочем, и вся плата.

В последнее время на Драйве стало «модно» выкладывать свои ваяния без схемы или без прошивки. Модератор сообщества упорно это поощряет. Но, нужно отдать должное, поощряет он и возможность заработать на том, что сделано своими руками. За что — спасибо. Скачать исходники к статье можно здесь. Всем спасибо, нападайте — я готов к критике. Заранее прошу не умничать «диванных экспертов» — я с вами разговаривать не буду. Конструктивная критика «по делу» приветствуется.

Блок уровня и температуры воды в баке на ардуино

Всем привет!
Наконец-то завершилась моя маленькая эпопея с изготовлением блока уровня и температуры воды в баке. Проведены испытания и теперь мне есть что Вам сказать на этот счет.

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

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

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

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

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

Соответственно, самым важным было понимать какой уровень воды сейчас в баке, ибо незнание этого грозит перегоранием ТЭНа и (или) переливом воды из бака.

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

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

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

Первое, что я сделал, это полез в интернет с запросом типа «уровень воды в баке» и так далее. Находил примеры реализации просто на радиодеталях без каких-либо микроконтроллеров и программирования.

В принципе, меня эти примеры устраивали. Заморачиваться с программированием не хотелось. Хотелось сделать что-то простое и надежное как топор. Поэтому-то я на ардуину сразу и не заглядывался.

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

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

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

Ну а теперь про самое то.
Задачи придуманного мной устройства сводились к следующему:
1. Отслеживать уровень воды в баке и как-то сигнализировать об этом;
2. Отслеживать температуру воды в баке и сообщать об этом;
3. Программно отслеживать различные состояния воды и сообщать об этом.

По первой задаче.
Отслеживать воду я решил через усмотренный в интернете способ:

опускаем в бак на разный уровень воды по проводу (или чему-то электропроводящему) — «датчику»;
также опускаем один общий контакт, на который подаем постоянно «+».

Как только вода замыкает «+» и провод определенного уровня, ардуина понимает, что вода достигла этого уровня. Всего мною было задумано уровней на 10, 25, 50, 75 и 100 % воды.

Индикация состояния уровней была придумана через светодиоды. Причем через RGB светодиоды. Т.к. по моей изначальной задумке, они позволяли более широко реализовать различные схемы индикации разных состояний.

По второй задаче
Здесь все просто. Был куплен датчик температуры на Али. Для показа температуры также был куплен 4-х разрядный мониторчик. Соответственно ардуино снимает показания с датчика и выдает их на мониторчик постоянно.

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

Так, мною были придуманы такие алгоритмы, как отслеживание и сигнализация о том, что:
Вода нагревается и нагрелась до нужного уровня;
Вода набирается и набралась до 100%;
Вода закончилась.

Но работают они не очень хорошо. Крайний раз вообще пришлось их отключить до лучших времен 🙂 Но об этом ниже.

Делаем устройство.
Я закупил следующее (постарался вспомнить все, что покупал):
1. Собственно, ардуино нано;
2. Пассивный пьезоизлучатель;
3. Цифровой датчик температуры DS18B20;
4. Мониторчик;
5. Клеммники для провода на плату 2 штучки;
6. Пачку RGB светодиодов (понадобилось 5 штук);
7. Микро понижающий модуль питания;
8. Кнопка с фиксацией, встраиваемая в корпус;
9. Кабель витая пара до бака;
10. Телефонный кабель для питания устройства;
11. Блок питания 12v на дин рейку (Артикул: HDR-15-12);
12. Резисторы:
10кОм — 13 штук (подключил ножки светодиодов через них, а также «датчики уровня на землю»);
4,7 кОм — 1 шт для датчика температуры;
220 Ом — 1 шт для желтого (сервисного) светодиода;

13. Переменный резистор (крутилка) 10 кОм;
14. Всякое для подключения витой пары D-SUB:
Разъем на плату;
Разъемы и вилки на кабель 3 штуки (с другой стороны поставил такой разъем на корпус). Соответственно выбирал, чтобы сошлись «мамы» с «папами».
15. Всякое для обеспечения питания типа штекера на провод «L-KLS1-DCP-02-2.1A» и разъем для него на плату «DS-201, Гнездо питания 2,1х5,5на плату»;
16. Корпус «G311C, Корпус для РЭА 115х90х55 мм» подбирался так, чтобы туда влезла печатная плата 75х100 мм (немного подпиленная).
17. 6 велосипедных спиц из нержавейки;
18. Небольшой корпус на бак, где сделана разводка кабелей на датчики;
19. Также использовал вот такой (где 3 провода) разъем на этом же корпусе для подключения датчика температуры.
20. Всякое разное не счесть. Типа стойки для платы, болтики, гаечки и т.д.

Итак, пара слов по изготовлению.
Делать я решил сразу качественно в меру своих сил. Поэтому решил изготовить печатную плату, все контакты делать на разъемах.

Принципиально схема такая.

Ставим на ДИН рейку в щито блок питания на 12v. В принципе, можно было бы решить задачу питания и просто через розетку + блок питания от какого-нибудь телефона. Здесь тогда даже не понадобился бы понижающий блок питания на плату, а ардуину можно было бы питать через USB разъем. Но мне проще было кинуть телефонный кабель, плюс, изначально я планировал ставить блок в моечную, куда лишние 220v вести не хотелось. Кроме того, те самые 12v я смогу использовать и для других проектов. Пока в задумке у меня что-то типа пожарной сигнализации на ардуине.

В блок приходит провод с 12v и заходит в микро блок, понижающий их до 7v. Между входом и микро блоком сделан разрыв кнопкой для возможности выключения с кнопочки.

Дальше 7v идут на ардуину.

От ардуины идет разводка соответственно на:
1. «Датчики» — спицы к D-SUB разъему. Все «датчики» подтянуты 10кОм резисторами к «-«;
2. RGB светодиоды. Но первые 3 к «красным» и «зеленым» ножкам. Еще два только к зеленым (т.к. пинов не хватило). Все пины также через 10кОм резисторы;
3. Плюс и минус также к D-SUB разъему для датчиков. Также отдельный пин к D-SUB разъему для датчика температуры. К этому же пину также подтянут «+» через 4,7кОм резистор;
5. Пин, плюс и минус к пищалке;
6. Два пина, плюс и минус к экранчику;
7. Пин, плюс и минус к переменному резистору;
8. Пин (через 220Ом резистор) и минус к желтому светодиоду.

Непосредственно на баке, а точнее в его крышке:

Просверлено 6 дырок, в которые вставлены резиночки, купленные в автомагазине (какие-то резинки от дворников ВАЗА). В резиночки вставлены спицы и залиты силиконом термостойким. Все спицы порезаны на разную высоту.

На все это посажена коробочка с «ушками», которая фиксируется к крышке болтиками. Основные провода в нее заходят через D-SUB разъем. Затем разводятся на датчик температуры и датчики уровня воды. На датчик температуры провода выходят через другой отдельный разъем.

Сам датчик температуры врезан в бак примерно на высоте 30 % от дна. К датчику потребовалось еще докупить контргайку на 1/2 (в леруа), фторопластовую прокладку и фум-ленту. Дырку сверлил специальной коронкой на 20мм (если не ошибаюсь).

Пара слов о выборе коробки для основного блока.
Изначально планировал использовать любую рандомную коробку, в корпусе которой хотел вырезать дырки для светодиодов и экранчика. Но, зная откуда у меня растут руки, я был на 146% уверен, что дырки вырезал бы криво. Поэтому в процессе изготовления родилась идея использовать блок с прозрачной крышкой. Таким образом, мне не пришлось мудрить с вырезанием дырок. Разве что экранчик я поставил на «Ножки» — стойки для платы, чтобы был повыше.

Разное
Изначально хотел реализовать весь функционал RGB светодиодов. Думал, что если будут гореть одновременно зеленый и красный диоды, то на выходе получу желтый. В итоге получил одновременно горящие внутри корпуса одного светодиода красный и зеленый огоньки )) Ни намека на желтый.
Кроме того, как писал выше, мне не хватило пинов для подключения всех ножек светодиодов. Я не смог побороть пины 0 и 1 (RX TX) и поэтому вынужден был подключать на последних двух светодиодах только 2 зеленые ножки.
Зачем тут нужен переменный резистор?
Учитывая, что вода не является супер-стабильным проводником электричества, ожидалось, что уровень сигнала будет меняться в зависимости от разных факторов. Примесей в воде и т.д. Поэтому датчики все были подключены к аналоговым входам (чтобы отлавливать весь диапазон возможного сигнала от 0 до 1023), а также в схему включен переменный резистор, с помощью которого можно было бы настроить чувствительность блока. Программно было установлено, что «вода есть» тогда, когда сигнал, получаемый датчиком, превышает какое-то значение. Вот это самое значение («порог срабатывания») как раз и зависело от положения ручки переменного резистора.

На практике как это работает. Вот стоит у вас порог, допустим «500». Вы налили воду. Все ОК. Уровень сигнала сильный и стабильный. Но потом вода отстоялась. На датчики налип какой-то осадок. Тогда уровень сигнала падает и ардуино считает, что воды нет. Тогда вы подкручиваете крутилкой уровень, допустим, 400. И все снова работает.

Почему бы сразу не задать уровень, скажем, 100? Потому что, чем меньше порог срабатывания, тем больше шанс словить наводки и помехи и ловить ложные срабатывания. Т.е. нужно как-то обеспечивать золотую середину в этом всем.

Ну а теперь немного об алгоритмах работы и программировании.
Как же все это программно работает. Опишу просто кратко логику процесса.

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

Когда сигналов нет вообще, ардуина зажигает 3 красных светодиода (все имеющиеся).
Когда есть 10%, то горит только самый нижний красным цветом.
Когда есть уже 25%, то горят 2 нижних зеленым.
Когда есть 50%, то три нижних зеленым и так далее.
На этом основной алгоритм собственно закончен.

Также мною была сделана попытка прикрутить некоторые программные фишки.
Например, есть сигнал с датчика 25%, затем он пропадает и остается 10%, затем пропадает и он.
Это означает, что вода была, но вся утекла.
Значит, можно об этом пропищать звуком что-то типа мелодии. Один раз. В следующий раз пищать такое только, если вода опять набралась до 25% и снова опустилась.

Аналогично все тоже самое и с перенабором воды. Но в обратном порядке.

Также, я вот только сейчас подумал, я бы сюда еще прикрутил дополнительный провод, снимающий наличие/отсутствие напряжения на проводе ТЭНа. Если уровень воды меньше положенного (ТЭН не закрыт водой), то при наличии напряжения на проводе, пищать что есть силы. Типа защита от дурака.

По температуре.
Здесь все довольно просто. Ардуина все время считывает показания температуры с датчика и выдает их на мониторчик.

Также сюда прикручен алгоритм отслеживания нагрева. Если последовательно температура была в пределах от 30 до 40, затем от 40 до 50, а затем 95 градусов, то значит вода «нагрелась» до нужной кондикции и можно также об этом пропищать.

Сервисный режим.
Здесь есть только один сервисный режим — это режим настройки порога уровня срабатывания датчиков.
Работает так. Как только крутилкой мы повысили уровень порога, а затем понизили, то устройство заходит в «Режим настройки уровня срабатывания датчиков» на 10 секунд и вместо температуры показывает уровень того самого порога срабатывания. Соответственно, крутите крутилку — видите какой порог задаете.

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

Основной косяк, вылезающий из особенностей реализации именно описанной схемы датчиков — это ложное срабатывание/несрабатывание датчиков.

Так, частенько по работе устройства (миганию диодов) вижу, что датчики ловят какие-то наводки. Не так, чтобы все датчики моргали как гирлянда на елке, но иногда происходят ложные срабатывания. То ли пар это, то ли хз что. Так то притягивание резисторами на 10кОм к «-» было как раз и призвано бороться с этим, но что-то не особо это помогает.

Именно эти наводки и делают невозможной работу программных режимов, т.к. они сбивают все флаги и устройство не способно реально понять текущее состояние дела. Так, крайний раз оно с периодичностью раз в 10 минут все время мне орало про окончание воды, хотя должно было проорать только 1 раз (это было из-за срабатывания 10 и 25 % датчиков одновременно) до следующего ее реального набора и слива. Поэтому пришлось все это отключить до лучших времен))

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

Относительно потери чувствительности также есть что сказать. Я даже было подумал, что придется сразу все выкидывать.
Так, установил я спицы в бак 2 недели назад. Через неделю после переделки я привез блок, вставил его и обнаружил отсутствие сигнала вообще.
Поднялся к баку с мультиметром и обнаружил две вещи:
спицы обросли каким-то налетом типа извести (как дно чайника) и с трудом прозванивались. Пришлось их чуть-чуть пошкурить от налета;
внезапно вода у поверхности также не прозванивалась. Видимо, отстоялась, и реально опускание щупов в воду даже рядом друг с другом ничего не давало.

После того, как пошкурил контакты и перемешал воду, все заработало.

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

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

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

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

В общем, устройство худо-бедно работает, но его надо еще допиливать конечно. Прилагаю ссылки на схему разводки по плате для программы Sprint Layout и скетч с кодом так как есть.

Ультразвуковой измеритель уровня воды в баке

Данное устройство проектировалось для контроля уровня воды в баке и оценки ее температуры.
Весной было много свободного времени и задача: сделать уровнемер для бака на даче. Простые способы с электродами, замыкаемыми водой, я счёл недостойными такого солидного джентльмена как я, нужно что-то более интересное.

Изучая данную тему в интернете, выбор остановился на ультразвуковом методе измерения при помощи распространенного и недорого датчика hc-sr04. Работа модуля основана на принципе эхолокации. Модуль посылает ультразвуковой сигнал и принимает его отражение от объекта. Он подключается четырьмя проводами. Контакты VCC и GND служат для подключения питания, а Trig и Echo— для отправки и приема сигналов дальномера. Для определения расстояния на вход Trig подается импульс длительностью 10 мкс после чего датчик генерирует пачку импульсов частотой порядка 40 килогерц и на выходе Echo появляется логическая единица, которая удерживается до прихода отражённого сигнала. Диапазон измерений от 2 сантиметров до 4 метров.
Большинство проектов использует микроконтроллеры или ардуино с индикацией в виде абсолютной величины расстояния. Но ничто не запрещает управлять датчиком и обычной логикой, чем мы и займёмся.

Получившийся монстр представлен на схеме.

На микросхеме CD4060 собран задающий генератор с частотой 17,24 кГц. Сигнал генератора делится на 4096 встроенными делителями и на вводе 2 имеем импульсы примерно 4 Гц. При помощи RC-цепочки получаем требуемый для датчика импульс 10 мкс. Через логический вентиль вывод Echo датчика соединен с выводами сброса и записи счётчика 74hc590 (не путать с широко распространенной микросхемой 74hc595). Пока на выходе Echo присутствует логическая 1, счётчик считает импульсы, но на его выводах сохраняется предыдущее значение. При появлении логического 0, счетчик записывает посчитанные показания во внутреннюю память и обнуляется. При количестве импульсов больше 255 на выходе переполнения появляется сигнал, который запрещает дальнейший счёт. При указанной частоте генратора, 1 импульс примерно соответствует 1 см расстояния до препятствия.
К выходам счётчика подключен простейший цифро-аналоговый преобразователь на резисторах, который преобразует код в напряжение от 0 В при 0 поступивших импульсов до 5 В при 255 поступивших импульсах. Разумеется, количество импульсов получается пропорциональным расстоянию от датчика до препятствия.

Максимальным показаниям прибора должно соответствовать минимальное расстояние от датчика до уровня воды в баке, поэтому применяем дифференциальный усилитель на операционном усилителе, который вычитает сигнал ЦАПа из постоянного напряжения 5 В. Продифференцированный сигнал поступает на вход компаратора LM3914. Границы диапазона измерения задаются многооборотными подстроечными резисторами и результат показывается на светодиодной шкале в виде стрелки из 5 последовательно включенных светодиодов.
В итоге имеем импульс какой-то протяжённостью, за который проходит какое-то количество других импульсов, которое преобразуется в какое-то напряжение и в результате имеем наглядный результат от пустого бака до полного. Магия.
Устройство собрано на печатной плате промышленного изготовления.

Так как минимальная партия составляет 5 штук, было решено добавить термометр. Для этого исключаем микросхемы логики и ЦАП, усилитель на ОУ подключаем по схеме простого неинвертирующего усилителя, на вход которого ставим аналоговый датчик LM35. Напряжение на датчике пропорционально температуре с шагом 10 мВ/С (при 20 С соответствует 0,2 В, при 100 С соответствует 1 В).

Правильно собранные устройства без настройки работать вообще не будут.
Сначала настраиваем термометр. Выбираем диапазон температур, например от 20 до 60 градусов. ОУ в моем случае имеет усиление в 3 раза. Значит, резисторами устанавливаем на выводе 4 LM3914 напряжение 20*0,01*3=0,6 В, на выводе 6 LM3914 60*0,01*3=1,8 В. Ничто не мешает выбрать другое усиление.
Для настройки уровнемера закрепляем датчик на расстоянии от места его крепления до максимального уровня воды и измеряем напряжение на выходе ОУ. Устанавливаем такое же напряжение на выводе 6 LM3914. Затем повторяем процедуру с расстоянием, имитирующем минимальный уровень, и выставляем такое же напряжение на выводе 4 LM3914. Точные значения напряжений ЦАПа можно вычислить заранее, у меня сведено в таблицу.
Две платы соединяем перемычками и заключаем в рамку 100х200 мм со стеклом. Стекло заклеиваем тонировочной пленкой. Для измерения температуры воды датчик нужно обязательно загерметизировать.
Это в теории, а что на практике?

На практике получилось, что партия термодатчиков, купленная на известном китайском сайте, ВНЕЗАПНО оказалась перемаркированными транзисторами, которые мало того, что не измеряли температуру, так и взрывались с хлопком после 1-2 минуты от включения. Пришлось купить в магазине за дорого, с ним сразу заработало.
Из трех ультразвуковых датчиков корректно начал работать только третий. После мучений с бракованными датчиками идея использовать штырьки разной длины не казалась такой уж и плохой.

Пока устройство работает на столе и ждёт проверки в полевых условиях.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *