Arduino STM32F103C

Arduino STM32F103C
Артикул: 2503230

производитель: Arduino
Требуется установка или ремонт?

сервисный центр Kypidetali!

тел. +7(499)347-04-82

Описание Arduino STM32F103C

Отличный выбор! STM32F103C — это семейство мощных 32-битных микроконтроллеров от STMicroelectronics, которое стало популярной и доступной альтернативой классическим 8-битным AVR (например, ATmega328P) в мире Arduino.

Общее описание

Arduino на STM32F103C — это проект, который переносит среду разработки Arduino IDE и ее простой API на высокопроизводительные ARM Cortex-M3 микроконтроллеры STM32. Эти платы часто называют "Blue Pill" (из-за синего цвета и небольшого размера) или "STM32duino".

Ключевая идея — совместить простоту программирования Arduino с мощью STM32: высокой тактовой частотой, большим объемом памяти, множеством периферийных интерфейсов (UART, SPI, I2C, USB, ADC, PWM) и продвинутыми функциями, такими как аппаратная поддержка шины CAN.

Технические характеристики ядра STM32F103C (на примере F103C8T6)

  • Ядро: ARM 32-бит Cortex-M3
  • Тактовая частота: 72 МГц (стандартная для Arduino-среды, хотя ядро может работать и быстрее).
  • Флэш-память (Flash): 64 КБ (для F103C8T6) или 128 КБ (для F103CBT6).
  • Оперативная память (SRAM): 20 КБ.
  • EEPROM: Отсутствует на кристалле, но эмулируется во флэш-памяти с помощью специальных библиотек.
  • Периферия:
    • Цифровые ввод/вывод (GPIO): До 37 линий (в зависимости от корпуса и модели).
    • Аналоговые входы (ADC): 2 x 12-битных АЦП, до 10 каналов.
    • ШИМ (PWM): До 15 каналов (на разных таймерах).
    • Таймеры: 3 основных таймера (16-бит), 1 продвинутый таймер (16-бит), SysTick таймер.
    • Последовательные интерфейсы:
      • UART/USART: До 3 штук.
      • SPI: До 2 штук.
      • I2C: До 2 штук.
      • USB 2.0 Full-Speed: 1 порт (может работать как CDC/COM-порт, HID, DFU).
      • CAN: 1 интерфейс (аппаратная поддержка шины CAN 2.0B).
    • Дебаккинг: Интерфейсы SWD (2 провода) и JTAG.

Сравнение с Arduino Uno (ATmega328P):

  • Частота: 72 МГц vs 16 МГц (в 4.5 раза быстрее).
  • Флэш-память: 64/128 КБ vs 32 КБ.
  • ОЗУ: 20 КБ vs 2 КБ (в 10 раз больше).
  • АЦП: 12-бит vs 10-бит (выше точность).
  • Дополнительно: Наличие USB и CAN "на борту".

Парт-номера и совместимые модели

Семейство STM32F103C включает несколько моделей, отличающихся объемом памяти и типом корпуса. Наиболее популярные для плат типа "Blue Pill":

Основные модели (LQFP48 корпус):

  • STM32F103C8T6Самый популярный вариант. 64 КБ флэш, 20 КБ ОЗУ.
  • STM32F103CBT6 – 128 КБ флэш, 20 КБ ОЗУ.
  • STM32F103C6T6 – 32 КБ флэш, 10 КБ ОЗУ (менее распространен).

Совместимые модели (аналоги от других производителей):

Внимание! Из-за высокого спроса на рынке появилось много клонов и аналогов. Они могут иметь отличия в качестве или периферии.

  • GD32F103C8T6 (от GigaDevice) – Прямой аналог, часто используется, иногда имеет немного другие характеристики таймеров/АЦП.
  • APM32F103C8T6 (от Geehy) – Еще один аналог.
  • HK32F103C8T6 (от Huaxing) – Аналог.

Важно: При использовании аналогов (GD32, APM32 и т.д.) может потребоваться установка дополнительных ядер (Cores) в Arduino IDE или коррекция настроек, так как они не на 100% идентичны оригинальным STM32.

Популярные платы разработки (Development Boards)

  1. "Blue Pill" (Самая известная): Минимальная плата с микроконтроллером, кварцем, стабилизатором и разъемами.
  2. "Black Pill" (на базе F401/F411): Более современный вариант (Cortex-M4), но существуют и Black Pill на F103. Часто имеют лучшую разводку и встроенный стабилизатор USB.
  3. Maple Mini: Еще один классический формат, аналог Blue Pill.
  4. Платы от RobotDyn, WeAct, STM official (Nucleo-64): Последние часто требуют использования оригинальной среды STM32CubeIDE.

Как начать работу в Arduino IDE

  1. Установка ядра: Через менеджер плат (Файл -> Настройки -> Дополнительные URL-адреса) добавить адрес ядра (например, от STM32duino или Roger Clark).
  2. Выбор платы: В меню Инструменты выбрать:
    • Плата: "Generic STM32F1 series"
    • Variant: "STM32F103C8" (или "STM32F103CB" для 128КБ версии)
    • Upload method: "STM32CubeProgrammer (DFU)", "Serial" или "ST-Link" в зависимости от способа прошивки.
  3. Программатор: Для загрузки скетча часто нужен внешний программатор:
    • USB-TTL (UART): Самый простой способ, требует перевода платы в режим загрузки (перемычка BOOT0).
    • ST-Link (V2 или V3): Официальный отладчик/программатор, позволяет также отлаживать код.
    • USB-порт (DFU): Некоторые платы можно прошивать напрямую через USB, если предварительно прошит соответствующий загрузчик.

Преимущества и недостатки

Преимущества:

  • Высокая производительность при низкой цене.
  • Большой объем памяти.
  • Обилие периферийных интерфейсов.
  • Активное сообщество и множество библиотек.
  • Совместимость с языком Arduino C++.

Недостатки/Особенности:

  • Не такая "заточенная" под начинающих экосистема, как у оригинального Arduino.
  • Может требоваться дополнительный программатор (ST-Link).
  • Возможны сложности с настройкой таймеров и прерываний "низкого уровня" из-за абстракции Arduino.
  • На рынке много клонов с переменным качеством.

Итог: STM32F103C в оболочке Arduino — это идеальный мост для перехода с классических 8-битных AVR на современные 32-битные ARM-микроконтроллеры, сохраняя при этом привычную простоту разработки.

Совместимые модели для Arduino STM32F103C

Arduino STM32F103C