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

Контроллер для теплицы на STM32

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

?

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

  1. Да

    76,7%
  2. Нет

    16,3%
  3. Могу, но не работает так, как бы хотелось

    7,0%
  1. Greeds74
    Регистрация:
    07.07.16
    Сообщения:
    113
    Благодарности:
    112

    Greeds74

    Живу здесь

    Greeds74

    Живу здесь

    Регистрация:
    07.07.16
    Сообщения:
    113
    Благодарности:
    112
    Адрес:
    Новороссийск
    День добрый, уважаемые коллеги!

    Завершена сборка и тестирование комбинированного датчика влажности воздуха, опытная сборка которого показана ниже на фотографии

    [​IMG]

    Габариты 60х55х35 мм.

    Предназначен для измерения относительной влажности воздуха(%) в широких пределах - мы в тестовых испытаниях спокойно получили значение 97%. Также производит замер температуры и атмосферного давления. Предусмотрен блок вычисления, который рассчитывает среднюю влажность воздуха за 1 минуту и за 10 минут.

    Ток потребления в рабочем режиме 10 мА при напряжении 5В -это даёт возможность подключить более 15 сенсоров к контроллеру серии "iТеплица - малый контроллер"(конечно, при необходимости).

    Блок имеет интерфейс для цифрового обмена данными с контроллерами по стандарту RS-485. Аналоговых выходов не предусмотрено.

    Какие плюсы мы получаем, если устанавливаем подобный сенсор в теплицу? Для чего нам может потребоваться знание такого весьма специфичного параметра, как относительная влажность воздуха? Ответ прост - конечно же, диагностика. В реальных условиях влажность воздуха меняется в достаточно широких пределах - и иметь архивные записи значений очень даже полезно, потому что в случае сомнений можно смело показать специалисту. Второй, не менее важный момент - это управление проветриванием. Используя данный сенсор совместно с контроллером серии "iТеплица", можно построить практически любой алгоритм управления как форточками, так и системой зашторивания или водяного охлаждения.

    Если у вас есть вопросы - пишите, с удовольствием на них ответим.

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

    Вложения:

    • Hum.JPG
  2. ask33
    Регистрация:
    06.11.13
    Сообщения:
    1.583
    Благодарности:
    3.398

    ask33

    Живу здесь

    ask33

    Живу здесь

    Регистрация:
    06.11.13
    Сообщения:
    1.583
    Благодарности:
    3.398
    Адрес:
    Ногинск
    Я вижу что используется модуль BH1750 сам планировал использовать TSL2561.
    Скажите почему Ваш выбор остановился на модуле BH1750, рассматривали ли другие модули?
     
  3. Greeds74
    Регистрация:
    07.07.16
    Сообщения:
    113
    Благодарности:
    112

    Greeds74

    Живу здесь

    Greeds74

    Живу здесь

    Регистрация:
    07.07.16
    Сообщения:
    113
    Благодарности:
    112
    Адрес:
    Новороссийск
    В датчике освещённости да -именно такой модуль и применён. Меня он вполне устраивает - диапазон измерения от 0.83 до 121361 лк (хотя там 16-битный АЦП, но за счёт изменения окна измерения можно измерять интенсивность выше 54612.5 люкс). И цена приемлемая - для большой серии это важно.
     
  4. Greeds74
    Регистрация:
    07.07.16
    Сообщения:
    113
    Благодарности:
    112

    Greeds74

    Живу здесь

    Greeds74

    Живу здесь

    Регистрация:
    07.07.16
    Сообщения:
    113
    Благодарности:
    112
    Адрес:
    Новороссийск
    Расскажу немного о том, как я на своём участке ставил контроллер полива.
    Главным приоритетом сейчас является научить систему автоматически начинать полив, и вот тут как раз и встаёт вопрос - а когда именно надо начинать поливать? Тут же найдётся тот, кто мне посоветует таймерный полив. Действительно, почему бы и нет? Дёшево и сердито, и всегда можно сказать, что у меня всё в полном ажуре. Но увы - это не совсем так. Погода штука непостоянная, и даже самый изощрённый таймерный вариант не сможет уследить за тем, сколько сегодня было облаков и насколько сильно светило солнце. Про дождь даже и говорить не приходится - таймер этот факт проигнорирует. Хотя есть продвинутые варианты таймеров с датчиком дождя - но они увы, нет так уж и дешевы. Да грешно мне покупать таймеры, когда у меня есть контроллер)

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

    Состав оборудования

    В качестве сердца системы был выбран выпускаемый малой серией программируемый логический контроллер "iТеплица -малый контроллер".
    И это именно программируемый логический контроллер - для него есть среда разработки, которая позволяет не только написать программу на промышленных языках стандарта IEC 61131-3, но и произвести онлайн отладку с режимом мониторинга. В качестве среды программирования используется демонстрационная версия программы GX Developer-FX. Сам контроллер полностью совместим с серийным контроллером Mitsubishi FX2N.

    Немного о его возможностях:
    1. Количество шагов выполнения программы -2000. О шагах более подробно расскажу немного ниже.
    2. Гальванически изолированная шина интерфейса 1-wire. Позволяет работать со 128 датчиками. При помощи утилиты настройки производит поиск датчиков и сохранение в энергонезависимой памяти контроллера.
    3. Гальванически изолированная шина интерфейса RS-485 с поддержкой протокола обмена modbus RTU. При помощи утилиты настройки может работать как в режиме мастера, так и в режиме слейва. Всего может быть поддержано до 64 слейвов (при работе контроллера в режиме мастера).
    4. Программирование и отладка производятся при помощи micro -USB кабеля.
    5. Имеет 8 дискретных входов и 8 дискретных выходов, из которых 2 выхода снабжены реле с нагрузочной способностью 3A 250V AC. Также имеет 2 аналоговых входа.
    6. Имеется 2-й порт протокола modbus RTU - но он имеет TTL интерфейс и предназначен для подключения к системам сбора данных. Может работать тольков режиме слейва.
    7. Используется операционная система реального времени.

    Следующее действующее лицо - это датчик освещённости. Он построен на основе микроконтроллера STM32F030 с использованием операционной системы реального времени. Имеет последовательный интерфейс стандарта RS-485 с поддержкой протокола обмена Modbus RTU для обмена данными и настройки параметров. Корпус исполнения IP67 позволяет производить установку под открытым небом. Фотография будет ниже.
    Для любопытных читателей сразу скажу - сенсор BH1750 позволяет произвести замеры освещённости больше 100 тыс. люкс за счёт изменения ширины окна измерения.
    И ещё есть одна отличительная особенность данного датчика от тысяч других - он сам считает накопленную мощность в Дж/см2/час и по запросу передаёт мастеру сети. При поставке каждый сенсор имеет собственный сертификат калибровки на мощность излучения 1000 Дж/см2/час и сразу готов к применению.

    Сам объект управления
    В качестве объекта используется небольшой участок земли размерами 5,5м х 25 м, оборудованный 6 линиями капельного полива. Капельные трубки 16 мм с капельницами через каждые 30 см с водовыливом 1,6л/час. То есть в теории за один час такая система может израсходовать 800 литров воды. Но так как мы не используем бустерный насос для поднятия давления воды, то под давлением самотёка значения расхода оказываются значительно ниже.

    Ход работ: монтаж на объекте
    Вот как выглядят смонтированные датчики уровня в бочке для управления наполнением. Как видите, всё прикручено медной проволокой без особых заморочек. Датчики поплавкового типа, герконовые. Ниже на фото показан монтаж датчиков в бочке
    level.jpg

    А вот тут вы можете увидеть смонтированный датчик освещённости. Опять же, один шуруп решает все проблемы.
    light_0.jpg

    И для наглядности вид снизу:

    light_1.jpg

    А теперь монтаж контроллера и блока питания для клапана - уж не судите строго, монтаж сделан "как есть". Всегда можно сделать намного более аккуратно - но мы тут рассматриваем не качество монтажа, а работу самой системы. Так что сам признаю некую "колхозность" такой конструкции. Но если он отработает хотя бы сезон в таких условиях - то тестирование откровенно ужасной установкой он прошёл)
    plc_0.jpg

    А теперь фотография монтажа блока механического дискового фильтра и клапана полива. Конечно, фильтр лучше устанавливать горизонтально - но пока так всё устраивает.
    valve.jpg

    Работа программы

    Итак - наполнение бочки. При этом контролируется тай-аут времени работы насоса. Если наполнение будет длиться больше, чем 30 минут - то отключаем насос и показываем сигнал аварии. Если бочка наполнена в отведённое время - то ставим флаг готовности к поливу. Полив возможен только между 5:00 и 17:35. Время может быть очень легко изменено. Первый полив будет включен, как только утренняя доза поглощённой солнечной энергии будет больше 180 Дж/см2/час. После этого каждый следующий полив будет включен через 300 Дж/см2/час. Если солнечная активность низка и мы до 10:35 не набрали утренней дозы, то будет один раз включен полив и система будет ждать увеличения солнечной активности. Для опустошения бочки отводится тайм-аут 50 минут. Если время превышено - то значит проблемы с фильтром или клапаном. В этом случае выдаём предупреждающий сигнал и отключаем полив. Также контролируется количество воды, израсходованной на полив - если было использовано больше 8 бочек, то полив останавливается и выдаётся сигнал предупреждения. Сигнал не квитируемый - он будет сброшен утром следующего дня. Время выполнения такой программы в контроллере составляет 2 мсек.

    Ниже показан показан процесс отладки - онлайн монитор программы в режиме исполнения.

    online.JPG

    Результаты работы и заключение
    А теперь самое интересное - результаты работы. После запуска системы полива сразу стало видно, что растения отзываются на полив. Это выражается в качестве ягод. На участке есть несколько кустов малины - если раньше ягоды были мягкие на ощупь и обладали средними вкусовыми качествами, то сейчас они такие, какие должны быть. И вкусовые качества совершенно другие - ягоды стали более ароматными. Также имеется посадка огурца - теперь даже в сильную жару (а территориально я нахожусь на юге -в Краснодарском крае) листья не подвядают. И огурец стал более вкусным.
    res0.jpg

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

    Дальнейший путь
    Следующим шагом будет подключение к системе группы дозирования на основе инжекторов Вентури для обеспечения точной подачи удобрений и через систему капельного полива. А вот, собственно, и сам комплект для системы.
    venturi.jpg

    О ходе работ я обязательно буду рассказывать вам, мои дорогие коллеги.
     
  5. Cofessor
    Регистрация:
    23.06.13
    Сообщения:
    9.284
    Благодарности:
    8.461

    Cofessor

    Виталий

    Cofessor

    Виталий

    Регистрация:
    23.06.13
    Сообщения:
    9.284
    Благодарности:
    8.461
    Адрес:
    Брянск
    Получается, такая система не учитывает реальную влажность почвы? Но ведь почвы бывают разные, от песчаной до суглинка. Значит, возможны варианты когда система полива, основанная на количестве энергии, поглощённой растениями, или затопит их, или засушит.
     
  6. Greeds74
    Регистрация:
    07.07.16
    Сообщения:
    113
    Благодарности:
    112

    Greeds74

    Живу здесь

    Greeds74

    Живу здесь

    Регистрация:
    07.07.16
    Сообщения:
    113
    Благодарности:
    112
    Адрес:
    Новороссийск
    Пока я не ставил датчик влажности почвы. Сейчас система работает где-то дней 7 - маловато статистики. Под каждую почву и под каждую культуру надо конечно подстраивать. Я эту систему подстраивал всего два раза - менял один раз норму переключения и один раз защитный тайм-аут для клапана полива.
    У нас недавно прошли дожди - так всё чётко отработало, если в солнечный день потребляем где-то 3-6 бочек воды, то тут только 1. Так что жду и накапливаю статистику. Жаль, что нет компа собрать данные... Буду что-то решать с этим. Графики были бы интересны не только мне)
    Вот тут исходник проекта для контроллера - Malina_V1.zip
    Вот тут распечатка проекта в формате pdf print.pdf
    А вот так выглядит новая версия датчика - от того, что установлено, он может работать как датчик освещённости, влажности воздуха или влажности почвы. И конечно, для каждого варианта своя прошивка.
    new_sens.jpg
     

    Вложения:

  7. Cofessor
    Регистрация:
    23.06.13
    Сообщения:
    9.284
    Благодарности:
    8.461

    Cofessor

    Виталий

    Cofessor

    Виталий

    Регистрация:
    23.06.13
    Сообщения:
    9.284
    Благодарности:
    8.461
    Адрес:
    Брянск
    Ещё величина полива от температуры воздуха должна зависеть, которая не есть функция только освещённости, наверное добавить поправки на температуру в алгоритм не помешает. Но это чтобы совсем уж хорошо было, а так - система здоровская, конечно. Так какая максимальная норма расхода на вашей почве получается для малины и огурцов - менее 1 л на кв. метр? Маловато как-то для жаркой погоды.
     
  8. Greeds74
    Регистрация:
    07.07.16
    Сообщения:
    113
    Благодарности:
    112

    Greeds74

    Живу здесь

    Greeds74

    Живу здесь

    Регистрация:
    07.07.16
    Сообщения:
    113
    Благодарности:
    112
    Адрес:
    Новороссийск
    Спасибо за оценку системы. А вот насчёт нормы полива - надо всё рассчитать. У меня же всё покрыто агромульчей - а она влагу экономит сильно.
    Ещё есть в меня вот прямо на столе датчик влажности воздуха, он же и температуру меряет...Вот прикрутить думаю ещё и его. Но пока не знаю, как связать влажность и температуру с нормой полива...Норма полива у меня измеряется в Дж/см2/час.
    Если у Вас есть по этому поводу идеи - поделитесь, пожалуйста.
     
  9. Cofessor
    Регистрация:
    23.06.13
    Сообщения:
    9.284
    Благодарности:
    8.461

    Cofessor

    Виталий

    Cofessor

    Виталий

    Регистрация:
    23.06.13
    Сообщения:
    9.284
    Благодарности:
    8.461
    Адрес:
    Брянск
    Полагаю, для начала можно ориентироваться на примерные агротехнические нормы полива, как вот тут сказано. Конечно, это не авторитетный источник, но разная потребность в воде в разные периоды вегетации очевидна. Например, в фазе до цветения и после, а если поливать в зависимости от освещённости - разницы никакой не будет. А есть периоды, когда поливы вообще прекращают.
    Ещё многое и от выбранной культуры зависит: то, что хорошо для огурцов, будет совершенно непригодно для кактусов.
    P. S. Моё личное мнение ещё (не подкреплённое никакими ссылками, правда) - нельзя не учитывать пропорций температур почвы и воздуха, почему я и отношусь к мульче скептически. Когда бывают резкие изменения погоды, растения это порой плохо переживают. Например, было холодно, затем внезапно наступила жара: воздух горячий, резко усиливается транспирация, а корни - в холодной земле и не могут обеспечить наземную часть нужным количеством влаги. В результате растения начинают увядать, даже если в почва переувлажнена. Мульча в данном случае только замедляет прогрев, поэтому, если мульча (светлая) используется, не худо было бы следить за температурой почвы.
     
    Последнее редактирование: 30.07.17
  10. Greeds74
    Регистрация:
    07.07.16
    Сообщения:
    113
    Благодарности:
    112

    Greeds74

    Живу здесь

    Greeds74

    Живу здесь

    Регистрация:
    07.07.16
    Сообщения:
    113
    Благодарности:
    112
    Адрес:
    Новороссийск
    Моя мульча чёрная) Насчёт периодов вегетации - идея совершенно здравая. Реализуема уже сейчас. Главное дать системе график и регулировать норму полива по какой-то схеме. Вообще получается тогда замечательно. Насчёт датчиков температуры почвы- тоже можно и нужно. Так что потихоньку вырастает нехилая система)
    Я только сейчас сам начинаю понимать, насколько это удобно - когда у тебя вот так, без заморочек, с удобной отладкой строится система) Буду продолжать)
    А за идеи огромное спасибо)
     
  11. Cofessor
    Регистрация:
    23.06.13
    Сообщения:
    9.284
    Благодарности:
    8.461

    Cofessor

    Виталий

    Cofessor

    Виталий

    Регистрация:
    23.06.13
    Сообщения:
    9.284
    Благодарности:
    8.461
    Адрес:
    Брянск
    Не уточнил, в Краснодарском крае светлая мульча летом, где перегрев почвы весьма реален, может быть очень даже уместна. Однако мы в России живём, где три четверти территории занимает вечная мерзлота. Этим летом почва долго не могла прогреться, поэтому огурцы под спанбондом нам пришлось пересеивать трижды - пропадали из-за недопрогрева почвы. Также в начале лета никак не желали расти арбузы и дыни в большой теплице (правда это мой первый опыт их выращивания), а я, как на грех, тщательно мульчировал их соломой, привыкнув что летом уже можно.
    То есть, температура почвы у нас, в средней полосе, может сильно повлиять. Я у себя под каждую капельницу вставил пластиковый стаканчик, типа как от сметаны, частично врытый в землю. После этого смачивание поверхности земли практически исчезло, один раз упустил в теплицу почти 2 куба воды - переключил полив в ручной режим и забыл закрыть. Так вот, ожидал что на следующий день всё будет затоплено, однако даже не видно было следов влаги на грядках, только дорожки между ними стали влажными и липкими. Вреда, впрочем, от такой мега дозы полива никакого не заметил, что тоже явилось информацией к размышлению. Благо, вода была прогретая.
     
  12. Greeds74
    Регистрация:
    07.07.16
    Сообщения:
    113
    Благодарности:
    112

    Greeds74

    Живу здесь

    Greeds74

    Живу здесь

    Регистрация:
    07.07.16
    Сообщения:
    113
    Благодарности:
    112
    Адрес:
    Новороссийск
    Итак, коллеги, вот и первая поправка. Поднял норму полива с 350 Дж/см2/час до 400 Дж/см2/час. То есть сейчас каждые 400 Дж/см2/час будет вылито 220 литров воды. Посмотрим, как посадка отреагирует на такое изменение. Мне кажется, что такое незначительное изменение будет совсем незаметно.
    Что же касается цифр - я был на опытном участке в 12:10, и система уже набрала 912 Дж/см2/час. Вчера эта цифра была 936 Дж/см2/час. Может, кому - нибудь эта информация будет полезной.

    Кстати, малина начинает второй раз за сезон давать урожай - приятная новость.
     
  13. 2mike
    Регистрация:
    14.03.10
    Сообщения:
    596
    Благодарности:
    419

    2mike

    Живу здесь

    2mike

    Живу здесь

    Регистрация:
    14.03.10
    Сообщения:
    596
    Благодарности:
    419
    Адрес:
    Россия
    интересная конструкция. а будет ли продолжение ?
     
  14. Greeds74
    Регистрация:
    07.07.16
    Сообщения:
    113
    Благодарности:
    112

    Greeds74

    Живу здесь

    Greeds74

    Живу здесь

    Регистрация:
    07.07.16
    Сообщения:
    113
    Благодарности:
    112
    Адрес:
    Новороссийск
    День добрый.
    Приятен интерес человека, не по наслышке знающего про гальваническую развязку)
    Для начала - немного о завершении. Я только вот две недели назад(!) отключил систему. С середины лета и до этого момента описанная конфигурация отработала как часы. Я даже один раз не поверил собственноручно написанной диагностике. Но всё оказалось правдой -фильтр забит. Так что диагностика рулит.
    Сейчас собрана малая серия улучшенных контроллеров, имеющие в 4 раза больше памяти программ, 2 изолированных порта RS485 c поддержкой modbus RTU master/slave. Также к периферии можно добавить микропанель оператора также с управлением через модбус. Датчик СО2 тоже появился. Так что работа кипит.
    Что касается систем для открытого грунта - да, тут добавились диэлектрические датчики влажности почвы с температурной компенсацией. Протокол модбус rtu.
    А для удалённого управления готовим вишенку на торт - шасси контроллера повышенной мощности, для которого одна из плат расширения как раз и поддерживает работу через Intenet.
    Много времени уходит на написание драйверов и портирование под ОС для Modbus RTU master/slave и Profibus DP slave, плюс тестирование.
    Из немного по-деревенски выглядящей платы получается весьма любопытное изделие)
    Я просто не делаю публикаций - пока не наберём минимальный набор, нет смысла этого делать.
     
  15. 2mike
    Регистрация:
    14.03.10
    Сообщения:
    596
    Благодарности:
    419

    2mike

    Живу здесь

    2mike

    Живу здесь

    Регистрация:
    14.03.10
    Сообщения:
    596
    Благодарности:
    419
    Адрес:
    Россия
    случайно не CCS811 ?
    вообще интересен вот этот ваш маленький комбинированный датчик. вы не думали его сделать модульным ? т. е. в основе всё та же платка с stm32F030 в которую всё той жеж этажеркой можно воткнуть на выбор плату с нужным датчиком или их комбинацией. наверное придется отойти от готовых плат алиэкспресса и сделать что то своё.
    затем, как показывает общение с "продвинутыми" огородниками, для открытых систем как ни крути нужен какой то беспроводной интерфейс к выносному датчику/модулю. с одной стороны проблема в крайне низкой стойкости китайских кабелей к УФ, с другой нежелание протягивать провода по огородам с риском их повреждения при работах или хищении. в принципе nrf24 мало кушает батарейку, да и esp8266 тоже научили мало кушать. батарейку можно взять литий 18650, к нему опять же полно зарядников.
    ну и про вишенку на тортике - думаю есть необходимость делать этот комбинированный датчик более универсальным. имхо если перейти на модульную структуру это будет совсем просто - делается еще пара платок - одна плата с "сухими контактами" ну или просто I2С экстендер с двунаправленными портами, бывают аж на 16 GPIO = это позволит сделать за дверями, окнами, и прочими рюшечками умного дома/участка.
    другая плата с магнитным акселерометром, хотя я предполагаю использовать его в одной плоскости - дистанционное управление шаровым краном/задвижкой или фрамугой. берем дешевейший I2C GMR типа TLV493, добавляем готовый Н мост типа vnh2sp30 для рулежки 12В мотором с редуктром, ну или так любимым в народе приводом стеклоочистителей. хотя тут можно и лайт версию делать - для управления исполнительным устройством в виде простейшей модельной сервы хватит просто pwm безо всяких GMR angle sensor :)