• Нравится 2
Перейти к публикации

Умная теплица или гроубокс для фрика)

Оцените эту тему


RPSVoloch

Рекомендованные сообщения

Шапка обновлена.

Добавлен конечный скетч без подключения к компьютеру (его развития более не будет)

Добавлен скетч с подключением к компу  ОС Ubuntu Linux 10.4 server

Опрыскивание есть но нет 4 растворов (хотите 4 раствора предлогаейте простые методы реализации)

Ссылка на комментарий
Поделиться на других сайтах

  • Ответы 83
  • Создано
  • Последний ответ

Лучшие авторы в этой теме

  • RPSVoloch

    46

  • Logik

    6

  • bugslayer

    5

  • Рауль

    5

Лучшие авторы в этой теме

Опубликованные изображения

брат, а нет ли у тебя желания сделать девайс, который нужен в любом боксе. просто установил и профит

я говорю о мониторе с функцией логера + таймер.

просто показывает и запоминает такие значения:

- температура

температура корней (не обязательно)

- температура планта

- влажность

- CO2 (ради интереса)

- VPD -

Войдите или зарегистрируйтесь для просмотра содержимого. Купить семена конопли.

железно работающий таймер - обязательно. реле.

запись показаний на SD карту.

Ссылка на комментарий
Поделиться на других сайтах

Логер работает на уровне сервера т.е. вся инфа заноситься в базу.

Графики и прочая ересь всё работает через базу. Ну как работает.... Пока времени не особо есть что бы допилить ось на ноуте который управляет тепличкой.

Ось практически готова и её возможности таковы: LAMP, SAMBA, (сделал для себя - Mail, VPN),Webmin(для управления не через консоль).

Название оси - Ubuntu GrowBox Edition.

В логи загоняет всё что только можно (любые конекты к серваку и любая инфа которая свазана с использованием).

Просматривать не особо удобно но не невозможно.

Визуальное оформление оси переделано чтоб виндовозники могли быстро начать что либо делать (очень сильно напоминает WinXP).

Пересобрано ядро ОС для управления осью из виртуального COM порта НО без управления при запуске (когда ось прогрузилась тогда и допустила до консоли - так глюков меньше чем сразу при старте давать доступ до консоли)

Установлен софт для прошивки ардуинки и её отладки.

 

СО2 с ним сложнее так как датчики которые это показывают "корректно" стоят прилично денег. А то что продаётся за дёшего увы это унылое говно которое может сделать только хуже.

 

Железно работающий таймер это и есть ардуинка с простыми функциями (без конекта к базе она исполняет стандартные настройки). В случае если выключить ардуинку то лично у меня подключено так что вентиляция\циркуляция\компрессор\свет работают пока не поступит сигнал от мозгов.

 

Что ещё может понадобиться?

По идее всё что необходимо оно есть. Да не спорю не особо в удобных местах но всё же всё необходимое есть.

Мелкие недочёты всегда можно поправить. Что то в любой момент можно дополнить. Что то всегда можно удалить или отключить.

Ссылка на комментарий
Поделиться на других сайтах

я имел ввиду версию для домохозяйки. включил - профит.

 

твоим устройством сможет пользоваться чуть более продвинутый юзер.

Ссылка на комментарий
Поделиться на других сайтах

я имел ввиду версию для домохозяйки. включил - профит.

 

твоим устройством сможет пользоваться чуть более продвинутый юзер.

 

Создать одну программу, подходящую для всех размеров, типов освещения, параметров влажность - темпа, периода роста разных сортов, видов земли и удобр?)) и еще десятка параметров, думаю получится обьем Windows, причем такой же кривой :icon_smile:

Ссылка на комментарий
Поделиться на других сайтах

я имел ввиду версию для домохозяйки. включил - профит.

 

твоим устройством сможет пользоваться чуть более продвинутый юзер.

Вообще такова задумка. Но в любом случае будет в конце выложен подробный мануал по установке и отладке всего что необходимо 100% и всякие бонусы типа температуры воды или почвы.

 

 

Создать одну программу, подходящую для всех размеров, типов освещения, параметров влажность - темпа, периода роста разных сортов, видов земли и удобр?)) и еще десятка параметров, думаю получится обьем Windows, причем такой же кривой :icon_smile:

Ну удобрения человек сам вливает. Все допустимые по цене виды света уже и так есть в самом скетче. Параметры можно задать какие угодно и программа будет вынуждена их соблюдать.

Единственное что безконтрольно это высота светильника (её выставлять ручками), скорость роста растения (ну тут уж что сажать будешь там видно будет).

А вот по поводу кривезны тут увы ты прав так как ни 1 компьютер не сможет действовать как человек и не сможет автоматически исправить те или иные проблемы... хотя какой там исправить он даж отдиагностировать проблему толком не сможет. Банально листочки желтеть начали или пятнами покрываться то машина будет выполнять всё что и было заложено в неё изначально в итоге получаем солому)

Насчёт соломы это пройденый этап)))

Ссылка на комментарий
Поделиться на других сайтах

Вообще такова задумка. Но в любом случае будет в конце выложен подробный мануал по установке и отладке всего что необходимо 100% и всякие бонусы типа температуры воды или почвы.

 

 

