Автоматизация колодца

Pike

✩✩✩✩✩✩✩
11 Дек 2019
0
0
Суть задачи в принципе простая, но с некоторым потенциалом развития - нужно в любой момент времени определять объем воды в колодце, не заглядывая в него.
Данные измерений нужно записывать в таблицу/БД для того чтобы была возможность определять дебет колодца в различные сезоны (а он сильно меняется), чтобы можно было планировать такие водоемкие задачи, как заполнение бассейна, полив, заполнение хранилища воды и т.п.

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

Неочевидные особенности - для корректного определения объема воды нужно:
1) Определить уровень воды - это можно сделать например так: в любимую AlexGyver-ом полипропиленовую трубку поместить гроздь герконов на разной высоте, загерметизировать и припаять к проводкам например стандартной компьютерной витой пары. А вокруг трубки пустить кольцевой поплавок с магнитом - магнит замыкает геркон и это сигнал где находится уровень воды.
2) Определить уровень дна. Дело в том, что чаще всего колодцы делаются на плывуне. Плывун - существо нестабильное и может как заходить в колодец, так и (намного реже) уходить из него. То есть то, что в десятикольцовом колодце уровень воды на пятом кольце - это не значит, что там пять колец воды - пара колец может быть заполнена песком. Как определить уровень дна придумать никак не могу.
 
Изменено:

Pike

✩✩✩✩✩✩✩
11 Дек 2019
0
0
Соображения по датчику уровня воды - наверное более ардуиноориентированный вариант датчика такой - гроздь из N последовательно соединенных сопротивлений.
Один конец грозди соединен с 5В, другой - с землей. Точки соединения этих сопротивлений герконами соединены с проводом, который подсоединен к аналоговому входу ардуино. Вся эта гроздь герметизируется в ПП трубе, по которой перемещается поплавок с магнитом.

Уровень напряжения на этом общем для герконов проводе показывает уровень воды в колодце.

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

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

Вопрос - как можно осуществить это "поддергивание"?
 
Изменено:

Pike

✩✩✩✩✩✩✩
11 Дек 2019
0
0
Рассматривал такой вариант - есть несколько проблем, которые пока не знаю как решить:
1) В колодце высокая влажность - и поэтому конденсат быстро нарушает работу устройства.
2) Не очень хорошо ловится поверхность воды
3) Народ пробовал парктроники - тоже есть проблемы с ловлей поверхности воды.

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

Эдуард Анисимов

★★★★★★✩
23 Сен 2019
2,265
944
58
Марий-Эл
Я где то читал, что эти датчики можно покрыть лаком. Даже сами датчики. Они будут работоспособны. Я не проверял это утверждение, но может быть они правы.
Ультразвуковой датчик нужен без обвязки, что бы самому анализировать сигнал. По любому при выстреливании сигнала будет два эха, одно от поверхности, второе от дна. Они будут разной интенсивности. Их и нужно ловить. Не нужно зацикливаться на тех датчиках, которые продаются. Нужно создавать своё.
 

Pike

✩✩✩✩✩✩✩
11 Дек 2019
0
0
Буду думать/пробовать. Дед Мороз подарил сыну стартовый набор Ардуино с УЗ датчиком - будем пробовать.
 

Эдуард Анисимов

★★★★★★✩
23 Сен 2019
2,265
944
58
Марий-Эл
Буду думать/пробовать. Дед Мороз подарил сыну стартовый набор Ардуино с УЗ датчиком - будем пробовать.
Тот датчик, который идёт к Ардуинке, по моему не подойдёт. Нужен голый датчик и голый излучатель. Я в детстве для практически такой системы делал генератор для излучателя и усилитель для приёмника. Это делали на кафедре в институте для зондирования ледников. Но какой излучатель и приёмник у них были не знаю. Я делал устройство по заданным параметрам.
Не знаю точно, как устроены датчики парковщика, но может на них что то получится. После праздников попробую купить. Посмотрим, что за зверь.
 

Pike

✩✩✩✩✩✩✩
11 Дек 2019
0
0
Нашел у AlexGyver вот такой вариант:

Если кнопки заменить на герконы, то гирлянду сопротивлений/герконов герметизируем в ПП трубе. Возникает вопрос - при перемещении магнита в поплавке снаружи трубы возможны варианты:
1. Не замкнут ни один геркон (этого конструктивно нужно избежать)
2. Замкнут один геркон- это значит, что уровень воды находится в районе этого геркона - тут схема отработает как надо
3. Замкнуты два соседних геркона - это значит, что уровень воды находится между этими герконами, а вот как схема отработает одновременное "нажатие" двух кнопок мне непонятно. Кто-нибудь знает ответ?
 

