Найти тему

Гроубокс с числовым программным управлением (ЧПУ)

Оглавление

Все исходные коды - открыты, получить их можнно по ссылкам в конце статьи.

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

Выполненные решения

Первое решение - это написание прошивки для Arduino UNO, которая бы принимала настройки в виде G-кода, подобно 3D-принтеру. G-команды позволяют :

  • включать/выключать исполнительные устройства
  • снимать показания с датчиков
  • и самое главное - включать и настраивать автоматику: циклы освещения и вентилятора, удержание влажности и т. п.

Команды в гроубокс отправляются через serial-порт. Поэтому второе решение - это написание графического интерфейса, позволившее бы с компьютера:

  • мониторить и управлять гроубоксом через тыканье мышкой
  • создавать управляющие программы для разных растений и режимов их развития без программирования
  • загружать в гроубокс программы из G-кода

Демонстрация программы

При первом запуске видим окошко:

Запуск программы
Запуск программы

Давайте нажмём на "Создать управляющую программу", чтобы создать нашу первую программу из G-команд. Увидим окно с пустыми значениями:

новый файл
новый файл

Кнопки с чёрным овалом посередине - это кнопка реадктирования (овал - это так отображён карандашик)

В нижнем поле отображаются G-команды, генерируемые при нажатии кнопок. В верхнем блоке можно установить значения исполнительных устройств, которые гроубокс будет устанавливать при старте. Так как мы включим автоматику, то оставим значения пустыми:

-3

Включим автоматику, нажав на галочки:

включили автоматику
включили автоматику

Настроем автоматику "Резкий переход" для вытяжки:

-5

Это значит, что вытяжка будет включаться (значение = 255) на 1 минуту, при этом в выключенном (значение = 0) состоянии будет 719 минут, т. е. почти 12 часов.

Настроем автоматику "Плавный переход" для белого света:

-6

Это значит, что свет будет включаться на 840 минут (14 часов), а выключен - на 600 минут (10 часов). Можно указать длительность рассвета и заката - тогда включение и выключение будет плавным. Это сработает, если у вас свет представлен 12-вольтовыми светодиодами, подключёнными через транзисторный ключ. Если через симистр и светодиодные прожекторы (как у меня), то свет будет мигать вместо плавного перехода.

Если у вас есть дальний красный свет, то через автоматику резкого или плавного перехода можно настроить включение дальнего красного в момент заката, например, а синий свет включать на рассвете. То есть, один вид автоматики можно включать и настраивать для разных исполнительных устройств независимо.

Настроем автоматику "Климат-контроль" для увлажнителя:

-7

Тут всё просто: увлажнитель будет включаться при влажности менее 70% и выключаться при более 75%. Это для экзотический растений, любящих влажный тёплый климат.

Теперь сохраним наши настройки в виде G-код файла:

-8

Полученый файл можем открыть:

-9

И изменить настройки.

Если нажмём "Подключиться по Serial", увидим окно настройки подключения:

-10

Выберим порт, скорость. Таймауты - в секундах. После нажатия на "ОК":

-11

Увидим уже знакомое окошко, добавись лишь блок с показаниями датчиков и кнопка обновления показаний. Теперь при нажатии кнопок будут отправляться соответствующие команды сразу в гроубокс. Ещё можно загружать в гроубокс ранее составленные файлы с G-кодом. Достаточно нажать на этот пункт менбю и выбрать файл:

-12

G-код, который мы только что составили, соответствует настройкам по-умолчанию в Arduino-прошивке гроубокса.

Вот так просто настраивать гроубокс под нужды разных растений.

Большие планы

  1. Добавить подключение к гроубоксу через WiFi
  2. Разработать (в составе существующего приложения) инструмент для генерации G-кода по описанию растения. Например, в зависимости от вида реакции на тень или фотопериодичности растения, указание режима роста - генеративный или вегативный, реакции семени на дальний красный (некоторые семена начинают проклёвываться) и т. д.
  3. Добавить больше датчиков и исполнительных устройств для увеличнения контроля за окружающей средой

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

Всё это - лишь начало большого проекта.

А какие функции у гроубокса Вы бы хотели?

Ссылки