Уровнемер для резервуаров с водой своими руками

Самодельный указатель уровня воды в непрозрачной емкости для полива. Проще некуда

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

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

Единственный его недостаток – то, что пластик, из которого куб изготовлен, пропускает солнечный свет.

Чем это плохо – всем известно: под воздействием света вода начинает очень быстро “цвести” и емкость превращается, практически, в болото.

Бывают и черные еврокубы, но в продаже они попадаются гораздо реже, а стоят гораздо дороже…

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

Конкретно у нас на куб надет двухслойный чехол из черного укрывного материала.

Вода в кубе и нагревается, и не цветет. Все прекрасно.

Вот только одна незадача: как понять, есть она там или уже закончилась?

Эту проблему я предусмотрел сразу, как “пошил” черный чехол) Снаружи к выпускному крану через тройник примастырил кусок прозрачного шланга на ¾ (19 мм)

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

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

Устройство – проще некуда.

Подойдет не только для куба. Длина труб – в соответствии с высотой вашего резервуара.

В общем, суть такова:

  • Метровую (или другой длины, в соответствии с высотой вашей емкости) канализационную трубу 50 мм.
  • Такой же кусок трубы 32 мм.
  • Заглушка для трубы 50 мм
  • Заглушка для трубы 32 мм
  • Любой фитинг 40 мм
  • Любой фитинг 32 мм (не обязательно)

Из комплектующих для самого указателя это – все.

Для присоединения понадобится тройник и, возможно, еще какие-то сантех фитинги, в зависимости от того, как организован выпуск из емкости конкретно у вас.

Труба 50 мм, через тройник подключенная к изливу с нижней стороны, выполняет роль сообщающегося с основной емкостью сосуда, а труба 32 мм, заглушенная снизу – роль поплавка, который поднимается/опускается, в зависимости от уровня воды в большой трубе, т.е. и в самой емкости.

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

Кстати, если кому не приходило в голову, это очень удобно. Такими фитингами можно соединять и шланги, и даже черную ПНД трубу. Она зажимается в эти фитинги ничуть не хуже родного металлопластика.

Что-то глобально переделывать было некогда, да и лень, если честно))

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

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

Чтобы поплавок не сильно болтался в верхней части трубы, в качестве направляющей и ограничителя я использовал раструб, отрезанный от фитинга на 40 мм, который вставил в верхнюю часть 50-й трубы.

Чтобы было понятнее – листаем картинки

И тут на сцене появляется…

Конечно, изолента), без которой, как гласит легенда, не делается ни одна самоделка)))

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

Если серьезно – раструб 40 мм фитинга входит в 50-ю трубу слишком свободно, поэтому, нужно чем-то уплотнить.

Только сделать это лучше чуть позже. Сначала надо отградуировать поплавок в реальных условиях, т.е., просто разметить на нем уровни воды: максимальный, минимальный и середину. Это – как минимум.

Делать это надо непосредственно на емкости, где поплавок будет работать. А для этого наша направляющая должна легко выниматься.

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

Правда, в этом случае зазор между поплавковой трубой и направляющей будет совсем небольшой и есть опасность, что поплавок в этом месте будет иногда подклинивать при сильном ветре и т.п. Я пока оставил, а там поглядим. Будет клинить – убрать недолго)

Осталось провести испытания))

Ну, и собрать все уже на месте.

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

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

Ну, а толстую трубу надо, конечно, жестко зафиксировать в строго вертикальном положении.

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

Теперь пара слов о дальнейшей эксплуатации.

Конечно, лучше было бы взять не серую трубу, а рыжую – для наружных работ. Но, насколько я в курсе, рыжей трубы, диаметром меньше 110 мм просто не существует (?)

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

От покраски я сразу отказался, т.к. на пластик любая обычная краска и ложится с трудом, и держится на нем плохо.

Была идея надеть на трубу кусок утеплителя для нее же. Но, подумал, что утеплитель на солнце тоже быстро превратится в труху…

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

Если у вас появятся какие-то рабочие идеи на эту тему – не поленитесь поделиться в комментариях.

УФ защиту для тонкой трубы (поплавка) я придумал, но пока не успел реализовать.

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

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

