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

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

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

  1. promavto
    Регистрация:
    27.02.16
    Сообщения:
    1.957
    Благодарности:
    1.957

    promavto

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

    promavto

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

    Регистрация:
    27.02.16
    Сообщения:
    1.957
    Благодарности:
    1.957
    Адрес:
    г. Москва, Зеленоград.
    Добрый день всем!

    Ошибки системы контроллера теплицы "Universal controller_SAM3X8E_07". В контроллере была добавлена функция эмуляции OneWire-ведомых устройств. Имеется ввиду что многие устройства, датчики эмулируют работу датчика DS1820 или других. Это позволяет подключать новые устройства без изменений в основной программе. К примеру на один провод можно подключит десяток датчиков влажности грунта, которые "прикинулись" датчиками DS1820. В библиотеке OneWireHub сообщалось, что она может работать и с Arduino DUE.
    При тестировании выяснилось, что эта функция работает с большими сбоями. При этом на Atmega 328 (Nano) работает без проблем. Позже в библиотеке появилась следующая запись.
    причина сбоя платформ:
    текущая реализация подсчета тактов несовместима с переменной тактовой частотой
    Arduino Due (Платы Arduino SAMD (32-разрядная ARM Cortex-M3)

    Это означает что с DUE эта функция работать не будет.
    Методы решения проблемы - принимать и обрабатывать данные модулем на микроконтроллере Atmega 328. Затем обработанные данные передавать по одному из протоколов (I2C, RS485 и. т. д) в контроллер теплицы DUE (SAM3X8E).
    Программный модуль OneWireEmulationModule. cpp должен быть переработан для работы с эмулятором OneWire-ведомых устройств
     
  2. promavto
    Регистрация:
    27.02.16
    Сообщения:
    1.957
    Благодарности:
    1.957

    promavto

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

    promavto

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

    Регистрация:
    27.02.16
    Сообщения:
    1.957
    Благодарности:
    1.957
    Адрес:
    г. Москва, Зеленоград.
    Добрый день всем!

    Возвращаюсь к предыдущему сообщению (Ошибки системы контроллера теплицы "Universal controller_SAM3X8E_07")
    Уж очень не хотелось что то менять в программе контроллера теплицы и Конфигуратора ПК. Поэтому еще раз посмотрел на проблему с другого ракурса. Протестировал параллельную работу датчиков DS1820. Проблем, сбоев не замечено. Решил более тщательно подойти к формированию сигналов на шине 1Ware. Увеличил крутизну фронтов импульсов, немного изменил схему. В результате получил стабильные показания от четырех датчиков влажности грунта. Надеюсь проблема эмуляции OneWire-ведомых устройств решена. Немного позже выложу обновленную схему датчика влажности грунта.
     
  3. promavto
    Регистрация:
    27.02.16
    Сообщения:
    1.957
    Благодарности:
    1.957

    promavto

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

    promavto

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

    Регистрация:
    27.02.16
    Сообщения:
    1.957
    Благодарности:
    1.957
    Адрес:
    г. Москва, Зеленоград.
    ОБНОВЛЕНИЕ!
    Программа контроллера теплицы Main_controller_SAM3X8E_XX.
    1) В программе некорректно работали правила управления блоками реле через расширитель MCP23S17. Ошибка устранена.
    2) Функция запоминания настроек пользователя. В программе была реализована возможность настройки контроллера теплицы под индивидуальные задачи самими пользователями. Настройки пользователя сохраняются во внешнюю EEPROM.
    Дмитрием и мною был реализован тщательный контроль параметров настроек. При необходимости удаление всех настроек была написана программа ClearEEPROM_DUE.ino. При ее применении основная программа управления удалялась. Кроме этого применение программы очистки требует от пользователя знаний программирования контроллера. Это не всегда выполнимо.
    Дмитрием была добавлена встроенная программа очистки внешней EEPROM. Вызывалась эта программа отправкой в КОМ порт команды CTSET=0|MEMCLEAR. Но очень часто пользователь так мог "наконфигурировать", не смотря на все наши защиты, что контроллер глухо зависал. Поэтому команда очистки в КОМ порт не проходила.
    Я добавил возможность принудительной очистки внешней памяти не прибегая к перепрограммированию контроллера теплицы.
    Для этого достаточно на одном из входов контроллера (назначается Вами при программировании) замкнуть вход на общий провод, выполнить кратковременный сброс контроллера не отключая замыкание в течении 10-12 секунд. По истечении этого времени запустится программа очистки внешней памяти. В предыдущих версиях контроллера в качестве входа можно применить 51 порт (или любой цифровой). Я в новых версиях контроллера устанавливаю дополнительную кнопку принудительной очистки, подключенной к pin 72. Назначение порта сброса производится в файле Configuration_DUE.h, строка 216.

    Обновление программ можно скачать с GIT Архив программ

    Давно собирался сделать что то подобное, но после очередного превращения контроллера в "кирпич" пользователем, реализовал эту возможность. :)]:hello:
     
  4. promavto
    Регистрация:
    27.02.16
    Сообщения:
    1.957
    Благодарности:
    1.957

    promavto

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

    promavto

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

    Регистрация:
    27.02.16
    Сообщения:
    1.957
    Благодарности:
    1.957
    Адрес:
    г. Москва, Зеленоград.
    ОБНОВЛЕНИЕ!

    Обновил конфигуратор ПК "GreenHouseConfig.exe".

    Была небольшая неувязочка с номерами датчиков. В системе, на дисплее и. т. д индексы (номера датчиков) начинаются с "0".
    2021-11-13_20-44-05.jpg

    При этом в конфигураторе ПК нумерация датчиков начинается с "1".

    2021-11-13_20-29-23.png

    Это создает неудобства и вводит в заблуждение не только пользователя, но и мне приходится постоянно перепроверять, правильно ли я указал индекс датчика. Особенно при создании правил или иных настроек.

    Я немного изменил программу конфигуратора ПК. Теперь индексы отображаются так как они зарегистрированы в системе. То есть нумерация начинается с "0".

    2021-11-13_20-28-01.png

    Измененный конфигуратор выложил на GIT Новый конфигуратор.
    Файлы New_Debug.rar или new_publish.rar

    Успехов:hello:
     
  5. promavto
    Регистрация:
    27.02.16
    Сообщения:
    1.957
    Благодарности:
    1.957

    promavto

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

    promavto

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

    Регистрация:
    27.02.16
    Сообщения:
    1.957
    Благодарности:
    1.957
    Адрес:
    г. Москва, Зеленоград.
    ОБНОВЛЕНИЕ!

    Добавил на GIT прошивку Main_controller_SAM3X8E_07_21_11_10_pin51 с настройкой очистки внешней памяти с управлением через порт 51. Загрузить bin файл в контроллер теплицы можно с помощью программы bossa-x64-1.9.1.msi.
    Это что бы Вам не нужно было компилировать программу самостоятельно. :hndshk:

    Инструкция (Процедура загрузки ПО в контроллер. docx) как нужно прошивать также закачал на GIT. https://github.com/madeonline/GreenhouseProject_continuation
    Успехов! :hello:
     
  6. promavto
    Регистрация:
    27.02.16
    Сообщения:
    1.957
    Благодарности:
    1.957

    promavto

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

    promavto

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

    Регистрация:
    27.02.16
    Сообщения:
    1.957
    Благодарности:
    1.957
    Адрес:
    г. Москва, Зеленоград.
    Уточнение по функции очистки внешней памяти. Перед запуском очистки внешней памяти не забываем заблокировать сторожевой таймер. :pioner:
     
  7. promavto
    Регистрация:
    27.02.16
    Сообщения:
    1.957
    Благодарности:
    1.957

    promavto

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

    promavto

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

    Регистрация:
    27.02.16
    Сообщения:
    1.957
    Благодарности:
    1.957
    Адрес:
    г. Москва, Зеленоград.
    Добрый день всем!
    Обновление в оборудовании. Разработаны новые контроллеры для теплиц.

    Mini_controller_SAM3X8E_01 бюджетная версия. Отличие от основных контроллеров - применение дисплея 4 дюйма и уменьшено количество разъемов для подключения внешних модулей. Для небольшой теплицы много разъемов не требуется. В остальном полностью, включая программы, поддерживается линейка Universal controller_SAM3X8E_ХХ. Надеюсь этот вариант снизит себестоимость контроллера на 25-30% за счет применения менее дорогого дисплея и немного уменьшенного количества комплектующих.

    Mini_controller_SAM3X8E_01.jpg

    Universal controller_SAM3X8E_08 - дальнейшее развитие данной линейки контроллеров. Отличие от предыдущих вариантов это наличие встроенного модуля приема данных с контроллеров метеостанций.
    В остальном, полностью повторяет вариант Universal controller_SAM3X8E_07, как наиболее стабильный.

    Universal controller_SAM3X8E_08.jpg

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

    Успехов!
     
  8. promavto
    Регистрация:
    27.02.16
    Сообщения:
    1.957
    Благодарности:
    1.957

    promavto

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

    promavto

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

    Регистрация:
    27.02.16
    Сообщения:
    1.957
    Благодарности:
    1.957
    Адрес:
    г. Москва, Зеленоград.
    Друзья, товарищи, коллеги всех с наступающим Новым годом!

    Уходящий год был не простой и в нашем деле. Общение пользователей практически прекратилось. Но проект не умер. В планах еще доработка различных функций. Весной в планах обновление сайта. Затем обновление программы для смартфона. Разработана новая версия основного контроллера и параллельно бюджетный, но полностью совместимый контроллер. В Январе будут собраны первые экземпляры этих контроллеров. Планов громадье, надеюсь и у Вас не иссякнет интерес к этой теме.
    Всем больших урожаев, а главное - крепкого здоровья. С Новым годом!
     
  9. promavto
    Регистрация:
    27.02.16
    Сообщения:
    1.957
    Благодарности:
    1.957

    promavto

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

    promavto

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

    Регистрация:
    27.02.16
    Сообщения:
    1.957
    Благодарности:
    1.957
    Адрес:
    г. Москва, Зеленоград.
    Добрый день всем!
    Праздники закончились, пора приступать к работе. Весна скоро.
    У нас новое пополнение. Радиомодуль ультразвукового датчика уровня воды в баке.
    Небольшое изменение предыдущей версии. Ранее не очень удобно было настраивать уровни поверхности воды. Я добавил "копеечный" индикатор типа Oled SSD1306 64х32 для отображения расстояния до объекта. Стало намного удобнее. Если кого то интересует эта информация, выложу этот вариант модуля на Git.
    Успехов!

    2022-01-11_13-22-04.png
     

    Вложения:

  10. Elprog
    Регистрация:
    11.07.12
    Сообщения:
    5.375
    Благодарности:
    3.482

    Elprog

    Живу здесь

    Elprog

    Живу здесь

    Регистрация:
    11.07.12
    Сообщения:
    5.375
    Благодарности:
    3.482
    Адрес:
    Москва
    А не проще было поставить датчик давления на 10 кПа? у китайцев есть такие с интерфейсом 4-20 ма.
    Бросить его на дно бака и иметь уровень в аналоговом виде.
    Сколько проживет ультразвуковая схема в среде практически 100% влажности?
     
  11. promavto
    Регистрация:
    27.02.16
    Сообщения:
    1.957
    Благодарности:
    1.957

    promavto

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

    promavto

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

    Регистрация:
    27.02.16
    Сообщения:
    1.957
    Благодарности:
    1.957
    Адрес:
    г. Москва, Зеленоград.
    Добрый день!
    Ультразвуковой датчик устанавливается на высоте 50-60 см над уровнем поверхности заполненного бака. То есть излучатель с водой не соприкасается. Сами излучатели влагозащищенные. Такие стоят в парктрониках на автомобилях. У меня уже 12 лет такие стоят в парктронике на автомобиле, пока не один не вышел из строя. А среда на дорогах, особенно зимой очень агрессивная. Максимум что нужно, это протереть если сильно забрызгает грязью. Так что в надежность и точность 1 см измерений в диапазоне 0,5 - 4 метра обеспечивается. Измерять столб воды 1 - 2 метра в баке с помощью давления проблемно. для этого потребуется очень чувствительный прибор. К тому же сам датчик будет в воде, а значит есть вероятность загрязнения или протечки. Летом вода в баке при повышенной температуре зеленеет от микроводорослей. Весной приходится очищать стенки бака от зеленого налета. Одним из способов борьбы с зеленью в защите воды от солнечного света темным материалом.
    А влажность в теплице в среднем 40-80% (показания зависят от температуры окружающей среды утром, днем, ночью). Остальное оборудование у меня в теплицах работает в этой среде несколько лет без проблем.
    С уважением!
     
  12. Elprog
    Регистрация:
    11.07.12
    Сообщения:
    5.375
    Благодарности:
    3.482

    Elprog

    Живу здесь

    Elprog

    Живу здесь

    Регистрация:
    11.07.12
    Сообщения:
    5.375
    Благодарности:
    3.482
    Адрес:
    Москва
    Легко, есть опыт измерения как воды, так и топлива (соляра, масло).
    Высота столба 2 м - значит для измерения с шагом 1 см достаточно 200 точек на диапазон - 8 битный АЦП с этим легко справится. Обычно такие датчики давления имеют защищенное исполнение, т. е. предназначены для погружения на дно, поэтому протечка весьма маловероятна, загрязнение тоже лечится легко - достать и протереть тряпочкой. Стандартный интерфейс такого датчика 4-20 ма - значит между бочкой и измерительным модулем может быть десяток метров без проблем.
    Датчик может быть типа такого https://aliexpress.ru/item/1005003428110273.html
    Подумайте, кмк, давление мерять проще, чем ультразвук. ;)
     
  13. promavto
    Регистрация:
    27.02.16
    Сообщения:
    1.957
    Благодарности:
    1.957

    promavto

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

    promavto

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

    Регистрация:
    27.02.16
    Сообщения:
    1.957
    Благодарности:
    1.957
    Адрес:
    г. Москва, Зеленоград.
    Не спорю, возможны различные варианты измерения уровня воды.
    Но стоимость указанного Вами датчика с доставкой составляет чуть меньше 3500 руб.
    Для домашних дел это немного многовато.
    Наш ультразвуковой радиомодуль может работать как в системе, так и автономно управлять клапаном или насосом (наполнения), контролировать аварийный уровень наполнения, отключать клапан при возникновении неисправности в подаче воды (при отсутствии наполнения в течении заданного времени). Стоимость такого модуля получается 3500 руб. Если подключать к нашему радиомодулю предложенный Вами датчик, цена модуля увеличится почти в два раза.
    С уважением!
    Александр.
     
  14. Elprog
    Регистрация:
    11.07.12
    Сообщения:
    5.375
    Благодарности:
    3.482

    Elprog

    Живу здесь

    Elprog

    Живу здесь

    Регистрация:
    11.07.12
    Сообщения:
    5.375
    Благодарности:
    3.482
    Адрес:
    Москва
    Для уровней 1-2 метра стоимость датчика 2 тыс. Интерфейс 4-20 ма позволяет обойтись проводом, без радиоканала.
    Но, разумеется, Ваше решение тоже имеет место быть. ;)
     
  15. promavto
    Регистрация:
    27.02.16
    Сообщения:
    1.957
    Благодарности:
    1.957

    promavto

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

    promavto

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

    Регистрация:
    27.02.16
    Сообщения:
    1.957
    Благодарности:
    1.957
    Адрес:
    г. Москва, Зеленоград.
    ОБНОВЛЕНИЕ!
    На GIT (https://github.com/madeonline/GreenhouseProject_continuation) выложил новую версию модулей удаленного управления двумя фрамугами по радио (LoRa 868).
    Представлены платы в двух вариантах:
    1) Установлены 2 реле коммутации переменного напряжения 220 вольт и 2 реле коммутации переменного/постоянного напряжения.
    2) Установлены 4 реле для коммутации переменного/постоянного напряжения.
    Так же выложены две версии настроенного программного обеспечения.
    Есть ограничения - программа позволяет дистанционно управлять максимум 4 фрамугами.
    Нужно учитывать при конфигурировании что номера фрамуг в системе должны быть от 0 до 3.
    То есть возможны фрамуги с номерами в системе 0,1,2,3.
    Протестировано, проблем не замечено. Успехов и будьте здоровы! :hello: