Использование контроллеров 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 недели

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

759
Комментарии: 15Публикации: 389Регистрация: 04-02-2018

3 комментария к “Использование контроллеров STM32F103C8 (Blue Pill) с Arduino IDE”

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

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

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

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

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

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

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

    0

Оставьте комментарий

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