Умный водопровод
Дата: 28 Июня 2015. Автор: Алексей
Наконец-то я закончил собирать узел водоснабжения дачи. Все началось с того что ночью отключили воду в магистрале, а кто-то не закрыл вечером плотно кран. Ночью давление упало, а насосная станция без воды чуть не сгорела. Молотила пока не разбудила меня и я ее не отключил от сети. После этого случая я решил зморочиться вопросом отслеживания наличия воды на всасе. Долго думать не пришлось. Решил вопрос просто. Купил бочку на 60 литров для пищевых продуктов и воткнул в нее сверху трубу из магистрали, а снизу просверлил отверстие и подключил на всас насосной станции. Получилось здорово, я еще параллельно избавился от завоздушивания системы, так как у нас из магистрали прет много воздуха. Но вот не задача, а как контролировать наполнение воды в бочке. А что будет если опять отрубят воду. В общем родился следующий проект:
Вода в бочке набирается по умолчанию из магистрали. Если в магистрале нет воды, то бочка наполняется из колодца. В колодце плавает дренажный насос. Насосом управляет силовое реле. Так же ведется контроль давления в системе по средством датчика давления от ВАЗ-2103 (на прибор). Я к стати для этого датчика написал библиотеку и скоро ее выложу.
Теперь алгоритм. Модуль управления смотрит на датчик воды в бочке и анализирует ее количество. Бочка разделена на так называемые уровни. Первый уровень самый низкий идет как 25% и заполняет бочку на 1/4. При этом уровне модуль отключает питание насосной станции и отрывает клапан магистрали. В помощь макистрале для более быстрого заполнения, модуль включает насос в колодце. Как только вода дошла до второго уровня, модуль включает насосную станцию и отключает насос колодца и дает возможность налить воду из магистрали. Так же модуль увеличивает счетчик попыток заполнить бочку из магистрали. Данный счетчик будет щелкать только при прохождении границы между первым уровнем и вторым. В чем задумка. Каждый раз когда вода переходит из нижнего уровня во второй, модуль отключает насос колодца надеясь на то, что в магистрале есть вода и бочка наполнится, а вот если воды нет, то подкачивая каждый раз от первого уровня до второго, насос колодца сделает 5 попыток и на шестой просто поймет что в магистрале воды нет и нальет воду из колодца до конца. Если с водой все в порядке, то макистраль заполнит бочку до третьего уровня, а затем до четвертого и закроет магистраль. При этом так же сбросится счетчик наполнений, ведь магистраль наполнила бочку. Бочка полная и насосной станции обезвоживание не грозит. Дальше насосная станция поднимает давление по мере необходимости выкачивая воду из бочки. Как только вода опустится до второго уровня, открывается клапан магистрали для наполнения водой. Вроде бы и все, да вот какая грабля подвернулась. Насосной станции уже почти 10 лет и она решила взбрыкнуть. Короче перестал отрабатывать датчик давления по верхней границе и насосная станция давила что есть сил. Подстава. Позвонил в сервисный центр, сказали что модуль управления с заменой встанет фактически по цене новой насосной станции. Не, я так просто не сдамся. В конце концов если на замену насосную, то почему бы и не разобрать и не попробовать самому отремонтировать. Разобрал, посмотрел и нашел косяк. Внутри реле, для связи воды с механикой, установлена мембрана с толкателем. Так вот эта мембрана от времени растянулась и ее уже не хватало для преодоления усилия пружины. Не долго думая я просто перевернул мембрану, как многие советовали на форумах и собрал. Включил. Работает, отрубается как надо. Замечательно. Уехал в город. Через три дня отец звонит и говорит что насосная станция шпарит без остановки и жмет изо всех сил. Блин, опять та же фигня. На выходных я уже не стал разбирать, а просто начал регулировочными гайками выставлять нижний и верхний пределы давления и для уверенности добавил в программу проверку на конечные величина. Теперь если давление превысит 3 атмосферы, то не зависимо что там с механическим реле, программа отрубит питание насосной станции и будет ждать падения давления до 1,5 атмосфер. Собственно получилась дублирующая система, которая перехватывает инициативу, когда механика не справляется. Кажись все. Зы. Вечером пошел душ принять и поймал еще одну граблю. Завис контроллер датчика уровня воды и выдовал постоянно 75% заполнения бочки. Ну естественно модуль управления думая что воды хватает особо и не чухался, а я в душе, вода водопадом. Короче насосная высосала всю воду и стала плеваться воздухом вперемешку с водой. Хорошо, решаем эту проблему. В контроллере датчика уровня запустил часовую собаку и при зависании та рестартует МК. Со стороны модуля управления добавил контроль минимального давления в 0,7 атмосфер. То есть еслти давление упало ниже 0,7 атмосфер, значит воды нет и нечем поднимать давление, отключаем питание насосной станции. Вроде бы все хорошо, но есть еще одна огромедная грабля, на которую я наступил сразу. В первом варианте я питание насосной станции посадил на РПЛ-131 на НЗ контакт и при необходимости отрубить питание насосной станции я просто хотел подтягивать реле. Обмотка реле рассчитана на 220 переменки. Хорошо, у меня же есть блок реле. Но вот засада, как только отрабатывало реле, МК просто сходил с ума, а на экране появлялось полная бессмыслица. Электро-магнитные помехи мать их за ногу. Не буду расписывать как я с этим боролся, расскажу лишь результат. Модуль управления был переделан и на его плате установлены 5 вольтные реле. Сам модуль установлен в железный шкаф, последний жестко заземлен. Реле коммутируют только 12 вольт. В них входит клапан магистрали, подсветка бочки и линии управления силовыми реле. Еще я был сильно удивлен тем что в паспорте на насосную станцию было написано предупреждение о сильных электро-магнитных помехах и запрет на эксплуатацию людям с кардиостимуляторами. Ну подумав что все так жестко я съездил в магазин и купил 20 метром металлорукова в ПВХ оплетке, этакий гламурный душевой шланг. Загнал в него линию питания насосной станции, а в другой рукав загнал UTP для снятия информации с датчика уровня воды. Все это дело заземлил и вывел наружу всю силовую часть. Вот только после таких процедур все заработало без сбоев.
С теорией закончили, переходим к железу. Датчик уровня воды. Первой мыслью были герконы, но вспомнив о вечно сломанных датчиках уровня тосола в девятке я отмел ее сразу. Второй идеей были электроды с транзисторными ключами. Чем эта тема закончилась, я писал здесь и повторять не буду. Третий вариант сулил конец моим мучениям и я прикупил себе УЗ дальномер для Arduino. Все бы было хорошо, но эта падла наевшись конденсата сходила с ума. Дальше я пытался заменить УЗ головки на герметичные, но они не работали вообще. Потом я вычитал в документации что герметичные УЗ головки работают от 30 см и отмел этот датчик в утиль. Герконы подмигнули мне в магазине и я купил 6 штук. И так датчик уровня все таки стал герконовым. Чертеж я давать не буду, так как я головку для мозгов точил на токарном станке из дюрали, благо есть станок, а вот схему расскажу. 4 геркона спаиваются одним концом друг к другу и выводятся одним проводом. Вторые концы выводятся отдельными проводами и обязательно помечаются кто есть кто. Далее берется термоусадка по длине равной глубине бочки и усаживается на герконы. Затем поверх еще одна термоусадка. Получится эдакий хлыст с пучком проводов. В строительном магазине нужно купить 10 мм дюралевую трубку. Отрезать ее по длине равной глубине бочки плюс 15 см. С одной стороны нарезается резьба М10х1.0 длиной 3 см, а с другой М10х1.0 длинной 20 см. Далее нужно найти какой нибудь кусок пластика диаметром больше 15 мм. Я взял кусок капролона диаметром 30 мм и просверлить в нем отверстие 9 мм не до конца. Затем нарезал резьбу М10х1.0. Это будет пробка для герметизации. С учетом того что капролон все таки промокает, я залил отверстие трубы клеем "Момент". Поплавок. Для изготавления поплавка я взял коробку от CD балванок на 10 штук (Обязательно ту которая закручивается по резьбе, а не тремя зазубринами). Берем черное дно и срезаем самый кончик палки на которую нанизываются диски. Эта палка должна превратиться в трубку. Ее внутренний диаметр как раз идеально подходит для 10 мм трубки. В прозрачной крвшке точно по центру просверливаем отверстие по диаметру штыря на дне коробки. Магнит. Ищем старый системный блок от ПК. Винимаем из его недр динамик, тот что пищит пи загрузке компа. Варварски потрашим его при этом не раскалывая магнита. В принципе магнит там приклеен на чахлый клей и его можно аккуратно оторвать ножом. Далее отскабливаем остатки клея от магнита и почистив его нанизываем на штырь вместо CD дисков. После обильно смазываем "Моментом" резьбу и закручиваем крышку. Так же не забываем смазать клеем верхушку. После высыхания получится шикарный поплавок. Теперь осталось его на низать на трубку с герконами. Для крепления к крышке бочки, нужно купить в магазине запчастей две медные гайки М10х1.0 и зажать ими трубку в крышке. За счет того что верхняя резьба была нарезана довольно длинная, можно отрегулировать высоту датчика. Головка. Я ее точил из дюрали на токарном станке. Если у вас нет токарного станка, что скорее всего так и есть, то можно купить в радиомагазине алюминиевую коробку и так же двумя гайками закрепить ее. Почему я предлагаю именно алюминиевую. Да потому что ее нужно будет обязательно заземлить. Ну а плату развести даю волю вам. Вот лишь моя схема. Исходник будет лежать в конце статьи. Единственное что я бы сделал, так это схему собрал бы не на МК, а на обычной логике. Но с учетом того что места в головке хватает на одну микросхему, я поставил ATtiny2313.
Я в датчик закладывал 6 герконов с надеждой передачи данных по RS-485 интерфейсу, но потом передумал и передаю лишь показание 4 датчиков значениями 0, 1, 2 и 3. То есть на линиях "Датчик 0" и Датчик 1" передаются номера герконов. Питание датчика идет по одной из пар сетевого кабеля UTP. Сам кабель проложен в металлорукрве, который заземлен.
Датчик уровня воды подводка.
Датчик уровня воды. Вид.
Светодиоды вокруг это для подсветки бочки. Так легче смотреть уровень воды.
Прокладка кабеля до модуля управления.
Модуль управления. Эту штуку я решил сделать в корпусе под DIN рейку.
Схема модуля управления.
Плата модуля управления. Расположение выводов.
Плата модуля управления. Внешний вид.
Так же на модуле управления установлены две кнопки, желтая и зеленая. Желтая пробуждает дисплей от спячки, а зеленая включает/выключает подсветку бочки. Программно просто замыкает/размыкает 6 реле. На схеме есть еще 4 кнопки, но из-за геометрии корпуса я их не выводил. ЖК дисплей с кнопками выведены на отдельную плату и соединены плоским шлейфом на 10 проводов. Разъем для подключения дисплея находится справа на плате. Слева внизу это разъем ISP для программирования МК. Один нюанс. Обязательно отключите JTAG. Он будет мешать.
Плата ЖК дисплея.
Управление клапаном заведено на реле 3. Так как клапан работает от 12 вольт, то он не мешает модулю и не сносит ему голову. А вот управление насосами необходимо развести. Поэтому реле 1 и 2 управляют силовыми реле, а те в свою очередь управляют насосами. Реле 1 управляет питанием насосной станцией (подключено по схеме НЗ), а реле 2 управляет насосом колодца (подключено по схеме НО). Силовое реле выглядит так.
Силовое реле.
Так же как и модуль управления, силовые реле собраны в корпусе под DIN рейку. Сами реле я использовал TR90-12VDC-SC-A. Ток при НО 30А, а при НЗ 40А. Напряжение 240 вольт переменка. Для насосов с лихвой.
Силовое реле. плата
В итоге силовая часть стала выглядеть так.
Силовая часть.
Датчик давления. Что это за монстр и как с ним бороться я писал здесь. Установку датчика рекомендую сделать как можно ближе к модулю управления. У меня расстояние 15 см. Правда пришлось трубу вести до шкафа. Переходник с М14х1.5 на G1/2 я выточил на токарном станке из дюрали. Но если нет токарного станка, то такие переходники продаются в сантехнических магазинах. Либо купить пруток дюрали Д16Т диаметр 20 мм и нарезать на нем резюбу плашкой G1/2, а внутри просверлить отверстие 13 мм и нарезать резьбу метчиком. Для того чтобы прикрепить провод на корпус датчика, я припаял к нему болт М3 и между шайбами зажал провод.
Датчик давления.
Собственно вот и все. На дисплей выводится давление, уровень заполнения бочки и число попыток заполнить бочку из магистрали. Так же справа внизу появляются буква "К" "Н" "М". "К" - работает колодезный насос. "М" - открыт клапан магистрали. "Н" - отключено питание насосной станции. И в правом верхнем углу появляется буква "L" сигнализирующая о том что включена подсветка бочки. А и вот еще, на плате есть пищалка, которая пикает при нажатии на кнопочки.
Все. Будут вопросы пишите.
Проекты плат для DipTrace.
Проекты с программами для микроконтроллеров под AtmelStudio 6.2
GhostX 03.05.16 17:35
Последняя фотка... А зачем кран у датчика?
Алексей 03.05.16 20:14
А если снять приспичит, пальцем затыкать)))
GhostX 05.05.16 14:05
Алексей 05.05.16 14:27
Супер, а пока свинчен датчик вода хлещет во все стороны)))))
GhostX 08.05.16 20:28
Получается, что это единственный кран?!
Я раньше тоже везде краны ставил, а потом понял, что это неоправдано. Пользовался я ими 1 раз, а некоторыми и вообще ни одного раза. За 3 года, потом ремонт и все они теперь лежат в мешке.)) Пришел к выводу, что ставить на каждую хреновину по крану прикольно, но бесполезно и экономически не оправдано...
Алексей 08.05.16 20:46
Как сказать. Я вот пожалел кран на кухонный смеситель, мол нафик его, а соединение потекло. Как менять? Вода горячая 100 литров.
GhostX 09.05.16 01:00
Все просто, перекрываем магистраль и открываем горячую воду. Стравливается избыточное давление и вуаля. Горячая вода не тячет.)) У меня тоже есть бойлерные водонагреватели. ;)
Алексей 09.05.16 20:32
Вуаля-то вуаля, да в магистрали у меня 100 литров ресивер и 100 литров бойлер.
GhostX 10.05.16 07:17
Блин, у меня 150л боллер. Физически находистя выше всех водоразборных точек. Ресивир только на осмосе и в обратку он не дает. И из бойлера не течет, если ему воздуха не давать.
А на фотке под ресивиром, что за кран?
В принципе все спаяно и все куплено. Спор пуст. :-)
Алексей 10.05.16 07:51
У бойлера это обратный клапан, а не кран. А под ресивером для слива.