Введение


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

Идея показалась мне вполне по силам и я решил ее реализовать: на микроконтроллерах и с моторизированным вентилем.

Для начала я сформулировал требования к разрабатываемой системе:

  • отслеживание состояния стиральной машины: открывать воду вначале стирки и закрывать по окончании;
  • возможность ручного управления вентилем;
  • работа от аккумуляторов и закрытие вентиля в случае разрядки аккумулятора;
  • наличие датчика протечки: перекрывать вентиль в случае, если протечка будет обнаружена.

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

Вроде этого для техзадания хватит. Приступим!

Выбор MCU


Поскольку вся система состоит из двух устройств, то и микроконтроллеров должно быть два. Я поскреб по сусекам и нашел у себя две Atmega8: один в DIP корпусе, а другой — в TQFP. Тот, который в DIP'овском — пошел в монитор, а TQFP — в контроллер. Позже выяснилось, что разросшаяся прошивка контроллера уже не влезает в 8КБ Atmega8, поэтому пришлось сделать апгрейд до Atmega328 – полный аналог, но памяти для программы теперь в четыре раза больше.
Кстати, одним из моих мотивов делать подобные проекты — это утилизация электронного хлама, который у меня скопился за многие годы. Правда, по окончании проекта хлама меньше не становится. Его становится еще больше!

Часть первая. Монитор


Взаимодействие со стиральной машинкой


Проблема первая: как определить, чем сейчас занимается стиральная машинка? Вначале проекта эта часть задачи мне казалась очень простой. Всё что нужно было сделать — это определить моменты начала и окончания стирки. На передней панели машинки имеется светодиод, который зажигается и гаснет как-раз тогда, когда нужно. Я рассчитывал подпаяться к нему GPIO ногой микроконтроллера, так что на время отладки просто эмулировал на макете монитора нужные события кнопкой. Нажал на кнопку — светодиод зажегся, стирка началась. Отпустил — все наоборот. Однако, после разбора стиральной машинки, выяснилось, что данный светодиод — это часть динамической индикации, и, увы, нельзя так просто определить: горит он или нет.

Покрутив в руках (пару дней) панель управления я обнаружил, что он реализован на PIC контроллере. Более того, к основной плате он подключен ногами, отвечающими на аппаратный I2C. Ага, подумал я, можно снифернуть I2C шину и таким образом определить, что сейчас делать стиральная машинка. Код I2C снифера для Atmega я нашел в интернете. Разумеется, пришлось кое-что подшаманить.

Скажу честно: полностью протокол я разобрать не смог (да и не пытался особо), однако шаблоны начала и окончания стирки (а также включения и выключения питания) получилось определять довольно точно. Заняло это у меня около недели.

Модель: Candy GC4 1072 D. Компьютер периодически шлет блоку индикации серию из пяти байтовых последовательностей. Первые четыре последовательности имеют формат:

12 A7 00 – NN – X0 X1 X2 X3 X4 X5 X6 X7 – CS
где: 12 A7 00 – заголовок, NN – номер последовательности, X[0..7] – 8 байт данных, CS – контрольная сумма. Пятая последовательность представляет собой какой-то мусор переменного размера, суть которого для меня так и осталась загадкой.

Следующие шаблоны мне удалось разгадать:

POWER ON

12 A7 00 – 01 – X0 X1 X2 X3 X4 X5 X6 X7 – CS
12 A7 00 – 02 – X0 X1 X2 X3 X4 X5 X6 X7 – CS

где X[0..7] хотя бы один не равен 0

START

12 A7 00 – 03 – X0 X1 X2 X3 01 01 01 01 – CS
где X[0..3] – любое число

STOP

12 A7 00 – 03 – X0 X1 X2 X3 00 00 00 00 – CS
где X[0..3] – любое число

Видно, что это не строгие последовательности, а именно шаблоны, так что с парсером пришлось повозиться.

Логика работы примерно следующая: если мы получаем последовательности POWER ON, но при этом отсутствует START, то начинаем слать в эфир пакеты со статусом 0. Если появляется последовательность START — меняем статус на 1. В остальных случаях — ничего не шлем.

О пакетах, и о том, что такое статус поговорим дальше.

Забавно, но когда я шпионил за I2C пакетами, у меня не было возможности подключиться к сниферу компьютером. Я задействовал для этого Raspberry Pi c powerbank'ом, у которого был алюминиевый корпус. Так вот, стоило только этому корпусу соприкоснуться с корпусом стиралки, так тут же в щитке выбивался УЗО, в квартире гас свет и я с матюками начинал искать фонарик. :) Почему такая фигня происходила — для меня до сих пор остается загадкой.

Радиоканал


Изначально мне не хотелось дополнительных проводов, идущих от стиральной машинки. То есть, связь должна была быть беспроводной. Отсюда, были три возможных варианта решения проблемы: WiFi, Bluetooth и RF модуль для Arduino. Я остановился на последнем, выбрав модуль FS1000A.

Разумеется, на Хабре найдется много человек, которые упрекнут меня в этом выборе. Они намекнут, что на Али-Экспрессе можно за недорого приобрести модуль ESP с полноценным WiFi. Но я подумал, что это сильно усложнило бы проект, и решил действовать попроще.