Старик Похабыч

★★★★★★★
14 Авг 2019
4,159
1,267
Москва
1)п. не нужно этого избегать, Какой может быть перепад уровня воды в колодце ? И если он достаточно большой, то сколько этих датчиков тебе надо будет ставить ? Теоретически эта схема дает возможность поставить достаточно большое кол-во герконов на 1 пин, но там уже идет точность определения датчика. на сколько хватит шима. Но это мелочь. допустим у тебя метровая трубка с 11 ю датчиками (через каждый 10 см). 0 - датчик самый низкий - воды либо минимум либо вообще нет, 10 - самый высокий, полный колодец или с горкой.
Тогда опуская трубку при включенном приборе (обязательно) имеем сначала уровень 0- минимально или пусто.
Постепенно опуская поплавок будет проходить через датчики последовательно. так что если запоминать 2 последних датчика, то будет понятно где находится поплавок однозначно. При прохождении датчика сменяются запоминалки
изначально 0-0
0-предоследний 1- последний. дальше опускаем трубу (ну или вода прибывает)
1-предоследний 2- последний
2-предоследний 3- последний видим, что идет тенденция на повышение, последний пройденый датчик 3-, отсюда получаем уровень между 3 и 4.
если теперь опускать вниз, то будет
3-2 или 3-3.
3-2 точно указывает, что уровнь ниже 2-го датчика, а 3-3 говорит о том, что сменилось направление изменения воды и поплавок ниже 3-го датчика
 

Pike

✩✩✩✩✩✩✩
11 Дек 2019
0
0
Здесь не чат. Сообщения можно редактировать
Ну да, запоминая предыдущее состояние - это решаемо. А что будет если сбойнет питание или ардуинка от помех перезагрузится? Если поплавок между герконами, то, пока хоть один не сработает, система не будет знать где в данный момент уровень?

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

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

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

Старик Похабыч

★★★★★★★
14 Авг 2019
4,159
1,267
Москва
Все будет зависеть от необходимой точности определения положения воды. Но как сам видишь куча ограничений возникает. 1) можно просто считать уровнем воды уровень последнего замыкания системы. Самыми важными будут верхний и нижний уровни, даже я бы сказал нижний, опасность остаться без воды. Там надо использовать увеличенное кол-во герконов.
давай думать что можно сделать при сбое питания. самое простое , что приходит в голову - при прохождении в датчиков записывать их в память, можно поставить внешнюю еепром, можно на сд-карту. При подаче питания считать показания. но это поможет при быстрой перезагрузке, где нет фиксируемого изменения уровня воды. Для начала неплохо.
Что делать если уровень изменился сильно ? В таком варианте я даже не знаю. Ну извернуться можно по разному. Как один из абсурдных вариантов: в колодце диаметром 1 м 10 см будет около 80 литров воды, можно при подаче выкачать в слив до 100 литров воды , окончанием будет срабатывание любого датчика. Если уровень очень низкий, то должен вырубиться насос и по тайм-ауту считать что воды минимум или ниже
А вот если высокий.. то сливать может придется очень много.
Тогда вопрос : не проще ли сменить систему получения уровня ? например прямая пвх трубка с плавающим внутри пинпоговым шариком, а сверху любой расстоянеемер ?
 

Pike

✩✩✩✩✩✩✩
11 Дек 2019
0
0
skip
Тогда вопрос : не проще ли сменить систему получения уровня ? например прямая пвх трубка с плавающим внутри пинпоговым шариком, а сверху любой расстоянеемер ?
А расстояниемер не будет реагировать на стенки пвх трубки? Я почитал про разные ультразвуковые расстояниемеры - для данной задачи у них у всех (и ардуиновских и парктроников) широкий угол обзора и поэтому в условиях колодца цепляет стенки, провода, насос и т.п. А лазерный и дешевый (идеальный бы вариант для трубки с шариком) я не нашел.
 

Старик Похабыч

★★★★★★★
14 Авг 2019
4,159
1,267
Москва
Не исключено что будет.. надо проверять, искать.. Я накидываю варианты.
Можно делать еще сложнее, например RFID метки вешать, а читалку дергать вдоль них, тогда будет однозначность.
но тогда провод может застрять.
Если двигать энергонезависимую метку, то надо кучу считывателей и каждый обрабатывать.. тот еще варинат.

Можно делать комбинацию герконов.. по расстоянию. Например по 4 штуки 0-0-0-0, и на ответной части 4 магнита. если зажглись все, то полное совпадение. метка такая то. если совпали 3 из 4-х, то такая то метка, если 3 других из 4 то следующая.

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