Все работает без нареканий, а уровень воды теперь видно издалека и в любую погоду.

Источник

Устройство для отслеживания уровня воды в резервуаре и передачи данных по беспроводной сети



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

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

Для передачи данных мастер решил использовать встроенный Wi-Fi микрочипа ESP8266. Хотя Wi-Fi довольно энергоемкий, у него есть преимущество перед другим типом радиосвязи: пользователь может напрямую подключаться к беспроводной сети.

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

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

Шаг второй: ультразвуковой датчик
Устройство будет измерять расстояние до поверхности воды с помощью ультразвукового датчика HC-SR04-P. Как и в случае с летучей мышью, этот датчик использует локатор. Он посылает звуковой импульс с частотой, слишком высокой для человеческого уха, т.е. ультразвуковой, и ждет, пока он ударится об объект, отразится и вернется.

Конкретно, если триггерный вывод находится в высоком положении в течение не менее 10 мкс, датчик отправляет пакет из 8 импульсов с частотой 40 Гц. Ответ затем получается на выводе Echo в виде импульса с длительностью, равной времени между отправкой и получением ультразвукового импульса. Затем нужно разделить на 2, так как ультразвуковой импульс идет вперед и назад, и нужно время прохождения в одном направлении умножить на скорость звука, которая составляет около 340 м / с.

Но, скорость звука зависит так же от температуры и, в меньшей степени, от влажности. Насколько это актуально в данном случае? Зимой, при -5 ° C, скорость составляет 328,5 м / с, а летом,при 25 ° C, 347,1 м / с. Предположим, что время прохождения в одну сторону 3 мс. Значит, зимой расстояние будет 98,55 см, а летом 104,13 см. Это большая разница. Значит необходимо установить термометр для отслеживания и корректировки согласно его показаниям. Мастер решил установить датчик BME280, который измеряет температуру, влажность и давление. В коде, который он использовал в функции speedOfSound, есть формула, которая вычисляет скорость звука учитывая все три параметра.
Есть еще один важный нюанс относительно HC-SR04. На рынке представлены две версии: стандартная версия работает от 5 В, а HC-SR04-P может работать в диапазоне напряжений от 3 до 5 В. Поскольку 3 аккумуляторные батареи AA обеспечивают примерно 3×1,25 В = 3,75 В, нужна именно P-версия.


Шаг третий: выбор платы ESP8266
Чтобы датчик работал от батареи как можно дольше, нужно сэкономить на энергопотреблении. Хотя Wi-Fi ESP8266 обеспечивает очень удобный способ подключения датчика к облаку, он также довольно энергоемкий. В процессе работы ESP8266 потребляет около 80 мА. Таким образом, с батареями на 2600 мАч устройство сможет проработать не более 32 часов.

К счастью, у ESP8266 есть режим глубокого сна, в котором почти все функции выключены. Идея состоит в том, чтобы большую часть времени помещать ESP8266 в глубокий сон и периодически будить его, чтобы провести измерения и отправить данные по Wi-Fi в облако. Согласно этого руководства , максимальное время глубокого сна у ESP8266 составляло около 71 минуты, но с момента выхода ядра ESP8266 Arduino 2.4.1 оно увеличилось примерно до 3,5 часов. Мастер установил интервал в один час.

Большинство плат для ESP8266, используют регулятор напряжения AMS1117, который потребляет много энергии. Единственным исключением является WEMOS D1 mini, который поставляется с более экономичным ME6211. WEMOS D1 mini потребляет около 150 мкА в глубоком сне.
Еще экономичней в этом плане ESP-12F. У этой платы нет USB UART или регулятора напряжения. Потребление в режиме глубокого сна у нее составляет всего 22 мкА.

Шаг четвертый: облачная служба
Для хранения данных мастер будет использовать ThingSpeak, облачную службу Интернета вещей. Переходим на https://thingspeak.com/ и создаем учетную запись. После входа в систему кликаем кнопку «New Channel». В настройках канала вводим название и описание. Затем мы называем поля каналов и активируем их, устанавливая флажки справа.

Авторские настройки полей следующие:
Field 1: water level (cm) — (уровень)
Field 2: battery level (V) — (батарея)
Field 3: temperature (°C) — (Температура)
Field 4: humidity (%) — (влажность)
Field 5: pressure (Pa) — (давление)

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

