Використання контролерів STM32F103C8 (Blue Pill) з Arduino IDE

Основні тех. Характеристики:

ARM Cortex M3
Розрядність – 32-х бітний
Частота – 72МГц
Flash-пам’ять – 64КБ / 128КБ
Оперативна пам’ять – 20КБ
SPI – дві штуки
I2C – дві штуки
UART — три апаратні UART’а + USB (тобто виходить чотири інтерфейси)
CAN-шина
АЦП – 12-бітний
ШІМ – 16-ти бітний
Напруга живлення – від 2 до 3.6В (тобто можна запитати від двох «пальчикових» батарей)
Внутрішній годинник реального часу (на платі є спеціальний пін – Vbat, для підключення батарейки)

Основну інформацію щодо використання контролерів STM32 з Arduino IDE можна переглянути тут: https://github.com/stm32duino/wiki/wiki/Getting-Started.

 


Небагато інформації з особистого досвіду.

Я програмую, використовуючи режим STM32CubeProgrammer(Serial).

 

Для використання цього режиму необхідно встановити на комп’ютер програму STM32CubeProgrammer. Як я вже писав раніше у світі існує божевільна людина, і тому завантажити цю програму з Росії можна тільки через ВПН, і то обдуривши систему з місцем свого проживання. Мені це вдалося і тому я завантажив поточну версію для різних операційних систем, і ви можете завантажити їх за цими посиланнями.

1.Win32

2.Win64

3.Linux

4.Mac Oc

 

Про це та інші методи прошивки докладніше можна почитати тут: https://github.com/stm32duino/wiki/wiki/Upload-methods#stm32cubeprogrammer.

Також є цікаве відео:


Деякі особливості пінів Blue Pill.

 

Будьте обережні з пінами РА11 і РА12 – це USB, якщо щось піде не так, то крім втрати можливості прошивки МК по USB, можна ще й комп’ютер пошкодити.

До пін РС14 і РС15 підключено зовнішній кварц для годинника (32.768).

Інші піни можуть видати максимум 20мА, рекомендується 8мА. Загальне максимальне навантаження має перевищувати 150мА.

Незважаючи на те, що напруга живлення ~3В, половина «ніжок» терпимі до п’яти вольтів. Що звичайно значно полегшує використання різної периферії.

Світлодіод РС13 (який у ардуїни D13) включається не плюсом, а мінусом. Це про всяк випадок, щоб у Вас не сталося когнітивного дисонансу, коли напишіть — digitalWrite(PC13, HIGH), а діод згасне

У МК відсутня EERPOM, але це вирішується підключенням зовнішньої флешки I2C або SPI.

 


Підключення програматора (UART)

 

Підключення W550

STM32 W5500
PA4 CS
PA5 SCK
PA6 MISO
PA7 MOSI
3.3V VCC
GND GND

 


Особливості використання Serial0.

Оскільки Serial0 у STM32  підключений до USB, то для його використання при прошивці контролера обов’язково має бути включена підтримка USB як “Generic Serial”.

В іншому випадку при компіляції, якщо використовується Serial0, буде видаватися помилка. За умовчанням при використанні інтегрованого в програму FLProg описи використовуються саме такі налаштування.

 


Додаткові файли, які можуть знадобитися:

  1. Flash Loader Demonstrator
  2. Бінарник прошивки Maple DFU Bootloader (generic_boot20_pc13.bin)
  3. Драйвери для Maple (Windows)
  4. Бінарники для прошивки HID Bootloader

0

Автор публікації

Офлайн 2 дні

Сергей Глушенко

780
Коментарі: 15Публікації: 391Реєстрація: 04-02-2018

4 коментарі до “Використання контролерів STM32F103C8 (Blue Pill) з Arduino IDE”

  1. Здравствуйте Сергей.

    Спасибо что вы есть , что мы вместе (хотя наши взгляды  на жизнь различаются),  думаем об одном , но с разной степенью технических и интеллектуальных способностей, а значит и возможностей. В данное время вы  пополняете базу контроллеров необходимых для  управления различными системами управления и автоматизации.

    Я к вам обращаюсь как пользователь вашей программой FLProg. В данное время разрабатываю проект солнечного трекера который будет  с  помощью шагового двигателя осуществлять поворот  солнечной панели в соответствии со скоростью движения солнца. До этого  мной трекер был сделан  на сервоприводе . Сервопривод оказался не надежным механизмом(не дешёвый,20кг,медные шестерни), ввиду отсутствия устойчивости панели при наличии ветровой нагрузки. Эффективность поворотной солнечной панели превзошла стоящую до нее стационарную панель на 40%.

    Когда я  решил перейти на шаговый двигатель (NEMA 17)  то обнаружил недостаток . Во встроенных блоках нет  блока который отвечал бы за мой контроллер.

    Конечно я пробовал  подключать пользовательский блок. Но  в моем контроллере WEMOS mini  напихано очень много функций по отслеживанию заряда каждой из шести батарей  по WI-FI удаленно через облако Каскады.

    Не могли бы вы после завершения ваших планов, добавить блоки для управления драйверами шаговых двигателей? В частности у меня драйвер A4988.

    Здоровья вам и новых идей!

    0

Залишити коментар

Войти с помощью: