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

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

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

Статус темы:
Закрыта.
  1. promavto
    Регистрация:
    27.02.16
    Сообщения:
    1.960
    Благодарности:
    1.958

    promavto

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

    promavto

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

    Регистрация:
    27.02.16
    Сообщения:
    1.960
    Благодарности:
    1.958
    Адрес:
    г. Москва, Зеленоград.
    Уже приступил к проектированию схемы (выбрасываю все лишнее). Часы и память оставляю на "0" I2C, а на первом I2C установлю BH1750 и компас (HMC5883L GY-273). Это связано с тем что придется тянуть провода по 1-3 метра к датчикам. Планирую поставить буфер P82B715TD (он у нас стоит в контроллере) на шину I2C. Я таким образом удлинил провод для BH1750 до 6 метров. Датчики DS1820 лучше устанавливать на раздельные pin. Это не заблокирует остальные датчики в случае выхода одного из строя. Таким образом надежность повышается, а программа упрощается. Регулирование по температуре самый ответственный момент. У нас сейчас освободилось много выводов. Подумаю стоит ли применять расширители МСР для управления моторами.

    Мега2560 нет! Выиграш в деньгах небольшой, применим DUE. Пока отрабатывай на универсальном контроллере, который у тебя есть. По готовности отправлю тебе специализированный. Возможно в Китае заказывать не буду. Закажу у нас парочку.

    SIM800C будем устанавливать или попробуем А6 (у меня их 46 штук:()? Вообще то возможность установки GPRS, думаю, нужно оставить.
     
  2. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Там ничего не блокируется, датчики смогут жить на одном пине. Но ок, сделаю возможность ставить их на разные пины.
    Сознательно исключаем Mega2560 из списка доступных МК тогда.

    Ок, хер с ним.
    Не, не стоит, имхо. Чем проще разводка (выводов хватит) - тем лучше. На всякий - просто оставь всю схему дисплея (тач, дисплей, пищалка) нетронутой - и посмотри, сколько свободных выводов. По идее, должно хватить. Вводные простые: надо SPI + чипселект для радио, оба I2C, Serial + ещё парочку других UART на будущее, 4 вывода на концевики, 4 - на моторы, 5 - на датчики температуры. Да что я тебе рассказываю - сам знаешь ;)

    Вообще не будем, не хочу. Ты втягиваешь меня в опасную авантюру опять года на два, ну нахер. Саша - это просто контроллер солнечной установки, ты опять хочешь его на Луну отправить. Считай, что я не слышал пока ни про ESP, ни про SIM800 - просто радиоканал LoRa или RS-485 для связи с контроллером теплицы, в остальном - модуль самодостаточен.
     
  3. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Не, он у меня под контроллер теплицы, и я, если помнишь - постоянно чего-то там допиливаю. Тестировать модуль солнечной установки будешь ты, пока не утрясутся детали. Уже потом - отправишь мне, сейчас это вообще не нужно.
     
  4. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Кстати сказать - раз будем делать под Due - выпиливаю код ватчдога, не компилируется с ним под Due. Просто пока закомментирую.
     
  5. promavto
    Регистрация:
    27.02.16
    Сообщения:
    1.960
    Благодарности:
    1.958

    promavto

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

    promavto

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

    Регистрация:
    27.02.16
    Сообщения:
    1.960
    Благодарности:
    1.958
    Адрес:
    г. Москва, Зеленоград.
    Ок! Понял! SIM800C убираю. Схему сторожевого таймера оставлю с возможностью блокировки перемычкой.
     
  6. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Не, ты можешь оставить, если выводов хватает. Просто это дело ОООЧЕНЬ далекого будущего, не всё сразу.

    Код сторожевого таймера - возьму из контроллера теплицы.
     
  7. promavto
    Регистрация:
    27.02.16
    Сообщения:
    1.960
    Благодарности:
    1.958

    promavto

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

    promavto

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

    Регистрация:
    27.02.16
    Сообщения:
    1.960
    Благодарности:
    1.958
    Адрес:
    г. Москва, Зеленоград.
    Оставляю.
     
  8. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    @promavto - Саш, обновил прошивки, перекачивай. Я на сегодня - всё, щас распишу тебе, что надо делать с тестированием. Итак: прошивка UniversalSunControllerModule, компилируется под Due, внешний ватчдог, все дела.

    Добавлена поддержка пяти датчиков DS18B20, могут сидеть вперемешку на любых пинах. Добавлена поддержка датчика освещённости BH1750, с возможностью указания шины I2C и адреса на этой шине. Шины I2C инициализируются, в зависимости от того, какие на них есть датчики и прочее - сделал так, что инициализируются только те I2C, на которых что-то сидит (пока сделано для EEPROM и BH1750).

    Тебе надо пойти в CONFIG. h прошивки, там посмотреть/проверить все настройки, привести их в соответствие с реалиями, подключить датчики, закачать прошивку. В дебаг-режиме будет писаться в порт, что делается - показания с датчиков и т. п.

    Если всё будет ОК - выложишь мне актуальные настройки CONFIG. h, чтобы они были у меня такими же, как у тебя (по пинам и прочему).

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

    Жду к завтрему от тебя отчёта по тестированию. И со временем мы этот проект сделаем настраиваемым по самые не балуйся ;)
     
  9. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    @promavto - для ясности, что реализовано: опрос датчиков DS18B20 и BH1750 через интервал (пока жёстко указанный в настройках, потом, при необходимости, допишем). Поддержка двух команд на привязку к контроллеру теплицы и к каналу nRF: SET=ID|ид_контроллера_теплицы и SET=RF|CHANNEL|номер_канала. Реализована отправка всего этого добра через промежутки времени в радиоэфир (пока промежуток жёсткий, потом, при необходимости, сделаем настраиваемым). Реализована прослушка эфира, заглушка на будущее для синхронизации с контроллером теплицы. Реализована работа с RS-485, для подключения на линию контроллера теплицы как слейв.

    В принципе, можно ещё быстренько припилить DS3231, что скажешь?
     
  10. promavto
    Регистрация:
    27.02.16
    Сообщения:
    1.960
    Благодарности:
    1.958

    promavto

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

    promavto

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

    Регистрация:
    27.02.16
    Сообщения:
    1.960
    Благодарности:
    1.958
    Адрес:
    г. Москва, Зеленоград.
    Что скажу? Я взял универсальный модуль последнего варианта. Оставил там почти все модули связи с внешним миром. Убрал nRF24L01, управление фрамугами и часть MCP23S17. Возможно оставлю одну или две этих микросхемы. Нужно посчитать количество высвобождаемых пинов и потом убрать остальные. Дисплей оставил. Думаю, в будущем, не стоит подключаться к контроллеру теплицы. Получается, возможно придется сделать законченное, автономное устройство. Встрою некоторое количество реле на освободившееся места. Программу пока можно писать по минимуму функционала. Как будет дальше посмотрим. Лучше оставлю всего с запасом, что бы не переделывать плату. Что нужно, допаяю.
     
  11. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Воот, и я тоже считаю, что устройство должно быть автономным по-максимуму. При этом связь с контроллером теплицы - должна быть настраиваемой в прошивке, типа: отсылать или нет данные с датчиков в эфир, и отвечать ли по RS-485 на запросы показаний. Сейчас это допилю, внедрю туда DS3231, и перезакачаю.

    Жди.
     
  12. promavto
    Регистрация:
    27.02.16
    Сообщения:
    1.960
    Благодарности:
    1.958

    promavto

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

    promavto

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

    Регистрация:
    27.02.16
    Сообщения:
    1.960
    Благодарности:
    1.958
    Адрес:
    г. Москва, Зеленоград.
    А зачем связь с контроллером теплицы? Если устройство полностью автономное. Я думал, ты возьмешь программу теплицы, удалишь не нужный функционал, что то подкорректируешь и все. У тебя же есть все программы. Зачем писать новые?
     
  13. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Затем, чтобы была интеграция. Ты же мне всю плешь проел - сделай в контроллере теплицы экранчик для солнечной установки. Вот по этому пути и пойдём: на первое время TFT-дисплея на солнечной установке - НЕ БУДЕТ, от слова "совсем". Будет интеграция с контроллером теплицы, чтобы с него можно было просматривать данные, и настраивать модуль солнечной установки. Вся логика работы - в самом модуле солнечной установки, понимаешь?

    Далее, когда понадобится сделать отдельный автономный продукт - дописываем интерфейс для TFT-экрана на самом модуле солнечной установки, и... ВСЁ! Закомментировал настройку ENABLE_GREENHOUSE_LINK - и всё, модуль солнечной установки никуда данные не пихает. А если оставить раскомментированной, то получим возможность управления и настройки - с ДВУХ мест - с экрана самого модуля, и с экрана контроллера теплицы. Плюс - люди будут знать, что существует возможность такой интеграции, и можно разжиться модулем солнечной установки БЕЗ ЭКРАНА на нём, сэкономив несколько тысяч.

    Поди плохо, что ли?

    З. Ы. обновил, сделал настраиваемой связь с контроллером теплицы (настройка ENABLE_GREENHOUSE_LINK), добавил часы реального времени DS3231. НАДО ТЕСТИРОВАТЬ!

    З. З. Ы. Новые - никто не пишет, бОльшая часть кода - берётся с контроллера теплицы, поэтому всё так быстро ;)
     
  14. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    @promavto, да, Саш, такой вопрос - если делаем на основе платы контроллера теплицы, то в принципе, я могу на ней и проверять. Если принимается и особо пины там меняться не будут - ок, приведу настройки в соответствие ;) Ну и постепенно перетащим нужные части из прошивки теплицы. Кмк, так будет проще.

    З. Ы. Я начал актуализировать настройки, в общем. Заодно перетащу настройки TFT, на будущее. Сделаю тестовый стартовый экран. Так что жди ;)
     
  15. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    @promavto - Саша, у меня для тебя хорошие новости: я припилил TFT-экран к прошивке модуля управления солнечной установкой, эту прошивку теперь можно закачивать на текущую плату контроллера теплицы.

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

    Заодно оставил показ атмосферного давления ;) Много чего выпилил, естественно, но это не беда - надо будет, вернём, сейчас не до этого (тот же экран инициализации EEPROM - его пришлось выпиливать, ибо - не всё так просто при портировании на новый проект, сам понимаешь ;)).

    Самое интересное - TFT-экран можно выключить в настройках, и получим - правильно, плату с управлением с контроллера теплицы (в будущем).

    Короче: перекачивай и тестируй, я сегодня ооочень устал уже - считаю, что проделан большой объём работы по новому проекту.

    Все настройки - в CONFIG. h, компилируется только под Due, ибо остального - нам не надо ;)

    З. Ы. Потом потихоньку, как будет ясность с интерфейсом (что где должно быть, чтобы не было разброда) - перетащим из контроллера теплицы всякие экраны настроек, которые общие (типа настройки времени). Но пока - это вообще не к спеху ;)
     
Статус темы:
Закрыта.