В дальнейшем можно считать данные из облака на смартфоне с помощью приложения. На телефоне с Android мастер использует виджет IoT ThingSpeak Monitor.

Шаг четвертый: программирование ESP-12F
Для программирования мастер будет использовать IDE Arduino.Чтобы подготовить его к работе с ESP8266, выполните следующие действия:
Загружаем IDE Arduino .

Далее в меню File — Preferences — Settings добавляем URL http://arduino.esp8266.com/stable/package_esp8266com_index.json к дополнительным URL-адресам Board Manager. Далее в меню Tools — Board — Boards Manager устанавливаем esp8266.
Выбираем в качестве платы : Generic ESP8266 Module.

Для работы с ESP-12F мастер использовал плату расширения. Он припаял микросхему к плате, а затем припаял разъемы к пластине. После монтажа он обнаружил, что плата расширения слишком широка для стандартной макетной платы. Сбоку не остается свободных контактов для подключения.

Решение, которое он выбрал, — использовать U-образные провода и соединить их, как на фото ниже. Таким образом, GND и VCC подключаются к направляющим на макетной плате, и оставшиеся контакты становятся доступными. Недостатком является то, что макетная плата, после монтажа устройства будет вся оплетена проводами.

Другое решение — соединить две макетные платы вместе, как показано в этом видео .

Далее, чтобы запрограммировать ESP-12F через USB-порт компьютера, нужен переходник. Мастер использовал программатор FT232RL FTDI. У программатора есть перемычка для выбора напряжения между 3,3 В или 5 В. В данном случае нужно установить 3,3 В. Установка драйверов должна быть автоматической, но если программирование не получится можно попробовать установить их вручную с этой страницы .

ESP8266 имеет режим программирования для загрузки новой прошивки во флэш-память и режим флэш-памяти для запуска текущей прошивки из нее. Для выбора между этими режимами контакты должны принимать определенное значение во время загрузки:
Программирование: GPIO0: low, CH-PD: high, GPIO2: high, GPIO15: low
Память: high, CH-PD: high, GPIO2: high, GPIO15: low
Кроме того, убедитесь, что вы подключили вывод TX FT232RL к выводу RXD ESP8266.

Последовательность программирования следующая:
Установите GPIO2 на низкий уровень, закрыв переключатель программирования.
Выполните сброс ESP8266, закрыв, а затем снова открыв переключатель сброса. ESP8266 теперь загружается в режиме программирования.
Установите GPIO2 обратно на высокий уровень, открыв переключатель программирования.
Загрузите новую прошивку из Arduino IDE.

Перезагрузите ESP8266 еще раз, замкнув и снова открыв переключатель сброса. ESP8266 теперь загружается во флэш-режиме и запускает новую прошивку.

Теперь можно проверить, работает ли программирование, загрузив скетч Blink.
С помощью скетча проверяются контакты GND, VCC, GPIO2, RST, TXD и RXD.

Прежде чем продолжить, он бы рекомендовал также проверить другие контакты с помощью мультиметра. Для этого нужно использовать этот скетч , который устанавливает все контакты в высокий уровень один за другим на 5 секунд, а затем переводит ESP8266 в глубокий сон на 20 секунд. Чтобы ESP8266 проснулся, необходимо подключить RST к GPIO16.


Шаг пятый: загрузка эскиза
Код можно скачать здесь .
В начале файла необходимо ввести некоторую информацию: имя и пароль используемой WLAN, данные статического IP -адреса, а также идентификатор канала и ключ API канала ThingSpeak.

Следуя совету в этом блоге , вместо DHCP, где маршрутизатор динамически назначает IP-адрес, нужно использовать статический IP-адрес. При такой настройке обмен данными намного быстрее и следовательно, мы экономим активное время и энергию аккумулятора. Поэтому мы должны установить доступный статический IP-адрес, а также IP-адрес маршрутизатора (шлюза), маску подсети и DNS-сервер. Если вы не знаете, что вводить, прочтите о настройке статического IP-адреса в руководстве к вашему роутеру. На компьютере с Windows, подключенном через Wi-Fi к вашему маршрутизатору, запустите оболочку ( кнопка Windows-r , cmd ) и введите ipconfig / all. Вы найдете большую часть необходимой информации в разделе Wi-Fi.

