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

Arduino Mega. Контроллер теплицы. Хроники - 4.0

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

Статус темы:
Закрыта.
  1. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.891

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.891
    Адрес:
    80 км от Краснодара
    Так сам модуль и отключит моторы по концевикам, в чём проблема? Сам модуль всё будет делать, понимаешь? Это не тупая железка, а модуль контроля солнечной установки, который обязан уметь работать автономно. Поэтому там бы и часы реального времени неплохо на борту иметь ;)

    Главный контроллер только получает с него данные и отправляет ему изменившиеся настройки, всё.
     
  2. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.891

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.891
    Адрес:
    80 км от Краснодара
    Саш, не путай, это не тот случай, аналогия неуместна ;)
     
  3. promavto
    Регистрация:
    27.02.16
    Сообщения:
    1.963
    Благодарности:
    1.959

    promavto

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

    promavto

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

    Регистрация:
    27.02.16
    Сообщения:
    1.963
    Благодарности:
    1.959
    Адрес:
    г. Москва, Зеленоград.
    Хотелось бы синхронизировать наше видение.
    Поэтому озвучу основные требования к установке, будем думать как их реализовать.

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

    Следующая функция - повышение эффективности работы установки. Это достигается ориентацией плоскости солнечной установки под прямым углом к солнечным лучам. Кроме этого эта ориентация позволит продлить солнечный день на 4 - 5 часов. Это существенная прибавка в эффективности.

    Ну и последнее. Желательно знать, а вообще насколько экономически выгодно применение таких установок. Для этого идеально было бы иметь графики температуры, времени работы циркуляционного насоса, дистанционный контроль и. т. д.

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

    Размещение контроллера. В связи с тем, что часть датчиков подключается по протоколу I2C, контроллер нужно размещать непосредственно на установке. Это совершенно не приемливо из за погодных условий. Поэтому решено установить модуль датчиков непосредственно на установке, а сам контроллер разместить в более защищенном и удобном месте. Для технических работ на установке имеет смысл применить выносной 7 кнопочный пульт дистанционного управления.

    Почему для управления решено задействовать контроллер теплицы? Функционал контроллера теплицы на 90% совпадает с требованиями контроллера солнечной установки. Поэтому резонно было бы добавить эти функции в контроллер теплицы (коммерческую часть в расчет не берем). А буде ли это отдельный контроллер (в упрощенном варианте) или комплексный - время покажет.

    Такое мое видение построения контроллера солнечной установки. Давай синхронизировать:hndshk:
     
  4. promavto
    Регистрация:
    27.02.16
    Сообщения:
    1.963
    Благодарности:
    1.959

    promavto

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

    promavto

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

    Регистрация:
    27.02.16
    Сообщения:
    1.963
    Благодарности:
    1.959
    Адрес:
    г. Москва, Зеленоград.
    Я несколько раз приступал к проектированию "цельного" модуля. Даже изготовил прототип, который проработал один сезон. Но пришел к выводу, что расширение функций модуля датчиков потянет за собой все остальное. Установка часов, увеличение программы регулирования, потребует более мощного процессора. В этом случае следует, что можно добавить WiFi и другие узлы (тут уже возникает на горизонте и дисплей). В конце концов все это превращается в полноценный модуль (установленный на ветру и дожде). Поэтому я твердо решил разделить модуль датчиков и мощный центральный контроллер с органами управления. :(
     
  5. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.891

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.891
    Адрес:
    80 км от Краснодара
    Саш, нахрена тогда весь огород с новым модулем? Не понимаю.

    Короче, делаю так: отдельный контроллер солнечной установки, Atmega328 там - за глаза, не хватит - будем думать и менять на более жирный МК. Этот контроллер должен уметь работать автономно, без какого-либо внешнего контроллера. На этом же контроллере, на его коробочке - кнопки управления движением осей (ибо нехрен плодить сущности).

    Контроллер умеет передавать информацию в эфир со своих датчиков, а также принимать информацию о настройках, например, синхронизация времени и пр.

    Контроллер теплицы в данном случае выступает как большой дисплей и редактор настроек солнечной установки.

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

    Ещё раз повторюсь: либо делаем так, как описано в этом посте, либо - никак.
     
  6. promavto
    Регистрация:
    27.02.16
    Сообщения:
    1.963
    Благодарности:
    1.959

    promavto

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

    promavto

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

    Регистрация:
    27.02.16
    Сообщения:
    1.963
    Благодарности:
    1.959
    Адрес:
    г. Москва, Зеленоград.
    Ок!
    В таком случае может имеет смысл установить в нем WiFi и подключить к локальной сети?
    Установим микроконтроллер АРМ (как вариант DUE или попроще STM32). Не хочу в будущем иметь проблемы с каким либо ограничением аппаратных ресурсов.
     
  7. promavto
    Регистрация:
    27.02.16
    Сообщения:
    1.963
    Благодарности:
    1.959

    promavto

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

    promavto

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

    Регистрация:
    27.02.16
    Сообщения:
    1.963
    Благодарности:
    1.959
    Адрес:
    г. Москва, Зеленоград.
    Блин! Но это опять тянет на полноценный контроллер.
    Есть несколько вариантов:
    а) разработать автономную систему не связанную с контроллером теплицы (с учетом наработок по теплице).
    б) твои предложения, не знаю в подробности что это.
    в) прекратить работы до определения концепции прибора.

    Что решаем?
     
  8. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.891

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.891
    Адрес:
    80 км от Краснодара
    Погоди пока с Wi-Fi. Никто не мешает в будущем взять ту же Мегу или Due, и прикрутить к ней Wi-Fi. Ты должен понять главный пойнт того, что я делаю: уже сейчас контроллер установки можно простейшим образом настраивать через UART, а именно - указывать ему привязку к контроллеру теплицы. Список команд - можно будет расширить многократно, при желании. Это позволит в дальнейшем, написав свою прошивку под ESP - просто с ESP в порт пихать команды в установленном формате, типа SET=ID|25 - и всё. Этот механизм показал себя очень удобным, про конфигуратор под контроллер установки, надеюсь, не надо упоминать - что можно будет и его сделать, если надо будет?

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

    По факту получаем что: отдельный контроллер солнечной установки, со своими часами реального времени, кнопками управления и, сразу на будущее - разъёмом для подключения своего дисплея. Этот контроллер умеет работать автономно, на случай, если контроллер теплицы - выключен, например. Синхронизация настроек и времени - автоматическая, от контроллера теплицы к контроллеру установки. Управление с контроллера теплицы - позже будем решать. Управление прямо с контроллера установки - внешние кнопки. Надо будет свой дисплей на контроллер установки - да пожалуйста.

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

    Я сейчас делаю что? Минимальную обвязку, можно сказать, тестовую. На данном этапе ты должен убедиться, что модуль установки отправляет данные на контроллер теплицы, а тот - их успешно принимает. Далее - я припиливаю 5 датчиков DS18B20, и дописываю в пакет отсыл показаний уже с них. Далее - магнитометры, часы реального времени, и прочая чепуха. Как все данные будут ходить от модуля на контроллер теплицы - начнём следующий этап, а именно - органы и логику управления на модуле, и интерфейс на экране - на контроллере теплицы.

    Пока, если не заморачиваться с дисплеем на модуле - считаю, что должно вместиться в 328-ю, и к ней можно даже ESP потом припилить на UART, сделав ESP ведущим в плане общения, и всё ;)
     
    Последнее редактирование: 30.04.19
  9. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.891

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.891
    Адрес:
    80 км от Краснодара
    Считаю, что контроллер солнечной установки должен быть автономен. Но - уметь связываться с контроллером теплицы. Именно поэтому и начал разработку в подобном ключе. Который позволит в дальнейшем потихоньку наращивать функционал контроллера установки, например - сейчас в дисплей на нём упираться не стоит, достаточно связи с контроллером теплицы, раз ты там захотел иметь возможность просматривать состояние и менять настройки. При этом ВСЯ логика работы - в прошивке контроллера установки - движение моторов и пр. Потому что в противном случае - он не нужен, от слова "совсем" - для выдачи дискретных управляющих сигналов есть кучу способов, не требующих подтягивания за собой никакого МК.
     
  10. promavto
    Регистрация:
    27.02.16
    Сообщения:
    1.963
    Благодарности:
    1.959

    promavto

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

    promavto

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

    Регистрация:
    27.02.16
    Сообщения:
    1.963
    Благодарности:
    1.959
    Адрес:
    г. Москва, Зеленоград.
    В таком случае все в наших руках. Пока отлаживаем на контроллере теплицы.
    В это время я разрабатываю автономный контроллер, упрощенную версию универсального контроллера. Выбрасываю все лишнее, оставляю некоторое количество входов / выходов, оставляю связь с внешним миром. Добавляю реле прямо на плате для управления насосами и моторами. Но опять же модуль датчиков должен быть выносным?
     
  11. promavto
    Регистрация:
    27.02.16
    Сообщения:
    1.963
    Благодарности:
    1.959

    promavto

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

    promavto

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

    Регистрация:
    27.02.16
    Сообщения:
    1.963
    Благодарности:
    1.959
    Адрес:
    г. Москва, Зеленоград.
    Схему предоставлю через пару дней. Не стоит завязываться на контроллере теплицы, там уже и так много наворочено. К тому же будут, какие либо ограничения в текущей конфигурации.
     
  12. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.891

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.891
    Адрес:
    80 км от Краснодара
    В целом всё правильно, но: датчики будут на самом контроллере солнечной установки, никакого дополнительного модуля не надо. Это - автономная система с возможностью подключения к контроллеру теплицы, вот в чём смысл, и это ты должен осознать. Грубо говоря - ты правильно заметил, что это - упрощённая версия универсального контроллера, где подключена EEPROM, часы реального времени, оставлен слот для ESP, подключение LoRa и RS-485 (его можно вынести на отдельный UART), разъём подключения дисплея, и выходы - 4 штуки - на концевики, 4 штуки - на моторы, 4 штуки - на кнопки, для датчиков DS - одна линия. Концевики и кнопки - желательно напрямую, моторы - можно через расширитель портов, остальное - у нас на I2C и так висит.

    По факту - получим удобную систему, кмк. Единственный недостаток - если делать так, то придётся мне перепиливать архитектуру, ибо сейчас - всё свалено в кучу прямо в *.ino-файле. Пока этим и займусь, чтобы всё было красиво.
     
  13. kivik71
    Регистрация:
    28.10.13
    Сообщения:
    3.860
    Благодарности:
    2.275

    kivik71

    Живу здесь

    kivik71

    Живу здесь

    Регистрация:
    28.10.13
    Сообщения:
    3.860
    Благодарности:
    2.275
    Адрес:
    Екатеринбург
    Связываться в режиме передачи данных в контроллер теплицы или с возможностью получать от контроллера теплицы команды на изменение алгоритма работы контроллера солнечной установки? Типа так он прочитал утром перед началом работы план, что и когда ему делать. Он начинает это делать по плану, но если этот план приближает к аварийной ситуации, он откладывает эту бумажку и говорит я все таки здесь главный управлятель установки и тд и берет все в свои руки. Научный подход к теплице
     
  14. promavto
    Регистрация:
    27.02.16
    Сообщения:
    1.963
    Благодарности:
    1.959

    promavto

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

    promavto

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

    Регистрация:
    27.02.16
    Сообщения:
    1.963
    Благодарности:
    1.959
    Адрес:
    г. Москва, Зеленоград.
    Ок! тогда еще больше урезаю. Посмотри не можем ли перейти на STM32 (у тебя есть отладочные платы). Дисплей там не нужен, остальная периферия в STM32 такая же как в DUE. или не стоит мудрить? Не хочу связываться с AVR, поэтому или DUE (нормально) или STM32.
    Посмотрю во что это можно запихнуть.
     
  15. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.891

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.891
    Адрес:
    80 км от Краснодара
    Саш, тебе нужен быстрый старт? Тогда - Due. Тем более, что уже много чего отлажено. Я обновил прошивки, перезакачай ;) Там уже в папке UniversalSunControllerModule - всё разнесено по вкладкам, и RS-485 посажен на Serial1, всё настраивается в CONFIG. h.

    У меня тут есть Uno с подключенным nRF, проверяю - всё инитится, всё норм. Фейковые данные генерятся, и отправляются в эфир по nRF. Работать стало удобнее, т. к. функционал - разнесён по классам. Поддержка команд из Serial - уже есть в виде парочки ;) Поддержка внешней EEPROM - есть в настройках ;) Компилил пока под Mega2560 и под Uno - всё норм.

    Сейчас, пмсм, можно припиливать опрос датчиков DS18B20, в виде пяти штук на одной линии. Код возьму с контроллера теплицы, с сохранением индексов. Так что - готовь стенд таки, для проверки всего добра ;)

    После того, как сделаю опрос DS18B20 и протестируем это дело - припилю BH1750, и его будем тестировать.

    Да, сделай себе пометку: память, часы, BH1750 - пусть всё будет на первом I2C. Ну часы ещё можно на втором I2C оставить, как было в контроллере теплицы. Но лучше - всё на нулевом, потому что если не нужен дисплей и вместимся в Mega2560 - то будет чудесно ;) Мега многое может ;)

    Короче, как придёшь домой - перекачивай прошивки и тестируй. Возможно, к вечеру будет готов опрос DS18B20.

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

    По поводу STM32 - оно хорошо, даже отлично, но быстро с ним - мы не взлетим, т. к. ещё нет под него удобных наработок. Ты опять выбрал сложный в плане взаимодействия проект, и хочешь его сразу под STM32 :)
     
Статус темы:
Закрыта.