Как известно, RF модуль FS1000A нельзя подключать напрямую к RS232 интерфейсу: длинная последовательностей нулей или единиц срывает синхронизацию приемника. Библиотека VirtualWire создана, чтобы решить эту проблему. Однако, эта библиотека написана для Arduino, а я программирую исключительно нативно под Atmega на C. К счастью, код для Arduino очень похож на чистый C, и с небольшими переделками, библиотека была успешно портирована.

Не обошлось и без трудностей: вначале пакеты никак не хотели доходить до приемника. Я во всем винил свои кривые руки, но соединив напрямую выводы контроллеров приемника и передатчика, убедился, что в программной части все работает. Неисправным оказался передатчик заказанный из Китая. Пришлось покупать еще один комплект. Затем я починил старый и у меня теперь два комплекта приемник-передатчик. Помните, что я писал про уменьшение хлама?

Данные пошли, но что именно содержится в этих данных? Вот, что представляет собой передаваемый пакет:

typedef struct {
    uint32_t dst;
    uint32_t src;
#define WMP_MSG_STATUS_ALIVE    _BV(0)
#define WMP_MSG_STATUS_VALVE    _BV(1)
    uint8_t status;
} wmp_msg_t;

#define WMP_ADDR_MONITOR        0x4d504d57
#define WMP_ADDR_CONTROLLER     0x43504d57

Первые два двойных слова — это физические адреса приемника и передатчика. В моем случае они строго фиксированы: 0x43504d57 — приемник (контроллер) и 0x4d504d57 — передатчик (монитор). Фактически, первые 8 байт — эта сигнатура пакета. Значимая информация находится только в последнем байте — битовом флаге. Установленный нулевой бит этого флага означает, что монитор включен и работает — он всегда должен быть 1. Первый бит — это статус вентиля: 0 – вентиль нужно закрыть, 1 — открыть. Все.

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

За целостностью передаваемых данных следит библиотека VirtualWire с помощью CRC32. Мне дополнительных усилий в этом направлении прилагать не пришлось. Красота!

Конструкция


Конструктивно монитор выполнен в виде небольшой платы, которая вклеивается на термоклее «сопли дядюшки Ляо» внутри передней панели стиральной машинки, Разъемами плата подключается в разрыв между компьютером и платой индикации. Сама машинка никакой модификации не подвергалась: в любой момент ее можно привести к исходному состоянию.

Часть вторая. Контроллер.


Радиоканал


Здесь все просто: стоит приемник комплекта FS1000A и приемная часть библиотеки VirtualWire. Пакет разбирается и на выход передается его статус. Приемник VirtualWire занимает TIMER1 в микроконтроллере.

Управление вентилем


В китайском Интернет-магазине был подобран моторизированный вентиль на 3/4”, с питанием 5 вольт, и с выведенными в кабель контактами концевых датчиков. Данный вентиль был установлен между шаровым краном и шлангом стиральной машинки. Для управления вентилем, на том же китайском сайте, был заказан маломощный драйвер шагового двигателя на драйверах L9110. Подключил я его к контроллеру по следующей схеме:



С программной точки зрения особых трудностей не было: по входам VALVE_CLOSE и VALVE_OPEN определяем текущий статус вентиля. В случае, если этот статус нужно поменять, включаем мотор на открытие или закрытие и ждем до тех пор, пока на соответствующем входе не установится логический 0. Однако, поскольку открытие или закрытие занимают некоторое время, хотелось бы не терять в этот момент контроль над всем устройством. Поэтому, на таймере Atmega'и был сооружен примитивный планировщик и контроль за работой вентиля был передан специальной задаче. Заодно, специальный программный модуль WatchDog измеряет время, за которое происходит переключение вентиля, и если оно слишком большое, то генерируется сигнал о его неисправности. Позже, на этот планировщик были навешаны и другие интересные вещи, вроде мигания светодиодами и опроса датчика протечки. Но об этом позже.

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

Светодиодная и звуковая индикация


Со светодиодами все просто: они цепляются напрямую на порты ввода-вывода через ограничительные резисторы. Токи там не большие, а порты на Atmega достаточно мощные.

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

Я остановился на схеме с одним транзистором и автотрансформатором, который раскачивает напряжение звука с 5В до 50В. И тогда получилось относительно громко. Не на всех частотах, конечно, а поближе к резонансу.

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



Еще одной проблемой стало то, что у меня закончились таймеры и в фоне генерировать звук я не смог. Пришлось период писка задавать sleep'ами. Так что, во время генерации звука Atmega ничего кроме делать не может: прерывания тоже пришлось запретить, иначе тон получается не чистым. Но это оказалось это не очень страшно так как вывод звука не пересекался с другими критичными задачами, вроде управления вентилем или приемом данных по радио.

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

Детектор протечки


Детектор протечки изначально планировалось делать на встроенном АЦП микроконтроллера. Эксперименты показали, что это вполне рабочее решение. Однако, я встречал, что иногда в датчик с контактами добавляют конденсатор, чтобы подключен ли он и нет ли где в проводе обрыва. Проверить наличие конденсатора (и измерить его емкость) можно с помощью: RC цепочки, компаратора и часов. В качестве компаратора используется обычный GPIO вход (он же логический и переключается с 0 на 1 при определенном напряжении), а часов в микроконтроллере хватает.



Предполагалось, что я буду время от времени проверять наличие конденсатора на линии, а затем с помощью АЦП определять, не находятся ли контакты датчика в воде. Как оказалось, вполне достаточно измерять только емкость конденсатора: если опустить его в воду, то время заряда увеличится, а разряда — уменьшится. Причем, время изменится на достаточную величину, чтобы его можно было уверенно детектировать.

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

