Pull to refresh

Использование устройства на базе STM32 в системе полива для открытого грунта

Reading time 5 min
Views 21K

Предисловие


Около года назад я описал в статье систему для полива моего участка — и теперь опишу дальнейшее её развитие.Год — достаточно большое время, и его удалось потратить с пользой. С удовольствием опишу и расскажу вам, что же у меня получилось.

Решаемые задачи


Теперь наполнение бочки это рутинная и достаточно второстепенная задача. Главным приоритетом сейчас является научить систему автоматически начинать полив, и вот тут как раз и встаёт вопрос — а когда именно надо начинать поливать? Тут же найдётся тот, кто мне посоветует таймерный полив. Действительно, почему бы и нет? Дёшево и сердито, и всегда можно сказать, что у меня всё в полном ажуре. Но увы — это не совсем так. Погода штука непостоянная, и даже самый изощрённый таймерный вариант не сможет уследить за тем, сколько сегодня было облаков и насколько сильно светило солнце. Про дождь даже и говорить не приходится — таймер этот факт проигнорирует. Хотя есть продвинутые варианты таймеров с датчиком дождя — но они увы, стоят как небольшой самолёт.

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

Состав оборудования


В качестве сердца системы был выбран выпускаемый малой серией программируемый логический контроллер «iТеплица -малый контроллер». Фото контроллера со снятой крышкой под спойлером.

Фото контроллера
image

И это именно программируемый логический контроллер — для него есть среда разработки, которая позволяет не только написать программу на промышленных языках стандарта IEC 61131-3, но и произвести онлайн отладку с режимом мониторинга. В качестве среды программирования используется демонстрационная версия программы GX Developer-FX. Сам контроллер полностью совместим с серийным контроллером Mitsubishi FX2N. Как видно на фото, система построена на микроконтроллере STM32F103C8T6.

Немного о его возможностях:

1. Количество шагов выполнения программы -2000. О шагах более подробно расскажу немного ниже.
2. Гальванически изолированная шина интерфейса 1-wire. Позволяет работать со 128 датчиками. При помощи утилиты настройки производит поиск датчиков и сохранение в энергонезависимой памяти контроллера.
3. Гальванически изолированная шина интерфейса RS-485 с поддержкой протокола обмена modbus RTU. При помощи утилиты настройки может работать как в режиме мастера, так и в режиме слейва.Всего может быть поддержано до 64 слейвов( при работе контроллера в режиме мастера).
4. Программирование и отладка производятся при помощи micro -USB кабеля.
5. Имеет 8 дискретных входов и 8 дискретных выходов, из которых 2 выхода снабжены реле с нагрузочной способностью 5A 250V AC. Также имеет 2 аналоговых входа.
6. Имеется 2-й порт протокола modbus RTU — но он имеет TTL интерфейс и предназначен для подключения к системам сбора данных. Может работать тольков режиме слейва.
7. Используется операционная система реального времени.

Следующее действующее лицо — это датчик освещённости. Он построен на основе микроконтроллера STM32F030 с использованием операционной системы реального времени. Имеет последовательный интерфейс стандарта RS-485 с поддержкой протокола обмена Modbus RTU для обмена данными и настройки параметров. Корпус исполнения IP67 позволяет производить установку под открытым небом. Фотография под спойлером.

Датчик освещённости в сборе
image

Для любопытных читателей сразу скажу — сенсор BH1750 позволяет произвести замеры освещённости больше 100 тыс. люкс за счёт изменения ширины окна измерения.
И ещё есть одна отличительная особенность данного датчика от тысяч других — он сам считает накопленную мощность в Дж/см2/час и по запросу передаёт мастеру сети. При поставке каждый сенсор имеет собственный сертификат калибровки на мощность излучения 1000 Дж/см2/час и сразу готов к применению.

Сам объект управления


В качестве объекта используется небольшой участок земли размерами 5,5м х 25 м, оборудованный 6 линиями капельного полива. Капельные трубки 16 мм с капельницами через каждые 30 см с водовыливом 1,6л/час. То есть в теории за один час такая система может израсходовать 800 литров воды. Но так как мы не используем бустерный насос для поднятия давления воды, то под давлением самотёка значения расхода оказываются значительно ниже.

Ход работ: монтаж на объекте


Вот как выглядят смонтированные датчики уровня в бочке для управления наполнением. Как видите, всё прикручено медной проволокой без особых заморочек. Датчики поплавкового типа, герконовые.

Датчики уровня в бочке
image

А вот тут под спойлером вы можете увидеть смонтированный датчик освещённости. Опять же, один шуруп решает все проблемы.

Датчик освещённости - вид сверху
image

И для наглядности вид снизу:

Датчик освещённости - вид снизу
image

А теперь монтаж контроллера и блока питания для клапана — уж не судите строго, монтаж сделан «как есть». Всегда можно сделать намного более аккуратно — но мы тут рассматриваем не качество монтажа, а работу самой системы.

Контроллер на окне
image

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

Клапан с фильтром
image

Работа программы


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

Итак — наполнение бочки. При этом контролируется тай-аут времени работы насоса.Если наполнение будет длиться больше, чем 30 минут — то отключаем насос и показываем сигнал аварии. Если бочка наполнена в отведённое время — то ставим флаг готовности к поливу. Полив возможен только между 5:00 и 17:35. Время может быть очень легко изменено. Первый полив будет включен, как только утренняя доза поглощённой солнечной энергии будет больше 180 Дж/см2/час. После этого каждый следующий полив будет включен через 300 Дж/см2/час. Если солнечная активность низка и мы до 10:35 не набрали утренней дозы, то будет один раз включен полив и система будет ждать увеличения солнечной активности. Для опустошения бочки отводится тайм-аут 50 минут. Если время превышено — то значит проблемы с фильтром или клапаном. В этом случае выдаём предупреждающий сигнал и отключаем полив. Также контролируется количество воды, израсходованной на полив — если было использовано больше 8 бочек, то полив останавливается и выдаётся сигнал предупреждения. Сигнал не квитируемый — он будет сброшен утром следующего дня. Время выполнения такой программы в контроллере составляет 2 мсек.

Ниже под спойлером показан процесс отладки — онлайн монитор программы в режиме исполнения.

Онлайн-отладка программы
image

Я не буду тут описывать все временные защитные задержки и логику программы — вы можете посмотреть это всё сами в программе. Вот тут находится архив с программой и распечатанная версия в формате pdf.

Результаты работы и заключение


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

Самый главный вывод можно сделать такой — с применением данных контроллеров и датчиков освещённости можно построить достойную систему управления поливом не только для теплиц, но и для посадок в открытом грунте. И она может занять достойное место наряду с таймерными системами.

Дальнейший путь


Следующим шагом будет подключение к системе группы дозирования на основе инжекторов Вентури для обеспечения точной подачи удобрений и через систему капельного полива. Этот шаг сделает подобную систему недосягаемой по качеству полива для таймерных систем. Также после оборудования датчиком влажности система будет способна управлять микроклиматом в теплице. Всё это может быть подключено просто и без особых затрат — конфигурирование системы сейчас напоминает простой игровой процесс. О ходе работ я обязательно буду рассказывать вам, мои дорогие читатели.
Tags:
Hubs:
+29
Comments 106
Comments Comments 106

Articles