простейший датчик уровня воды
- Войдите на сайт для отправки комментариев
Добрый день форумчане!
возникла необходимость контролировать уровень жидкости в неком сосуде. Под рукой нет никаких специализированных средств (ни поплавков, ни геркона, ничего такого). нашел в инете несколько ссылок где измеряют уровень воды просто проводками подключенными к определенным портам ардуинки:
http://arduinoprom.ru/arduino/206-reguljator-urovnja-vody-v-bake.html (но тут нет скетча, человек пишет на FlProg)
https://arduinoplus.ru/kontroller-urovnya-vody-arduino/ (здесь скетч написан в Arduino IDE) Правда в примере в строках 3 и 4 пропущены "0".
int h = 4; //high indication int l = 3; //low indication int up = 0;//up value int down = 0 ; //down value int blin = 13; void setup() { pinMode(h, INPUT); pinMode(l, INPUT); pinMode(blin, OUTPUT); } void loop() { up = digitalRead(h); //initialization down = digitalRead(l); if(down == LOW && up == LOW){ digitalWrite(blin, HIGH); } else if(down == LOW){ digitalWrite(blin, LOW); } else if(up == HIGH && down == HIGH){ digitalWrite(blin, LOW); } }
Поключение приведено на рисунке:
Вроде скетч простой, но он почему то не работает. Реле либо вообще не реагирует на долив или отлив воды, либо трещит не переставая.
Подскажите это вообще рабочая схема и скетч? Вроде все логично и просто, но не работает.
Теоретически все правильно, но есть некоторые нюансы. При небольшой длине проводов датчиков (10-15 см) и высокой электропроводности жидкости все будет работать. Если увеличить длину проводов, то начнутся ложные срабатывания от сетевых наводок (отсюда и треск реле). Нужны как минимум фильтры на входах. Так-же следует учесть, что если используется внутренняя подтяжка, то проводимость жидкости должна быть очень высокой, иначе вряд-ли на входе будет логический "0" при контакте с жидкостью. К тому-же на Вашей схеме корпус резервуара не соединен с общим проводом ардуино, что тоже не позволит появиться логическому "0". Извиняюсь, по управлению "нулем" относится к схеме по певой ссылке. Но суть не меняется. Нужны фильтры и высокоомные резисторы подтяжки на питание в первом случае и на землю во втором.
С Ардуино в ёмкость Vin заведён? Чушь какая-то.
В резервуар заводить GND, на входы поддтяжку к VIN, соответственно при наличии воды (токопроводящей жидкости) на входе 0, при отсутствии на входе 1. И ставить таймеры или тригер между Мин / Макс для защиты от дребезга.
С Ардуино в ёмкость Vin заведён? Чушь какая-то. ++++++++
Как я понял этот вариант контроля уровня жидкости не подходит. В таком случае подскажите что можно сделать. Обычные поплавки или УЗК датчики не подходят, поскольку сосуд заполнен щебнем и песком, в который подается вода. И задача такая, что уровень жидкости должен быть на определенном уровне, но не должен подниматься выше соля песка и щебня. Что можено применить в этом случае?
1. Сливное отверстие сбоку.
И датчик что оттуда потекло.
Значит нужный уровень есть.
2. Как устроен водяной уровень представили?
И вот во второй его части, в которой нет вашего щебня, ставите поплавок.
Только внизу переток засоряться может, это проблема.
Pawka, давайте начнем с начала.
Наиболее распространенными являются, пожклуй, поплавковые датчики. Любая механическая система ненадежна по определению. А поплавки тем более склонны к заклиниванию, обрастанию всякой грязью, которая мешает движению проплавка и т.п. Тем не менее, они широко используются. Почему? Да потому, что все остальные способы еще более ненадежны.
Кроме того, Вы, судя по схеме, вообще проигнорировали какие-то внешние цепи и в качестве датчиков напрямую используете пины Ардуино.
В общем, если для Вас главное - простота, то о надежности можете забыть.
В качестве не очень простого, но более надежного решения могу посоветовать измерять уровень в трубе, которая сообщалась бы с основной емкостью, но в которой бы не было песка и щебня.
Что может быть в этой трубе - варианты различные: поплавок, оптический датчик, ультразвуковой датчик... Контакты рассматриваю как вещь довольно ненадежную и трудновоспроизводимую, т.к. работа датчика будет существенно завтисеть от химического состава воды, а он, в свою очередь, может серьезно зависеть, скажем, от времени года.
В любом случае, начинать следует с аппаратной части, а не с программной.
PS. Один из вариантов, возможно, бредовый: измерять вес емкости.
Pawka, давайте начнем с начала.
Наиболее распространенными являются, пожклуй, поплавковые датчики. Любая механическая система ненадежна по определению. А поплавки тем более склонны к заклиниванию, обрастанию всякой грязью, которая мешает движению проплавка и т.п. Тем не менее, они широко используются. Почему? Да потому, что все остальные способы еще более ненадежны.
Как я понял этот вариант контроля уровня жидкости не подходит. В таком случае подскажите что можно сделать. Обычные поплавки или УЗК датчики не подходят, поскольку сосуд заполнен щебнем и песком, в который подается вода. И задача такая, что уровень жидкости должен быть на определенном уровне, но не должен подниматься выше соля песка и щебня. Что можено применить в этом случае?
Если сосуд пластик, можно применить бесконтактный датчик XKC-Y25 или подобный.
Также можно поместить на требуемом уровне терморезистор и подогревая его, измерять сопротивление. При контакте с водой его температура и соответственно сопротивление резко изменятся.
Также можно поместить на требуемом уровне терморезистор и подогревая его, измерять сопротивление. При контакте с водой его температура и соответственно сопротивление резко изменятся.
Красивое решение.
Одним терморезистором, правда, не обойдешься, но все равно итнтересная идея - датчик на основе оценки теплопроводности окружающей среды.
Также можно поместить на требуемом уровне терморезистор и подогревая его, измерять сопротивление. При контакте с водой его температура и соответственно сопротивление резко изменятся.
Красивое решение.
Одним терморезистором, правда, не обойдешься, но все равно итнтересная идея - датчик на основе оценки теплопроводности окружающей среды.
Песок и щебень это "жесть" при измерении уровня воды, это уже что то близко по условиям к дешламаторам на ГОКах, и там нет нормальных отработанных промышленных решений, даже дорогих!!! Чет мне кажется что радиоизотопные или СВЧ датчики в данном случае не применимы :)
Помне так так только выводить измерительную трубку от бака, нужно учитывать что если она будет забиваться песком это даст инерцию. Щебень разнесет любую механику и порвет любые провода, а песок забьет любые подвижные части если погружать датчики в основной бак. И я поддерживаю высказанное здесь мнение что в данном случае сначала нужно отработать способ измерения, а уже потом програмировать и схемы рисовать.
- по температуре - хорошо зарекомендовал себя этот способ в промышленных решениях. Он добавит инерцию в общую цепь регулирования.
- кондуктометрический - будет самым дешевым, возможны сложности при настройке из за влажного песка который может оставаться между контактами. Развязка вопрос копеечного удорожания и желания делать это.
- по давлению - с учетом что в трубке все равно будет песок, датчик только с разделительной мембраной, да еще и крепкой. Учитавая песок, по мне так это будет проблемное и не самое дешевое решение. Нужно еще учитывать высоту столба жидкости. Я бы не стал связываться с этим решением на базе самодельных датчиков.
Думаю автору общими усилиями здесь дали достаточно пищи для размышления.
PS. Один из вариантов, возможно, бредовый: измерять вес емкости.
По мне так очень даже хороший вариант в данном случае.
Спасибо, всем откликнувшимся. Я понял, что не все так просто как кажется на первый взгляд. Буду думать!
Забыли про емкостной датчик. Суть проста - конденсатор между обкладками которого может быть вода. А может и не быть. При наличии воды емкость увеличивается за счет роста диэлектрической проницаемости среды между обкладок. У воды в 81 раз выше. Конструктив - две плоские обкладки хороше изолированые от воды на малом расстоянии друг от друга. Схема включения - одна обкладка на землю, вторая подключается к входу ардуино (я подключал коаксиалом длиной около 10см ) и через резистор к другому его выходу. Работаем так, переключаем уровень на выходе и измеряем время, через которое на входе произойдет изменение уровня. Величина этого времени зависит от емкости и значить от наличия воды между обкладками. По ходу работы такой датчик с обкладками со стороной в пару см отлично чувствовал не только дискретно наличие воды, но и изменение её уровня в пределах датчика. Недостатки обнаружились такие - величина емкости небольшая, чувствителен к емкости монтажа и окружающих предметов (потому и коаксиал), далеко от ардуины не вынесеш; между обкладками зазор делал 1-2мм и вода не вытекала из-за поверхностного натяжения, датчик начинал врать; требовательность к изоляции обкладок (покрывал эпоксидкой, но вода щель нашла что вконце и загубило опыт)
Также можно поместить на требуемом уровне терморезистор и подогревая его, измерять сопротивление. При контакте с водой его температура и соответственно сопротивление резко изменятся.
Красивое решение.
Одним терморезистором, правда, не обойдешься, но все равно итнтересная идея - датчик на основе оценки теплопроводности окружающей среды.
Помне так так только выводить измерительную трубку от бака, нужно учитывать что если она будет забиваться песком это даст инерцию. Щебень разнесет любую механику и порвет любые провода, а песок забьет любые подвижные части если погружать датчики в основной бак.
А зачем прямо в бак? Сообщающиеся сосуды и в спокойной обстановке меряем.
как такая вещь? вроде как миллионы говорят что довольно надежно
https://ita-group.ru/zapchasti-dlya-stiralnyh-mashin/pressostaty-stiralnoj-mashiny?gclid=Cj0KCQjw5-TXBRCHARIsANLixNxsMK-WxzreagVM1h2XIciv6tc9zkHIksn9DvyOBK4qJfbVY-ifo68aAh0KEALw_wcB
как такая вещь? вроде как миллионы говорят что довольно надежно
https://ita-group.ru/zapchasti-dlya-stiralnyh-mashin/pressostaty-stiralnoj-mashiny?gclid=Cj0KCQjw5-TXBRCHARIsANLixNxsMK-WxzreagVM1h2XIciv6tc9zkHIksn9DvyOBK4qJfbVY-ifo68aAh0KEALw_wcB
Для воды с мылом - да. Для воды с песком и щебнем - повятся сложности. Что там будет в воздушной камере и в трубке после некоторого времени эксплуатации?
Также можно поместить на требуемом уровне терморезистор и подогревая его, измерять сопротивление. При контакте с водой его температура и соответственно сопротивление резко изменятся.
Красивое решение.
Одним терморезистором, правда, не обойдешься, но все равно итнтересная идея - датчик на основе оценки теплопроводности окружающей среды.
Помне так так только выводить измерительную трубку от бака, нужно учитывать что если она будет забиваться песком это даст инерцию. Щебень разнесет любую механику и порвет любые провода, а песок забьет любые подвижные части если погружать датчики в основной бак.
А зачем прямо в бак? Сообщающиеся сосуды и в спокойной обстановке меряем.
при нормальной камере в трубке ничего небудет, камеру сделать 3-4 см в диаметре, думаю лишний песок сам осыпется, а камень не пролезет, а если там бетон то конечно не пройдет, да ТС вреде не говорил что у него там щебнемоечная машина
как такая вещь? вроде как миллионы говорят что довольно надежно
https://ita-group.ru/zapchasti-dlya-stiralnyh-mashin/pressostaty-stiralnoj-mashiny?gclid=Cj0KCQjw5-TXBRCHARIsANLixNxsMK-WxzreagVM1h2XIciv6tc9zkHIksn9DvyOBK4qJfbVY-ifo68aAh0KEALw_wcB
Для воды с мылом - да. Для воды с песком и щебнем - повятся сложности. Что там будет в воздушной камере и в трубке после некоторого времени эксплуатации?
Прессостат будет стабильно работать если идёт частое и полное опустошение системы
( слив ниже входного отверстия трубки)
и при кратковременной стабильности атмосферного давления и температуры.
На его диафрагму при метре напора воды будет 0.1 атмосферы.
И где там ТС нашел датчик на мойке щебня @_@ https://www.youtube.com/watch?v=lOfrtUeUug0
PS. Один из вариантов, возможно, бредовый: измерять вес емкости.
По мне так очень даже хороший вариант в данном случае.
Мало того, что нужно взвешивать многотонную железку в условиях вибрации (кстати, с какой точностью?), так еще и разобраться, какой будет уровень при 1 тонне щебня и 2 тоннах воды или при 2 тоннах щебня и 1 тонне воды.
По мне так очень даже хороший вариант в данном случае.
Мало того, что нужно взвешивать многотонную железку в условиях вибрации (кстати, с какой точностью?), так еще и разобраться, какой будет уровень при 1 тонне щебня и 2 тоннах воды или при 2 тоннах щебня и 1 тонне воды.
По мне так в данном случае восхитительных вариантов не может быть по определению. А еще учитывая что автоматизация затеялась на Ардуино чет мне кажется что данный узел будет "автоматизирован" оператором врукопашную :)