Детектор протечки имеет свой собственный индикаторный светодиод красного цвета. Если сенсор не обнаружен, то он загорается и в эфир передается команда закрыть вентиль. Стоит только восстановить связь с сенсором, светодиод гаснет и вентиль можно открывать (если только машинка находится в состоянии стирки, конечно). Другое дело, если сенсор обнаружит воду. В этом случае индикатор начинает мигать, раздается противный прерывистый звук, и вентиль принудительно закрывается. Но самое главное, что контроллер из этого состояние никогда не выходит. Протечка считается серьезной аварией, и подача воды не возобновится, пока вы принудительно не перезагрузите устройство.

Питание


Питание — самая непонятная для меня часть в этом проекте. Если я немного разбираюсь в цифровой схемотехнике, то в аналоговой, мягко говоря — не очень. Но, спасибо китайцам: я могу приобрести готовые модули DC-DC преобразователей с контроллерами заряда аккумулятора, и на их основе збацать что-то работоспособное.

С самого начала планировалось сделать устройство с автономным питанием, чтобы в случае отключения электричества быть уверенным, что вода будет перекрыта. Кроме того, у меня был блок питания на 9В, который требовалось куда нибудь пристроить. Итого, вводная получилась следующая:

  • от сети приходит 9В;
  • от батареи приходит 3,4~3,7В;
  • для заряда батареи нужно 5В;
  • для питания логических и силовых схем нужно 5В;
  • если пропадает напряжение от сети, переключить питание на батарею;
  • на контроллер необходимо передавать сигнал заряда батареи, напряжение на батарее и сигнал работы от сети.

Структурная схема получилась как на рисунке.



В качестве переключающего элемента задействованы два диода Шотки. Контроллер заряда имеет два светодиода: CHARGE и STANDBY. Сигнал от первого был заведен на GPIO порт контроллера, чтобы монитор мог знать, что батарея заряжается. Также, на порт микроконтроллера подается сигнал от первого DC-DC преобразователя, чтобы определить, работает устройство от сети или батареи. Для контроля уровня заряда, напряжение с аккумулятора подается на АЦП контроллера. В случае, если напряжение слишком низкое, монитор закрывает вентиль и переходит в ждущий режим: не отвечает ни на какие команды, пока не появится напряжение в сети.

К сожалению, без косяков тут не обошлось: по какой-то причине, мотор вентиля забирает часть энергии с аккумулятора. Видимо, я ошибся с мощностью сетевого DC/DC преобразователя или с толщиной силовых дорожек на плате. Как результат: после открытия или закрытия вентиля батарея начинает заряжаться.

Для контроля за состоянием питания имеется специальный двухцветный светодиод. Если он горит зеленым светом, то устройство работает от сети. Если красным — то от батареи. Если зеленым, но при этом мигает красный цвет, то идет зарядка батареи.

Логика работы


Ну вот, все аппаратные части и их программная поддержка у нас есть, теперь нужно каким-то образом заставить все это взаимодействовать между собой. Изначально, я видел реализацию логики работы в виде большого цикла (то, что называется main loop) с кучей if'ов внутри.

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

От зоопарка if'ов, которые проверяют состояние различных подсистем контроллера и выносят решение: открыть или закрыть вентиль пришлось отказаться. Очень тяжело такое отлаживать и очень просто в этом запутаться. Вместо этого мне понравилось идея из древней книги Д. Хейзермана: «Как самому сделать робот». В книге предлагалось, чтобы каждый модуль генерировал свои сигналы управления: вперед, назад, поворот и т. д. Далее, из этих сигналов выбирается только тот, который исходит от блока с более высоким приоритетом. Я сделал примерно так же.

Блоки по приоритетам я расставил следующим образом:

  1. Блок протечки
  2. Блок контроля заряда батареи
  3. Блок ручного управления вентилем
  4. Блок управления вентилем по радиоканалу
  5. Блок WatchDog таймера вентиля

Каждый блок генерирует три команды: UNDEFINED, OPEN и CLOSE.

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

Теперь, давайте вернемся к сигналу: «стирка окончена». Увы, но моя модель стиральной машинки не имеет возможности оповестить об окончании своей работы с помощью звука: не предусмотрели инженеры Candy такой возможности. С другой стороны, у меня есть дополнительное устройство, которое имеет пьезоизлучатель и в каждый момент времени знает, чем занимается стиральная машина. Почему бы не заставить его сообщать об окончании стирки? Хорошо, сделаем так, чтобы контроллер громко и противно (на частоте резонанса) пищал, когда приходит сигнал закрытия вентиля. Добавим еще пятиминутный защитный интервал, чтобы не слушать этот писк каждый раз, при включении и выключении машинки. Вентиль открыт пять минут — стирка точно началась.

Результаты


