Авто-смыв унитаза для кота

Почему надо смывать унитаз?

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

Техническое задание

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

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

Такой алгоритм работы отличает кота от человека и достаточно хорошо защищен от случайных срабатываний — авто-смыв не сработает, если человек кратковременно зашел в туалет (например за шваброй).

Общий дизайн и механическая часть

У меня в туалете стоит совершенно обычный фаянсовый унитаз с ручкой на крышке. Старую советскую механику я давно заменил, установив немецкий кран и клапан смыва.

Унитаз без автоматизацииУнитаз без автоматизации

Как видно, свободного места в бачке относительно много, поэтому я решил разместить всю систему автоматизации внутри сливного бачка, главным образом потому, чтобы оно не привлекало внимания. Я не хочу объяснять каждому гостю, зачем нужно это устройство и что оно делает.
Для раскройки механических деталей и крепежа я использовал самодельный домашний CNC станок. Детали я изготовил из мягких листовых материалов, которые у меня тогда были под рукой — раму вырезал из полиэтиленовой кухонной разделочной доски, а клапан унитаза дополнил горизонтальной платформой, вырезанной из листового углепластика. Эта платформа передает клапану усилие тяги сервопривода и предотвращает вращение клапана вокруг своей оси. Подъем клапана сервоприводом и ручкой независимы друг от друга — унитазом можно пользоваться, как и раньше, дергая за ручку смыва, а сервопривод поднимает клапан, также не поднимая ручку.

Унитаз с размещенной автоматизацией смыва.Унитаз с размещенной автоматизацией смыва.

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

Электроника

Как обнаружить кота на унитазе? Я экспериментировал с разными датчиками движения. Доплеровский СВЧ радар (этот прибор открывает раздвижные двери в торговых центрах) показал себя сложным в настройке и нестабильным, поэтому я использовал инфракрасный пироэлектрический сенсор (часто используется для автоматического включения света в подъездах). Хотя этот прибор достаточно сложен и на самом деле является тепловизором, совмещенным с анализатором изображения, но такие пироэлектрические датчики давно уже вошли в быт, все более-менее однотипные и, обычно, стоят несколько долларов штука. Я использовал миниатюрный Grove mini motion sensor на основе S16-L221D. Он не имеет элементов настройки, но их можно добавить, следуя инструкции. Для регулировки чувствительности я припаял к нему подстроечный резистор и, так же немного повысил его быстродействие, замкнув резистор на плате. Этот датчик без потери функциональности можно заменить на более крупный и дешевый аналог ZRD09, он уже имеет подстроечные потенциометры для настройки чувствительности и быстродействия. Инфракрасный датчик я расположил снаружи бачка, разместив его сбоку унитаза на расстоянии около 30 см. Сам датчик я поместил в маленькую коробочку, а провода датчика закрыл пластмассовым коробом.

Размещение инфракрасного датчикаРазмещение инфракрасного датчика

Для подъема клапана унитаза я использовал судомоделный сервопривод JMT 20, которой, по утверждению производителя, имеет некоторую степень влагозащищенности. Этот сервопривод относительно мощный и комплектуется металлической «рукой» с дополнительным отверстиями.

«Мозгом» устройства является популярный контроллер Arduino Micro. Его я разместил в пластмассовой коробочке. Внешние устройства — датчик, геркон, блок питания, сервопривод, светодиоды подключены к коробочке через 3-х контактные JST разъемы — каждый элемент может быть отсоединен от общей системы.

В качестве источника питания я использовал импульсный 12 В 2А блок питания, воткнутый в розетку на кухне — напряжения 12 вольт передается в туалет по 3-х метровому проводу. 12 вольт, прямо внутри коробочки, конвертируются стабилизатором КРЕН5 в 5 вольт. Это напряжение питает Arduino, инфракрасный датчик и сервопривод. Такое решение не случайно, провод питания имеет относительно большое сопротивление и, если не принять меры, наводки от мощного сервопривода будут мешать работе контроллера. Кроме того, КРЕН5 нагревает коробочку и тем самым борется с влажностью внутри нее.

Электрическая схема устройстваЭлектрическая схема устройства

Программирование

Скетч для Arduino можно скачать здесь. Программа реализует следующую диаграмму состояний:

image-loader.svg

Следует заметить, что система отслеживает оба фронта импульса с инфракрасного датчика. Передний фронт переводит систему в некоторое промежуточное состояние (PREWAIT, PREDETECT), а фактический переход в состояние (WAIT, DETECT) происходит в момент заднего фронта импульса.

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

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

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

Настройка механики

Механическая настройка системы достаточно проста — необходимо выполнить следующие действия:

  • Правильно закрепить «руку» сервопривода и протестировать что ее перемещения хватает, чтобы открыть и закрыть клапан унитаза.(Для этого очень хорошо подходит «тестер сервоприводов»)

  • Правильно подобрать длину тяги, соединяющей платформу клапана и сервопривод.

  • Найти правильное взаимное положение магнита и геркона.

Таблица состояний системы

CветодиодыCветодиоды

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

Фаза

Время

Красный LED

Зеленый LED

INIT

2 сек

Включен

READY

-

PREWAIT

~ 3 сек

WAIT

30 сек

Мигает

DETECT

120 cек

Включен

PREARMED

~ 3 сек

Включен кратковременно

Включен кратковременно

ARMED

180 сек

Включен

FLUSH

< 1 сек

FLUSH_GERCON

5 сек

Включен

Включен

AFTERFLUSH

2 сек

GERCON

-

Мигает

Мигает

IDLE

15 сек

Мигает

Результат

Какие можно сделать выводы? Устройство отработало уже более 4-х месяцев. Механическая поломка была одна — согнутая из скрепки тяга клапана через 2 месяца разогнулась. Я просто ее заменил на сделанную из скрепки большего размера. Электроника и программное обеспечение, практически, не дали ни одного сбоя. Коту тоже система очень понравилась, и он теперь пользуется унитазом сам в любое время суток, не требуя моего внимания. В общем — рекомендую к изготовлению.

© Habrahabr.ru