Вот основные особенности кода:
После пробуждения код устанавливает для switchPin (по умолчанию GPIO15) высокий уровень. Это действие включает транзистор, который, в свою очередь, включает датчик HC-SR04-P. Перед тем, как погрузиться в глубокий сон, он снова устанавливает на контакте низкий уровень, выключая транзистор и HC-SR04-P.

Если modePIN (по умолчанию GPIO14 ) низкий, код переходит в режим OTA вместо режима измерения. С помощью OTA (обновление по воздуху) мы можем обновлять прошивку через Wi-Fi, а не через последовательный порт. В данном случае это довольно удобно, так как не нужно подключать последовательный порт к USB-адаптеру. Просто установите GPIO14 на низкий уровень (с помощью переключателя OTA в электронной схеме), сбросьте ESP8266 (с помощью переключателя сброса).

На аналоговом PIN ( A0 ) измеряется напряжение АКБ. Это позволяет выключить устройство, если напряжение станет слишком низким и заменить батарею.

Измерение расстояния датчика HC-SR04-P выполняется в функции DistanceMeasurement. Для повышения точности измерение повторяется numMeasuresDistance (по умолчанию 3 раза).

Здесь есть функция для расчета скорости звука на основе измерений температуры, влажности и давления датчиком BME280. По умолчанию I2C адрес BME280 является 0x76, но если он не работает, потребуется изменить его на 0x77: BOOL bme280Started = bme280.begin (0x77);
Мастер будет использовать BME280 в принудительном режиме, что означает, что производится одно измерение и он снова переходит в спящий режим для экономии энергии.

Если пользователь устанавливаете емкость (л), полное расстояние (см) и площадь (м2), код вычисляет оставшийся объем резервуара по измеренному расстоянию: двойной оставшийся объем = емкость + 10,0 * (полное расстояние) * площадь; и загружает данные в Tоблако. Если вы сохраните значения по умолчанию, он загружает расстояние до поверхности воды в сантиметрах.

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

Для питания устройства используется напряжение от батареи (около 3,75 В) и 3,3 В, которые питают ESP8266 и BME280. Мастер спланировал 3,3 В на левую сторону платы, а 3,75 В на правую. Регулятор напряжения преобразует 3,75 В в 3,3 В. Он добавил конденсаторы 1 мкФ на вход и выход регулятора напряжения для повышения стабильности.

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

GPIO14 подключается к переключателю OTA. Замыкание переключателя подает сигнал ESP8266, что мы хотим запустить следующий режим в режиме OTA, то есть после того, как мы нажмем (закроем и откроем) переключатель RESET и загрузим новый скетч по беспроводной сети.
Контакты RST и GPIO2 подключаются, как показано на схеме программирования. Вывод RST теперь также подключен к GPIO16, чтобы позволить ESP8266 выйти из глубокого сна.

Контакты TRIG и ECHO ультразвукового датчика подключены к GPIO12 и GPIO13, а контакты SCL и SDA BME280 подключены к GPIO5 и GPIO4.
Наконец, аналоговый вывод АЦП через делитель напряжения подключен к входному напряжению. Это позволяет измерить входное напряжение для проверки заряда батарей. Вывод ADC может измерять напряжение от 0 до 1В. В качестве делителя напряжения мастер выбрал резисторы 100К и 470К.

Даже когда схема работает от батарей, можно подключить USB к последовательному адаптеру. Просто не забудьте отключить VCC адаптера и подключить GND, RX и TX, как показано на схеме программирования. Это позволяет открыть Serial Monitor в Arduino IDE, чтобы прочитать отладочные сообщения и убедиться, что все работает должным образом.

Для всей схемы потребление тока в режиме глубокого сна при работе от батарей 50 мкА.
Общее время активности составляет около 7 секунд, из которых 4,25 секунды для подключения к Wi-Fi и 1,25 секунды для отправки данных в облако. После ряда вычислений он пришел к результату, что аккумулятора 2600 мАч теоретически хватает на 12400 часов = 515 дней.

Источник

Читайте также:  Вода для запаха волос
Оцените статью