Ну удобрения человек сам вливает. Все допустимые по цене виды света уже и так есть в самом скетче. Параметры можно задать какие угодно и программа будет вынуждена их соблюдать.

Единственное что безконтрольно это высота светильника (её выставлять ручками), скорость роста растения (ну тут уж что сажать будешь там видно будет).

А вот по поводу кривезны тут увы ты прав так как ни 1 компьютер не сможет действовать как человек и не сможет автоматически исправить те или иные проблемы... хотя какой там исправить он даж отдиагностировать проблему толком не сможет. Банально листочки желтеть начали или пятнами покрываться то машина будет выполнять всё что и было заложено в неё изначально в итоге получаем солому)

Насчёт соломы это пройденый этап)))

 

Тогда может предусмотреть ОБЯЗАТЕЛЬНУЮ остановку программы (с выполнением жизненно- важных, но минимальных параметров) с последующим ручным пуском и предупреждением во весь экран. Вроде кнопки поддверждения оператором, что он не спит.

Без подтверждения, (может сброса) нескольких параметров программа уходит в минимальное поддержание жизнеобеспечения. Как пример -полив удобр заменяется поливом воды. Световой день сокращается на час утром, потом на час вечером. Оператор по-любому заинтересованное лицо и зная, что прога уйдет в минимум, будет ВЫНУЖДЕН переодически выполнять корректировка и как следствие - осмотр))

Ссылка на комментарий
Поделиться на других сайтах

Тогда может предусмотреть ОБЯЗАТЕЛЬНУЮ остановку программы (с выполнением жизненно- важных, но минимальных параметров) с последующим ручным пуском и предупреждением во весь экран. Вроде кнопки поддверждения оператором, что он не спит.

Без подтверждения, (может сброса) нескольких параметров программа уходит в минимальное поддержание жизнеобеспечения. Как пример -полив удобр заменяется поливом воды. Световой день сокращается на час утром, потом на час вечером. Оператор по-любому заинтересованное лицо и зная, что прога уйдет в минимум, будет ВЫНУЖДЕН переодически выполнять корректировка и как следствие - осмотр))

В принципе сделать можно но человек в любом случае будет вынужден ползать себе в конструкцию хотяб чтоб PH промерить.

И усложнять населению жизнь не очень то желаю. В случае с подключением к компу идёт конект к базе с которой все настройки и забираются. Можно не особо запариваться и прописать в сайт данный казус который будет искуственно заставлять население ползать в бокс.

Хотя если знать человечество то все искуственно созданые подводные камни будут вырезаны из кода 100% )

Ссылка на комментарий
Поделиться на других сайтах

В принципе сделать можно но человек в любом случае будет вынужден ползать себе в конструкцию хотяб чтоб PH промерить.

И усложнять населению жизнь не очень то желаю. В случае с подключением к компу идёт конект к базе с которой все настройки и забираются. Можно не особо запариваться и прописать в сайт данный казус который будет искуственно заставлять население ползать в бокс.

Хотя если знать человечество то все искуственно созданые подводные камни будут вырезаны из кода 100% )

 

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

 А выпилить коды сможет ток умный и опытный, а вот он как раз и не станет этого делать. :icon_biggrin:

Изменено пользователем Logik
Ссылка на комментарий
Поделиться на других сайтах

Проект замораживается примерно на 2 месяца. Есть пока что занятие по важнее и по интереснее. На той стадии что уже есть в принципе система способна работать. Начинаю процесс тестирования и грамотной отладки.

Кстате очень важный момент: 2 дня подряд был необходим обогрев в ночное время так как температура падала до 18 градусов.

 

Всех благодарю за участие, замечания, пожелания, критику и понимание.

Ссылка на комментарий
Поделиться на других сайтах

  • 1 месяц спустя...

Всем снова привет.

Спустя приличное время я размораживаю проект и продолжаю его развитие. Как бы мне не хотелось продолжать развитие программы без компа но пришлось так как нетбук который управлял конструкцией вышел из строя (выгорел к едрени фени мульт из за влажности - да знаю накосячил чутка... Наука на будущее теперь).

Так что вот новенький скетч для теплички без участия РС в котором учтены замечания пользователей и код ещё облегчён.

// Запуск скетча
#include <LiquidCrystal.h>
#include <DS3231.h>
#include <DHT.h>
DS3231  rtc(SDA, SCL);
Time RTC_T;

// Загрузка начальных настроек
// Основные настройки скрипта. Изменения необходимо произвести под свои нужды!!!
// Скрипт расчитан на день но для тех кому необходимо сберечь деньги советую перенастроить на ночной режим и счётчик будет считать по другому тарифу.

