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

STM32. Контроллер теплицы

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

  1. Cofessor
    Регистрация:
    23.06.13
    Сообщения:
    8.907
    Благодарности:
    8.280

    Cofessor

    Виталий

    Cofessor

    Виталий

    Регистрация:
    23.06.13
    Сообщения:
    8.907
    Благодарности:
    8.280
    Адрес:
    Брянск
    Да просто мне непонятно, зачем нужны какие-то запреты?
    Если у вас работает программа "обогрев", то зачем в ней какие-то запреты на охлаждение?
    Само собой ясно, что в нагреве охлаждение не требуется, поэтому команд на включение какого-то механизма охлаждения в нём просто не должно быть.
    И наоборот, если температура высокая - зачем включать отопление? - Незачем, его просто не должно быть в логике. А зачем тогда запрещать включение отопления?

    У вас в логике зачем-то присутствуют запеты того, что и так ясно, что включаться не должно.
    Вообще интересно было бы посмотреть на то, как построен алгоритм регулирования в целом, очень часто логика бывает страшно избыточной, запутанной и не продуманной (это я уже не вашу конструкцию имею в виду, а просто констатирую факт того, что часто встречается).
     
    Последнее редактирование: 03.04.23
  2. promavto
    Регистрация:
    27.02.16
    Сообщения:
    1.957
    Благодарности:
    1.957

    promavto

    Разработка контроллеров

    promavto

    Разработка контроллеров

    Регистрация:
    27.02.16
    Сообщения:
    1.957
    Благодарности:
    1.957
    Адрес:
    г. Москва, Зеленоград.
    Конечно, можно просто настроить систему, к примеру, температуру отопления поддерживаем на уровне 24-25 градусов, а охлаждение начинать с 28-30 градусов. В этом случае система отработает корректно.
    Но есть такая функция в программах, называется - "защита от дурака". Не хочу никого обидеть, но часто, люди не изучив инструкцию тщательно, по незнанию или случайно могут выставить ошибочные параметры. Мы в своей системе постарались исключить установку ошибочных настроек. Много защит в программе "Конфигуратора ПК", которые не позволяют выставить управление на pin занятые в системе или уже назначенные на выполнение иных функций. Различных настроек в системе много, система очень гибкая. Поэтому важно предупредить и не позволить совершить ошибочные действия. Пользователи - люди с разной подготовкой, часто далекой от электроники. Да что там пользователи, я сам при тестировании частенько пытаюсь выставить не верные настройки. :hndshk:
     
  3. kivik71
    Регистрация:
    28.10.13
    Сообщения:
    3.445
    Благодарности:
    2.181

    kivik71

    Живу здесь

    kivik71

    Живу здесь

    Регистрация:
    28.10.13
    Сообщения:
    3.445
    Благодарности:
    2.181
    Адрес:
    Екатеринбург
    Можно с помощью кранов и циркуляционного насоса и нагревать и охлаждать теплицу. Контуры циркуляции могут быть проложены и в холодильнике и в нагревателе. Абсорбционный холодильник это одновременно и нагреватель и охладитель. Любой холодильник тоже по сути где то охлаждает, а где то нагревает.
    Нужны запреты и ничего само собой не ясно, многое зависит от того куда и зачем будут поставлены датчики температуры пользователем теплицы.
    Нужна такая функция, но она не должна быть жестко зашита в программном коде. Возможность отключить эту защиту в сервисном режиме должна быть. Если это есть в Вашем контроллере, то это хорошо, но я так думаю что много чего в программе уже нельзя изменить ...
     
  4. promavto
    Регистрация:
    27.02.16
    Сообщения:
    1.957
    Благодарности:
    1.957

    promavto

    Разработка контроллеров

    promavto

    Разработка контроллеров

    Регистрация:
    27.02.16
    Сообщения:
    1.957
    Благодарности:
    1.957
    Адрес:
    г. Москва, Зеленоград.
    Приветствую!

    В микроконтроллере SAM3X8E (DUE) есть около 73 pin, которые мы можем задействовать. Половина этого количества задействована для обслуживания дисплея, модулей WIFi, GSM и. т. д. Вторую половину пользователь может применить по своему усмотрению. Подключить различные датчики, исполнительные устройства. Если не применить блокировки назначения пинов, пользователь может случайно использовать пин, применяемый в системе. К примеру назначить pin№0 это приведет к блокировке USB и заблокирует конфигуратор ПК. Пользователь в этом случае просто не сможет подключится к контроллеру. Поэтому мы блокируем попытки использовать пины, применяемые в системе.
    Отключить эту защиту - заведомо превратить контроллер в "кирпич". Это я немного сгустил краски. Переустановка прошивки исправит эту ошибку. Но не все так просто. Перед установкой прошивки еще нужно будет выполнить некоторые действия. Короче нужен будет программист или мне придется подключатся дистанционно и исправлять ситуацию. Так что блокировки снимать нельзя.
    Защита устроена таким образом, что, с одной стороны, не позволяет использовать запретные области, а с другой, подсказывает какую ошибку допустил пользователь и как ее исправить.
    С защитой от "дурака" проблем нет. Она не ограничивает возможности пользователя.

    Дима написал программу очень талантливо. Это позволяет мне полностью контролировать ситуацию и при необходимости добавлять новые функции в программу. :hello:
     
  5. Cofessor
    Регистрация:
    23.06.13
    Сообщения:
    8.907
    Благодарности:
    8.280

    Cofessor

    Виталий

    Cofessor

    Виталий

    Регистрация:
    23.06.13
    Сообщения:
    8.907
    Благодарности:
    8.280
    Адрес:
    Брянск
    Ничего не понял. Что у вас за алгоритм такой? Вообще, по логике, работает что-то одно - либо нагрев, либо охлаждение. Если работает нагрев, в этом фрагменте программы команд на включения форточек просто не должно быть, какая защита от дурака?
    Форточка может открыться только если программа перейдёт в режим вентиляции, так? Можете логику целиком нарисовать?
     
  6. promavto
    Регистрация:
    27.02.16
    Сообщения:
    1.957
    Благодарности:
    1.957

    promavto

    Разработка контроллеров

    promavto

    Разработка контроллеров

    Регистрация:
    27.02.16
    Сообщения:
    1.957
    Благодарности:
    1.957
    Адрес:
    г. Москва, Зеленоград.
    Приветствую! :hello:
    Обычно "ардуинщики" пишут свои программы как якут песни поет - что вижу вокруг о том и пою.
    То есть программа "ардуинщика" состоит из одного большого или не очень скетча и возможно, пары тройки дополнительных программ.
    Программа нашей системы устроена по другому. Она больше похожа на некую операционную систему.
    Такая конфигурация позволяет обрабатывать запросы, обращения из различных источников и управлять системой. У меня есть намерение записать несколько уроков создания программ с применением некой операционной системы. Такое построение среды позволит начинающим (и не только) программистам создавать сложные программы по единому и не очень сложному алгоритму. Вот только свободного времени для реализации этой задумки по прежнему почти нет.
    В нашей программе много различных файлов, которые выполняют необходимые конкретные задачи.
    В числе прочих есть и LogicManageModule. cpp, который обеспечивает логику работы всей системы.
    Описывать всю логику работы системы долго и сложно. В отрыве от нашей системы вряд ли она кому то пригодится. :hndshk:
     
  7. Cofessor
    Регистрация:
    23.06.13
    Сообщения:
    8.907
    Благодарности:
    8.280

    Cofessor

    Виталий

    Cofessor

    Виталий

    Регистрация:
    23.06.13
    Сообщения:
    8.907
    Благодарности:
    8.280
    Адрес:
    Брянск
    Ну и прекрасно. Именно это и хотелось узнать - логику регулирования температуры. Зачем сами фрагменты программы для понимания?
     
  8. LemurLemur
    Регистрация:
    22.09.15
    Сообщения:
    322
    Благодарности:
    175

    LemurLemur

    Живу здесь

    LemurLemur

    Живу здесь

    Регистрация:
    22.09.15
    Сообщения:
    322
    Благодарности:
    175
    Адрес:
    Калужская область, жуковский район
    очень удобно разбираться в части кода, а не в мешанине из подпрограмм... лично мое мнение
     
  9. promavto
    Регистрация:
    27.02.16
    Сообщения:
    1.957
    Благодарности:
    1.957

    promavto

    Разработка контроллеров

    promavto

    Разработка контроллеров

    Регистрация:
    27.02.16
    Сообщения:
    1.957
    Благодарности:
    1.957
    Адрес:
    г. Москва, Зеленоград.
    Приветствую!
    Вопрос сложный. Если программа не очень большая, можно обойтись и без подпрограмм.
    Разбираться в такой программе не сложно.
    В нашей программе контроллера теплицы на данный момент 159 файлов (не считая библиотек).
    В некоторых программах по несколько десятков тысяч строк программного кода.
    Если все это записать в один скетч, количество строк будет - даже боюсь предположить сколько.
    Разобраться в этой мешанине будет невозможно.
    Применение файлов подпрограмм позволяет обрабатывать разные устройства, датчики или функции раздельно. Естественно, все это встроено в единую систему.
    Поиск нужного кода выполняется в искомом файле.
    Скажу прямо, работа в среде Arduino IDE с нашей программой - это еще тот геморрой. :aga:
    Поэтому я применяю при программировании Visual Studio 2019 с надстройкой для работы Ардуино.
    Называется она Visual Micro https://www.visualmicro.com/. Надстройка платная (есть и бесплатный период), но не такие большие уж деньги. Применяю ее с 2013 года и очень доволен. Рекомендую и Вам немного потратится, но в замен Вы получите почти идеальный инструмент не только для создания кода, но и анализа чужих творений.

    В приложенных файлах скриншоты директории с нашей программой. :hndshk:
     

    Вложения:

    • 2023-04-06_12-00-49.png
    • 2023-04-06_12-01-56.png
    • 2023-04-06_12-02-21.png
    • 2023-04-06_12-02-40.png
    Последнее редактирование: 06.04.23
  10. LemurLemur
    Регистрация:
    22.09.15
    Сообщения:
    322
    Благодарности:
    175

    LemurLemur

    Живу здесь

    LemurLemur

    Живу здесь

    Регистрация:
    22.09.15
    Сообщения:
    322
    Благодарности:
    175
    Адрес:
    Калужская область, жуковский район
    имелось ввиду функций, процедур... если они в теле основном, удобнее когда все вынесено в отдельные модули
    видать утро тяжелое, выразился не совсем верно)
     
  11. LemurLemur
    Регистрация:
    22.09.15
    Сообщения:
    322
    Благодарности:
    175

    LemurLemur

    Живу здесь

    LemurLemur

    Живу здесь

    Регистрация:
    22.09.15
    Сообщения:
    322
    Благодарности:
    175
    Адрес:
    Калужская область, жуковский район
    именно так, это и имел ввиду... сам люблю когда все по блокам разбито, тем более можно использовать не все сразу, а только нужные части...
     
  12. Ex3mer
    Регистрация:
    22.07.13
    Сообщения:
    108
    Благодарности:
    75

    Ex3mer

    Живу здесь

    Ex3mer

    Живу здесь

    Регистрация:
    22.07.13
    Сообщения:
    108
    Благодарности:
    75
    Адрес:
    Санкт-Петербург
    Мама, дорогая! Грамотный проект с таким изобилием файлов и объемов кода, невозможен без внятно формализованного алгоритма работы системы. Оставляя за скобками все, что касается интерфейсной части, можно увидеть описание функциональной части системы? Пусть не в IDEF0 или прочих подобных нотациях, но хоть в каком-нибудь более-менее инженерном виде.
     
  13. promavto
    Регистрация:
    27.02.16
    Сообщения:
    1.957
    Благодарности:
    1.957

    promavto

    Разработка контроллеров

    promavto

    Разработка контроллеров

    Регистрация:
    27.02.16
    Сообщения:
    1.957
    Благодарности:
    1.957
    Адрес:
    г. Москва, Зеленоград.
  14. promavto
    Регистрация:
    27.02.16
    Сообщения:
    1.957
    Благодарности:
    1.957

    promavto

    Разработка контроллеров

    promavto

    Разработка контроллеров

    Регистрация:
    27.02.16
    Сообщения:
    1.957
    Благодарности:
    1.957
    Адрес:
    г. Москва, Зеленоград.
    Добрый день всем! Весна идёт весне дорогу. Пора проводить ревизию тепличного хозяйства.
    Часто возникает вопрос как подключить исполнительные механизмы фрамуг.
    В файле показан один из вариантов подключения.
    В качестве исполнительных механизмов можно применить следующие актуаторы (не реклама).
    2024-03-10_08-10-25.png 2024-03-10_08-10-40.png
    Эти устройства достаточно мощные для управления 2-3 фрамугами одновременно.
    К тому же у них есть встроенные концевики.
    Совет: при открытии желательно выдвигать шток не более 2/3 от длины.
    https://aliexpress.ru/item/1005004621921525.html?sku_id=12000032831496664&spm=a2g2w.productlist.search_results.8.62896d72f1euvi
    Успехов! :hello:
     

    Вложения:

  15. LemurLemur
    Регистрация:
    22.09.15
    Сообщения:
    322
    Благодарности:
    175

    LemurLemur

    Живу здесь

    LemurLemur

    Живу здесь

    Регистрация:
    22.09.15
    Сообщения:
    322
    Благодарности:
    175
    Адрес:
    Калужская область, жуковский район
    дорого, лучше стеклоподъемники реечные