Разработка у меня заняла около года неспешной (очень неспешной) работы. Устройство работает уже года два. В эксплуатации оно показало себя вполне удовлетворительно. Но не обошлось и без недостатков. Давайте их честно перечислим:

  1. Я что-то напутал с питанием: мотор вентиля часть энергии берет из батареи.
  2. Схема генерации звука просаживает напряжение питания. Очень хорошо видно, как меняют яркость светодиоды когда звук воспроизводится.
  3. Не очень устойчиво работает радиоканал. Во первых, сигнал пропадает, если человек стоит вплотную к стиральной машине. А во вторых, иногда сигнал ухудшается сам по себе. В этом случае, приходится пользоваться тумблером ручного управления, но такое происходит крайне редко.
  4. Пару раз зависал блок монитора в стиральной машине. Блок контроллера не зависал ни разу.
  5. Звук от пьезоизлучателья очень сильно заглушался внутри корпуса. Я просверлил в копрусе дырку: стало лучше, но не очень. Пришлось выпаивать излучатель из платы и приклеивать к корпусу, прямо напротив дырки.

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

Архив с файлами проекта можно скачать здесь.

Немного фоток.


Вид сверху, со снятой верхней крышкой


Вид сзади, со стороны разъемов


В естественной среде обитания


Установленный вентиль с моторчиком


Датчик протечки


Александр Озюменко
Инженер-разработчик ООО «Аурига»