long led_on = 05;              // Время включения диодов (устанавливается в часах)
long led_off = 23;             // Время выключения диодов (устанавливается в часах)
long dnat_on = 05;             // Время включения DNAT (устанавливается в часах)
long dnat_off = 23;            // Время выключения DNAT (устанавливается в часах)
long lumen_on = 05;            // Время включения ЭСЛ (устанавливается в часах)
long lumen_off = 23;           // Время выключения ЭСЛ (устанавливается в часах)
long dosvet_on = 05;           // Время включения досвета (устанавливается в часах)
long dosvet_off = 23;          // Время выключения досвета (устанавливается в часах)
long circ_on = 05;             // Цыркуляция воздуха внутри. Время включения (устанавливается в часах).
long circ_off = 23;            // Цыркуляция воздуха внутри. Время выключения (устанавливается в часах).
/*
// Включение по времени (без контрольно тупо включает и если температура за бортом минус то будет трабл)
long ventilation_on = 05;      // Включение вентиляции (устанавливается в часах) рекомендую устанавливать во время включения света.
long ventilation_off = 23;     // Отключение вентиляции (устанавливается в часах) рекомендую устанавливать через час после выключения света.
*/
long ventilation_on = 27;      // Включение вентиляции (устанавливается в градусах цельсия).

long breeze_on = 01;           // Обдув растишек on (устанавливается в часах).
long breeze_off = 23;          // Обдув растишек off (устанавливается в часах).
long compressor_on = 9;        // Запуск компрессора для нагнетания воздуха в раствор.
long compressor_off = 23;      // Остановка компрессора для нагнетания воздуха в раствор.
long sprayings_on = 23;        // Запускается после выключения света, указываются минуты начала опрыскивания.
long sprayings_off = 24;       // Минуты остановки опрыскивания.
long a_heating_on = 25;        // Температура включения обогрева воздуха (градусы цельсия)
long a_cooling_on = 25;        // Температура включения охлаждения воздуха (градусы цельсия)
long w_heating_on = 25;        // Температура включения обогрева воды (градусы цельсия)
long w_cooling_on = 25;        // Температура включения охлаждения воды (градусы цельсия)
long humidifier_on = 50;       // Минимальная влажность для включения увлажнителя воздуха.

// Инициализация железа
// Пины для подключения к Ардуино датчиков и исполняемых модулей.
// Исполняемые модули
int dnat = 20;             // DNAT  Вместо того реле что покупается на али обязательно поставить по мощьности превышающее в 2 раза потребление лампы иначе залипнет и не будет работать!!!!
int dosvet = 21;           // То что будет использоваться для досвета. (в моём случае это люминисцентные лампы с цоколем G5)
int lumen = 22;            // Люмен
int led = 23;              // Диоды
int circulation = 24;      // Цыркуляция
int breeze = 25;           // Эмитация ветра
int ventilation = 26;      // Вентиляция
int compressor = 27;       // Компрессор
int sprayings = 28;        // опрыскивание
int humidifier = 29;       // Увлажнение воздуха
int a_heating = 30;        // обогрев воздуха
int a_cooling = 31;        // охлождение воздуха
int w_heating = 32;        // обогрев воды (раствора)
int w_cooling = 33;        // охлождение воды (раствора)

//Датчики
int W_Temp = 46;           // Температура воды
#define DHTPIN 47          // Температура и влажность воздуха
#define solution 40        // Датчик уровня раствора

#define DHTTYPE DHT11     // DHT 11
//#define DHTTYPE DHT22   // DHT 22
//#define DHTTYPE DHT21   // DHT 21
DHT dht(DHTPIN, DHTTYPE);

  LiquidCrystal lcd(12, 11, 10, 5, 4, 3, 2);          // инициализируем LCD, указывая контакты данных

// Устанавливаем системные переменные для начала работы.
 void setup()
 {
 rtc.begin();
 dht.begin();
 Serial.begin(115200);
 pinMode(dnat, OUTPUT);              // Лампа ДНАТ
 pinMode(lumen, OUTPUT);             // Люмен
 pinMode(led, OUTPUT);               // Диоды
 pinMode(circulation, OUTPUT);       // Цыркуляция
 pinMode(ventilation, OUTPUT);       // Вентиляция
 pinMode(breeze, OUTPUT);            // Эмитация ветра
 pinMode(compressor, OUTPUT);        // Компрессор
 pinMode(a_heating, OUTPUT);         // обогрев воздуха
 pinMode(a_cooling, OUTPUT);         // охлождение вохдуха
 pinMode(w_heating, OUTPUT);         // обогрев воды
 pinMode(w_cooling, OUTPUT);         // охлождение воды
 lcd.begin(16, 2);
 lcd.print("Loading");
 delay(500);                // ждем 0.5 секунды
 lcd.print(".");
 delay(500);                // ждем 0.5 секунды
 lcd.print(".");
 delay(500);                // ждем 0.5 секунды
 lcd.print(".");
 delay(1000);               // ждем 1 секунду
 lcd.clear();               //очистка экрана
 }

