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

Проект СССР - сделай сам своим растениям. Автополив, досветка, подогрев своими руками

Тема в разделе "Сад и огород", создана пользователем osetroff, 04.03.14.

  1. osetroff
    Регистрация:
    29.06.09
    Сообщения:
    529
    Благодарности:
    144

    osetroff

    Живу здесь

    osetroff

    Живу здесь

    Регистрация:
    29.06.09
    Сообщения:
    529
    Благодарности:
    144
    Адрес:
    Самара
    Посмотрите мой эскиз универсальной ПУР и предложите, что исправить и добавить.
    Ну и я о том. Ко мне детали все еще едут.
    В моей ПУР - это вентиляция.

    Надо придумать светодиодную и пищащую часть по I2C, чтобы пины не занимать такой ерундой.
     
  2. osetroff
    Регистрация:
    29.06.09
    Сообщения:
    529
    Благодарности:
    144

    osetroff

    Живу здесь

    osetroff

    Живу здесь

    Регистрация:
    29.06.09
    Сообщения:
    529
    Благодарности:
    144
    Адрес:
    Самара
    Николай, помогите с выбором:
    1. Выбор универсального разъема для подключения датчиков на 5V три провода (GND, DATA, Vcc). Может винтами зажимать проводки будем как в сигнализациях?
    2. Выбор разъема питания на 5V (ардуино и датчики), на 12 V (не ssr) реле, led ленты, полив), на 220V (догрев, полив). Колпачками и в винтовые зажимы?

    Универсальный блок питания - компьютерный б/у ATX (от 100рэ).
    Плюсы: 12V (больше 10А) и 5V (больше 10A).
    Минусы: у меня в холостом режиме жрет 14W (33VA), к тому же, где ответные разъемы взять - не знаю (надо отрезать разъемы и зажимать провода винтами).
     
  3. nikr8
    Регистрация:
    05.03.14
    Сообщения:
    51
    Благодарности:
    22

    nikr8

    Участник

    nikr8

    Участник

    Регистрация:
    05.03.14
    Сообщения:
    51
    Благодарности:
    22
    Адрес:
    Москва
    Андрей, сейчас у меня на датчиках обычные гребенки под плоский шлейф, как в компе, но под винты удобнее для монтажа или перемонтажа - нужна 1 отвертка. Это относится и к силовым разъемам, только надо размер разьемов и проводов выбирать в соответствии с необзодимыми токами.

    Кстати, если будете питать сенсор 7400 от 5в то встроенный стабилизатор lp2980 не нужен. Без стабилизатора схема будет стоить вообще копейки.
     
  4. nikr8
    Регистрация:
    05.03.14
    Сообщения:
    51
    Благодарности:
    22

    nikr8

    Участник

    nikr8

    Участник

    Регистрация:
    05.03.14
    Сообщения:
    51
    Благодарности:
    22
    Адрес:
    Москва
    ПУР конечно оставляем, а вот на универсальную я бы пока не замахивался. Проще будет загружать в КОТ локальные ПУР для конкретных растений. Надо только продумать структуру самого КОТа и как ПУР в этом КОТе хранить (в прошивке, во внешнем ОЗУ, на SD карте...)
    Термины сенсор и датчик вообще то равнозначны. Для себя я их немного разделил. Сенсором называю измерительный элемент с аналоговым выходом, а датчиком более умное устройство с цифровым выходом и настроечными параметрами.
    Проще всего охлаждать кулером и естественно нужны ребрышки на профиле, а уж если вода то по взрослому: медные трубки, насос...
     
  5. vk5041
    Регистрация:
    04.03.14
    Сообщения:
    6
    Благодарности:
    1

    vk5041

    Участник

    vk5041

    Участник

    Регистрация:
    04.03.14
    Сообщения:
    6
    Благодарности:
    1
    Адрес:
    Биробиджан
    Давайте пока разберем физическое подключение и использование портов.
    На Arduino Uno аналоговые - A0-A5, из них 4 и 5 уходят на RTC. С 3 по 10 пины используете под цифровые датчики. Остаются 2, 11, 12, 13. Куда подключим rs485? Блок реле как будет управляться? Также через rs485?
     
  6. osetroff
    Регистрация:
    29.06.09
    Сообщения:
    529
    Благодарности:
    144

    osetroff

    Живу здесь

    osetroff

    Живу здесь

    Регистрация:
    29.06.09
    Сообщения:
    529
    Благодарности:
    144
    Адрес:
    Самара
    Посмотрю, есть ли винтовые зажимы в магазинах. Если не проблема - то это будет стандарт для КОТа
    - винтовые зажимы.
    Ясно. Может, выложите в формате sPlan схему 7400 для подключения к аналоговому пину arduino?
    Про "проще" согласен, но у всех ведь растишки разные - это аксиома (на вкус ицвет..).
    Поэтому, настаиваю на универсальной ПУР. А, когда каждый начнет мне говорить "мне нужна закалка лаванды ночью на стадии цветения", вот тогда, совершенствуя универсальный ПУР, появятся и его вариации.
    Ну не справлюсь я сразу со многими вариантами алгоритма ПУР.
    Сделав универсальный ПУР, совершенствуя его и делая ответвления его частных случаев - справлюсь.

    Как будет хранится ПУР в КОТе.
    Это мой конек - программирование.
    ПУР отдельно (чтобы можно было легко менять), ОС (операционная система) КОТа - отдельно (обслуживает железо, датчики и предоставляетбиблиотеку стандартных функций для вызова их из ПУР).
    Будет один скетч ОС КОТа,
    библиотека стандартных функций БСФ для ПУР,
    собственно модифицируемый по желанию скетч ПУР.
    Т. е. три файла плюс разные сторонние библиотеки в зависимости от датчиков и тп. для ОС.
    Скоро выложу рыбы скетчей для обсуждения.

    Надо поменять ПУР - исправили файл, скомпилировали скетч, загрузили в arduino - проверяем.
    Изменения в датчиках, протоколе связи - исправили скетч ОС, добавили библиотеки, ...
    Нужна доп функция для ПУР, изменили БСФ, ...
    Единственная проблема - уместить все добро в arduino - это моя проблема.
    Пусть так и будет. Еще немного подожду и внесу эти изменения терминов в скетчи.
    dht1 выдает в цифре температуру и влажность, но не имеет настроечных параметров. Он - датчик или сенсор?
    Пока досветка лентами, тема не актуальна - у меня профили еле греются.
    Лента на самоклейке, тепло плохо отводит. Да и мощность вместе с бп атх - 35W максимум.
    Вторая версия лампы будет с профилями вплотную без щелей, чтоб ночью в глаза не бил свет через щели - тогда посмотрим. В БСФ будет функция включить вентилятор.

    Не соображу, где бы свести все в одном месте: документацию, скетчи, эскизы. По форуму все размазывается. А менять часто придется.

    Раньше в теме уже выложил для sPlan эскиз СССР - в нем все есть.
    Сегодня планирую подправить термины и выложу еще раз все скопом в архиве.
     

    Вложения:

    • 201403062143_0540.jpg
    • 201403062205_0542.jpg
    • 201403062206_0545.jpg
    • 201403070837_0548.jpg
  7. osetroff
    Регистрация:
    29.06.09
    Сообщения:
    529
    Благодарности:
    144

    osetroff

    Живу здесь

    osetroff

    Живу здесь

    Регистрация:
    29.06.09
    Сообщения:
    529
    Благодарности:
    144
    Адрес:
    Самара
    Вопрос по поливу. По времени лить воду можно, да и датчик влажности в помощь.
    Но, все равно, хочется знать уровень налитой в поддон воды.
    Счетчик или миниатюрный датчик потока - контактные и дорогие.
    Из бесконтактного и недорогого пока мысль только про ик дальномер.
    Будет прикреплен к стенке коробки и принимать отраженный от дна ик луч.

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

    Но из Китая - это 300рэ и никакой гарантии, что будет достаточно чувствителен.
    Надо самому дальномер сделать из ик led и ик фоторезистора.
    У кого какие идеи?
     
  8. Лифтанутый
    Регистрация:
    11.04.08
    Сообщения:
    4.648
    Благодарности:
    13.632

    Лифтанутый

    УВЕРЕННЫЙ

    Лифтанутый

    УВЕРЕННЫЙ

    Регистрация:
    11.04.08
    Сообщения:
    4.648
    Благодарности:
    13.632
    Адрес:
    Москва
    @osetroff, Мне нравится Ваш энтузиазм. Не подумайте, что я критикую Вас - мы из разных поколений, но мне кажется что задачу следует разбить на отдельные контуры контроля-управления, отработать надежность каждого и только потом связать в единую систему. Начинать с ардуино рановато -это не самый важный вопрос написать скетч "копи-пастом". Надо определиться в каком месте и как часто измерять температуру и влажность, нужен ли для этого контроллер - ведь грунт очень инерционная среда. Достаточно использовать термостаты DS1821. Для поддержания уровня тоже есть простые и надежные решения. Я очень давно автоматизировал свою дачу: https://www.forumhouse.ru/useralbums/34865/list. И сделал вывод, что чем проще узел - тем безотказнее он работает.
    Тогда еще не было ардуино. Его желательно использовать для дистанционного контроля и управления, а локальные контуры сделать автономными. Можно также дублировать локальный контур - пинов то много.
    Я не имею большого опыта с ардуино - прекрасная и доступная игрушка, но его надежность и стабильность работы вне домашней лаборатории вызывает некоторые сомнения. ИМХО
    Удачи!
     
  9. osetroff
    Регистрация:
    29.06.09
    Сообщения:
    529
    Благодарности:
    144

    osetroff

    Живу здесь

    osetroff

    Живу здесь

    Регистрация:
    29.06.09
    Сообщения:
    529
    Благодарности:
    144
    Адрес:
    Самара
    Да что вы, присоединяйтесь, пожалуйста.
    Сейчас лампу для второго ящика для рассады (гроубокса) надо делать.
    Либо из сертифицированной ленты, либо заказывать мощные светодиоды-звездочки и паять, а потом на алюминиевый профиль.
    Пока планирую три лампы (в 3 ящика) для экспериментов "доступность/цена/затраты по сборке/эффективность для растений".
    По-вашему, из чего и как лучше лампу для досветки в ящике делать?
    Не все так просто.
    Нужен алгоритм, повторяющий для растений необходимые условия внешней среды.
    А внутри этого алгоритма - ПИД алгоритм управления.
    Плюс все это уместить в arduino и обеспечить связь.
    Если у вас будет время, попробуйте поглубже взглянуть на идею КОТа (я в СССР тоже успел пожить).
    Доступный и автономный контроллер с открытым кодом, с доступными датчиками и базовой ПУР (программой ухода за растениями). Такого пока нет. А очень хочется.
    Понимаю ваш скепсис.
    Николай сделал замечательный бесконтактный датчик влажности почвы.
    Датчик давно и успешно работает у него.
    Проект КОТ - это комната, огород, теплица. Контроллер один, а применения разные, т. к. разные условия и разные датчики. Надо экспериментировать.
    А на чем экспериментировать? Вот для этого и КОТ.
    Как говорят: без КОТа и жизнь не та.
    КОТ как раз и планируется автономным. Или мы по-разному понимаем автономность.
    С солнечными панелями в первом приближении я разобрался.
    Так что, в будущем, солнечные панели+контроллер+аккумулятор - и КОТ (даже, возможно, его досветка), кроме догрева, получит основное питание от солнца.
    С водой тоже все ясно.
    Двигаюсь полным ходом к автономности.
    Время покажет. Из доступных и дешевых пока не вижу ему конкуренции (а какие замечательные уроки по нему есть с основами электротехники и программирования).
     
    Последнее редактирование: 07.03.14
  10. osetroff
    Регистрация:
    29.06.09
    Сообщения:
    529
    Благодарности:
    144

    osetroff

    Живу здесь

    osetroff

    Живу здесь

    Регистрация:
    29.06.09
    Сообщения:
    529
    Благодарности:
    144
    Адрес:
    Самара
    Пишу документацию.
    Настаиваю датчики и сенсоры назвать датчиками.
    Т. к. даже в эскизах путаница, а пользователю будет все равно, что не работает.

    И еще, предлагаю все же привязываться:
    для реле - к его номеру (от 0 до 7),
    для датчика - к пину, к которому подключен (3-21).
    Т. к. пользователи будут ругаться на ошибку на конкретном реле или зажимном контакте.

    Стадию роста (СР) может менять:
    - ПУР,
    - человек кнопкой смена ПУР,
    - человек по rs485 с сервера.
    Придумал добавить еще одну 74HC595 для отображения СР на семисегментном индикаторе.
    Или будут идеи попроще?
     
    Последнее редактирование: 07.03.14
  11. osetroff
    Регистрация:
    29.06.09
    Сообщения:
    529
    Благодарности:
    144

    osetroff

    Живу здесь

    osetroff

    Живу здесь

    Регистрация:
    29.06.09
    Сообщения:
    529
    Благодарности:
    144
    Адрес:
    Самара
    В папке kot, кроме скетча kot. ino есть kotbsf. h и kotbsf. cpp (БСФ библиотека стандартных функций).
    Мне удобнее их не в library, а вместе с kot. ino держать.

    Не ясно, справится ли контроллер с ПУР, если по rs485 активно будут данные передаваться.
    Тогда, как я понимаю, контроллер будет читать в прерывании каждый байт с rs485 и еще проверять, не ему ли сервер запрос отправил.
    Ломаю голову, как минимизировать дергание контроллера.

    Пока думаю, что приоритет будет на ПУР.
    Поэтому, связь с контроллером может прерываться, т. к. ему приспичит по прерыванию проверить, не закончен ли полив.
    Т. е. на ответственные операции (полив, догрев) - буду вешать таймер с прерыванием для контроля "а как идут дела".
    Посмотрим на практике, насколько реально будет настраивать контроллер с сервера во время полива.

    Все доки собрал в один kot. zip.
     

    Вложения:

  12. nikr8
    Регистрация:
    05.03.14
    Сообщения:
    51
    Благодарности:
    22

    nikr8

    Участник

    nikr8

    Участник

    Регистрация:
    05.03.14
    Сообщения:
    51
    Благодарности:
    22
    Адрес:
    Москва
    А там все просто по схеме вывод Out подключаете к любому аналоговому входу (А0-А7). Остальные выводы к +5 и GND.

    У ардуино гарвардская архитектура т. е. раздельная память программ и данных. Я так понимаю вы хотите все разместить в память программ. Я бы вообще вынес ПУР (как набор инструкций контроллеру) на внешнюю память либо на шину I2C в виде дополнительной микросхемы, либо на шины SPI в виде SD карты, где можно держать не только ПУР а еще базу используемых датчиков и внутренний лог. На SD интереснее менять ПУР и Базу можно на обычном компе в текстовом редакторе и компилировать ничего не придется. Кстати, ардуино RTOC пожалуй не потянет.

    Вы привыкли к программированию на больших компьютерах, где счет ОЗУ и HDD идет на гигабайты, здесь все намного скромнее обычная ардуина имеет 32кб памяти программ и 1кб памяти данных. Все, что вы задумали там явно не поместится. Как минимум надо на Ардуино Мега переходить там уже 256кб под программы и 4кб под данные.
     
  13. nikr8
    Регистрация:
    05.03.14
    Сообщения:
    51
    Благодарности:
    22

    nikr8

    Участник

    nikr8

    Участник

    Регистрация:
    05.03.14
    Сообщения:
    51
    Благодарности:
    22
    Адрес:
    Москва
    Ну это еще совсем рано. Сначала надо определиться с составом железа, используемыми интерфейсами... Я бы предложил для использования в корпусе КОТа I2C, SPI и прямое подключение к портам, для подключения внешних датчиков RS485 (ModBus) и 1-Wire, а канал к серверу я бы вообще радио сделал - там вариантов много Bluetooth, WiFi, ZigBee, nRF24... Протокол можно MavLink использовать.

    Если привязываетесь к пину Ардуино то и писать надо А0-А7 для аналоговых и D0-D13 для цифровых
    Попроще будет число вспышек светодиода - не так много СР у нас будет чтобы запутаться. А если более серьезную индикацию то по I2C можно LCD подключить, на SD сделать файл стандартных сообщений... Кстати, файликов таких можно несколько на разных языках ...
     
  14. osetroff
    Регистрация:
    29.06.09
    Сообщения:
    529
    Благодарности:
    144

    osetroff

    Живу здесь

    osetroff

    Живу здесь

    Регистрация:
    29.06.09
    Сообщения:
    529
    Благодарности:
    144
    Адрес:
    Самара
    Неправильно поставил вопрос. Как подключить - ясно.
    Что можно убрать (резисторы, конденсаторы), если убираем LP2980-5V?
    При загрузке контроллера, происходит инициализация ПУР.
    При этом, массив данных из EEPROM переносится в массив данных в SRAM (ОЗУ) – получаем копию. ПУР работает с массивом данных в SRAM.
    Как исключение, номер СР (стадию роста) меняет сам ПУР и сохраняет номер СР сам в EEPROM. Остальные данные в этом массиве можно изменять с сервера по rs485.
    После внесения изменений, с сервера дается команда записать массив данных из SRAM в EEPROM.
    Таким образом, контроллер сохраняет автономность (восстанавливая данные ПУР для работы при сбое питания), и при этом может быть настроен пользователем с сервера.
    В будущем, когда ПУР будет отлажен, можно попробовать.
    Пока считаю более верным совершенствовать ПУР прямо в скетче.
    Менять свое поведение он будет в соответствии с массивом данных.
    Не хочу ко всем подводным камням добавлять еще проблемы с интерпретацией команд.
    Не имел в виду полноценную ОС, а назвал так скетч, обслуживающий контроллер, реле, датчики.
    Начинал с PDP11 (БК-0010), потом i8051 и т. д.
    Как раз, считаю своим недостатком по жизни стремление все оптимизировать (беречь ресурсы). Может, потому и интересно дальше возиться с контроллерами.
    Тем более, нужда с автополивом и досветкой поджимает.
    Мне нравится идея использовать arduino pro mini на Atmega328P.
    Тем более, наработки по проекту можно будет перенести на очередной AVR контроллер.
    Николай, собственно, пока только вы действительно помогаете оформиться первой версии КОТа.
    Понимаю ваше желание создать серьезный контроллер.
    Но я не силен в железе. Вот утром думал, как винтовые зажимы разместить в коробке с arduino, чтобы пользователь не спутал VCC и GND датчика. Мне достать то их непросто, а уж на что паять — и не знаю. Буду сверлить текстолит с одной медной стороной для Vcc и Gnd линейки зажимов, а вот для DATA нужно что-то еще думать.
    В общем, мне хочется реального результата в ближайшие пару месяцев.
    Из истории вспоминается, как Королев приказал оставить в первом спутнике только пищалку, чтобы сократить сроки первого запуска. Как-то так.
    Причем, все, что делаю, хотелось бы суметь повторять большое число раз и за недорого.
    Типа наколеночного производства для себя.
    Контроллер на каждые 4 грядки, несколько в теплицу, на зелень.
    А ведь еще датчики, реле, клапаны...
    Руки одни.
    Вы это пользователю объясните, например, моей маме или жене.
    Число они запомнят и скажут — не работает датчик 13. Мне быстрее искать проблему.
    КОТ все же немного бытовой прибор получается. А так — конечно согласен.
    Понимаю, что срочно нужно делать первую версию ПУР.
    Так непонятностей станет меньше, а определенности больше.
     
  15. nikr8
    Регистрация:
    05.03.14
    Сообщения:
    51
    Благодарности:
    22

    nikr8

    Участник

    nikr8

    Участник

    Регистрация:
    05.03.14
    Сообщения:
    51
    Благодарности:
    22
    Адрес:
    Москва
    Убираете LP2980 и R4.
    При большом желании можно убрать буферный истоковый повторитель T1,R5. Напряжение на выходе будет примерно на полвольта больше, но упадет нагрузочная способность выхода.
    Ну если с 51 знакомы, тогда и здесь все знакомо будет. Кстати на этом процессоре я первую свою персоналку для дома собирал.