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
    Адрес:
    г. Москва, Зеленоград.
    STM32. Контроллер теплицы
    Создание контроллера теплицы на микроконтроллерах серии STM32
     
  2. promavto
    Регистрация:
    27.02.16
    Сообщения:
    1.957
    Благодарности:
    1.957

    promavto

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

    promavto

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

    Регистрация:
    27.02.16
    Сообщения:
    1.957
    Благодарности:
    1.957
    Адрес:
    г. Москва, Зеленоград.
    Для создания прототипа контроллера теплицы предполагается применить три варианта модулей с микроконтроллером STM32. Прототип может состоять из печатной платы с периферией и разъемами для подключения датчиков и различных устройств. На эту плату устанавливается модуль микроконтроллера.
    Вариант первый:
    https://ru.aliexpress.com/item/Free-shipping-STM32F407VET6-development-board-Cortex-M4-STM32-minimum-system-learning-board-ARM-core-board/32618222721.html?spm=a2g0s.9042311.0.0.3bd433edX79mAc

    Модуль можно приобрести с дисплеем или без. Планируется предусмотреть возможность подключения 7.0" дисплея.
     

    Вложения:

    • STM32F407VET6.jpg
    • Display32_320_240.jpg
    • Display32_320_240_1.jpg
  3. promavto
    Регистрация:
    27.02.16
    Сообщения:
    1.957
    Благодарности:
    1.957

    promavto

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

    promavto

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

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

    promavto

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

    promavto

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

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

    Вложения:

    • STM32F407ZGT6.jpg
  5. HANTER333
    Регистрация:
    21.12.15
    Сообщения:
    1.617
    Благодарности:
    1.156

    HANTER333

    Живу здесь

    HANTER333

    Живу здесь

    Регистрация:
    21.12.15
    Сообщения:
    1.617
    Благодарности:
    1.156
    Имхо: для контроллера теплицы, STM32F407 жирноват будет:)
     
  6. ask33
    Регистрация:
    06.11.13
    Сообщения:
    1.543
    Благодарности:
    3.362

    ask33

    Живу здесь

    ask33

    Живу здесь

    Регистрация:
    06.11.13
    Сообщения:
    1.543
    Благодарности:
    3.362
    Адрес:
    Ногинск
    Ну почему, а если голосовое управление? Искусственный интеллект? :)
     
  7. HANTER333
    Регистрация:
    21.12.15
    Сообщения:
    1.617
    Благодарности:
    1.156

    HANTER333

    Живу здесь

    HANTER333

    Живу здесь

    Регистрация:
    21.12.15
    Сообщения:
    1.617
    Благодарности:
    1.156
    Пока разговор о контроллере теплицы;), для 407, конечно, гораздо больше примеров
     
  8. promavto
    Регистрация:
    27.02.16
    Сообщения:
    1.957
    Благодарности:
    1.957

    promavto

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

    promavto

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

    Регистрация:
    27.02.16
    Сообщения:
    1.957
    Благодарности:
    1.957
    Адрес:
    г. Москва, Зеленоград.
    Характеристики у 407 получше и примеров много. В цене разница небольшая. Как говорят в рекламе "будем стремиться к лучшему". Но и 103 не забудем.

    Плохо что нет совместимости по моделям. Нужно переписывать библиотеки. Пока буду "болтаться" между вариантом 1 и 2. У Димы так же скоро будут оба варианта модулей. Подумаю об универсальной переходной плате под оба варианта.
     
  9. promavto
    Регистрация:
    27.02.16
    Сообщения:
    1.957
    Благодарности:
    1.957

    promavto

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

    promavto

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

    Регистрация:
    27.02.16
    Сообщения:
    1.957
    Благодарности:
    1.957
    Адрес:
    г. Москва, Зеленоград.
    Вопрос! Нужен ли обзор нескольких IDE для программирования STM32?
    Что бы выбрать более удобную для начинающих.
     
  10. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.310
    Благодарности:
    6.887

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.310
    Благодарности:
    6.887
    Адрес:
    80 км от Краснодара
    Нужен.
     
  11. promavto
    Регистрация:
    27.02.16
    Сообщения:
    1.957
    Благодарности:
    1.957

    promavto

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

    promavto

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

    Регистрация:
    27.02.16
    Сообщения:
    1.957
    Благодарности:
    1.957
    Адрес:
    г. Москва, Зеленоград.
    Сначала очень краткая характеристика и отличия линейки STM32.
    У микроконтроллеров этой серии очень развитая периферия. Одни и те же порты могут выполнять различные функции. Что очень важно, для значительного снижения энергопотребления, в исходном состоянии все отключены. Поэтому, даже написав некую программу, можем не получить требуемый результат, не настроив периферию.
    Пример настройки pin:
    GPIO_InitTypeDef GPIO_InitStructure;

    /* Initialize LED which connected to PC13 */
    / Enable PORTC Clock
    RCC_APB2PeriphClockCmd (RCC_APB2Periph_GPIOC, ENABLE);
    /* Configure the GPIO_LED pin */
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_Init (GPIOC, &GPIO_InitStructure);

    /GPIO_SetBits (GPIOC, GPIO_Pin_13); / Set C13 to High level ("1")
    GPIO_ResetBits (GPIOC, GPIO_Pin_13); / Set C13 to Low level ("0")

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

    В Ардуино многие операции скрыты от пользователя, в STM32 все нужно настраивать ручками.
    Прежде чем приступить к программированию, нужно настроить все протоколы, порты и. т. д.

    Какие же программы могут предоставить более менее комфортные условия работы.
    Arduino IDE рассматривать не будем, она хороша но... посмотрим что еще есть.
    Сначала программа для прошивки контроллера STM32 ST-LINK Utility
    Программатор (железо) можно применить недорогой ST-Link V2 мини. Желательно изготовить кабель подключения к контроллеру, в дальнейшем это облегчит Вам жизнь. Фото 1.

    Для ознакомления с устройством микроконтроллера и настройкой периферии есть неплохая программа, поддерживаемая производителем STM (в будущем будем ориентироваться на IDE с поддержкой производителя) - STM32CubeMX. У нее графический интерфейс, наглядно покажет, что где расположено. Можно еще добавить STM32CubeProgrammer, но не обязательно.
    Более подробно с программой (так же и с другими программами) можно ознакомиться в интернете.
    Я же буду давать основные ориентировки и ссылки.
    Это не среда программирования, а среда для настройки периферии. Файлы настройки транслируются уже в необходимую IDE. https://habr.com/post/213561/

    Какие IDE мне известны на данный момент (небольшой опыт программирования в них есть, но повторяю, небольшой).
    Первая - Coo Cox CoIDE. Очень хорошая программа, больше всего мне понравилось программировать в ней. Но есть большой недостаток - проект закрыт, сайт удален.
    Поддержка прекращена, а это значит что будут проблемы с последними моделями STM32.

    Вторая - IAR Embedded Workbench, может она и хорошая но мне, как начинающему, не понравился интерфейс. Не стал ее подробно изучать. Есть еще одна проблема - Несколько фирм пытались написать свои библиотеки, но дело не доводили до конца. Так появились библиотеки SPL, HAL,
    StdPeriph_Lib и. т. д.

    Третья - ARM Mbed - среда программирования в интернете https://www.mbed.com/en/. Не думаю что это удобно. Возможно есть локальные версии. Попробовал, не стал дальше изучать.

    Четвертая - Keil 5. http://www.keil.com. Это основная среда, которая больше всего подходит для нас. Есть поддержка производителя STM. Обновления и необходимые файлы не сложно загружаются с сайта разработчика.https://www.st.com/en/microcontrollers/stm32-32-bit-arm-cortex-mcus.html. С сайта http://www.keil.com можно загрузить ознакомительную версию, с ограничениями.
    Но мы люди опытные и знаем что делать в этом случае (будут проблемы, поможем).
    Файлы проекта, в общем, понятные. Есть немного излишней информации, но к этому можно привыкнуть. Есть, конечно, и минусы - редактор немного не комильфо, но можно привыкнуть. Особенно кто работал в среде Arduino IDE. Я же работаю в Visual Studio 2017 даже когда пишу программы для Ардуино (vMicro). Очень удобная среда (как для меня).
    Есть много примеров написания программ периферии.

    Вот здесь наступает интрига. Есть еще одна надстройка для работы с STM32 в Visual Studio 2017.
    Это VisualGDB. https://m.habr.com/post/204264/. Есть поддержка производителя, много микроконтроллеров различных производителей. Продвинутый редактор Visual Studio, поиск различный переменных и другой информации. Есть возможность портировать проекты их других IDE (Keil, IAR и. т. д). Очень удобно загружать примеры, написанные в других средах.
    Короче говоря, круто. А вот и ложка дегтя. При переносе проекта из Keil (компилируется без проблем) появляется ошибка компиляции. Нет файла библиотеки (не буду уточнять какого). Я точно знаю что он был в исходном проекте. Подгрузить не смог. Более того, не могу увидеть остальные файлы библиотеки, да и главные файлы также (типа main) пока не вижу.
    А счастье было так близко. Оставил, может потом смогу более подробно разобраться.

    Оставляем для работы Keil. Но имеет смысл установить и остальные IDE. Есть много примеров, написанных в этих средах. Их можно будет применить и в Keil.

    На этом заканчиваю. Кто дочитал до конца, вопрос - нужно ли опубликовать пару примеров для наших отладочных плат? Тренировка и проверка для старта.
     

    Вложения:

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

    promavto

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

    promavto

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

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

    HANTER333

    Живу здесь

    HANTER333

    Живу здесь

    Регистрация:
    21.12.15
    Сообщения:
    1.617
    Благодарности:
    1.156
    STM8 программировал таким, а для этих плат приобрел немного другой;), шлейфик уже идет в комплекте.
     

    Вложения:

    • DSC00857.JPG
  14. HANTER333
    Регистрация:
    21.12.15
    Сообщения:
    1.617
    Благодарности:
    1.156

    HANTER333

    Живу здесь

    HANTER333

    Живу здесь

    Регистрация:
    21.12.15
    Сообщения:
    1.617
    Благодарности:
    1.156
    Товарищ писал код в IAR у себя дома, а потом запускали на моем и отлаживали уже с камнем, общаясь по скайпу:)
     
  15. promavto
    Регистрация:
    27.02.16
    Сообщения:
    1.957
    Благодарности:
    1.957

    promavto

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

    promavto

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

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