void loop()
{
 lcd.clear();               //очистка экрана
 RTC_T = rtc.getTime();
 Serial.println(rtc.getTimeStr());
 float a_humidity = dht.readHumidity();
 float a_temp = dht.readTemperature();
 delay (2000);
    if (isnan(a_temp) || isnan(a_humidity)) {
    Serial.println("Failed to read from DHT");
    lcd.print("Failed read DHT.");
    } else {
    Serial.print("Humidity: ");
    Serial.print(a_humidity);
    Serial.print(" %\t");
    Serial.print("Temperature: ");
    Serial.print(a_temp);
    Serial.println(" *C");
    lcd.print("T=");
    lcd.print(a_temp);
    lcd.print(" H=");
    lcd.print(a_humidity);
    }
 

  double val_W = analogRead(W_Temp);
  double voltage = val_W*5.0/1024;
  double w_temp = voltage*100 - 273.15;

  float max_a_temp = 0, min_a_temp = 90;              // max/min значения температуры воды
  float max_w_temp = 0, min_w_temp = 90;              // max/min значения температуры раствора
  float max_a_humidity = 0, min_a_humidity = 90;      // max/min значения температуры раствора

// Проверка мин и макс температуры воздуха
    if(a_temp > max_a_temp) {
    max_a_temp = a_temp;
    } // max температура воздуха
    if(a_temp < min_a_temp) {
    min_a_temp = a_temp;
    } // min температура воздуха
// Проверка мин и макс температуры раствора (воды)
    if(w_temp > max_w_temp) {
    max_w_temp = w_temp;
    } // max температура воды
    if(w_temp < min_w_temp) {
    min_w_temp = w_temp;
    } // min температура воды
// Проверка влажности
    if(a_humidity > max_a_humidity) {
    max_a_humidity = a_humidity;
    } // max влажность
    if(a_humidity < min_a_humidity) {
    min_a_humidity = a_humidity;
    } // min влажность
 
    // Lumen
if ((RTC_T.hour) >= lumen_on && (RTC_T.hour) < lumen_off)
{
     digitalWrite(lumen, HIGH);
 }
else
{
     digitalWrite(lumen, LOW);
}
 
// LED
if ((RTC_T.hour) >= led_on && (RTC_T.hour) < led_off)
{
     digitalWrite(led, HIGH);
 }
else
{
     digitalWrite(led, LOW);
}
// DNAT
if ((RTC_T.hour) >= dnat_on && (RTC_T.hour) < dnat_off)
{
     digitalWrite(dnat, HIGH);
 }
else
{
     digitalWrite(dnat, LOW);
}

// Досвет
if ((RTC_T.hour) >= dosvet_on && (RTC_T.hour) < dosvet_off)
{
     digitalWrite(dosvet, HIGH);
 }
else
{
     digitalWrite(dosvet, LOW);
}
//Цыркуляция
if ((RTC_T.hour) >= circ_on && (RTC_T.hour) < circ_off)
{
  // Включить
      digitalWrite(circulation, HIGH);
}
else
{
  // Выключить
      digitalWrite(circulation, LOW);
}

//  Проветривание
/*
if ((RTC_T.hour) > ventilation_on && (RTC_T.hour) < ventilation_off)
        {
          // Включить
        digitalWrite(ventilation, HIGH);
        }
else
        {
          // Выключить
        digitalWrite(ventilation, LOW);
        }
*/

// ventilation    
if (a_temp > ventilation_on)
        {
          // Включить
        digitalWrite(ventilation, HIGH);
        }
else
        {
          // Выключить
        digitalWrite(ventilation, LOW);
        }

//  Обдув (эмитация ветра)
if ((RTC_T.hour) >= breeze_on && (RTC_T.hour) < breeze_off)
        {
          // Включить
        digitalWrite(breeze, HIGH);
        }
else
        {
          // Выключить
        digitalWrite(breeze, LOW);
        }

//Обогрев
if (a_temp < a_heating_on)
      {
       // Включить обогрев воздуха
       digitalWrite(a_heating, HIGH);
      }
else
      {
      // Выключить обогрев воздуха
       digitalWrite(a_heating, LOW);
      }
if (w_temp < w_heating_on)
      {
       // Включить обогрев воды
       digitalWrite(a_heating, HIGH);
      }
else
      {
      // Выключить обогрев воды
       digitalWrite(a_heating, LOW);
      }
//  Охлаждение
if (a_temp > a_cooling_on)
        {
        // Включить охлождение воздуха
        digitalWrite(a_cooling, HIGH);
        }
else
        {
        // Выключить охлождение воздуха
        digitalWrite(a_cooling, LOW);
       }
if (w_temp > w_cooling_on)
       {
        // Включить охлождение воды
        digitalWrite(w_cooling, HIGH);
        }
else
        {
        // Выключить охлождение воды
        digitalWrite(w_cooling, LOW);
       }
// Компрессор
 if ((RTC_T.hour) >= compressor_on && (RTC_T.hour) < compressor_off)
        {
          // Включить
        digitalWrite(compressor, HIGH);
        }
else
        {
          // Выключить
        digitalWrite(compressor, LOW);
        }

// Опрыскивание
 if ((RTC_T.hour) == led_off && (RTC_T.min) >= sprayings_on && (RTC_T.hour) == led_off && (RTC_T.min) <= sprayings_off)
        {
          // Включить
        digitalWrite(sprayings, HIGH);
        }
else
        {
          // Выключить
        digitalWrite(sprayings, LOW);
        }
// Увлажнение воздуха
 if (a_humidity < humidifier_on)
        {
          // Включить
        digitalWrite(humidifier, HIGH);
        }
else
        {
          // Выключить
        digitalWrite(humidifier, LOW);
        }

        // Датчик уровня раствора    
  if (!digitalRead(solution))
  {
    // Что делать пропишете сами)
    // Низкий уровень раствора
    lcd.setCursor(0, 1);     // устанавливаем курсор в 0-ом столбце, 2 строке
    lcd.print("RASTVOR WARNING");
    }  
else
  {
    // Раствор в норме доливать не надо.
    lcd.setCursor(0, 1);     // устанавливаем курсор в 0-ом столбце, 2 строке
    lcd.print("RASTVOR OK");
  }
    
    
}

Вывожу на обсуждение свои планы:

Стоит ли в системе вентиляции управлять каждым вентилятором отдельно?

Что в данном случае нужно будет доделать и на сколько денег больше нужно будет для создания: перед каждым вентилятором будет установлен датчик температуры и в зависимости от его показаний будет приниматься решение о включении или отключении вентиляции в той части бокса\рума. (попытка поддержания заданной температуры не зависимо от высоты скопления тёплого воздуха)

Замеряя в своём боксе обнаружил что внизу у раствора температура на 16 градусов ниже чем наверху из за чего решил попробовать заставить автоматику решать этот трабл.

По деньгам получится дороже но зато грамотнее.

Изменено пользователем RPSVoloch
Ссылка на комментарий
Поделиться на других сайтах

Световая ловушка своими руками за 10 минут)

Делается из всего что только можно и принцип прост до безумия.

post-31477-0-11035000-1456995357_thumb.jpgpost-31477-0-58410600-1456997304_thumb.jpg

 

Потом делается дырка в боксе и приклеивается ловушка к корпусу бокса. С внутренней стороны бокса цепляется вентилятор на вдув.

Ссылка на комментарий
Поделиться на других сайтах

И так..... Продолжаю тему по умному боксу.

post-31477-0-35764800-1457528309_thumb.png

Внешний вид веб морды. Просто, информативно и при наведении на объект показывает что это за объект.

Это схематическая страница.

Реализованно подключение к БД MYSQL

Реализованно подключение к камерам (пока в раздумиях по поводу колличества)

Реализован вывод скорости вращения вентиляторов и температуры перед вентиляторами.

Реализовано управление циркуляцией (выключено, старый вариант, новый вариант)

Реализовано управление компрессором (вкл\выкл) Пока что думаю примастрячить регулировку силы обогощения раствора.

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

 

Ссылка на комментарий
Поделиться на других сайтах

  • 2 недели спустя...

Продолжение банкета.

Был перетянут бокс. Вместо фольги теперь стоит пенофол (еле нашёл толщиной 1.5мм) Так что тепло через стенки наружу выходит хуже но система справляется без включения охлаждения.

Немножечко допилил проводку (надоело что всё в перемешку и торчит в разные стороны)

Убрал досвет из за ненадобности.

Пришли новые диоды но только синие (4000 шт). Нашёл более лучшие варианты по диодам вот терь буду мучаться.

Чуть изменил WEB интерфейс (оптимально выглядит на Win 10, Lumia 720, SONY Z2, SONY Ultra. В планах сделать под яблоки но чёт не стоит на это дело)

Заказал запчасти для нетбука думаю за 2 месяца придут (раритет 2000г. так что з.ч. ток под заказ)

Ссылка на комментарий
Поделиться на других сайтах

  • 3 недели спустя...

очень интересно. Спасибо за информацию и такие исследование, а особенно за код. Буду разбираться.  Пока сумел за утро разобраться и прикрутить на реле включение LED светильника. Давно не видел прогрммного кода, а уж С++ и Ардуино - и не знал. Думаю, что нужно будет разбить мою 120 Вт панель, на две панели по 60 Вт. Не хочеться городить контакторы, а 10 А, я думаю многовато будет для реле :)

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

 

#include <Wire.h> 
#include <RTC.h>
RTC time;
 
String ts = "";
int td = 0;
const int RelayChn1 = 6; //Используем цифровой ПОРТ 6 для релейного модуля 
 
void setup() 
{
   Wire.begin(); //Инициируем I2C интерфейс 
   Serial.begin(9600);
   time.begin(RTC_DS3231);// инициализация модуля RTC
//   time.settime(00, 17, 15, 4, 4, 2016, 1); //сек, мин, часы, день, месяц, год, день недели
   pinMode(RelayChn1,OUTPUT); //инициализируем порт как ВЫХОД 
   digitalWrite(RelayChn1,LOW); //устанавливаем на входах релейного модуля ВЫСОКИЙ уровень 
}
void loop(){
    ts = time.gettime("Hi");
    td = ts.toInt();
    if(td>=600 && td<=2359){ //включение с 6 утра до 00
       digitalWrite(RelayChn1,HIGH); 
      }
    else{
       digitalWrite(RelayChn1,LOW); 
      }
}
 
По вентиляторам... не уверен, что стоит настолько усложнять систему и ставить на каждый по датчику и управлять им отдельно. Завтра постараюсь добавить PWM управление и уменьшить шум от "пропеллеров". Ибо мне досталось в наследство PowerMac G5, оно "терка красивая", но вентиляторы там шумные, хоть и мощные. Суть проблемы в шуме. Мне кажется, рациональней мерять температуру на уровне корней и верхушки, можно и по центру, и в зависимости от температуры в какой-то из этих зон, увеличивать/уменьшать обороты вентилятора или подключать дополнительный. Так можно будет очень гибко регулировать температуру, шум и потребление энергии. Растению 1-2 градуса +, роли не играет. 
Остается проблемы с охлаждением... Думаю прикрутить модули пельтье.
 
И если возможно, расскажите, из чего сделано светогашение? Не могу понять. Поставил решетку, что б вечером не светило как прожектор (внутри стоит лампа 10 Вт х 12 шт LED, красно синего цвета (стандартный 3 к 1) радиатор на всю длину корпуса), по вечерам спереди "экран" :)
Ссылка на комментарий
Поделиться на других сайтах

"Светогашение"

Световой поток надо уменьшить? ШИМ в помошь.

 

Реле - адский анахронизм. Вроде паровоза.

Оптопара управляющая симстором.

post-33599-0-36085600-1459799830_thumb.jpg

Ссылка на комментарий
Поделиться на других сайтах

"Светогашение"

Световой поток надо уменьшить? ШИМ в помошь.

 

Реле - адский анахронизм. Вроде паровоза.

Оптопара управляющая симстором.

Световая ловушка вот что имелось ввиду под светогашением. ШИМ тут не поможет. Меня устраивает работа 120 Вт светильника ;) Его для моих задачь предостаточно. Просто его нужно включить и выключить. Выключить не проблема, включить - лениво вставать :)

Реле анахронизм? Ну ну. Зачем мне паять схему на одну лампу, если я могу просто купить за 90 руб. двухрелейный модуль для ардуино и запитать через него лампу? Можно твердотелое реле использовать, оно еще меньше будет;  Семистор не панацея, подобные схемы управления (оптопара, транзисторы) существую достаточоно давно. У каждой есть свои минусы и плюсы. Тем не менее, самое простое, дешевое и стабильноработающее - паровоз ;)

 

Ссылка на комментарий
Поделиться на других сайтах

  • 3 недели спустя...

"Светогашение"

Световой поток надо уменьшить? ШИМ в помошь.

 

Реле - адский анахронизм. Вроде паровоза.

Оптопара управляющая симстором.

Слушай. Я конечно всё понимаю но думаю что 99,9% не осилят найти шимку и тем более её запаять грамотно что бы не коротнуло. Как бы с 220в играемся. Идея не плохая но требует хотя бы умения обращаться с паяльником и умением читать даташиты и схемы (без этого фиаско).

Недостатки твоего варианта (именно что будет):

Предположим что у нас ардуинка управляет 4 нагрузками (лед, херед и чё нить ещё) и вдруг происходит скачёк напряжаения (кто то сварочник подрубил) что у нас будет с не механнической частью при привышении напряжения? Правильно транзистор, микруху, семистор, 2 резюка попросту пробьёт и наши любимые 220в пойдут в ардуинку, БП, и все остальные элементы подключенные к ардуино. В итоге имеем: полная замена бокса со всем содержимым так как будет пожар.

Преимущества: возможность бесшумного управления, возможность регулировать освещение.

 

Недостатки варианта с реле:

Щелчёк при включении\выключении, не возможно регулировать освещение.

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

Ссылка на комментарий
Поделиться на других сайтах

Никакой "микросхемы ШИМ" не нужно.

Функция ШИМ, дожна быть частью управляющего сигнала с Ардуино.

Симистор уверенно держит скачёк до 600 вольт.

Резисторам - безразлично. Они двухватные, при нужде 0.5 ватта.

Микрушка - просто оптопара.

Светодиод в ней, (и транзистор перед ней) питается от 5 в. с ардуинки.

Выходной оптотранзистор в микрушке - даже и не знаю как и чем его спалить.

Всё это безобразие, у меня рулит 2 кВт теном.

Но, даже если это всё прожечь киловольтом или смять молотком, в ардуинку не пойдёт ничего.

И пожара не случится. Просто сгорит предохранитель или щёлкнет пакетник. (на силовой половинке)

 

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

(А совсем уж деревянный Буратино, сумеет и Ардуино подключить так, что оно сгорит ещё до подключения питания)

То, что у меня на картинке, это блочёк заменяющий реле.

Точно так же разделяющий управляющую и силовые части.

Но нет подгорающих и залипающих контактов реле.

 

Ну и главное:

Делаем современное устройство на процессоре.

Так зачем же туда детали паровоза добавлять?

Изменено пользователем Рауль
Ссылка на комментарий
Поделиться на других сайтах

 

очень интересно. Спасибо за информацию и такие исследование, а особенно за код. Буду разбираться.  Пока сумел за утро разобраться и прикрутить на реле включение LED светильника. Давно не видел прогрммного кода, а уж С++ и Ардуино - и не знал. Думаю, что нужно будет разбить мою 120 Вт панель, на две панели по 60 Вт. Не хочеться городить контакторы, а 10 А, я думаю многовато будет для реле :)

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

 

#include <Wire.h> 
#include <RTC.h>
RTC time;
 
String ts = "";
int td = 0;
const int RelayChn1 = 6; //Используем цифровой ПОРТ 6 для релейного модуля 
 
