Как стать автором
Обновить

Уходя гасите свет и выключайте воду

Разработка под Arduino *Умный дом DIY или Сделай сам Инженерные системы
image
Такие рекомендации предназначены сэкономить и обезопасить квартиру (дом и т.п.) от банальных неприятностей до серьезного ущерба, для себя и окружающих. Некоторые люди по боязни неприятностей уходя выключают электоавтоматы в щитке и закрывают входные краны подачи воды, само по себе выполнение этого процесса вручную не очень удобно, в связи с этим взялся сделать бюджетную систему берущую на себя автоматизацию этого процесса, а также дополнил небольшим функционалом. Что из этого вышло и насколько удачно — можно прочитать под катом.

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

Первые наброски решения выглядят так: у выхода из квартиры установить кнопку при нажатии которой квартирная электроника переводится в один из режимов работы: режим безопасна (в щитке все потребители отключаются, вентили воды закрываются) и режим обычная эксплуатация (все включено и вентили открыты). Сразу возникает вопрос, если вы уезжаете на месяц, то все понятно все обрубил и уехал, а если надо не надолго безопасно оставить квартиру, работа и прочие однодневные отъезды, тут получается что холодильник лучше не отключать (и прочие приборы, которые тоже желательно не отключать в особенности то оборудование которое будет по кнопке включать обратно). В итоге после размышлений пришел для себя к выводу что правильно будет сделать так: изменить режим работы с безопасно на «дежурный», а режим обычная эксплуатация назвать «основной». И «поделить» проводку в квартире на категории: основная 220 Вольт, дежурная 220 Вольт.

Алгоритм работы получается такой: режим «основной» все включено, режим «дежурный» работают только необходимые потребители (для краткости холодильник). Надо уехать на месяц или капитально обезопаситься закрой воду, обруби центральный автомат. Если повседневный уход нажми кнопку, автоматика закроет вентиля, и обрубит нужные автоматы, оставив холодильник включенным. По приходу нажал на кнопку, автоматика все включила и открыла вентиля подачи воды.

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

Здесь бы хотел немного отступить от темы и рассказать почему было выбрано именно 2 блока, а не один общий.
В связи с опытом полученным при разработке устройств пришел к следующему: каждый блок должен отвечать за конкретную задачу, чем проще эта задача тем проще блок (естественно не без перегибов). Чем проще блок, тем меньше с ним проблем — за счет уровня абстракции от других блоков. Так же они сделаны так, что могут работать отдельно друг от друга.

В блоках применяются стандартные модули которые легко купить и заменить. Опять же при стандартизированном управлении можно поставить другой, более надежный, улучшенный или более функциональный блок. Блоки управления основаны и типизированы под Ардуино нано, считаю что этого модуля контроллера с запасом хватает на управление блоком.

Вернусь к вопросу питания и проводки. Для питания блоков использую постоянные 12 Вольт.

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

Здесь и далее указываю номинальное напряжение 12 вольт, фактически на выходе с блока питания будет напряжение примерно 13-14 вольт что бы был запас на падения напряжения на проводах и на потребители доходили 12 В с небольшими допусками. В итоге обобщенная схема проводки в квартире по моему мнению должна быть такой:

image

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

Блок управления электропитанием (БУЭ)


image image

Блок управляет 3-мя источниками подачи электроэнергии, 2 электромеханических реле находятся на основной плате, и 1 твердотельное реле подключается вне корпуса блока. Основная плата блока не универсальная и была разработана специально для этого блока, не возьмусь сказать что вышел идеальный вариант — скорее это проба что из этого выйдет. Электромеханические реле взял по максимуму на 16 Ампер.

image

Знаю многих сторонников относящихся к реле с огромным недоверием — тут даже у меня есть недоверие к этой цифре. В сторону защиты использования скажу что, переключения будут происходить не часто и под максимальной нагрузкой работать штатно все же не планируется, вообще здесь бы я делил нагрузку на меньший ампераж т.е. больше автоматов с меньшим количеством ампер на каждый, но тут все зависит от разведенной в квартире проводки. Посмотрю что будет происходить во время эксплуатации, далее если потребуется уже буду принимать какие-то нововведения. Реализовал в блоке постепенное включение нагрузки т.е. каждое из 3-х реле включается с некоторым промежутком по времени, что как мне кажется в целом положительно скажется на электросеть в квартире. На корпусе кнопки имеются индикаторы (светодиоды) обозначающие текущий режим блока и предупреждение/аварийное состояние. Для индикации режима используется один двухцветный светодиод. Зеленый — основной, красный — дежурный. В процессе перехода из одного режима в другой индикатор мигает тем цветом в режим которого осуществляется переход. На верхней крышке блока находится индикация наличия напряжения после реле (белые светодиоды), также на крышку выведена индикация режимов работы – но решил не включать ее т.к. есть кнопка с индикацией текущего режима, а блок будет стоять в щитке, а там индикация режимов не особо актуальна. Также информацию о наличии напряжения получает контроллер блока и анализирует это состояние, в случае если реле выключено но напряжение все равно имеется (реле заклинило) будет идти индикация предупреждения — часто мигающий светодиод (круглый) в корпусе кнопки. Удачно под блок подошел «сименсовский» корпус под дин рейку, кажется от контроллера по вентиляции, но все таки пришлось немного его доработать.

