С третьего подхода к этому устройству, решился таки написать про него. При кажущейся простоте, теперь я понимаю, почему готовые такие устройства стоят своих денег.
Все началось достаточно давно и, как обычно, ничто не предвещало... у меня как-то образовался еще один цветок на подоконнике, а параллельно с этим приехала китайская ардуинно нанао LGT8F328P, которую очень хотелось попробовать в деле. Так вот же оно! Нужно перестать заморачиваться с лейкой и сделать автоматику для полива двух растений.
В первом устройстве я взял два насоса на 5В, напечатал для них держатели, засунул в вырезанный их ПВХ корпус, добавил модуль с 2 реле для управления, давно валявшийся без дела 0.91" OLED дисплей, чтоб было информативно, и энкодер, чтоб всем этим управлять. Для определения влажности почвы использовал самые доступные емкостные датчики.
Получилось компактное вытянутое устройство, у которого было 2 недостатка.
Поскольку размещать емкость с запасом воды для полива на подоконнике (а не на полу) не входило в мои планы, а слушать затяжной будильник - тем более, от такой конструкции пришлось отказаться.
Для второго устройства я решил взять более мощные насосы на 12В, у которых сразу было предусмотрено крепление, гасящее вибрацию. А больший диаметр водопроводных трубок позволил не только сократить время полива, но и использовать фильтр грубой очистки при закачке воды.
Устройство получилось в компактном форм-факторе, близким к кубику, но это было, похоже, его единственное достоинство. И снова было 2 недостатка.
Если с первым недостатком можно было как-то жить, хотя функции устройства сводились, фактически, к поливу по времени, то проблема самопроизвольного отключения сводила пользу от устройства практически на нет.
И вот мы подходим к третьей версии устройства, в которой я использовал более дорогие датчики влажности, благодаря которым, качество измерений стало несравнимо выше. Еще один несомненный плюс новых датчиков - это конструкция, тонкие стержни куда проще вставляются в землю, чем большие платы емкостных датчиков.
Но опять пришлось переделывать корпус, поскольку у датчиков теперь есть дополнительные платы, которые никак не помещались в предыдущую версию корпуса. Но благодаря этому, от устройства к датчикам стали идти более аккуртаные провода. Так же пришлось использовать другой энкодер, чтоб уменьшить глубину теперь уже немаленького корпуса.
Ну и самое главное, удалось решить проблему с отключением, ее причина и способы решения очень хорошо описаны вот в этой статье, ниже я приведу выжимку для моего случая:
Мотор – это индуктивная нагрузка, которая в момент отключения создаёт индуктивные выбросы. У мотора есть щетки, которые являются источником искр и помех за счёт той же самой индуктивности катушки.
Отсечь индуктивный выброс с мотора можно при помощи самого обычного диода. Диод ставится встречно параллельно мотору, и чем ближе к корпусу, тем лучше. Логично, что диод нужно ставить только в том случае, если мотор или катушка управляется в одну сторону.
Искрящиеся щетки мотора, особенно старого и разбитого, являются сильным источником электромагнитных помех. Проблема решается установкой керамических конденсаторов ёмкостью 0.1-1 мкФ на выводы мотора.
Прямо на насосах я собрал обвязку из диода 1N4001 (который просто был под рукой) и конденсатора 0.1uF на 50В. Эффект не заставил себя ждать, теперь дисплей всегда выключался непосредственно при включении насоса, но устройство продолжало работать.
Мне следовало бы добавить конденсатор на линию питания, но я поленился, и просто переключил питание дисплея на линию 5В со всеми остальными модулями. Изначальный смысл подключения дисплея к 3.3В был в том, чтоб сократить его выгорание, но поскольку тут у меня картинка постоянно двигаеся вверх-вниз, надеюсь, все с ним будет хорошо.
Еще об особенностях конструкции, китайская ардуинка заметно греется, особенно при питании от 12В, нагрев не критичный, но для большего спокойствия снабдил ее радиатором. В результате у меня получилось устройство, схожее по габаритам с самой первой версией, но развернутое на 90°.
Не смотря на то, что корпус устройства сделан из ПВХ т.к. 3D-печать в таких размерах требует уж очень много времени, совсем без напечатанных деталей не обошлось, мне пришлось напечатать:
Корпус был поставлен на очень давно пропадающие мебельные то-ли ножки, то-ли стопоры для дверей, а для сборки всего вместе, помимо супер-клея, понадобилось несколько винтов и гаек М3 и М4.
На закуску самое интересное - играбельный проект на эмуляторе и все 3D-модели на thingiverse. А так же исхожный код на github.
В бесконечности перфекционизма. Резистивные датчики влажности, хоть и оказались во всем лучше емкостных, имеют один недостаток - они, в силу своей конструкции, склонны к коррозии. В емкостных корродировать просто нечему.
Чтоб уменьшить коррозию и продлить жизнь датчиков, я попробовал отключать их питание, когда показания не нужны. Получилось что-то вроде: 100-150 мс. датчик включен, считываем показания, отключаем на 1 секунду. В теории это должно было продлить жизнь датчика аж в 10 раз и сэкономить немного электричества. На практике оказалось, что для "прогрева" датчика требуется много секунд, и только после прошествия длительного времени он выходит на нормальные показания. В режиме включил-померил-выключил показания сильно завышены. Емкостные датчики, кстати, если верить всяким обзорам, прогреваются и измеряют за 50 мс., но проверять на практике в рамках текущей конструкции уже нет желания.
Спустя примерно месяц, мне на глаза попалась статья, где описывается, что у более половины емкостных датчиков есть конструктивные недостатки, портящие их функционал. Яркий пример того, как дурацкой ошибкой можно запороть хорошую идею. Мои датчики тоже оказались с дефектом. Вот видео, объясняющее проблему и способы ее исправления:
Я не поленился и поправил свои датчики, но попробовать их в деле пока возможности не представилось, надеюсь, что как дело дойдет до дела, они будут вести себя адекватно.