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
    Адрес:
    г. Москва, Зеленоград.
    Применение микроконтроллеров STM32 в контроллере теплицы.
    Получил из поднебесной отладочную плату с микроконтроллером STM32F103ZET6.
    Слов нет, данные микроконтроллера хороши. На этом его положительные характеристики закончились.
    Установил загрузчик Ардуино для STM. Определяется устройство очень нестабильно.
    USB устройство на ПК обозначено как DFU. При успешной регистрации (50% попыток) может определиться как Serial port. Для загрузки программы необходимо переключить две перемычки в режим "программирования" (boot1, boot2). Загрузка не всегда успешная. Для того чтобы увидел Serial нужно вытащить и снова вставить USB кабель. Иначе микроконтроллер не сформирует порт Serial.
    Светодиодом мигает нормально. Второй Serial1 (Prolific PL2303) определяется через раз.
    С драйвером под Windows10 работает ужасно. Через раз приходится обновлять драйвер.
    В USB порт выводит информацию нормально, даже шустро, но стоит нажать кнопку сброса, и все - нужно переустанавливать программу на микроконтроллер. Попытки вывести информацию в Serial1 (2,3) закончились неудачей.
    При этом определил куда подключен второй COM порт, но это не помогло.
    Решил попробовать включить часы. Секунды считает нормально. Получить дату, время не получилось.
    В примере часов компилятор показывает много ошибок, при этом в коде библиотек ошибок не вижу.
    Почему не видит некоторые переменные х. з Разбираться не стал.
    Если в библиотеке основной пример с ошибками, это настораживает. Более того - нет простого примера типа - вывести дату, время в Ком порт. Нужно выискивать эти команды из других примеров.

    Короче говоря, вариант чрезвычайно "сырой" и к применению пока невозможен без больших усилий.

    Возвращаюсь к DUE (SAM3X8E). Там есть пара проблем (перезагрузка, работа с таймером), которые надеюсь можно решить гораздо быстрее. Кроме этого в нем есть встроенный таймер (полноценные часы). Можно попробовать применить их. Пару лет назад в одном из проектов применял встроенный таймер часов. Команды совместимы со стандартной библиотекой.
    Нужно только подключить резервный источник питания CR2032 к выводу микроконтроллера. Может и проблема со сбросом будет решена.
     
    Последнее редактирование: 25.05.18
  2. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

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

    Насчёт STM32 - я пока не пробовал, жду, как крайние изменения устаканятся + как решим проблемы с DUE. А там, потихоньку - начну пробовать, не думаю, что всё так плохо будет, как ты описал ;) Будем посмотреть, в общем.
     
  3. promavto
    Регистрация:
    27.02.16
    Сообщения:
    1.960
    Благодарности:
    1.958

    promavto

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

    promavto

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

    Регистрация:
    27.02.16
    Сообщения:
    1.960
    Благодарности:
    1.958
    Адрес:
    г. Москва, Зеленоград.
    Да, с STM32 еще нужно пообщаться, ознакомиться. Я тут пробовал отправить информацию на Serial1 - ничего не получилось. А сейчас думаю - нужно было сначала настроить шину отдельными командами и только потом использовать. Вывод такой, что просто как в Ардуино программировать не получиться. Похоже на принцип программирования -"полуАрдуиноIDE". Гадай потом что уже настроено, а что нужно ручками достраивать и почему не работает.
    Я собрал кабель для программатора ST-Link2. И для тебя также комплект. А то проводочками не очень удобно. Отправлю при оказии. Кстати перемычки boot1 и boot2 при прошивке программатором должны быть установлены на +3,3В, а при работе на "землю". Светодиод подключен к выводу PE2 поэтому применяется загрузчик generic_boot20_pe2.bin, а выбор платы в IDE Arduino - generic_stm32f103z.
     
  4. promavto
    Регистрация:
    27.02.16
    Сообщения:
    1.960
    Благодарности:
    1.958

    promavto

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

    promavto

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

    Регистрация:
    27.02.16
    Сообщения:
    1.960
    Благодарности:
    1.958
    Адрес:
    г. Москва, Зеленоград.
    Serial1 заработал без дополнительных настроек. :)
     
  5. promavto
    Регистрация:
    27.02.16
    Сообщения:
    1.960
    Благодарности:
    1.958

    promavto

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

    promavto

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

    Регистрация:
    27.02.16
    Сообщения:
    1.960
    Благодарности:
    1.958
    Адрес:
    г. Москва, Зеленоград.
    Запустил встроенные часы на DUE, работают нормально. Плюс в том, что я на плате предусмотрел подключение внутреннего источника питания CR2032. Достаточно было перепаять специальную перемычку. Небольшой минус - синхронизация часов от внешнего кварца на 32768гц. Точность хода зависит от качества кварца. Но уход на пару минут за месяц не существенно, и всегда можно синхронизировать время по интернету (если уж кто то слишком щепетильный).

    Есть вторая проблема - вместо стандартного сброса пришлось применить другой, специальный (установить небольшую перемычку).
    Как пишут в интернете:
    / К сожалению, если применить сброс на плате Arduino Due, то она,
    / по всей видимости, не сохраняет состояние RTC.
    / Если использовать
    / контакт NRSTB, то Due делает сброс. Причем сброс выполняется на
    / всем чипе и на всех бэкап-областях, включая RTC, RTT и SC.
    / Впрочем, если вместо NRSTB использовать NRST, то эти области
    / сохранят свои прежние значения».

    Я применил pin NRST. Микроконтроллер сбрасывается, часы продолжают работать без перерыва.
    Библиотека аналогичная как на DS3231.
    Тестовый файл RTC_DUE_IN
     

    Вложения:

  6. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Кто у нас из Екатеринбурга? Срочно, нужен человек за вознаграждение, в понедельник на Сортировочную во второй половине дня - проверить факт отправки через транспортную компанию.
     
  7. necrjd
    Регистрация:
    05.11.14
    Сообщения:
    146
    Благодарности:
    98

    necrjd

    Живу здесь

    necrjd

    Живу здесь

    Регистрация:
    05.11.14
    Сообщения:
    146
    Благодарности:
    98
    @DIYMan, я из Екатеринбурга
     
  8. Old-Admiral
    Регистрация:
    30.03.16
    Сообщения:
    191
    Благодарности:
    153

    Old-Admiral

    Живу здесь

    Old-Admiral

    Живу здесь

    Регистрация:
    30.03.16
    Сообщения:
    191
    Благодарности:
    153
    Сег закончен запланированный upgrade теплицы. Контроллер работает второй сезон.
    Сейч дополнены ещё 2 форточки (в итоге 4).
    Полив разведён на 2 канала.
    Досветка - 2 самодельных фонаря из 10 ваттных светодиодных кристаллов.
    Заменён GSM модуль Neoway M590 на SIM 800L. Данные отправляются и на thingspeak, и на gardenboss.
    В разрыв цепи питания установлен внешний watchdog.
    Критических замечаний нет, работа устраивает. Огурцы цветут, есть завязи. Помидорки вот-вот зацветут :aga:
     
  9. HANTER333
    Регистрация:
    21.12.15
    Сообщения:
    1.617
    Благодарности:
    1.156

    HANTER333

    Живу здесь

    HANTER333

    Живу здесь

    Регистрация:
    21.12.15
    Сообщения:
    1.617
    Благодарности:
    1.156
    А где живешь, если не секрет? У нас уже с десяток помидорков 20-40мм. и первый огуречик 150мм. (Нижегородская область) ;)
     
  10. Tehnik53
    Регистрация:
    22.08.15
    Сообщения:
    142
    Благодарности:
    23

    Tehnik53

    Живу здесь

    Tehnik53

    Живу здесь

    Регистрация:
    22.08.15
    Сообщения:
    142
    Благодарности:
    23
    У всех будут и помидорки и огурчики) только у кого то раньше, у кого то позже) лето в этом году будет жаркое, уже думаю переделывать открытие не фоточек а дверей) никак не могу прошить mega mini через cp2103 и nano, кому-нибудь это удалось?) или решается только покупкой ch340?
     
    Последнее редактирование: 26.05.18
  11. Old-Admiral
    Регистрация:
    30.03.16
    Сообщения:
    191
    Благодарности:
    153

    Old-Admiral

    Живу здесь

    Old-Admiral

    Живу здесь

    Регистрация:
    30.03.16
    Сообщения:
    191
    Благодарности:
    153
    Обитаю в Москве, Серёж. Тепличка в деревне, Дмитровский район МО
     
  12. HANTER333
    Регистрация:
    21.12.15
    Сообщения:
    1.617
    Благодарности:
    1.156

    HANTER333

    Живу здесь

    HANTER333

    Живу здесь

    Регистрация:
    21.12.15
    Сообщения:
    1.617
    Благодарности:
    1.156
    Изначально в обеих теплицах открываются две форточки и дверь (правда термоприводами), mini шил через обычный USB-TTL конвертер;)
     

    Вложения:

    • DSC00724.JPG
    • DSC00727.JPG
  13. promavto
    Регистрация:
    27.02.16
    Сообщения:
    1.960
    Благодарности:
    1.958

    promavto

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

    promavto

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

    Регистрация:
    27.02.16
    Сообщения:
    1.960
    Благодарности:
    1.958
    Адрес:
    г. Москва, Зеленоград.
    CH340G еще хуже чем CP2103. Windows10 плохо работает почти со всеми преобразователями USB-TTL. Иногда приходится искать старые драйвера для работы с USB (типа PL2303-Prolific-DriverInstaller-v1.5.0). и обновлять регулярно, постоянно слетают. Проверить работу преобразователя можно следующим образом. Необходимо замкнуть вывода RX и TX. Любой терминальной программой отправить текст. Если он повториться, значит работает.
    Важно! При прошивке микроконтроллера обязательно нужно подключить вывод DTR к линии сброса.
    При загрузке программы сначала идет сброс микроконтроллера. Далее программа загрузчика смотрит, идут ли данные по COM порту и загружает в память микроконтроллера. Можно не подключать сигнал DTR, а самому ловить момент начала загрузки и нажимать кнопку сброса. С 10 раза может получиться поймать начало загрузки. :)
     
  14. promavto
    Регистрация:
    27.02.16
    Сообщения:
    1.960
    Благодарности:
    1.958

    promavto

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

    promavto

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

    Регистрация:
    27.02.16
    Сообщения:
    1.960
    Благодарности:
    1.958
    Адрес:
    г. Москва, Зеленоград.
    Нашел станочек? :victory:
     
  15. promavto
    Регистрация:
    27.02.16
    Сообщения:
    1.960
    Благодарности:
    1.958

    promavto

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

    promavto

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

    Регистрация:
    27.02.16
    Сообщения:
    1.960
    Благодарности:
    1.958
    Адрес:
    г. Москва, Зеленоград.
    Привет земляку. У нас в Зеленограде огурцы растут по миллиметру в сутки (холодно).
    Собираем только урожай редиски.
     
Статус темы:
Закрыта.