void setup() 
{
   Wire.begin(); //Инициируем I2C интерфейс 
   Serial.begin(9600);
   time.begin(RTC_DS3231);// инициализация модуля RTC
//   time.settime(00, 17, 15, 4, 4, 2016, 1); //сек, мин, часы, день, месяц, год, день недели
   pinMode(RelayChn1,OUTPUT); //инициализируем порт как ВЫХОД 
   digitalWrite(RelayChn1,LOW); //устанавливаем на входах релейного модуля ВЫСОКИЙ уровень 
}
void loop(){
    ts = time.gettime("Hi");
    td = ts.toInt();
    if(td>=600 && td<=2359){ //включение с 6 утра до 00
       digitalWrite(RelayChn1,HIGH); 
      }
    else{
       digitalWrite(RelayChn1,LOW); 
      }
}
 
По вентиляторам... не уверен, что стоит настолько усложнять систему и ставить на каждый по датчику и управлять им отдельно. Завтра постараюсь добавить PWM управление и уменьшить шум от "пропеллеров". Ибо мне досталось в наследство PowerMac G5, оно "терка красивая", но вентиляторы там шумные, хоть и мощные. Суть проблемы в шуме. Мне кажется, рациональней мерять температуру на уровне корней и верхушки, можно и по центру, и в зависимости от температуры в какой-то из этих зон, увеличивать/уменьшать обороты вентилятора или подключать дополнительный. Так можно будет очень гибко регулировать температуру, шум и потребление энергии. Растению 1-2 градуса +, роли не играет. 
Остается проблемы с охлаждением... Думаю прикрутить модули пельтье.
 
И если возможно, расскажите, из чего сделано светогашение? Не могу понять. Поставил решетку, что б вечером не светило как прожектор (внутри стоит лампа 10 Вт х 12 шт LED, красно синего цвета (стандартный 3 к 1) радиатор на всю длину корпуса), по вечерам спереди "экран" :)

 

Если хочешь управлять скоростью вращения вентиляторов от компа то это просто и нужно будет всего по 1 ноге с ардуинки пустить на ногу управления вентилятора. Ну да ещё посмотреть по даташиту на микросхему что установлена в вентиляторе какой сигнал нужно подавать что бы замедлить обороты ну или наоборот повысить.

Таким образом можно уменьшить шум (правда если стоит DWC то это не поможет так как нужно будет управлять ещё и компрессором который тож не плохо шумит)

 

При использовани элемента пельтье нужно помнить что с 1 стороны он охлождается, а с противоположной нагревается (можно жарить яйца) и охлождение нагревающейся стороны нужно массивное! (подойдёт охлождение от ПК на медных трубках)

 

У меня был iMac G5 20 дюймов и не по наслышке знаю как оно шумит и это не те вентиляторы которые тебе нужны поверь) КПД у них крайне мал для наших целей но шуму выдаёт как самолёт.

 

У меня сделано светогашение из пластика (его можно купить в строительном магазине размерами 1х1.2м полеуритановые по моему). Нужно именно для того что бы свет из бокса не выходил за пределы. Шум не уменьшит! Только скроет свет идущий из бокса в месте втягивания воздуха.

 

Если нужна нормальная звукоизоляция то тогда бокс обклеивается с 2 сторон вибро и звуко защитой с автомобиля. Потом обматывается минватой и только после этого зашивается сверху чем либо (ДВП, ДСП, ДЕРЕВО в общем на любителя). Но сомневаюсь что кто либо будет заниматься такой ерундой и обклеивать бокс шумкой)

 

А зачем светогашение нужно? Вечером пусть светит так же как и днём и за это растение скажет только спасибо.

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

Ссылка на комментарий
Поделиться на других сайтах

Никакой "микросхемы ШИМ" не нужно.

Функция ШИМ, дожна быть частью управляющего сигнала с Ардуино.

Симистор уверенно держит скачёк до 600 вольт.

Резисторам - безразлично. Они двухватные, при нужде 0.5 ватта.

Микрушка - просто оптопара.

Светодиод в ней, (и транзистор перед ней) питается от 5 в. с ардуинки.

Выходной оптотранзистор в микрушке - даже и не знаю как и чем его спалить.

Всё это безобразие, у меня рулит 2 кВт теном.

Но, даже если это всё прожечь киловольтом или смять молотком, в ардуинку не пойдёт ничего.

И пожара не случится. Просто сгорит предохранитель или щёлкнет пакетник. (на силовой половинке)

 

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

(А совсем уж деревянный Буратино, сумеет и Ардуино подключить так, что оно сгорит ещё до подключения питания)

То, что у меня на картинке, это блочёк заменяющий реле.

Точно так же разделяющий управляющую и силовые части.

Но нет подгорающих и залипающих контактов реле.

 

Ну и главное:

Делаем современное устройство на процессоре.

Так зачем же туда детали паровоза добавлять?

Потому что так надёжнее. Это ты сможешь исправить систему в кратчайшие сроки так как есть умение, я смогу, но возьмём домохозяйку которая дуб дубом в эл-ве, а муж уехал на рыбалку\блядки\да куда угодно. Вот что ей делать если у неё начал гореть бокс? Водой заливать нельзя так как там эл-во и её просто убьёт.

Видать ты не разу не видел как что горит вокруг тебя и насколько это опасно, каков уровень адреналина выступает в такие моменты и здраво мыслить даже сдержаному человеку проблематично.