Блок управления вентилями подачи воды (БУПВ)


image image

Блок управляет 2-мя моторизованными шаровыми вентилями (покупал на али, цена 1 шт. ~ 900 рублей). Оба вентиля для холодной и горячей воды одинаковые. Управление шаровым вентилем происходит по 2-м проводам 220В + ноль, подаешь на один провод 220 — он закрывает вентиль, подаешь на другой — он открывает вентиль. Управляющий мотор крутится только в одну сторону, т.е. полностью не закрывшись невозможно начать открытие. Внутри корпуса вентиля стоит микровыключатель и по завершении процесса закрытия или открытия он автоматом снимает напряжение с мотора.

Алгоритм работы для этого блока: принять команду управления, закрыть вентиля или открыть вентиля. Модуль имеет 2 режима управления автоматический и ручной. В автоматическом режиме выполняются команды поступающие только от блока управления электропитанием. В ручном режиме команды выполняются от кнопки на крышке блока управления подачи воды, при этом команды от блока управления подачи напряжения игнорируются. Блок имеет режимы открыто и закрыто. На крышке блока имеются 3 светодиода, 2 из которых как раз указывают в каком текущем режиме находится блок (зеленый — вентили открыты, красный — вентили закрыты), также как и в БУЭ при переходном процессе мигает тот светодиод в какой режим переходит блок, о 3-ем светодиоде расскажу чуть ниже. Этот блок устанавливается в непосредственной близости к вентилям с доступом к индикации и управлению.

Реализуя блоки пришел к мысли о том, что существует некоторая категория устройств которые осуществляют свою работу достаточно продолжительное временя и их не желательно отключать от сети «вот прямо сейчас» — к таким устройствам относятся стиральная машина, посудомоечная машина (скорее всего в эту категорию можно включить еще какие-то устройства, я же приведу актуальный для меня пример с стиральной машиной). Иногда может получаться так что запущена стирка и если отключить электроэнергию, то процесс останется не завершенным и испорченным, поэтому решил реализовать дополнительный алгоритм работы со стиральной машиной.

Алгоритм работы со стиральной машиной: При процессе стирки от стиральной машины в блок управления подачи воды подается сигнал, что идет стирка. Блок анализирует этот сигнал, если идет стирка и вдруг решили перевести блок в дежурный режим, блок не закрывает вентиль подачи холодной воды (при этом вентиль горячей воды будет закрыт). Если пропадает сигнал «идет стирка» (стирка закончилась) в дежурном режиме — блок закроет вентиль холодной воды. Обратный процесс не произойдет (т.е. если блок уже находится в дежурном режиме, и вентиля закрыты, при появлении сигнала «идет стирка» — вентиль открываться не будет).

Вернусь к 3-му светодиоду на крышке блока — он показывает состояние идет ли стирка в данный момент времени.

Реализация получения сигнала управления от стиральной машины.

Вместо предисловия: на самом деле я удивлен в том что бытовая техника (простая, не из разряда специализированной) не обладает простейшими электрическим контактами (замкнуты-разомкнуты) говорящими о ее текущем состоянии – хотя бы то что идет процесс работы или она простаивает, это бы намного упростило процесс автоматизации, и не надо тогда было бы городить огород чтобы электрически получить такую информацию. Считаю что это был бы дополнительный плюс к функционалу бытовой техники, при минимальных затратах от производителя.

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

image image

Работа замка: при подачи на него 220 вольт (контакты 1 и 3) он блокирует дверцу, если напряжение снято — он перестает ее блокировать. Мое решение состоит в том чтобы использовать реле с питающим напряжением катушки 220В, подключенным параллельно замку люка — это ни как не должно повредить стиральной машине, только стиральная машина будет потреблять во время стирки чуть больше тока (на количество тока которое потребляет катушка реле). Т.к. моя стиралка достаточно старенькая и гарантии уже давно нет, то такой вариант для меня вполне подходил. Наверное все-таки есть более интересные варианты как электрически получить информацию о том что стиральная машинка стирает, я был бы рад о них узнать.

Организация связи между блоками


Приведу общую схему электрического взаимодействия между блоками и их обвязки

image

