STM3. 2 vs Arduino / Geektimes. Приехала вчера крошечная платка на STM3. F1. 03. C8. STM3. F1. 03. C8 Front. Это 4. 8ногий 3. 2битный микроконтроллер. И это отличный вариант апгрейда для тех, кто использует Arduino.
Схема контроллера униполярного шагового двигателя с драйвером на биполярных транзисторах. Контроллер шагового двигателя разработан на PIC контроллере PIC12F629. Как Вам выбрать устройство управления шаговым двигателем? 1 Драйвер шагового двигателя. В данном разделе выберите драйвер шагового . В качестве примера приведена практическая реализация простого и дешевого драйвера шагового двигателя на основе микроконтроллера семейства.
- Падает ниже определенного уровня, насос включается и качает воду в емкость. Когда уровень воды достигает заданного значения, устройство.
- Контроллер шагового двигателя на PIC12F629. Можно подключить двигатель через драйвер L293.
Для масштаба положил рядом с Arduino Pro, которая меньше обычной Arduino Uno: По размерам сам микроконтроллер точно такой же, только шаг ножек не 0. А вот плата с ним поменьше и стоит от $1. А что у нас с функционалом?
Arduino. 8- битная архитектура ATMEL AVR, до 2. МГц, в Arduino работает на 1. МГц. 1 MIPS/MHz. Напряжение питания 5. В или 3. 3. В на 8.
МГц и не 5. В- толерантно. Пины общего назначения GPIO — 2. Из них: PWM — 6 (аппаратный PWM для управления сервоприводами — 2)Входов АЦП — 6 (1. Периферия: Шина I2. CШина SPI1 UART1х 1. Ну и по мелочам немного: контроллер прерываний, watchdog.
Программируется либо через SPI — 4 проводный интерфейс (MOSI, MISO, SCK, RST) или через UART, если предварительно прошить бутлоадер, который занимает до 2кб флеша. STM3. 2F1. 03. C8.
B Flash (1. 28 kb если поставить STM3. F1. 03. CB (от $2.
ARM CORTEX- M3, до 7. МГц, 1. 2. 5MIPS/MHz. Напряжение питания 3.
В (2. 7- 3. 6), почти все пины 5. В- толерантны. На плате есть стабилизатор напряжения 3. В, который питается от внешний 5. В или USB. Пины общего назначения GPIO — 2. Из них: PWM — 1. 2 (все пригодны для управления сервоприводами)Входов АЦП — 6 (1.
Периферия: 3x USART2x I2. C2x SPI (1. 8Mbit/s)1 x CAN 2.
BUSB 2. 0 FS (Full. Speed — 1. 2Mbit)3x 1. PWM timer. DMA — 7 каналов (АЦП, SPI, I2. C, USART)RTC — часы реального времени (3. Гц кварц уже распаян), могут работать от батареи, когда МК спит или вообще остановлен. Backup registers — регистры, питающиеся от батарейки вместе с часами на время выключения МК от основного питания. CRC — блок вычисления контрольной суммы.
ID МКПрограммируется через SWD — 2- х проводный интерфейс или JTAG (промышленный стандарт). Есть аппаратная отладка — можно заглянуть в регистры процессора, посмотреть состояние всей периферии, пошагово выполнять программу, менять руками значения в RAM и Flash, посмотреть значения переменных в любой момент, поставить Breakpoint. Также есть вшитый бутлоадер, который невозможно стереть и он позволяет прошить МК через обычный UART, переставив перемычку. Функционал платы.
Функционал шикарный. Из недостатков только более высокий порог входа при обучении — МК так нафарширован возможностями, что не сразу получается с ними разобраться. Но есть подробная документация, есть примеры. Они не так примитивны как для AVR Atmega и тем более Arduino с ее Wiring, но и не особо сложны. В общем, на мой взгляд плата по всем параметрам превосходит Arduino включая цену. А учитывая, что все МК STM3.
STM3. 2F1. 00, F1. F1. 02, F1. 03, F1. F1. 05, F1. 07 в одном корпусе полностью pin to pin совместимы, можно расширить функционал платы, не меняя ее разводку, а просто заменив чип. Корпуса на выбор есть 4. А у старших серий (например F4) есть и больше. Разобрался вчера с USB HID для этой платы, проект без особых изменений адаптировал под этот МК. В итоге — подключаем плату USB шнурком.
Никаких драйверов ставить не нужно — плата видится как стандартный HID девайс. Поддержка USB полностью аппаратная, до 8 endpoints. Я использую 1 endpoint для двусторонней связи с ПК. Программа на Delphi может управлять светодиодами и получать состояния кнопок в виде обычных HID репортов. Пакетный обмен куда удобнее, чем UART поток, в котором нужно возиться с заголовками, поиском начала и конца пакета. Если COM порт занят программой, то уже никто подключиться не может. Если девайс отключить, то программа не сможет корректно закрыть COM- порт.
С USB HID таких проблем нет. Выдернул, вставил девайс обратно, программа может на лету переподключиться к нему без перезапуска. В МК все работает на прерываниях, поэтому большую часть времени он просто отдыхает и его можно занять полезными делами, в отличие от V- USB для AVR, где МК еле справляется с программной эмуляцией USB и то ущербно. Ну и для любителей наглядности поморгаем светодиодами : )Скоро выложу у себя на сайте инструментарий для разработки под STM3. IDE Em. Blocks вместе с тулчейном, который я доработал для поддержки Colink. Ex и немного причесал шаблоны под часто используемые мной МК: STM3.
F1. 03. VE, STM3. F1. 03. C8, STM3.