Насчёт того что там на 600 вольт так это вообще не о чём, я находясь в ****** каждый день ловлю скачки напряжения (благо стабилизаторы успел собрать до переезда) у меня скачет от 170 до 540в переменки. Рядом стройка и там работает сварка. Так что 600 вольт это не показатель. Лучше лишний раз перестраховаться нежеле потом разбираться с последствиями.

220 вольт всё же не шутка...

Только в этом случае можно ставить твой вариант: стабильный источник питания с погрешностью в +- 1% не общающийся с окружающим миром (автономный блок питания).

 

Всё же создатель чего либо должен прекрастно осознавать возможные последствия.

Ссылка на комментарий
Поделиться на других сайтах

Боюсь, что это ты не понял.

Все мои устройства - надёжнее танка.

Не горят никогда. В самом критичном случае - защита срабатывает.

В данном обсуждении - конкретного изделия, я ещё не предлагал.

(Мы ведь, пока, обсуждаем общие условия?)

ИБ (исполнительный блок - самостоятельное оконечное устройство. Заменяется за 5сек. Вынул разъём, вставил другое.

(Подгоревшие контакты в реле, при нагрузке ДНАТ куда более пожароопастны. И никакая защита там не пройдёт, ну разве что - совсем навороченная. Но мы же её не планируем?)

 

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

Сгодится?

 

(Если хочешь - давай спишемся в личке. Мне думается, саму общую концепцию системы надо строить иначе)

Ссылка на комментарий
Поделиться на других сайтах

Боюсь, что это ты не понял.

Все мои устройства - надёжнее танка.

Не горят никогда. В самом критичном случае - защита срабатывает.

В данном обсуждении - конкретного изделия, я ещё не предлагал.

(Мы ведь, пока, обсуждаем общие условия?)

ИБ (исполнительный блок - самостоятельное оконечное устройство. Заменяется за 5сек. Вынул разъём, вставил другое.

(Подгоревшие контакты в реле, при нагрузке ДНАТ куда более пожароопастны. И никакая защита там не пройдёт, ну разве что - совсем навороченная. Но мы же её не планируем?)

 

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

Сгодится?

 

(Если хочешь - давай спишемся в личке. Мне думается, саму общую концепцию системы надо строить иначе)

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

Милости просим в коллекцию фриков. Будешь очередным кулибиным.

По поводу ДНАТ тут поспорю. Релюшки то по уму подбирать нужно что бы не залипало у тебя ничего.

Идея твоя хороша но пичкать плотно бокс электрикой это гемор. Уже было много вариантов и с реле и без реле и по шим управляемое и классика (твой вариант) всё это мне не понравилось из за возможных последствий.

Ссылка на комментарий
Поделиться на других сайтах

Странно, что приходится рассказывать очевидные вещи, ну да ладно.

Твёрдотельное реле это, по факту, та схема, что я приводил, только в одном корпусе и с ценой, как крыло от Боинга.

Классическое реле, при нагрузке ДНАТ 600 вт. при разрывании, неизбежно искрит. Хоть и коротко.

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

И это происходит, как реле не подбирай. Можно поставить промышленной мощности. Они прослужат долго.

Возможно даже настолько долго, что забудется шок момента, когда узнал их стоимость.

Но их размер и звук - не забудутся.

 

Не знаю, что ты называешь фриком, но до фриков с "Щип оф Фулз" мне далеко.

Резиновых ушек нет и трюма в корабле (как и самого корабля).

(Вот интересно, многие поймут эту шутку?)

 

Мне казалось мы обсуждаем устройство "для розовых Буратинок" - "Воткнул и заработало".

Тогда это набор стандартных коробочек, со стандартными разъёмами (как в компе - не туда, не воткнёшь).

Давай обсуждение ТЗ с этого уровня начнём?

Ссылка на комментарий
Поделиться на других сайтах

В принципе это проект для буратино) И тут действительно не совсем из подручных средств всё сделано.

Если бы меня не посетила лень то сейчас было бы что то вроде:

post-31477-0-76138000-1461416556_thumb.pngpost-31477-0-02684100-1461416574_thumb.png

 

Кароче такое точно без знаний не соберёшь и тем более не закажешь изготовление.

Проектов у меня много но к сожалению не на всё есть время(

 

Шутку оценил. Досадно что не все поймут.

 

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

Твёрдотельное реле не встречал на высокие напруги (к примеру на 10А не видел но видел на 2А что явно мало) и кстати твёрдотельное выносит только в путь при пульсации питания (проверял на лодке при установленном инверторе без выходного конденсатора но может мне бракованная хрень попалась)

Есть замечательные реле которые внутри из чистого золота 999 пробы. Стоят просто немеряно (1700р 1х1х1см) но щелчка практически не слышно. Токи выдерживает бешеные (до 400в 10А и что то было про 220 написано но не помню уже) гарантия на реле при условии что будут соблюденены нормы экспеотации составляет 5 лет.

Ссылка на комментарий
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.
Примечание: вашему сообщению потребуется утверждение модератора, прежде чем оно станет доступным.

Гость
Ответить в теме...

×   Вставлено в виде отформатированного текста.   Восстановить форматирование

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу.

×
×
  • Создать...