1 2 3 4 5 6 7 8 9 10 10/10 9,94оценок: 33

Arduino Mega. Контроллер теплицы. Хроники

Тема в разделе "Теплицы и парники", создана пользователем DIYMan, 05.01.16.

Статус темы:
Закрыта.
  1. kivik71
    Регистрация:
    28.10.13
    Сообщения:
    3.780
    Благодарности:
    2.288

    kivik71

    Живу здесь

    kivik71

    Живу здесь

    Регистрация:
    28.10.13
    Сообщения:
    3.780
    Благодарности:
    2.288
    Адрес:
    Екатеринбург
    @DIYMan, А если вариант с ТА в грунте? При этом надо еще отслеживать температуру ТА, и нужно связывать три температуры (снаружи, внутри, в ТА).
    Если нужен вариант проветривания теплицы для понижения влажности в теплице при температурах ниже установленного (например 25), то он будет управляться другим правилом (с нужными галочками), я правильно понял логику?
     
  2. Cofessor
    Регистрация:
    23.06.13
    Сообщения:
    9.107
    Благодарности:
    8.380

    Cofessor

    Виталий

    Cofessor

    Виталий

    Регистрация:
    23.06.13
    Сообщения:
    9.107
    Благодарности:
    8.380
    Адрес:
    Брянск
    Короче, логика открытия/закрытия форточек у нас ни чем не отличается. А что Вы под гистерезисом ещё понимали кроме разности температур закрытия-открытия?
    Для того чтобы поднять свой уровень, мне пришлось бы забросить все другие дела. Всё осваиваем в том минимуме, без которого никак не обойтись. Сейчас вот канализацию и водопровод проводил, теперь буду коробами выступающую сантехнику обгораживать, затем штукатурить, шпаклевать, плитку укладывать. Так зима и уйдёт. Затем, ближе к весне, придётся стойку забросить - масса рутинных дел на даче. Я и свой то контроллер вряд ли запущу, придётся на лето отложить. :flag:
    А Вы говорите: Высокие технологии рулят. Мало ли чего мы хотим порой - жизнь вносит свои коррективы и я ей следую. Главное - что забрасывать не думаю. У меня такого не бывает, вопрос только - когда сделаю.
     
  3. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Да, всё правильно: достаточно создать правило типа "если температура снаружи выше 12 градусов, то открыть форточки", назначить ему рабочее время и продолжительность активности. Для остальных правил поставить галочки "не срабатывать, если.." и указать правило проветривания. Когда правило проветривания убедится, что оно может работать (т.е. температура выше 12, рабочее время не исчерпано, диапазон часов работы подходящий) - то другие правила, связанные с этим - работать не будут.

    То есть вполне можно реализовать проветривание простой установкой правил. Более того, всё это, возможно, будет расширяться на поддержку других показаний, типа влажности.

    Честно сказать - пока отработку по времени не тестировал, надо железно цеплять модуль часов, а - лень :) Но протестирую обязательно.

    Поясните плз, зачем связывать именно три температуры? Но в любом случае - теоретически можно "оцепочить" все правила так, что они будут ссылаться друг на друга. дайте подумать:

    1. Если температура снаружи > 12 - никаких действий не выполняем, просто событие будет взведено.
    2. Если температура внутри больше 25 - открыть форточки, не выполнять, если сработало правило 3.
    3. Если температура ТА больше 30 - открыть форточки, не выполнять, если сработало правило 1.

    О такой связке вы ведёте речь? Опишите, плз, в двух словах, какую зависимость надо разрулить и я подумаю - сможет ли текущая реализация это сделать.

    З. Ы. Уже вижу, что текущая реализация неправильно отработает циклическую зависимость правил. Ничего не зависнет, нет - просто этот момент надо разрулить. Спасибо, помогли увидеть слабое место.
     
  4. kivik71
    Регистрация:
    28.10.13
    Сообщения:
    3.780
    Благодарности:
    2.288

    kivik71

    Живу здесь

    kivik71

    Живу здесь

    Регистрация:
    28.10.13
    Сообщения:
    3.780
    Благодарности:
    2.288
    Адрес:
    Екатеринбург
    Например примерно такую
    Температура внутри больше 25, вроде надо открывать форточку.
    Но при этом температура ТА меньше 25, нужно отбирать тепло воздуха теплицы в ТА, это можно сделать с помощью увеличения скорости вентилятора (который этим занимается) или включить еще один вентилятор.
    А когда ТА зарядится до 25 градусов, и перегревать не нужно, придется открывать форточку.
     
  5. Cofessor
    Регистрация:
    23.06.13
    Сообщения:
    9.107
    Благодарности:
    8.380

    Cofessor

    Виталий

    Cofessor

    Виталий

    Регистрация:
    23.06.13
    Сообщения:
    9.107
    Благодарности:
    8.380
    Адрес:
    Брянск
    Лучше прямо сказать что Вы имеете в виду трубы под землёй, потому что можно просто устлать дно плитами ЭППС - тоже ТА получится.
    DIYMan, трубы обязательно делай, очень советую. Продлит сезон недели на две, как минимум, весной, потому что поверхность земли в теплице быстро разогревается, а толща - медленно. Поэтому лучше часть тёплого воздуха прогонять по трубам, чтобы ускорить прогрев земли. Пока она не размёрзнется, на выходе будет постоянно 0 градусов, то есть дельта в течение всего дня и даже часть ночи. Здесь на форуме многие сделали себе такие теплицы, но с автоматикой у них туго, а без неё они не могут отслеживать момент уравнивания верхней и нижней температуры, поэтому не могут использовать тепло на полную катушку.
     
  6. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Не вижу проблем: третий датчик температуры - на ТА. Сейчас просто тупо прописаны два датчика, для тестов. В актуальной версии будет автоматическое обнаружение датчиков температуры, если они подцеплены к системе посредством отдельной коробочки, например. Но ничего не мешает сделать прямо в контроллере три датчика, у меня как раз три идут от наших неширокоглазых друзей :)]:aga:.

    Теперь, как это реализовать правилами, уже существующими (приведено только как пример):

    Правило 1. Температура ТА < 25, действие => Включить вентилятор, не выполнять, если сработало правило 5.

    Правило 2. Температура внутри теплицы > 25, действие => открыть форточки, не выполнять, если сработали правила 1,4.

    Правило 3. Температура внутри теплицы < 24, действие => закрыть форточки, не выполнять, если сработало правило 4.

    Правило 4. Температура снаружи > 12, действие => открыть форточки, время работы - утром, продолжительность - 20 минут, не выполнять, если сработало правило 1.

    Правило 5. Температура внутри теплицы < 20, действие => выключить вентилятор.

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

    Да и правил, кмк, будет ограниченное количество - в поставке будут уже настроенные на усреднённые показатели так, чтобы рулить ими особо не пришлось, а только при необходимости.

    Так что ваша ситуация с ТА вполне разруливается текущей реализацией работы правил. На то они и правила - могут просто проверять температуру на указанном датчике в указанный диапазон времени, да посылать другим модулям команды. В вырожденном случае можно вообще сто коробочек нагородить, связав их по RS485: одна коробочка - датчики температуры, вторая - управление вентилятором, третья - управление форточками. Единственное ограничение - каждой из них нужен свой микроконтроллер, т. е. придётся впихивать код в Arduino Pro Mini для дочерних модулей.

    Короче - надеюсь, что всё будет зашибись и самолёт не развалится в воздухе :) Я же тоже ж - со взрослых компьютеров перескочил на МК, а тут памяти - фьють, и обчёлся.
     
    Последнее редактирование: 16.01.16
  7. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Позанудствую про разрешение конфликтов. Вот смотрите, на примере из предыдущего поста: у нас сработали правила 1, 3, 4, то есть - температура снаружи больше 12 градусов, температура ТА меньше 25 градусов, температура внутри теплицы меньше 24 градусов. Какие из правил останутся активными, если правило номер три зависит от срабатывания правила 4, а правило номер 4 - от срабатывания правила номер 1?

    Задача? Задача. Очевидно же ж, что в работе должно остаться только правило номер 1. Но вот разрулить эти раскидистые зависимости-то надо! Для этого надо всего-то - для каждого правила пробежаться по цепочке связанных правил до конца и посмотреть, сработало ли правило где-то в этой цепочке, и можем ли мы на основании сделанного анализа считать, что с текущим проверяемым правилом можно работать дальше. В случае с правилом 3 мы проверяем, сработало ли правило 4? Сработало? Ок, сработало. А может, это правило надо исключить из обработки? Тогда смотрим, начиная с правила 4, всю цепочку правил, на которые ссылается правило 4.

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

    Занудство закончилось :)
     
  8. kivik71
    Регистрация:
    28.10.13
    Сообщения:
    3.780
    Благодарности:
    2.288

    kivik71

    Живу здесь

    kivik71

    Живу здесь

    Регистрация:
    28.10.13
    Сообщения:
    3.780
    Благодарности:
    2.288
    Адрес:
    Екатеринбург
    А может сделать так:
    Если температура в теплице выше 25, то нужно ее уменьшить.
    Уменьшить можно разными вариантами.
    Для того чтобы определиться какой вариант выбрать:
    Считаем две разницы температур (1-я между снаружи и внутри, 2-я между внутри и в ТА).
    Определяется знак этих дельт температур (положительная, отрицательная).
    Определяется величина этих дельт (большая, средняя, маленькая).
    В зависимости от этих значений выбирается вариант понижения температуры (вентилятор/-ры в ТА, открытие форточки/-чек, фоггеры, притенение и тд).
    Эти же значения будут определять вариант повышения температуры в теплице (вентилятор/-ры из ТА, закрытие форточки/-чек, обогреватель и тд).
     
  9. Cofessor
    Регистрация:
    23.06.13
    Сообщения:
    9.107
    Благодарности:
    8.380

    Cofessor

    Виталий

    Cofessor

    Виталий

    Регистрация:
    23.06.13
    Сообщения:
    9.107
    Благодарности:
    8.380
    Адрес:
    Брянск
    Удивляюсь, почему влажность вообще не входит в Ваши расчёты? А между тем воздухообмен с ТА очень сильно иссушает воздух, поэтому отключить его Вам может придётся и при большой дельте, даже если земля ещё довольно холодная.
    Другой случай - утром влажность очень высокая, надо включать проветривание не по времени, а в зависимости от реальной влажности.
    Или же когда срабатывают фоггеры. Тут уж без контроля влажности никак не обойтись. Вы выгоняете тёплый влажный воздух на улицу, закрываете форточки и температура начинает опять подниматься. Через некоторое время нужно снова включить охлаждение и, если влажность у Вас остаётся на высоком уровне, снова включать фоггеры бессмысленно и даже вредно, потому что высокая влажность и температура погубят томаты.
    Я ранее высказывал мнение что температура - самый важный фактор, но только в плане недопущения критических значений - слишком низких или слишком высоких. А так я заложил датчик температуры/влажности (DHT22) не случайно, а именно ввиду важности контроля за уровнем влажности. Пока, правда, влажность, как и время, у меня просто регистрируются, но весной, как только появится время, я их обязательно задействую.
     
    Последнее редактирование: 16.01.16
  10. Викторка7
    Регистрация:
    10.12.10
    Сообщения:
    581
    Благодарности:
    338

    Викторка7

    инженер-тепловизионщик

    Викторка7

    инженер-тепловизионщик

    Регистрация:
    10.12.10
    Сообщения:
    581
    Благодарности:
    338
    Адрес:
    Москва-Шатура-Адыгея-Новороссийск
    Нет, не соглашусь! Это именно прямой контроль. Есть вода в баке, есть труба от бака. Если давление в баке упало, то все ушло в трубу. Ну разве что бак не дырявый. Датчик влажности не покажет факт полива, он будет лежать в комке сырой земли, и ни ухом ни рылом, был полив сегодня или неделю назад... Фиг с ним, с датчиком на расширительном баке, ставьте расходомер на каждой магистрали после клапана - вот факт полива, прямее некуда.
     
  11. Викторка7
    Регистрация:
    10.12.10
    Сообщения:
    581
    Благодарности:
    338

    Викторка7

    инженер-тепловизионщик

    Викторка7

    инженер-тепловизионщик

    Регистрация:
    10.12.10
    Сообщения:
    581
    Благодарности:
    338
    Адрес:
    Москва-Шатура-Адыгея-Новороссийск
    Никто не будет вводить команды вида "CTSET=ALERT|RULE_ADD|STATE|TEMP|1|>|25|CTSET=STATE|WINDOW|ALL|OPEN|4000", чтобы что-то изменить. Всем нужны понятные кнопки, понятное меню, понятный интерфейс, хоть через веб, хоть по двустрочному экрану. Это если рассматривать автоматизацию теплицы для широкого круга.
    Если заложена программа управления, а все изменения возможны в текстовом понятном меню (изменение условий срабатывания того или иного вида устройства), то это здорово, каждый поменяет так, как необходимо, тем более не так много придется изменять. При заводских настройках (прошивка вашего готового изделия) температура открытия форточек 30 градусов, а я хочу 29,5. Зашел в меню - настройки - фрамуги - температура открытия - изменить.
     
  12. Cofessor
    Регистрация:
    23.06.13
    Сообщения:
    9.107
    Благодарности:
    8.380

    Cofessor

    Виталий

    Cofessor

    Виталий

    Регистрация:
    23.06.13
    Сообщения:
    9.107
    Благодарности:
    8.380
    Адрес:
    Брянск
    У меня вот так выглядит:
    T откр окон 25º
    Т закр окон 22º

    Вызов меню одной кнопкой. Меняется с частотой 0,5 гц первый параметр (который сейчас показывает 25) по кругу от минимального до максимального. Для установки всех параметров используется одна единственная кнопка. В тот момент когда появляется нужная цифра, снова нажимаете кнопку, активизируется следующий параметр (который сейчас показывает 22). Он также меняется от минимального до максимального по кругу. Выбираете его так же той же кнопкой и так по любому количеству меню. Если кнопка не нажимается определённой время, происходит возврат в основное меню, отражающее текущие температуры в теплице и на улице, влажность в теплице и время:
    T тепл +25ºC W -70%
    T ул +18ºC 14-35
     
  13. Викторка7
    Регистрация:
    10.12.10
    Сообщения:
    581
    Благодарности:
    338

    Викторка7

    инженер-тепловизионщик

    Викторка7

    инженер-тепловизионщик

    Регистрация:
    10.12.10
    Сообщения:
    581
    Благодарности:
    338
    Адрес:
    Москва-Шатура-Адыгея-Новороссийск
    Основные модули и так простые и управление ими осуществляется обычно по 2-м параметрам - температура и влажность внутри. Ну либо таймер, если это полив.
    Табличка требований - это несложно, смотрите условия выращивания различных культур, кому что надо и в какое время, информации море. Необходима возможность простым способом менять условия.
     
  14. Викторка7
    Регистрация:
    10.12.10
    Сообщения:
    581
    Благодарности:
    338

    Викторка7

    инженер-тепловизионщик

    Викторка7

    инженер-тепловизионщик

    Регистрация:
    10.12.10
    Сообщения:
    581
    Благодарности:
    338
    Адрес:
    Москва-Шатура-Адыгея-Новороссийск
    Если температура меньше 24 и форточки закрыты, то ничего не делать, никаких команд не посылать. То же при открытии. Можно факт срабатывания учитывать изначально.
     
  15. Викторка7
    Регистрация:
    10.12.10
    Сообщения:
    581
    Благодарности:
    338

    Викторка7

    инженер-тепловизионщик

    Викторка7

    инженер-тепловизионщик

    Регистрация:
    10.12.10
    Сообщения:
    581
    Благодарности:
    338
    Адрес:
    Москва-Шатура-Адыгея-Новороссийск
    Одной кнопкой можно, конечно, изменить значения температур открытия/закрытия, но сложно. Я бы предпочел минимум 3, типа "<", ">", "ок", еще лучше и удобнее, когда есть "меню" и "выход". И тогда, если все запрограммировано и выведено в удобное управление, можно все менять на лету.
     
Статус темы:
Закрыта.