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

Автоматическая форточка в теплицу - 2

Тема в разделе "Теплицы и парники", создана пользователем Анкор Плюс, 04.05.17.

  1. NOnono_13
    Регистрация:
    25.12.15
    Сообщения:
    5.641
    Благодарности:
    10.068

    NOnono_13

    Живу здесь

    NOnono_13

    Живу здесь

    Регистрация:
    25.12.15
    Сообщения:
    5.641
    Благодарности:
    10.068
    Адрес:
    Сибирь
    Это значит, что если в 15.00 было +36, а в 21.00 будет + 24, то время возврата штока составит 6 часов. И что тут не нормального?
     
  2. NOnono_13
    Регистрация:
    25.12.15
    Сообщения:
    5.641
    Благодарности:
    10.068

    NOnono_13

    Живу здесь

    NOnono_13

    Живу здесь

    Регистрация:
    25.12.15
    Сообщения:
    5.641
    Благодарности:
    10.068
    Адрес:
    Сибирь
    На что дать ссылку? Не пойму.
     
  3. _slava5555
    Регистрация:
    16.06.15
    Сообщения:
    505
    Благодарности:
    226

    _slava5555

    Живу здесь

    _slava5555

    Живу здесь

    Регистрация:
    16.06.15
    Сообщения:
    505
    Благодарности:
    226
    Адрес:
    Калуга
    Аа если в 18.00 будет 24 гр, то тоже закроется? и время закрывания буде 3 часа.
    А если в 23.00 будет 24 гр., то тоже закроется? И тогда время закрывания будет ...Сколько?)
     
  4. NOnono_13
    Регистрация:
    25.12.15
    Сообщения:
    5.641
    Благодарности:
    10.068

    NOnono_13

    Живу здесь

    NOnono_13

    Живу здесь

    Регистрация:
    25.12.15
    Сообщения:
    5.641
    Благодарности:
    10.068
    Адрес:
    Сибирь
    Тут всё очень просто: за какой период времени температура опустится (у моего ГЦ) с +30 до +24 (внутри теплицы), за такой период и закроет. Что же тут неясного?
     
    Последнее редактирование: 28.05.17
  5. NOnono_13
    Регистрация:
    25.12.15
    Сообщения:
    5.641
    Благодарности:
    10.068

    NOnono_13

    Живу здесь

    NOnono_13

    Живу здесь

    Регистрация:
    25.12.15
    Сообщения:
    5.641
    Благодарности:
    10.068
    Адрес:
    Сибирь
    У всех, кто не знаком с ГЦ, почти всегда возникает вопрос: за какое время (откроется, закроется)? Это неправильная постановка вопроса. Время не важно. Важно, чтобы ГЦ не выходил из диапазона температур от+24 до +30 (внутри теплицы).
     
    Последнее редактирование: 28.05.17
  6. _slava5555
    Регистрация:
    16.06.15
    Сообщения:
    505
    Благодарности:
    226

    _slava5555

    Живу здесь

    _slava5555

    Живу здесь

    Регистрация:
    16.06.15
    Сообщения:
    505
    Благодарности:
    226
    Адрес:
    Калуга
    вот и я согласен этим. А на сайтах про ГЦ пишут о каких-то 6 часах. Вот и @Юрий_Ильиных, и мне не понятно, что они имели ввиду...
     
  7. NOnono_13
    Регистрация:
    25.12.15
    Сообщения:
    5.641
    Благодарности:
    10.068

    NOnono_13

    Живу здесь

    NOnono_13

    Живу здесь

    Регистрация:
    25.12.15
    Сообщения:
    5.641
    Благодарности:
    10.068
    Адрес:
    Сибирь
    Тексты на сайтах пишут КОПИРАЙТЕРЫ, причём копируют с сайта на сайт, не проверяя информацию. Кроме того, что пишут, есть ещё здравый смысл. И неплохо с ним сверяться, при умозаключениях.
     
  8. ibovik
    Регистрация:
    25.11.16
    Сообщения:
    307
    Благодарности:
    115

    ibovik

    Живу здесь

    ibovik

    Живу здесь

    Регистрация:
    25.11.16
    Сообщения:
    307
    Благодарности:
    115
    Я только вчера закончил покрывать парник поликарбонатом. Тот еще Сталинград.
    IMG_20170528_161757.jpg
    IMG_20170528_161908.jpg
    IMG_20170528_161842.jpg
    Потенцально в торцах могут быть форточки. Но пока не до них.
    Хотел сразу поставить китайский ГЦ на фрамугу и сломал его за 3 минуты! Мне показалось что он туговато заклепан в районе оси соединения 2 частей и я его решил "разработать" помотав туда сюда. Заклепка была слабым звеном... Теперь высверливать и заменять на винт.
    Еще ничего не засажено и нет полива-поэтому это первоочередное.
    Есть вот что.
    IMG_20170524_142140.jpg
    Пока немного заткнулись в программе управления. Там логика на уровне 10 класса, но что то мы с другом перемудрили. Оно вроде крутит мотор-но как то порой странно реагирует на изменения температуры. Надо еще помозговать.
    Детали-самые простейшие. Все с Алиекспресса. Ну сумарно рублей 1000.
    Механической цасти пока нет-но будет шпилька и ездеющая по ней гайка в трубке-удлинителе, которая и будет толкать форточку.
    Я когда сделаю-все опубликую. Делаю специально-самую простейшую схему. Только 2 термопары и 2 мотора. Питание от автоаккумулятора.
    В итоге хочу опубликовать что конкретно нужно заказать, что куда воткнуть, и как залить программку что бы все получилось. Ибо все муки творчества в соседних темах ориентированы или на более менее спецов или вообще индивидуальные решения. Это не мое.
     
  9. ask33
    Регистрация:
    06.11.13
    Сообщения:
    1.559
    Благодарности:
    3.377

    ask33

    Живу здесь

    ask33

    Живу здесь

    Регистрация:
    06.11.13
    Сообщения:
    1.559
    Благодарности:
    3.377
    Адрес:
    Ногинск
    Как все капитально, это из уголка каркас? А по поводу поломки ГЦ можно подробнее? У меня форточка тяжелая, но ГЦ третий год исправно ее открывают. Сейчас бы сделал по другому, с рычагом, но пока как есть. А для проветривания у теплицы по Митлайдеру самая удачная конструкция что для ГЦ что для других открывашек, нагрузка от форточек не большая.

    По поводу приводов немного чертежей от руки есть здесь https://www.forumhouse.ru/useralbums/18523/view
    Может чем поможет.
    По мукам согласен, хорошо бы решение для тех кто не супер программист, и не супер электронщик.
     
  10. Maximus71
    Регистрация:
    11.05.16
    Сообщения:
    185
    Благодарности:
    204

    Maximus71

    Живу здесь

    Maximus71

    Живу здесь

    Регистрация:
    11.05.16
    Сообщения:
    185
    Благодарности:
    204
    Адрес:
    Гомель
    Гляньте мою конструкцию, может пригодится. Тоже шпилька, гайка в трубке, термопара, 2 мотора, Aliexpress... 2 форточки работают второй сезон без нареканий.
     
  11. ibovik
    Регистрация:
    25.11.16
    Сообщения:
    307
    Благодарности:
    115

    ibovik

    Живу здесь

    ibovik

    Живу здесь

    Регистрация:
    25.11.16
    Сообщения:
    307
    Благодарности:
    115
    Да я все видел! Спасибо!
    @ask33, Да, уголок. Это делали прошлые хозяева. Он уже лет 20 наверное стоит. Я реанимирую или утилизирую. Кривоватый, но вроде крепкий еще.
    Сломалось тут
    provetrivatel_2.jpg
    Не надо было мне его улучшать. Ничего! Починю.
    @Maximus71,
    А скетчик не расшарите? Я бы глянул!
    Вот мой скетчик. Но в нем ошибка. в логике...
    #include "stDHT.h"

    #define DHT1 2
    #define DHT2 3
    #define D1 9 / Направление вращение двигателя 1
    #define M1 10 / ШИМ вывод для управления двигателем 1
    #define NB2 8 / Включение мотора 2
    #define D2 5 / Направление вращение двигателя 2
    #define M2 6 / ШИМ вывод для управления двигателем 2
    #define NB1 7 / Включение мотора 1
    #define key1 15 / Стоп-микрик мотора 1
    #define key2 14 / Стоп-микрик мотора 1
    #define STEP_DELAY 1000 / "Шаг" сервы, мСек
    #define CALIBRATE_DELAY 10000 / Время "калибровки" на старте
    #define TDELTA 5 / Минимальное изменение температуры, меньше которого мы никуда не двигаемся
    DHT sens (DHT11); / Указать датчик DHT11, DHT21, DHT22
    bool keystate1 = 0; / состояние ключа1
    bool keystate2 = 0; / состояние ключа2
    int currentT; / Текущее положение форточки
    int previosT1 = 0; / Прошлое значение температуры датчика 1
    int previosT2 = 0; / Прошлое значение температуры датчика 2
    int N1; / Необходимое количество оборотов мотора 1
    int N2; / Необходимое количество оборотов мотора 2
    int N1P = 0; /Прошлое количество оборотов мотора 1
    int N2P = 0; /Прошлое количество оборотов мотора 1
    int dT1 = 0;
    int dT2 = 0;

    void setup() {
    Serial. begin (57600);
    Serial. println(" Starting...");
    pinMode (DHT1, INPUT);
    digitalWrite (DHT1, HIGH);
    pinMode (DHT2, INPUT);
    digitalWrite (DHT2, HIGH);

    calibrateMotor();
    }

    void loop() {
    int currentT1 = getTemp1(); / Измерим текущую температуру на первом датчике
    int currentT2 = getTemp2(); / Измерим текущую температуру на первом датчике
    dT1 = currentT1 - previosT1;
    N1 = currentT1/TDELTA;
    N1 = N1-N1P;
    Serial. print(" N1 ");
    Serial. println (N1);
    previosT1 = currentT1;
    dT2 = currentT2 - previosT2;
    N2 = currentT2/TDELTA;
    Serial. print(" N2 ");
    Serial. println (N2);
    previosT2 = currentT2;
    if (dT2 > 0)
    {
    moveMotor (N2 * STEP_DELAY, 1);
    N2P = N2;
    }
    if (dT2 < 0)
    {
    moveMotor (N2 * STEP_DELAY, 0);
    N2P = N2;
    }

    }

    /* /
    * Измерим текущую температуру на 1-м датчике
    * /
    */
    int getTemp1()
    {
    delay (3000);
    int t1 = sens. readTemperature (DHT1); / чтение датчика на пине 2
    Serial. print(" T1 ");
    Serial. print (t1);
    Serial. println(";");
    return t1;
    }

    /* /
    * Измерим текущую температуру на 1-м датчике
    * /
    */
    int getTemp2()
    {
    delay (3000);
    int t2 = sens. readTemperature (DHT2); / чтение датчика на пине 3
    Serial. print(" T2 ");
    Serial. print (t2);
    Serial. println(";");
    return t2;
    }

    /* /
    * Ф-ция проерки состояния ендстопа1 (концевого выключателя)
    * /
    */

    bool checkEndstop1()
    {
    if(!digitalRead (key1)
    {
    analogWrite (M1, 0);
    analogWrite (D1, 0);
    return true;
    }
    else
    return false;
    }

    /* /
    * Ф-ция проерки состояния ендстопа2 (концевого выключателя)
    * /
    */

    bool checkEndstop2()
    {
    if(!digitalRead (key2)
    {
    analogWrite (M2, 0);
    analogWrite (D2, 0);
    return true;
    }
    else
    return false;
    }

    bool moveMotor (int tm, bool dir)
    {
    tm = tm - 800;
    / Скректируем задержку, с учетом времени на торможение
    unsigned long start = millis(); / Засечем время старта (отловить возможную ошибку)
    / Разгонимся
    for (int i=50; i<256; i+)
    {
    if (dir)
    {
    digitalWrite (D2, 0);
    analogWrite (M2, i);
    }
    else
    {
    if (checkEndstop2() / Проверим состояние концевика
    return false; / Выходим из функции

    digitalWrite (M2, 0);
    analogWrite (D2, i);
    }
    delay (3);
    }
    / Подождем
    bool br = false;
    while (br = false)
    {
    if(!dir)
    if (checkEndstop2() / Проверим состояние концевика
    return false; / Выходим из функции

    unsigned long current = millis();
    if (current - start > tm)
    br = true;
    /delay (3);
    }
    / Плавно тормозимся
    for (int i=255; i>=0; i-)
    {
    if (dir)
    {
    digitalWrite (D2, 0);
    analogWrite (M2, i);
    }
    else
    {
    if (checkEndstop2() / Проверим состояние концевика
    return false; / Выходим из функции

    digitalWrite (M2, 0);
    analogWrite (D2, i);
    }
    delay (3);
    }
    return true;
    }

    void calibrateMotor()
    {
    moveMotor (CALIBRATE_DELAY, 0);
    }
     
  12. Maximus71
    Регистрация:
    11.05.16
    Сообщения:
    185
    Благодарности:
    204

    Maximus71

    Живу здесь

    Maximus71

    Живу здесь

    Регистрация:
    11.05.16
    Сообщения:
    185
    Благодарности:
    204
    Адрес:
    Гомель
    Так это... Нет у меня скетчика... :) Нет контроллера потому что. Пока только в планах.
    Сейчас просто термореле управляет приводами. Схема есть по ссылке под видео в ютубе, сюда почему-то не даёт вставить ссылку на фотоальбом в гугле.
     
    Последнее редактирование: 29.05.17
  13. Cofessor
    Регистрация:
    23.06.13
    Сообщения:
    9.139
    Благодарности:
    8.396

    Cofessor

    Виталий

    Cofessor

    Виталий

    Регистрация:
    23.06.13
    Сообщения:
    9.139
    Благодарности:
    8.396
    Адрес:
    Брянск
    222222.jpg Безымянный.jpg
     
  14. Maximus71
    Регистрация:
    11.05.16
    Сообщения:
    185
    Благодарности:
    204

    Maximus71

    Живу здесь

    Maximus71

    Живу здесь

    Регистрация:
    11.05.16
    Сообщения:
    185
    Благодарности:
    204
    Адрес:
    Гомель
    @Cofessor, спасибо, что не поленились, это действительно моя схема.
     
  15. Cofessor
    Регистрация:
    23.06.13
    Сообщения:
    9.139
    Благодарности:
    8.396

    Cofessor

    Виталий

    Cofessor

    Виталий

    Регистрация:
    23.06.13
    Сообщения:
    9.139
    Благодарности:
    8.396
    Адрес:
    Брянск
    PrintScreen-ом переносите в Paint, а затем "Сохранить как... JPEG на рабочий стол, с которого уже забираете с помощью "Загрузить файл".