Теплица на Ардуино-Мега. Часть 5.
Поскольку прошлые рассказы о постройке умной теплицы вызвали интерес,
Теплица на Ардуино-Мега. Часть 4.
решил рассказать своим подписчикам и всем, кому интересно, как продвигаются с ней дела.
Несмотря на то, что снег еще у нас не сошел, неделю назад я установил блок управления в теплицу и подключил обогрев почвы (теплый пол) пока без автоматики и обогрев воздуха обогревателем с автоматическим управлением. По прошествии недели, в минувшие выходные оказалось, что почва прогрелась до 30 градусов, на момент осмотра обогреватель отключен, температура воздуха 22 градуса - солнце уже работает как надо.
Кроме того, 15 апреля я включил автопроветривание, чтобы понаблюдать за его работой.
Посмотреть как работает система автопроветривания и регулирования температуры можно на Youtube.
Попробовал следующие настройки:
открывание окон 25 градусов
закрывание окон 21 градус
включение обогревателя 18 градусов
выключение обогревателя 20 градусов
Нстройки оказались неоптимальными. То есть на улице темпратура 8 градусов и ветер. Примерно каждые 20 минут температура в теплице достигала 25 градусов, окна открывались, теплица быстро проветривалась, окна при 21 градусе начинали закрываться, пока закрывались, температура падала еще ниже, поэтому сразу после закрытия окон на 5 мин. включался обогреватель. Изменил настройки:
открывание окон 28 градусов
закрывание окон 22 градус
включение обогревателя 16 градусов
выключение обогревателя 19 градусов
Все устаканилось, теплица перестала хлопать окнами. Возможно надо установить еще датчик температуры на улице и коррелировать как-то управление температурой в теплице, основываясь на его показаниях.
Систему открытия окна тыла, котора была на шкиве и веревочке, признал ненадежной, заменил на зубчатый ремень.
Когда переделывал окно, увидел ошибку в программе. Там есть защита от несработки концевика, то есть если концевик не сработал, то мотор работает какое-то время и отключается. Но счетчик попыток я не сделал и мотор, отработав положенные секунды отключается, но затем включается вновь, пытаясь закрыть окно и замкнуть концевик. Допилю код - выложу обновленную версию.
На следующих выходных - посадка огурцов.) Автополив пока включить невозможно, отрицательные температуры, подача может перемерзнуть.
Теплица на Ардуино-Мега. Часть 4.
Некоторые мои подписчики интересуются, как продвигаются дела с теплицей, о которой я рассказывал ранее:
Теплица на Ардуино-Мега. Часть 2.
Теплица на Ардуино-Мега. Часть 3.
Будет много текста, но он пригодится тем, кто интересуется, все-таки почти 200 подписчиков. На сегодняшний день можно сказать, что электроника готова к дачному сезону, а остальное было готово еще в прошлом году. Из схемы изменилось лишь одно - добавился аналоговый датчик температуры LM235Z. Просили выложить измененную программу - вот, выкладываю в конце поста.
Немного о том, как все получилось так как получилось. Изначально настройка параметров теплицы с кнопочек с отображение на дисплее не планировалась, поэтому я предусмотрел кнопки и переключатели в ящике. Все это можно было тоже реализовать программно, но раз уже сделал, то они сохранили свою функциональность:
- переключатель обогрева почвы (обогрев отключен / включен автоматический обогрев),
- переключатель обогрева водуха (обогрев отключен / включен автоматический обогрев),
- трехпозиционный переключатель открывания окон (автоматика отключена, окна открыты / автоматическое управление окнами / автоматика отключена, окна закрыты),
- кнопка набора воды в бак,
- кнопка полива,
- переключатель режимов полива (один раз в день / два раза в день)
- кнопка включения подсветки дисплея, установленная сверху ящика. Включает подсветку на 30с.
Сразу понятно, что все это для случаев, если вдруг что-то пойдет не так с автоматикой.
Теперь о настройках, которые можно установить с кнопок на панели. Основное меню состоит из 3-х пунктов:
1. Меню настроек.
2. Установка даты-времени.
3. Тестовая программа для концевиков и моторов открывания окон.
С установкой даты и времени все понятно. Тестовая программа - чтобы подключить окна, погонять их с помощью кнопочек, проверить как закрываются, правильно ли подключил, настроить сработку концевиков и т.д.
В меню настроек можно установить следующие параметры:
1. Время полива.
2. Время второго полива (если включен режим полива 2 раза в день)
3. Время набора воды.
4. Температура открытия окон.
5. Температура закрытия окон.
6. Температура включения обогрева почвы.
7. Температура отключения обогрева почвы.
8. Температура включения обогрева воздуха.
9. Температура отключения обогрева воздуха.
Жена сказала, что поскольку нет никакого резервирования и защиты, если концевики не сработают, нужно еще установить предельное для работы насоса и моторов окон. Это было правильное и справедливое замечание, поэтому пришлось ввести и такие настройки:
10. Предельное время работы мотора открывания окна 1.
11. Предельное время работы мотора открывания окна 2.
12. Предельное время работы мотора закрывания окна 1.
13. Предельное время работы мотора закрывания окна 2.
14. Предельное время работы насоса.
15. Время работы насоса для запуска полива.
Об изменениях. Не могу понять, что творится с датчиком DHT11. Работает, работает, а вдруг раз, и повиснет. Смотрел на форумах - многие жалуются. Коллега сделал себе метеостанцию - та же песня. Решил поступить таким образом. Добавил в схему аналоговый датчик LM235Z. Программно написал, чтобы при зависании DHT11 система переключалась на данные с LM235Z. Приедет еще один датчик - буду тестировать его на другой плате до посинения, может мне попался не совсем исправный экземпляр. Даже если добьюсь нормальной работы цифрового - аналоговый для резерва оставлю.
Еще один датчик DS18B20, такой же, как остался закопанным в почву, уже приехал. Поэтому я смог подключить его к панели и панель на столе была протестирована полностью. Работу концевиков я имитировал микропереключателями, датчики прислонял к бутылке со льдом, а в кабинете 27 градусов, жарко, так что включение всех реле протестировал.
Теперь о грустном. Очень хотелось видеть данные с теплицы онлайн. Был приобретен модем SIM800L и Распберри Пи. На Малинке с помощью коллег по работе подняли веб-сервер, запустили модем. Перепробовали кучу библиотек, но они то конфликтовали с другими библиотеками, то зависали. В итоге все-таки добились, чтобы данные передавались по GPRS Get-запросом в базу записывались и на сайте отображались. По IP сайт был доступен в глобале. Однако связь была неустойчива и модем терял GPRS. Приходилось перезагружать модем и как-то раз я, выдергивая провода, прилично долбанул его статикой. Волшебный синий дым и него не вышел, но искра пролетела знатная. Тут уж он совсем что попало погнал. Короче, в этом году мне не удастся увидеть теплицу онлайн. Есть и еще один аспект. Передавать данные на сервер лучше UDP пакетами. Это точно спасет от зависаний, но я не знаю, как данные из этих пакетов затолкать в базу, потому что, когда я учился, ЭВМ были еще с комнату размером и программирование я освоил только на начальном уровне, да и было это в 89-м году. Если кто поможет, буду признателен и в след. году теплица появится онлайн. Теперь, собственно программа для теплицы. Прошу не смеяться, я, можно сказать, пенсионер-самоучка, но код рабочий. Настроечные вещи, типа вывода в монитор порта не убирал специально - может, пригодятся для отладки. Если будут какие-то изменения в процессе эксплуатации летом - могу потом исправленное выложить. Приму конструктивную критику. Небольшое видео - как работает настроечное меню.
Теплица на Ардуино-Мега.
Все мои истории с предысторией. Моя мать живет в собственном доме, но здоровье уже не позволяет ей возиться в огороде. А моя жена, кандидат наук, очень любит "отдохнуть", копаясь в верхнем слое планеты. В соседем от матери доме живет моя сестра с семьей. Так вот, муж моей сестры, зовут его Александр, ближе к концу лета (мой отпуск как раз был где-то на середине), позвал меня посмотреть на сконструированный им девайс. Это было устройство с роликами, шестеренками и большим круглым рулем. Александр пояснил, что девайс предназначен для того, чтобы гнуь металлический профиль в красивые ровные дуги. Устройство впечатляло своей основательностью, а он пояснил, что теперь страсть как хочется что-то гнуть, но, вроде как нечего, да и свободные средства отсутствуют. Я похвалил его и спокойно себе пошел в свой огород, помогать жене наслаждаться огородными работами. И тут жена спрашивает, видел ли я устройство, и не хочу ли я принять предложение Александра загнуть нам профилей на теплицу. Я понял, что хитрый родственник уже заинтересовал жену перспективами новой теплицы для огурцов. Я с кислой рожей стал говорить, что надо ее открывать-закрывать, поливать, а мы только на выходных... и т.д. А она мне и говорит: "Ну вот и сделай на Ардуине, чтоб она сама.. Или не по силам?"
Знает меня, подловила. Ну что ж, вызов принят. Сварочник у Александра в наличии, у меня в наличии деньги на материал. Сначала, использовав свои скупые знания в 3Д моделировании, нарисовал во FreeCad проект. Вот такой:
Кое-что, надо сказать, в процессе строительства я изменил, но по мелочи. Итак, затарился 6-ти метровым профилем 25х25мм, стенка 2мм, плоским шивером, и стройка началась. Вдвоем с женой сделали планировку местности - она всегда активно и с удовольствием помогает. Затем пришло время сварочных работ:
Семья активно помогала, дочь занималась покрасочными и украшательскими работами, а также подавала инструменты.
Пол в одной из грядок решил сделать с подогревом - пусть пораньше садят свои огурцы.
Засыпал, как положено, песочком, прикрыл металлической сеткой, утеплил наружний борт пеноплексом, а уж потом землю насыпали.
Установил бак на одну поливку (в него насос будет воду накачивать). Установил систему полива самодельную.
Дорожку к теплице выложил (вокруг газончик будет).
После этого занялся форточками. Алекандр, идейный вдохновитель, сварщик и любитель гнуть профили, (когда он говорил, как ему не терпится опробовать свой девайс и что-то гнуть, напомнил мне робота из м-ф "Футурама") еще и занимается ремонтом автомобилей. Поэтому подарил мне стаклоподъемник от какого-то иностранного автомобиля. Еще валялся у меня от "Приоры". Вот они-то и были использованы для открывания форточек. Вот этот от иномарки, кажется от Субары:
Попрошу за качество видео не пинать, я не оператор. Вот видео второго окна, которое открывается стеклоподъемником от приоры, но его я решил переделать, поставлю зубчатый ремень от 3Д принтера, уже приготовил.
Потом стал заниматься электонной частью, сделал коробочку:
Натолкал туда электроники
А тут уже и осень наступила. Написал код пробный, успел открывание и закрывание окон по температуре проверить, полив по времени.
Настроить не успел как следует. Сейчас пишу код, чтобы настройки с кнопочек вводить, на дисплее смотреть. Надеюсь что уже этой весной запущу. Длинновато получилось, но куда деваться? Баяномер неадекватен. Выдал много всего, включая А.М.Горького и спящих ежей.