В гостях у Самоделкина! » С сайтов » Спец » Система контроля уровня воды

Система контроля уровня воды


В этой статье мастер-самодельщик расскажет нам, как сделать систему мониторинга и управления уровнем воды в емкости. Это простая и надежная система.

Её ключевые особенности следующие:
Мониторинг уровня воды в реальном времени.
Автоматическое включение / выключение насоса.
Аварийное выключение насоса.

Инструменты и материалы:
-Arduino Pro mini;
-Ультразвуковой датчик HC-SR04;
-Модуль MAX485;
-ЖК-модуль i2c;
-ЖК-дисплей 1602;
- Микроконтроллер ATTINY45 / 85;
-Регулятор напряжения LM7805;
-NPN-транзистор (2n3904);
-N-канальный МОП-транзистор IRFD024PBF;
-Диод 1N4007;
-5-контактный разъем;
-4-контактный разъем;
-2-контактный разъем;
-Клеммы с 2 контактами (синие) - 2 шт;
-Клемма с 2 контактами (зеленая);
-Гнездо постоянного тока (- 2 шт
-Аудио разъем (папа/мама) - 2 шт;
-Резистор 1 кОм;
-Резистор 10 кОм - 3 шт;
-Конденсатор 100 нФ - 3 шт;
-Конденсатор 100 мкФ;
- Кнопка SMD,6x3.5mm;
-DIP-переключатели (SPST 2) - 2 шт;
-Кнопка включения;
-Тумблер;
-Реле 12 В постоянного тока;
-Релейный контактор;
-Блок питания постоянного тока 5 В (> 200 мА);
-Блок питания постоянного тока 12 В (> 500 мА);
-Коробки для корпуса подходящего размера;
-Крепеж;
-Паяльные принадлежности;
-Отвертка;
-Провода;




Система контроля уровня воды







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

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

Прорежьте отверстия и горячим клеем закрепите датчик на месте.





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



Блок датчиков использует ATTINY45 в качестве основного микроконтроллера. Как упоминалось ранее, для измерения уровня воды используется HC-SR04. Он работает путем измерения расстояния от верхней части бака.

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

Сначала мастер хотел отправить данные через радиочастотные модули HC-12. Но диапазон этих модулей не соответствует запросам. Мастер использовал преобразователь MAX485 TTL в RS485 и сделал небольшую переходную плату, чтобы установить ее вместо модулей HC-12.
Схему и ссылку на плату можно скачать по этому адресу.
Монтаж осуществляется следующим образом:
HC-SR04 к главной цепи:
Vcc - 5 В (CN1).
trig - trigPin (CN1).
echo - echoPin (CN1).
Gnd - GND (CN1).

Болты М3 к главной цепи:
Болт 1 - 5 В (CN1).
Болт 2 - 100 (CN1).

Модуль MAX485 (TX):
VCC - 5 В (разъем HC-12)
А - 1/4-дюймовый аудиоразъем.
B - 1/4-дюймовый аудиоразъем.
GND - GND (разъем HC-12)
R0 - RX (разъем HC-12)
RE - VCC (MAX485) или 5V.
DE - RE (сокращенно RE и DE).
DI - TX (разъем HC-12).

Гнездо постоянного тока (разъем P1):
Tip - 5V
Sleeve - GND




















Шаг второй: контроллер
Работа контроллера проста. Arduino используется в качестве основного контроллера. Он получает данные датчика, отправленные с платы передатчика через модуль max485. Он имеет 1602 ЖК-дисплея, который отображает текущий уровень воды и работу насоса. Он использует реле 12 В в качестве переключателя для включения релейного контактора. Он имеет два переключателя, один для подсветки ЖК-дисплея и еще один для аварийного включения / выключения насоса.

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

ЖК-модуль i2c напрямую припаивается к 1602 LCD. Перемычка подсветки на модуле i2c подключена к тумблеру для включения / выключения. Аварийная кнопка (большая) подключается к главной цепи через разъем P4.
ЖК-модуль i2c к главной цепи (CN4):
GND - CN4-1 (GND1).
VCC - CN4-2 (5V).
SCL - CN4-3 (А5).
SDA - CN4-4(A4).

Соединения релейных контакторов:
A1 - 230 VAC1 (ноль).
A2 - NO (контакт реле).
S1 - 230 VAC1 (ноль).
S2 - 230 VAC2 (фаза)
L1 - Провод двигателя насоса 1
L2 - Провод двигателя насоса 2.
Подключите контакт COM реле к 230 VAC2 (линия).










Шаг третий: программное обеспечение и программирование
Теперь нужно запрограммировать контроллеры на обеих устройствах.

Для загрузки кода на ATTINY45 загружает библиотеку «SoftwareSerial.h».
В функции Loop,
> Сначала проверяется, заполнен бак или нет.
> Если он полон, он отправляет "255" .
> Если он не заполнен, он проверяет уровень воды с помощью ультразвукового датчика звука и передает данные через последовательную связь.
Эта программа использует подфункцию getwtrLvl () для получения текущего уровня воды. Сначала она измеряет время, необходимое датчику для передачи и приема ультразвуковых волн. Затем время преобразуется в расстояние, используя скорость звука.
dist = pulseIn (echoPin, HIGH); // время, затраченное звуковой волной.
dist = dist / 28/2; // переводим время в расстояние в см
dist = dist * 1.25; // здесь 1.25 - поправочный коэффициент для преодоления ошибки измерения
вернуть dist; // возвращает расстояние до вызывающей функции
Теперь для Ардуино.
В функции Loop:
> Сначала проверяется, нажата ли аварийная кнопка или нет.
> Проверка датчика. Часть программы проверяет ошибку датчика. т. е. если полученные данные недействительны (<= 1) 5 раз, тогда на дисплее отображается ошибка датчика и насос отключается.
> Следующая часть отображает текущий уровень воды и дает команду для насоса 1, если уровень воды маленький, или 0, если он равен 100% (полный).
Эта программа использует две подфункции updtMotor () и getWaterLvl (). Функция updtMotor () показывает работу насоса на ЖК-дисплее, а также подает сигнал на реле.
Функция getWaterLvl сначала проверяет, есть ли какая-либо ошибка соединения. Если связь между передатчиком и приемником не установлена в течение времени ожидания (3000 мс). Она показывает ошибку датчика и выключает насос.
Когда соединение восстанавливается, работа возобновляется.










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

Источник
Становитесь автором сайта, публикуйте собственные статьи, описания самоделок с оплатой за текст. Подробнее здесь.
0
Идея
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
0
Описание
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
0
Исполнение
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
Итоговая оценка: 0.0 из 10 (голосов: 0 / История оценок)

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

    • smilesmilesxaxaokdontknowyahoonea
      bossscratchfoolyesyes-yesaggressivesecret
      sorrydancedance2dance3pardonhelpdrinks
      stopfriendsgoodgoodgoodwhistleswoontongue
      smokeclappingcraydeclarederisivedon-t_mentiondownload
      heatirefullaugh1mdameetingmoskingnegative
      not_ipopcornpunishreadscarescaressearch
      tauntthank_youthisto_clueumnikacuteagree
      badbeeeblack_eyeblum3blushboastboredom
      censoredpleasantrysecret2threatenvictoryyusun_bespectacled
      shokrespektlolprevedwelcomekrutoyya_za
      ya_dobryihelperne_huliganne_othodifludbanclose
15 комментариев
  1. Korolev
    Вставьте длинные болты M3
    Думается ржавеющие болты не самое лучшее решение для электродов, тем более
    с проволочной клеммой, зажатой между двумя шайбами
    nea
  2. Иван_Похмельев
    Судя по всему, болты предназначены для аварийного срабатывания при отказе УЗ-датчика. Подключены они неверно: база транзистора болтается "в воздухе". ((
    Для уменьшения воздействия испарения воды необходимо обеспечить уплотнение ввода болтов и отверстий вокруг УЗ-датчика. Да, как было уже сказано выше, болты лучше заменить на стержни из нержавейки или сделать из неё любым другим способом чувствительную часть (наконечники).
    1. Korolev
      Иван_Похмельев
      болты лучше заменить на стержни из нержавейки или сделать из неё любым другим способом чувствительную часть (наконечники).
      Токи там совсем мизерные, поэтому малейшая плёночка окисла, в том числе и в точке подключения провода, может привести к несработке аварийной системы.
      1. Иван_Похмельев
        Пол сравнению с сопротивлением пресной воды (сотни килоом) даже несколько килоом дополнительного сопротивления роли не играют. Ток через электроды будет порядка 5 мкА, в принципе, должно хватить для пробоя окислов. Чтобы уменьшить корродирующее влияние испарения воды внутри коробки как раз и надо загерметизировать вводы в коробку датчиков.
        1. Korolev
          Пол сравнению с сопротивлением пресной воды (сотни килоом)
          Возможно я и ошибаюсь, но:
          Удельное сопротивление воды разных источников (скважина, водоем, колодец) может существенно отличаться. Вода одного источника в различные периоды года нередко имеет разные значения удельного сопротивления. Диапазон значений удельного сопротивления воды разных источников по литературным данным составляет от 10 Ом·м до 100 Ом·м.
          Для разных времен года и географических зон удельное электрическое сопротивление воды различно и колеблется от 5 до 300 Ом*м.
          Дистиллиро́ванная вода́ — 5·10−4 См/м[2](соответствует удельному электрическому сопротивлению 2 кОм⋅м)
      2. R555
        Согласен в плане того, что при малых токах плёнка окисла может нарушить работу устройства. Буквально на днях дважды! столкнулся с этим эффектом. Менял сетевые выключатели. Один в старом светильнике, другой в усилке Radiotehnika У-101. И когда ставил "новые", в смысле не паяные, но выпущенные лет 10 назад, прозванивал мультиметром перед заменой. И прибор показывал при замкнутых контактах выключателей где-то 50...90 Ом, ну типа, плохие переключатели. Но я смело установил их, зная про этот нюанс. Разумеется, всё заработало без проблем. 220 прошило на хрен все окислы на контактах.

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

        Кабы не пришлось в этом датчике делать контакты даже не из нержавейки, а из МПГ (металлы платиновой группы). xaxa

        Слушайте! А у меня родилась идея. Вон у меня под столом валяется какой-то прибор, а там вижу 2 реле, РКМ или как их там. И у них длиннющие контакты с нашлёпками. И я помню, что там и платина и палладий. С одного такого реле контактов наберётся на 2 или 4 датчика! Как вам идейка? boss
        Кто не ошибается, тот не делает ничего.
        1. R555
          Да, я не ошибся визуально. Под столом у меня валялся блок с 2 реле РКМ-1. Нашлёпки на контактах сплав ПлИ-10, поняли, нет?
          Ещё нашёл у себя плиту, по другому не назовёшь, из дюраля, а на ней десятки РЭС-22. В них, насколько я помню, тоже путёвые контакты, правда они покороче, чем у РКМ.

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

          А реле такие и сейчас можно найти, барыги не всё скупили, до сих пор не могут скупить, что наклепал СССР.

          Афтар, с тебя магар, за мою идею, заменить болты на контакты совдеповского реле. xaxa drinks
          Кто не ошибается, тот не делает ничего.
        2. pogranec Автор
          Афтар, с тебя магар, за мою идею, заменить болты на контакты совдеповского реле.
          -где ж он в штатах советское реле возьмет?-))))
        3. Korolev
          R555
          получаем устройство высочайшей надёжности
          Недавно ремонтировал товарищу систему водоочистки в бассейне. Геркон в пробирке, кольцевой магнит на мелкопористом пенопласте, и никаких ARDUIN-ов! boss boss
        4. ino53
          Работал на одном заводе с названием, оканчивающимся на "сельмаш". Окрасочная камера, небольшая емкость для краски, из сварной трубы диам. примерно 200...250 мм, высотой 1200...1500. Делали сами цеховые, по своему же рацпредложению. Заправка и отбор краски снизу, внутри поплавок из пенопласта с "шестом" вверх посередине, проходящим через дырку (пардон, отверстие) в верхней крышке. Индикатор уровня - верх шеста, прямо на стене нарисовали метки. Короче, через пару-тройку месяцев при заправке краска хлынула через ту дырку - поплавок так напитался краской, что отказался всплывать smiles smile
        5. pogranec Автор
          "сельмаш"
          -Ростсельмаш
        6. ino53
          Лидсельмаш
        7. Олег Бородинов
          Так надо было поплавок чаще менять и назначать ответственного за обслуживание данной установки.
  3. Nruter
    Сколько сложностей чтобы просто регулировать уровень воды. Для этого промышленность выпускает кучу приборов - РОС-301, БСУ-3, АДУ и т.п. А всего достаточно двух реле - одно на регулировку, второе аварийное.
    Автор, видимо, не знает, что такое бритва Оккама.
  4. Олег Бородинов
    Проще купить электронный сигнализатор уровня типа "Овен" около 4 тысяч рублей, на гарантии,безопасно. А тут деталей одних, без работы, на 6 тысяч да плюс работа с плясками и бубном на столько же потянет. Ну если денег не жалко, то конечно можно потешить свой воспалённый мозг.

Привет, Гость!


Зарегистрируйтесь

Или войдите на сайт, если уже зарегистрированы...

Войти

Добавьте самоделку

Добавьте тему

Онлайн чат

Опрос
А Вы уже рассказали на сайте о своей самоделке?

Последние комментарии

Все комментарии
Новые самоделки на почту

Введите электронную почту и получайте письма с новыми самоделками. Не более одного письма в день.