Управление клапаном унитаза-2 (31.08.2024). |
![]() |
2024 - Август | |
31.08.2024 00:00 | |
Скетч и схема (исправлены до версии 1.1). Комментарии в скетче отражают некоторые критические мелочи, не описанные здесь (например, настройка схемы на выдерживание пониженного напряжения ~3.8В, в случае установки энергоэффективных реле). Преимущества перед системой без микроконтроллера, на момент создания последней: - самоконтроль датчиков и их проводов почти во всех возможных местах повреждений; - 3 системы индикации ошибок, на выбор: 1 считающий светодиод, 7 мигающих светодиодов, семисегментный индикатор. Выдача значений напряжений через COM-порт; - вместо одного датчика воды - два: второй заблокирует подачу воды в случае неостановки воды (неисправность реле, электроклапана, первого датчика) или отсутствия воды. Соответственно, реле - 2шт; - датчик состоит из одного-двух резисторов, придав датчику избыточную механическую жёсткость и уменьшив расстояние между контактами; - платформу Arduino Nano с микроконтроллером - просто нереально убить, как ни пытался (в отличие от капризных полевиков). Но... в самом конце, до монтажа в корпус, припаял меньше необходимого номинал резистора к RST - и отправил микроконтроллер в Вальхаллу. Поэтому эта схема будет пересобрана ещё раз, чистовой вариант, даже с панелькой DIP-32W, - не на ATmega168, а на ATmega328PB. Недостатки перед системой без микроконтроллера: - прощай, энергоэффективность: вместо потребления в режиме простоя 12В/2.4мкА (0.0026кВт/год) - 12В/0.16А (16.8кВт/год): плата контроллера, микропроцессор, уменьшение номинала сопротивления датчика с 110МОм до 6МОм; - макетную плату 5x7см пришлось изнасиловать, чтобы уместить на ней всё (зато теперь можно посмотреть на промежуточные фото монтажа - и без ошибки расположить элементы оптимально). Сам виноват: взял резисторы "1Вт" вместо 0.125Вт и т.д. Нужно только сдвинуть плату на одно отверстие левее (8 отверстий слева остаётся, 9 отверстий справа) - тогда семисегментный индикатор влезет всеми 4 пинами в плату, а не 3 (на фото он оторван с места установки - так получилось); - светодиоды неспособны становиться в ряд из-за габаритов - пришлось делать в шахматном порядке. Реле пришлось приклеить суперклеем (возможность замены без пайки, лишние отверстия сверлить в плате не надо). В момент спаивания ножек групп элементов (резисторы, светодиоды) - они немного искривились с лицевой стороны платы; - потребовались дополнительные элементы (семисегментный индикатор, кнопка перезагрузки, резисторы, второе реле) - что увеличило стоимость системы, относительно системы без микроконтроллера. Между источником питания 12В и 5В - был выбран 12В: у Arduino внутреннее рабочее напряжение 5В - при любом входном напряжении >6В (плюс, используется адаптер питания клапана без необходимости покупки преобразователя). Радиатор на сам микроконтроллер - не требуется: я параноик. Парные аналоговые выходы, питающие реле, можно соединять перемычками, чтобы не разводить припойную грязь. Габариты системы, в итоге, те же самые: на макетную плату 5x7см и в мыльницу - влезает. Но вместо 2 проводов датчика выходит уже 3, вместо одной кнопки (подачи напряжения на клапан вне системы управления) стоит ещё кнопка ребута Arduino. Индикаторы сделал на макетной плате - теперь в мыльнице прозрачное пластиковое окошко городить потом придётся. На фото - старый вариант вывода напряжений на экран, превышение уровня воды, нет воды, есть вода. Итоговая стоимость (на алиэкспрессе, естественно, - с бесплатной доставкой): - платформа Arduino Nano v.3.0 с ATmega 328(P/PB) - 150руб; - семисегментный индикатор TM1637 - 49руб (опционально); - светодиод красный - 59руб/100шт, надо 9шт (опционально); - реле JQC-3F(T73) 5В - 39руб/шт, надо 2шт; - резистор 82кОм/0.125Вт/10% - 60руб/100шт (надо 2шт, а также из 8шт сделать резистор для контакта RST); - резистор 3МОм/2Вт/5% - 59руб/20шт, надо 4шт (на алиэкспрессе почему-то нет 5.8-6.2МОм/2Вт); - микротумблер MTS-102 (можно MTS-101) - 81руб/5шт, надо 2шт; - макетная печатная плата односторонняя 50x70мм (запрос "плата 5x7"): 65руб/5шт - надо 1шт; - предохранитель 0.5А: 34руб/10шт - надо 1шт; - клеммы на клапан (аналог РПИ-М 1.5) - 150руб/10шт, надо 2шт - ну их на хрен: тупо припаяться можно; - дорожная мыльница "Полимербыт" как корпус - 30руб/шт (в ашане); - флюс, олово, электричество, износ жала - 50руб; - провода из сломанного БП ПК надёргать можно (разноцветные - очень удобно): 131руб/5м, надо 3-4м; - защитный диод на электроклапан: на практике показал, что не нужен (ничего не выходит из строя) - с его поиском больше мороки, чем с потенциальной полезностью; - итого: 846руб. ![]() Если ничего нет под рукой - цена будет такой высокой. У меня же вышло 229руб: микроконтроллер, индикатор и мыльницу пришлось купить. Именно поэтому продолжаю считать, что все долгоиграющие вещи нужно покупать оптом или вытаскивать из мусора перед выбрасыванием: провода, резисторы, платформы, индикаторы и т.д. За 10-15 лет их цена вырастет, а за счёт неугасающего творчества излишки будут расходоваться лавинообразно. Ну а если творчество заглохло - то и на избыточные изначальные затраты уже плевать: там штормит не по-детски. Собственно, эти излишки сейчас и позволяют держаться психологически на плаву. (добавлено 04.09.2024) Сильное изменение номинала подтягивающего резистора в меньшую сторону приводит к появлению ну очень больших погрешностей при пониженном питании. При питании 3.8В и заземляющих резисторах 75кОм - на ATmega328PB регистрируется "0.16В" там, где по факту 0.05-0.06В. Но, опять же: даже при таком раскладе - скетч будет считать, что резистор лежит вне воды: для срабатывания неравенства нужно 0.6В. Скетч можно дорабатывать: произошло событие, ожидаемое лишь через несколько лет. Выпускная система унитаза начала приспускать воду. Так как в унитазе сейчас стоит управляющая система без микроконтроллера - единственное, чем она могла привлечь внимание, - это звуком кратковременного включения-выключения клапана, работающего пару секунд. Услышал. В системе с микроконтроллером же: можно реализовать контроль, сколько секунд вода набиралась; и если меньше 2-3 - заблокировать подачу воды с уведомлением. Вот для этого и пригодится оставшийся свободным пин D13: ошибка "проверь выпускную систему". Такая же ошибка может произойти, если унитазом долго не пользоваться - и вода в незакрытом бачке тупо испарится. Тем более, в этом случае управляющая система должна остановить воду: ведь это значит, что хозяин не перекрыл краны в пустой квартире. (добавлено 05.09.2024) Оказалось, просто что-то твёрдое попало между резинками (возможно, упавшее в открытый бачок во время изготовления полки). (добавлено 12.09.2024) Собрал заново макетную плату (попробовал другое расположение элементов - вышло хуже). Оттестировал. Добавил ошибку кратковременности работы клапана, уменьшение энергопотребления. Оттестировал (дождался в т.ч. нового TM1637 взамен изнасилованного и убитого). Самоконтроль датчика на проверку налёта и иной грязи сделать не смог: остаётся непонятно, как. Скетч несовместим со старой версией схемы 1.0. (добавлено 20.04.2025) О контактируемых с водой материалах (до сих пор работает первичный вариант водоснабжения, на полевике). За 8 месяцев - проблем нет, если бы сам внутрь не полез. Приспичило сделать основании трубки отверстие иглой от шприца: чтобы воздух выходил быстрее (если вода слита, и напора нет из-за отключения воды, - трубка становится почти пустой). Результат получился обратный: стали сильными гидроудары - пришлось менять трубку на новую. За это время она покрылась минеральным налётом. Как и резисторы; но конструкции - пофиг. Тут ещё УК балуется отключениями холодной воды; в результате, условия для тестирования конструкции - жесточайшие. |
|
Обновлено ( 20.04.2025 20:17 ) |