Связь между блоками осуществляется по аппаратному интерфейсу RS-485, с программным протоколом SRDB2, его я описывал ранее в своей статье. В моем случае БУЭ является ведущим и отправляет одну из команд (открыть вентиля, закрыть вентиля, выдай свой текущий статус), БУПВ всегда отвечает своим текущим состоянием.
Алгоритм работы в связке: При нажатии кнопки управления БУЭ для перехода в дежурный режим — БУЭ отправляет команду в БУПВ «закрыть вентиля». БУПВ смотрит текущее состояние стирки, если стирки нет, то он начинает закрывать оба вентиля подачи воды, попутно отвечая в БУЭ что идет закрытие вентилей, если же стирка идет, то закрывается только вентиль горячей воды, также информируя об этом состоянии БУЭ. После закрытия вентиля БУПВ сообщает что произошло успешное закрытие вентиля/вентилей. БУЭ видя по ответам что вентиль успешно закрылся, а также если не идет стирка — то он снимает напряжение питающее стиральную машину и вентили. Если же идет стирка то напряжение с стиральной машины не снимается. Постоянно идет опрос текущего статуса БУПВ. Только после получения статуса «стирка завершена» (такой статус БУПВ выдает после того как стирка закончилась и закрылся вентиль горячей воды) БУЭ снимает напряжение питающее стиральную машину и вентиля. При переходе в «основной режим» БУЭ отправляет команду «открыть вентиля» и подает с интервалами по времени напряжение на реле включая их по очереди.

Управление вентилем подачи воды организовано на основе переключающегося реле. Оно имеет состояние нормально замкнутого контакта для состояния «открыть вентиль». Если подать напряжение на стиральную машину (реле «стиралка») и не подавать напряжение на реле отвечающее за управление вентилем, то вентиль будет открываться — это нужно в случае перехода из состояния «дежурный» в состояние «основной». При переходе из режима «основной» в «дежурный» не снимая напряжения со стиральной машины надо подать напряжение на реле управление вентилем — тем самым начав процесс закрытия вентиля. При этом вентиль будет закрываться или находится в закрытом состоянии пока подаются управляющие сигналы на оба реле (реле подачи напряжения на стиралку и реле подачи напряжения на управление вентилем), а так как после окончания закрытия вентиля напряжение с реле «стиралка» снимается, то состояние реле управления вентилем уже не имеет значение (через некоторое время после перехода в дежурный режим, снимаю с реле управления вентилем напряжение тем самым подготавливаю его к ожиданию перехода в состояние открыть вентиля). Таким образом обеспечивается минимальная по времени нагрузка на реле управления вентилем.

Автономная работа блоков


На своем опыте эксплуатации автоматики скажу, учесть всех нюансов при разработке автоматики невозможно, поэтому считаю правильным вводить режим ручного или автономного управления блоками — т.к. это облегчит некоторые моменты взаимодействия с ней в нестандартных ситуациях. На крышке БУПВ размещен переключатель режима работы автоматический и ручной. Работа при автоматическом взаимодействии описана выше. При ручном режиме работы БУПВ игнорирует команды от БУЭ. На крышке БУПВ имеется кнопка перехода в режимы все вентиля открыть и все вентиля закрыть. В случае ручного управления БУПВ — игнорируются показания «идет стирка». Так сделано специально для аварийного отключения вентилей, т.е. если при работе в основном режиме работает стиральная машина и прорвало трубу, то для быстрого перекрытия воды требуется установить блок в ручное управление и нажатием на кнопку перевести его в режим все вентиля закрыты. При работе БУПВ в ручном режиме, БУЭ не анализирует данные приходящие от БУПВ, а осуществляет прямые функции при переводе в дежурный выключает все.

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

Внеплановое аварийное отключение электричества


Оба блока ведут запись своего состояния в энергонезависимую память, на случай если произойдет отключение питания в квартире, при этом после его подачи блоки вернутся в то состояние, которое было до отключения. Исключение составляет состояние когда шла стирка, т.к. при отключении электричества, скорее всего это процесс испорчен, то блоки закрыв вентиля переходят в дежурный режим, при этом на кнопке изменения режимов БУЭ мигает светодиод о незавершенном процессе стирки. Индикация незавершенного процесса стирки снимается нажатием на кнопку изменения режима БУЭ.

П.С. после проведенной разработки и начале эксплуатации все работает как и задумывалось, но уже появилась идея как сделать блоки лучше, а именно отказаться от вентилей на 220 вольт и перейти на 12 вольт — дабы вообще убрать 220 вольт из БУПВ, увеличить в БУЭ кол-во реле и вынести их за пределы корпуса — сделав также их быстро заменяемыми — (но это уже другая история. Интересно в целом мнение людей о данной разработке (поставили бы вы себе такое дома) — понимаю что я не изобрел чего-то нового, уверен что конторы занимающиеся умными домами с легкостью предложат подобное, я лишь подошел к вопросу с бюджетной стороны автоматизации такого процесса. Приводить программные коды блоков не вижу большого смысла — функции блоков сами по себе простые: принять/отправить данные по Serial, включить/выключить светодиоды/реле, узнать состояния кнопки — это есть на каждом втором сайте по ардуино. Если у кого-то возникнет желание сделать именно такое-же устройство, в контактах есть мой e-mail, могу выслать программные коды блоков и подробнее объяснить как, что и почему. Примерная цена разработки вышла в 4-5 тысяч рублей, это без оценки самостоятельно созданных плат и прочих «бесценных вещей».

П.П.С. Ссылка на видео работы устройства.
Теги:
Хабы:
Всего голосов 34: ↑23 и ↓11 +12
Просмотры 14K
Комментарии Комментарии 80