Вложения

Marik

✩✩✩✩✩✩✩
11 Ноя 2019
29
4
Предложу и свою идею. использовать
погружной гидростатический датчик уровня (давления столба жидкости)
только цены на них "кусаются" предлагаю использовать датчик аналогичный датчику уровня воды в стиральных машинах только на другой придел давления, эти датчики имеют две камеры "плюсовая" и "минусовая", обычно минусовая соединяется с атмосферой а в плюсовую подается давления. Идея такая: в плюсовую камеру набираем масло или спирт и заклеиваем (с как можно меньшим давлением и отсутствием воздуха) , на минусовой отвод одеваем длинную трубочку например капельницу выводим провода и ВЕСЬ датчик герметизируем от воды (например заматываем в полиэтилен потом заливаем "бетоном" или др. ) получаем устройство с тоненькой трубочкой и проводами, опускаем это в колодец, чтобы трубочка минусовой камеры ВСЕГДА соединялась с атмосферой и была на одном уровне относительно уровня земли . давление в плюсовой камере на дне колодца будет больше атмосферного пропорционально уровню воды (столб воды) и глубины опускания устройства, так как устройство лежит на дне и не изменяется, сигнал с датчика это и есть столб воды (уровень).
 

kalobyte

★★★✩✩✩✩
1 Янв 2020
726
146
на днях пришел модуль на 16 сенсорных кнопок с и2ц шиной за 1.5 бакса
можно взять палку, наклеить квадратики фольги, все загерметизировать и заэкранировать и будет емкостной датчик на 16 положений
надо еще больше - берем вторую мелкасхему, меняем адрес и готово

правда как и остальные датчики - надо тестировать и на мелкасхеме подбирать конденсаторы и читать даташит

есть бесконтактные емкостные датчики по 4 бакса за штуку, можно на палку их прилепить и подключить к расширителю портов или к регистрам ак тут https://www.arduino.cc/en/tutorial/ShiftIn
 

Старик Похабыч

★★★★★★★
14 Авг 2019
4,159
1,267
Москва
на мысль навел Marik. А ведь есть тензорные датчики, можно же и их использовать, поместив его герметично на дно колодца, а вода пусть давит.. может получиться
 

Pike

✩✩✩✩✩✩✩
11 Дек 2019
0
0
Спасибо за участие - читаю вас и мысль подталкивается :).
Показалось интересным измерение уровня гидростатическим датчиком уровня жидкости - их есть и много, но вот для Ардуино я такого не нашел.
Зато нашел для Ардуино датчик давления воздуха.
Если такой датчик поместить в перевернутую стеклянную бутылку и притопить грузом бутылку на дно колодца, то давление воздуха в бутылке будет равно давлению воды у дна колодца, а оно пропорционально уровню воды в колодце.

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

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

Старик Похабыч

★★★★★★★
14 Авг 2019
4,159
1,267
Москва
Вода имеет свойство растворять в себе воздух, рано или поздно воздуха в банке не будет. Гибкая мембрана на горлышке банке (да хоть из резинового .. шарика) уменьшит это время.
 

Pike

✩✩✩✩✩✩✩
11 Дек 2019
0
0
Тогда, наверное презерватив в качестве гибкой мембраны совсем решит проблему? :)
И ни трубка не нужна, ни масло.

Сегодня дома попробую сделать макет датчика с бутылкой и презервативом и проверю в бассейне (там 3 метра глубины) как работает :)
 

Pike

✩✩✩✩✩✩✩
11 Дек 2019
0
0
Можно еще проще - вместо стеклянной (недеформируемой) нужна легкодеформируемая пластиковая бутылка - она сама будет играть роль гибкой мембраны. И, наверное нужен еще один датчик давления, который будет мерять атмосферное давление, чтобы учитывать его изменения (хотя тут важно в каких пределах изменения атмосферного давления влияют в данной схеме на измерение уровня - если в пределах нескольких миллиметров, то мерять давление воздуха и смысла не имеет
 

Pike

✩✩✩✩✩✩✩
11 Дек 2019
0
0
У меня пока облом - датчики, которые я нашел меряют от 300гПа до 1100гПа (от 0.3 атм до 1.086 атм) а три метра воды дают ~0.3 атм - не вписываюсь по верхнему пределу. Нужно либо другой датчик искать, либо делать предварительное разряжение в бутылке и потом калибровать.

У сына есть набор Ардуино - нужно попробовать будет ли в бутылке держаться предварительное разрежение.

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