Комментарии (101)


  1. yavfast
    25.10.2019 11:43

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


    1. scg Автор
      25.10.2019 13:12

      У меня машинка стоит на кухне. Это — не очень сырое помещение.


    1. NetBUG
      25.10.2019 17:10

      … и правильно работающий клапан регулировки давления воды снижает вероятность разлёта шланга примерно до нуля.


      1. trapwalker
        25.10.2019 17:20

        Кстати да, постоянно рвало пластиковые паяные трубы то там то здесь (полипропилен, блин, чтоб его). Потом померяли давление в кране — оказалось 11 атмосфер! Вопрос решил редуктор (регулятор давления) на входе в дом. Теперь стабильно 3 атмосферы и нигде ничего не рвёт. Спокойнее стало за гибкую подводку к кранам и арматуру унитаза.


  1. Stronix
    25.10.2019 11:54

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

    Ага, а после того, как попользовались смесителем тоже необходимо перекрывать краны перед ним? Там ведь тоже гибкая подводка.


    1. fougasse
      25.10.2019 12:27

      И запирать кран на входе в квартиру, а лучше в подвале.


    1. REPISOT
      25.10.2019 13:44

      Дело не в гибкой подводке, а в постоянном давлении воды на электромагнитные клапаны забора воды в машинке.


      1. Stronix
        25.10.2019 13:48

        Речь шла именно про шланг. Да и с клапаном я особо проблем не вижу.


      1. trapwalker
        25.10.2019 15:19
        +1

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


        1. Wolframium13
          25.10.2019 15:56

          И сейчас не мешает.


        1. Osnovjansky
          25.10.2019 20:45

          однако с водой-то что там такого приключиться может
          Гидроудар. Если давление воды в кране и так высокое, да + гидроудар, то может и порвать что-нибудь.


    1. Sartorio
      25.10.2019 20:57

      В машинке есть, еще один узел отказа! Клапан.
      А основной, функционал можно решить на одном счетверенном ОУ, примитивной обвеске, МОП ключе и клапане с электромагнитом (блок питания не обсуждаем). Не знаю будет ли дешевле, но уж без программирования точно обойдемся.


  1. oleshko
    25.10.2019 12:00

    стоимость материалов какая?
    сколько времени потратил на проектирование и изготовление?


    1. scg Автор
      25.10.2019 12:57

      Разработка заняла около года: от задумки до установки. Сколько потребовалось денег — не считал. Но самым дорогим оказалось изголовление печатных плат. Тем более, что первая версия вышла неудачной. Но не нужно забывать, что это хоббийный проект и не экономической целесообразностью я мотивировался :)


  1. OLEGator_by
    25.10.2019 12:05

    как пример потренироваться — всё отлично, однако ИМХО делать такое только на стиралку слишком уж…
    Такую систему для всей квартиры нужно делать. В вашей квартире ещё много всяких гибких и не только шлангов которые могут протечь или лопнуть. От их протечки вы не защищены. Только перекрывать нужно не для того чтоб стиралкасам помылся, а затем краны перекрывались. А перекрывать в случае ЧП.
    В принципе вашу систему дополнить ещё датчиками утечки и можно перекрывать всю квартиру.


    1. scg Автор
      25.10.2019 13:01

      Почему слишком, если мне интересно и я могу это сделать?
      Основная задача устройства: открыть кран вначале стирки и закрыть после — то есть уменьшить вероятность разрыва проводки. Датчик протечки — это так, опция.


      1. OLEGator_by
        25.10.2019 13:36

        Имелось в виду слишком не рационально.
        если же стиралку отключать как опция системы отключения всей квартиры — можно, но как отдельную систему только на стиралку — не оправдано.

        Датчик протечки — это так, опция.

        по моему должно быть наоборот, датчики протечки с опцией отключения стиралки.
        Хотя по моему последнее лишнее. У меня, соседей, родственников, знакомых ни у кого не было чтоб порвало шланг стиралки, а вот шланг подвода унитаза, умывальника(у самого 2 раза) выход стиралка у моих соседей сверху — 2 раза… данная реализация не спасёт от мною перечисленного.


        1. scg Автор
          25.10.2019 13:47

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


  1. lingvo
    25.10.2019 12:20

    Следует отметить для общего развития, что многие современные стиральные и посудомоечные машины для европейского рынка уже с завода оборудованы системой защитой от протечек. Она в большинстве случаев называется Aquastop или другим маркетинговым именем и в интернете полно описаний ее работы — двойной шланг с большим клапаном на конце, поддон с поплавком. Bosch придумал ее еще в 90-ые и теперь это довольно распространенная штука с очень примитивным и надежным принципом работы — по крайней мере в Германии я свежих машин без нее вообще не видел.
    image


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


    1. MikeVC
      25.10.2019 12:41

      Всякие примитивные «аква стоп» — это полная ерунда. Оно защищает только если шланг резко оборвало и то не всегда. Клапан закрывается большим потоком воды.

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


      1. lingvo
        25.10.2019 12:46

        Всякие примитивные «аква стоп» — это полная ерунда. Оно защищает только если шланг резко оборвало и то не всегда. Клапан закрывается большим потоком воды.

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


        1. MikeVC
          25.10.2019 12:52

          Я понял, но это защита опять же локальная от протечки в самой машинке.
          Никак не спасет от протечки самого заливного и сливного шланга снаружи от машинки.
          У меня стиралка 20 лет давности. Протечек в самой машинке небыло ни разу. Были случаи с пеной при передозировке порошка. Но это ерунда. Это маленькая лужица.

          А вот что реально было: трещина гайки заливного шланга, трещина крана к которому прикручивается шланг (силумин), протечка муфты сливного шланга.


          1. lingvo
            25.10.2019 13:53
            +1

            Никак не спасет от протечки самого заливного и сливного шланга снаружи от машинки.

            Как раз от протечки заливного шланга она спасает, так как шланг и сам клапан находятся в еще одной оболочке и любая протечка в итоге все равно попадает в поддон. Единственное, что не защищено — это сама гайка для подключения, ее прокладка и ваша проводка.


            1. MikeVC
              25.10.2019 14:25

              Так вот в том то и дело что заливной шланг течет по гайкам и прокладкам.


              1. lingvo
                25.10.2019 14:58
                +1

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


                1. Londoner
                  26.10.2019 16:01

                  Обычно капает там, где прокладка. И от этого это чудо маркетинга, увы, не спасает.


                  1. lingvo
                    26.10.2019 16:31

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


    1. scg Автор
      25.10.2019 13:15
      +1

      Совет из серии: лучше все купить и самому ничего не делать. Согласен, для большинства людей так действительно лучше.


      1. lingvo
        25.10.2019 15:53

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


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


        Т.е. если перефразировать известную цитату СП Королева «Можно сделать быстро, но плохо, а можно — медленно, но хорошо. Через некоторое время все забудут, что было быстро, но будут помнить, что было плохо. И наоборот.», то можно сказать "Через некоторое время и вы и другие забудут, сколько усилий требовалось на то, чтобы сделать что-либо, а результат останется. И хороший и плохой."


        1. scg Автор
          25.10.2019 16:38

          Я эту штуку затеял два года назад, даже немного больше. Год делал, примерно год она работает. Работает практически, каждый день и именно так, как я это задумал. Сколько по вашему еще должно пройти времени, чтобы я понял, что сделал что-то не так? Для меня гораздо спокойнее знать, что большую часть времени шланг не будет под давлением, чем гадать, дойдет вода быстрее до соседей или до датчика.


          1. trapwalker
            25.10.2019 17:17

            Да не слушайте вы никого (и меня тоже)! Круто, когда умеешь доводить дело до конца и оно потом работает как задумано. Это очень круто.


            Кстати интересная мысль на счет "до кого дойдёт быстрее до соседей или до датчика".
            Почему принято защищать только соседей от себя? А что если продавать специальную проводящую липкую ленту для наклейки под обои. Можно такую по периметру комнаты под потолком клеить и по потолку. Сигнальный блок в подрозетнике. Как только где-то намокают обои, сигналка воет и шлёт СМС-ки хозяевам.


    1. A1054
      25.10.2019 21:15

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


  1. ElvenSailor
    25.10.2019 12:24

    обычно так и делают — на вводе управляемый кран, на полу датчики протечки, если хоть один залит — перекрыть к чертям всё.


    1. fougasse
      25.10.2019 12:37

      А стоимость какая получается у всей системы?
      Дублирование, управляемые краны, датчики, монтаж — оно целесообразно финансово получается?


      1. DaemonGloom
        25.10.2019 13:13
        +2

        Учтите, что альтернатива при значительной протечке — это ремонт одной или более квартир ниже, помимо своей собственной.


        1. lingvo
          25.10.2019 13:53

          Или страховка.


      1. Deaddy
        25.10.2019 13:51

        $80-100 стоимость системы на 8 датчиков и два крана.


  1. MikeVC
    25.10.2019 12:26

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

    Надо делать датчики разлива на полу в ванной, туалете, кухне.
    Больше всего интересно как сделать привода на краны. Есть ли краны сразу с приводами?


    1. nick0x01
      25.10.2019 12:34

      Все уже придумано: гидролок, нептун и другие. У гидролок можно купить шаровый краны с эл.приводом. У wiren board есть свой модуль защиты от протечек для их котроллера.


    1. Arson
      25.10.2019 13:11

      Есть краны с приводами с разным временем срабатывания. Быстрые (8 секунд) стОят около 15к, медленные (~ 90 сек) от 5к найти можно. Можно поставить последовательно медленный кран и ЭМ клапан, клапан сработает быстро, а после его можно обесточить чтобы не потребляло после закрытия крана.


      1. synka
        25.10.2019 13:35

        Покажите мне кран с временем закрытия 90 секунд. На даче, в поливе, использую такой teplo.bast.ru/products/aquabast/sharovoj-kran-34-s-elektroprivodom Там в таблице ток 100мА, но это ток страгивания. В реальности около 35 мА.


        1. Arson
          25.10.2019 13:47

          Ваш кран на 12В и от какой-то конкретной системы, он как я понимаю контроллер требует, я смотрел краны общего назначения на 220в 5 проводов, 3 провода L,N,PE, два оставшихся открытие и закрытие соответственно, можно управлять с любого реле, выключателя и т.п.


          1. synka
            25.10.2019 13:57

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


            1. Arson
              25.10.2019 13:59

              ну, всё меняется, я давно смотрел, значит мои данные устарели :)


  1. fougasse
    25.10.2019 12:32

    Есть сразу с приводами, конечно. И для отопления, и для простой воды.
    Возникает вопрос цены и поддержки таких решений.
    Не проще ли страховку купить и качественную проводку воды сделать?


  1. Andy_Big
    25.10.2019 12:36

    Проблема первая: как определить, чем сейчас занимается стиральная машинка?

    Первая мысль — мониторить электрозамок дверцы :)


    1. scg Автор
      25.10.2019 13:06

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


      1. Andy_Big
        25.10.2019 13:16
        +2

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


        1. NetBUG
          25.10.2019 17:15

          В итальянцах почти 100% так.


          1. scg Автор
            25.10.2019 17:22

            Получается, что если обесточить машинку с водой, то дверца разблокируется? Как-то не секьюрно.


            1. Andy_Big
              25.10.2019 17:47

              Там же не набирается воды по самый верх дверцы :) Если и выльется, то всего несколько литров.


            1. NetBUG
              25.10.2019 18:24

              Через минуту откроется, да.


      1. ProstoUser
        25.10.2019 18:35

        Да, i2c — это круто, но выглядит довольно сложно.
        А если мониторить наличие напряжение на электромагнитном клапане, который отвечает за заполнение машинки? Тогда даже в процессе кручения барабана шланг не будет под давлением. Только во время заливания воды.

        Или пока кран открывается, машинка решит что воды нет и выключится?


        1. scg Автор
          25.10.2019 18:47

          А если мониторить наличие напряжение на электромагнитном клапане

          Ниже ответил.

          Или пока кран открывается, машинка решит что воды нет и выключится?

          Да нет, запас по времени там доволно большой. Идея с клапаном вполне рабочая, но по некоторым причинам она мне не понравилась.


  1. spc
    25.10.2019 12:42

    Симпатично получилось. Но мои две копейки: FS1000A — фактически худшее, что можно было использовать. У них, по моим впечатлениям, очень разнится качество плюс диапазон 433 МГц сильно зашумлен.

    В принципе, для вас это не особенно критично, раз вы предусмотрели обработку потери связи.


    1. scg Автор
      25.10.2019 13:11

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


      1. trapwalker
        25.10.2019 15:27

        С таким подходом и ретранслятор можно замутить и направленную антенну...


  1. soul32bit
    25.10.2019 12:49

    Существует более простое и элегантное решение — замена гибкого шланга на трубу из металлопластика.


    1. lingvo
      25.10.2019 13:54

      Для прыгающей и трясущейся при 1000об/мин стиралки? Попробуйте.


  1. trapwalker
    25.10.2019 13:13
    +2

    Читал и плакал.


    Слёзы зависти, горечи и уважения к автору протекали сквозь моё долгий и негерметичный фейспалм.
    Белая зависть упорности, усидчивости и эрудированности. Горечь за, к сожалению, классику домашнего умнодомового DIY. А уважение — оно и в африке уважение. Сделать ТАКОЕ — это, дорогого стоит.


    НО!
    Надеюсь я надиферамбил достаточно, чтобы не обидеть автора, но…
    Нафига этот троллейбус? Почему не поставить обычный датчик протечки с запорной арматурой на входе в квартиру? Этим вы защитите все гибкие подводы ко всем кранам в квартире!
    А так это самое бесполезное и дорогое устройство в мире… мне кажется, но только вселенская любовь автора вложенная в это буратино кагбе намекает, что ОНО ТОГО СТОИЛО!
    Хрен с ним. что стиралку так просто уже не заменить без потери года неспешного труда очень грамотного инженера.


    1. scg Автор
      25.10.2019 13:26

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


      1. trapwalker
        25.10.2019 15:16

        О, может с вашим энтузиазмом получится уже сделать мою давнюю идею — BlueTooth атомайзер с клипсой для крепления на штаны сзади.
        Удобно характерным дымком от филейной части мягко намекать на батхёрт носителя этого девайса. Тут бы пригодилось.
        Всего-то нужно сделать что-то вроде электронной сигареты, но для штанов.


        1. scg Автор
          25.10.2019 17:04

          Троллинг — не самое достойное занятие.


          1. trapwalker
            25.10.2019 17:08

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


  1. LevOrdabesov
    25.10.2019 15:37

    Автор суров и отважен.


  1. deepform
    25.10.2019 16:38

    В стиралка есть замок, он блокируется на время стирки.
    Дальше всё уже стало сложно.
    Я бы смог это реализовать гораздо проще и без навыков программирования)


    1. deepform
      25.10.2019 16:47

      Нужно всего лишь, реле, бп, датчик протечки nc, кран.вот и всё)
      Включил режим стирки — реле замкнулось и работает пока в норме датчик протечки.
      Делов -то


      1. scg Автор
        25.10.2019 16:58

        Основная идея была — без проводов. То есть, без микроконтроллеров и программирования уже не получится.


  1. tim2018
    25.10.2019 16:40
    -1

    На кухне и в ванной просто должны трапики и конвертики
    ну и делать правильно не из дерьма и палок


  1. enjoyneering
    25.10.2019 17:00
    +3

    В следующий раз для снифера выбирайте клон Saleae Logic.Стоит около $8. С последней бетой 1.2.29 данные обрабатываются и отображаются на лету. До этого приходилось задавать объем выделенной памяти, частоту дискретизации, ловить момент передачи по шине.

    image

    image


    1. scg Автор
      25.10.2019 17:03

      Спасибо, буду иметь в виду.


    1. pproger
      25.10.2019 18:58

      Эпичный совет. Почему бы не посоветовать купить оригинал, а не клон?


      1. enjoyneering
        28.10.2019 18:57

        Я посоветовал то чем сам пользуюсь. Можно и оригинал. Каждый выбирает по карману, мы в свободной стране.


        1. pproger
          28.10.2019 23:32

          это не вопрос выбора «по карману». нет денег на оригинал — есть более доступные и даже открытые анализаторы, тот же open workbench. в бОльшую часть стоимости оригинального saleae как раз заложена разработка софта, который любители китайских подделок так нахваливают. и спасибо saleae, что не встраивают в свой софт различные drm модули. чем собственно и пользуются пираты.


  1. poulch
    25.10.2019 17:21

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


    1. scg Автор
      25.10.2019 17:40

      Есть несколько возражений:
      1) встать в разрыв клапана конструктивно несколько сложнее, чем подключиться к блоку индикации.
      2) есть мнение, что напряжение на клапане много больше 5В, и нужно будет городить преобразователь уровня, и возможно, допускать 220В на плату монитора.
      4) Клапан срабатывает много раз за время стирки. Постоянное окрытие-закрытие вентиля уменьшает его ресурс.


      1. ProstoUser
        25.10.2019 19:00

        1. Там совершенно не обязательно вставать в разрыв. Датчик напряжения можно подключить параллельно клапану. Наверняка провода туда идут от блока управления.
        2. Скорее всего напряжение больше. Как минимум, 12В. Его можно измерить и подключить через диод и резистор обычную оптопару. Ну и зашунтировать оптопару другим резистором в случае переменного тока. На плату 220 — не знаю, насколько это разумно. Можно сделать отдельную маленькую платку.
        3. В одной из статей на Хабре увидел, что ресурс шарового крана 20-25 тысяч открываний/закрываний. Это очень много. Если одно открывание на цикл стирки и стирка раз в день и каждый день, то хватит на 50 лет, если стиралка дергает его по пять раз за цикл стирки, это все равно 10 лет. Для уменьшения количества дерганий можно сделать таймаут закрывания минут 5-10, или даже пару часов, чтобы гарантировано хватало на полный цикл.

        Собственно, решение со снифером i2c не удобно только одним — зависит от модели конкретной стиралки. А электромагнитный клапан есть в любой машинке. Тут надо поменять только номинал резистора в зависимости от напряжения.


        1. scg Автор
          25.10.2019 19:11

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

          А то, что I2С решение привязано к конкретной модели машинки — это да, его недостаток. Но, опять, таки, все зависит от условий, в которых велась разработка. Я совершенно не собирался тиражировать свое решение, зато очень хотелось все сделать более технологично. Я же, при желании, могу снимать с блока индикации больше информации и отправлять его, к примеру, на сервер умного дома.


          1. ProstoUser
            26.10.2019 12:39

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

            А как вы к I2C подключаетесь без переходников? Я бы просто подпаял дополнительные проводочки на плате контроллера. Что к I2C, что к выводам клапана. Собственно, когда делал управление отопительным котлом, я так и сделал — припаял дополнительные провода к плате.

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

            Это как раз понятно :-) Тут ведь главное, чтобы было интересно такими модификациями заниматься!
            Я просто сам думал на эту тему и пришел к выводу, что логичнее всего подключиться к клапану. Ну а раз вы используете другой метод, то может быть я что-то упустил и пришел с своих рассуждениях к неверному выводу.

            К тому же, стиральная машинка — это совсем не вечный агрегат. А после замены на новую скорее всего окажется, что она другой модели и использовать старую систему защиты от протечек уже не получится.

            Но в целом, ваша логика выбора решения мне понятна. Спасибо за пояснения.


            1. scg Автор
              26.10.2019 12:59

              А как вы к I2C подключаетесь без переходников? Я бы просто подпаял дополнительные проводочки на плате контроллера.

              Да, я изготовил преходник из старого ISA разъема. Лезть паяльником в машинку очень не хотелось. Но главное, что единчтвенное место, где можно было установить монитор находится рядом с блоком индикации, поэтому провода получились максимально короткими. То еcть, так совпало.


      1. poulch
        25.10.2019 19:07

        на клапане 220. из 220 сигнальные, например 5 вольт, получаются маленьким трансформатором легко (или импульсным источником hilink с али ). вместо вентиля используется нормально закрытый клапан. вообще схема вполне себе аналоговая собирается. простейший детектор протечки — это мультивибратор у которого один из резисторов это вода. пошла генерация — ключом блокирнули релюшкой подачу на наш дополнительный заливной клапан напряжения 220. и все… а так синхронное открытие. нет 220 — нет вообще воды…


        1. scg Автор
          25.10.2019 19:19

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


  1. Apazhe
    25.10.2019 18:02

    Но зачем такие сложности со слушанием шин и дешифрацией снующих по ним пакетов? В стиральной машине есть клапан подачи воды. Он открывается — и нам надо открыть наш вентиль. Он закрывается — и мы тоже можем закрыть наш вентиль.

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

    Глядишь, и ресурсов на полноценный стереозвук хватило бы.

    upd: и тут до меня дошло, что дверка стиралки блокируется электрозамком.


    1. scg Автор
      25.10.2019 18:16

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


    1. deepform
      26.10.2019 14:39

      Я чуть раньше писал о этом.там контроллеры вообще ни к чему)


  1. VT100
    25.10.2019 19:33

    БП "мозгов", как правило, без гальванической развязки. Вот УЗО и срабатывало.


    1. scg Автор
      25.10.2019 19:43

      Получается, ток уходил в повербанк? Но как?


      1. VT100
        26.10.2019 13:13

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


        P.S. Руководство по обслуживанию Кэнди: elektrotanya.com/showresult?what=Candy%20GC4%201072&kategoria=haztartasi&kat2=all


        1. scg Автор
          26.10.2019 21:00

          Спасибо, стало понятней. Там вполне мог корпус USB разъема соприкасаться с корпусом повербанка (он по толщине не многим больше этого разъема), а производитель мог просто не придать этому значение.


  1. adxx
    25.10.2019 19:40

    Прочитал комменты. Баттхерт позабавил.
    Автор — молодец, время пива и сериальчиков потратил с толком.
    В отношении радиоканала — я бы предложил nrf24l01, но это уже личные предпочтения.


    1. scg Автор
      25.10.2019 19:45

      Спасибо. FS1000A мне показался самым популярным, да и либа под него в Интернетах была. Но согласен, выбор был не самым удачным.


  1. kvazimoda24
    26.10.2019 00:00

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


  1. iig
    26.10.2019 07:33

    Отличный получился троллейбус ;) Ездит — это несомненное достоинство. Но системное решение сантехнических проблем — это сглаживание гидроудара. Редуктор давления на входе в квартиру + расширительный бачок — и ничего с вашими шлангами не случится. Унитаз, смеситель на кухне, посудомойка, бойлер — гибкие шланги везде; почему сколько внимания именно к стиралке?


  1. pt200
    26.10.2019 12:43

    А почему бы не мониторить ток потребления по 220вольтам, как по мне, универсальное решение( +не только для стиралки подойдет, +не лазить внутрь стиралки)?


    1. scg Автор
      26.10.2019 12:54

      Да, была такая идея. Мне даже предлагали снимать ток бесконтактным датчиком. Но я прикинул, что тяжело будет по току отследить начало стирки, так как машинка всегда включена и что-то потребляет, а пик потребления начинается уже после заливки воды. В общем, сниферить I2C мне показалось проще, чем изучать профили потребления, хотя в итоге это могло привести к более интересным результатам.


  1. FSA
    26.10.2019 15:54

    Не знаю сколько стоило решение (без учёта времен автора), но, по моему, такое можно легко реализовать на дешёвых железках Xiaomi (не знаю, делает ли кто дешевле). Нужны датчик протечки воды, шлюз (центр умного дома Xiaomi), беспроводное реле от Xiaomi и необходимое число электрокранов для перекрытия воды. При этом кранами можно будет управлять прямо из приложения, закрытие открытие по таймерам, по срабатыванию датчика протечки и прочее. В данном DIY, если это можно так назвать, работы руками минимум — только прокладка проводов и подключение их клеммам реле и электрокранам. Думаю работать данное решение будет не хуже того, что описано в статье.


  1. Costic
    26.10.2019 16:23

    У меня вопрос по схеме. У вас пьезодинамик с трансформатором — это индуктивная нагрузка транзистора. Вы уверены, что диод в нужном месте поставили?
    Схему управления двумя источниками питания вы не удачно выбрали. Тут напрашивается полевой транзистор, который будет открываться при наличии БП. Пример схемы есть в Arduino UNOMEGA схеме, там используют FDN340, LM358.
    В целом мне нравится, аккуратно, но осциллографом надо пощупать.


    1. scg Автор
      26.10.2019 21:09

      Вы уверены, что диод в нужном месте поставили?

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

      Схему управления двумя источниками питания вы не удачно выбрали.

      К сожалению, это единственное решение которое я нашел. По какой-то причине, Гугл на попытки поиска бесперебойного питания для Arduino мне, по большей части, показывал рекламу стоечных бесперебойников. Так что большое спасибо за наводку: обязательно изучу схему питания Arduino MEGA.


  1. arthuriantech
    26.10.2019 21:39

    От комментариев двоякое чувство. Почему никого не беспокоит убитое время на игры и телесериалы?


  1. Megavolv
    26.10.2019 22:07

    В качестве бреда — а если клапан для воды подключить к защёлке двери. Дверь заблокирована — вода открыта… и наоборот…


    1. scg Автор
      26.10.2019 22:11

      Почему бреда? Вы не единственный, кто обратил внимание на такое решение. Однако я не хотел использовать клапан изначально. Почему-то вентиль с моторчиком мне понравился больше.