Инструменты пользователя

Инструменты сайта


ehlektronika:plumpx32

PlumPX32

PlumPX32

PlumPX32 - многофункциональный контроллер, сердцем которого является микроконтроллер STM32. В контроллере есть все необходимое для реализации различных робототехнических проектов: Универсальный робототехнический многофункциональный контроллер «PlumPX32» представляет собой электронное устройство с возможностью многократного перепрограммирования в двух программных средах (MicroPython и Arduino С). Контроллер является сердцем и мозгом робототехнического конструктора. В его задачи входит:

  1. сбор и оцифровка сигналов с внешних цифровых и аналоговых датчиков.
  2. обработка сигналов в соответствии с пользовательской программой (пользователь может самостоятельно запрограммировать плату).
  3. управление внешними цифровыми и аналоговыми исполнительными устройствами.
  4. коммуникация с другими устройствами по беспроводным и проводным цифровым каналам связи (датчики, моторы и т.д.);
  5. Управление 4 моторами постоянного тока различного типа от 6 до 12 В.

Технические характеристики контроллера PlumPX32.

  1. Подключение к компьютеру – USB или Bluetooth
  2. Встроенный Bluetooth, позволяет как посылать-принимать данные, так и прошивать микроконтроллер
  3. 5x программируемых кнопок, каждая из которых подключается к своему порту ввода-вывода. Это в купе с RGB-светодиодом позволит реализовать минимальный человеко-машинный интерфейс без подключения каких-либо внешних устройств.
  4. Слот для карт памяти microSD для реализации возможности расширения постоянной памяти.
  5. Питание от 7В до 12В, 2 разъема для питания – джек для аккумуляторных блоков и болтовой клеммник для подключения любых других источников питания от 6 до 18В.
  6. Выведенные для удобного подключения 8х портов ввода с подведенным питанием (GND-Vin-S), все с цифровым-аналоговым преобразователем, 1-4 с прерываниями, выбираемое напряжение питания 5V/3V.
  7. Выведенные для удобного подключения 8х портов вывода с подведенным питанием, 1-5 с аппаратным ШИМ (широтно-импульсной модуляцией) сигнала для управления микросхемами сторонних устройств, выбираемое напряжение питания 5V/3V.
  8. Выведенные 4x порта для подключения двигателей постоянного тока на 2x L293 драйверах с защитой по току. Управление каждым из каналов которых осуществляется через 2 порта вывода для выбора направления вращения и торможения, а также через дополнительный порт с ШИМ-сигналом для управления скоростью вращения.
  9. Стандартный интерфейс Arduino UNO R3, не зависимый от остальных портов ввода-вывода, позволяет подключать любые шилды и библиотеки для Arduino. Дополнительно увеличивает место для подключения внешних устройств на 24x порта ввода-вывода.
  10. Трехцветный светодиод, который возможно программно зажигать любым из ~16 миллионов оттенков. Он позволит реализовать визуальную индикацию любых событий или параметров.
  11. 2x выведенных порта USART с питанием (RX, TX, 5V, GND)
  12. 2x выведенных порта I2C с питанием (SCL, SDA, 5V, GND)
  13. Переключение режимов BOOT: RUN и DFU
  14. Центральный процессор: STM32F407 (1МБ флэш-памяти):
  • Высокопроизводительный 32-разрядный микроконтроллер на базе ядра Cortex-M4F с функцией DSP-вычислений с плавающей точкой
  • Количество портов ввода/вывода I/O (макс.), шт. 82
  • Частота: до 168 МГц
  • Память программ (Flash): 1 МБайт
  • ОЗУ (RAM): 196 Кбайт
  • 4 Кбайт backup SRAM (аналог EEPROM)
  • Поддержка инструкций DSP и чисел с плавающей точкой
  • 16-битные таймеры: 2 базовых таймера, 8 таймеров общего назначения, 2 продвинутых таймера, 2 watchdog
  • два 32-битных таймера общего назначения
  • USB 2.0 full-speed device/host/OTG со своим PHY на борту
  • USB 2.0 high-speed/full-speed device/host/OTG с отдельным DMA, со своим full-speed PHY на борту, есть поддержка ULPI
  • 10/100 Ethernet MAC с отдельным DMA, поддержка PHY-микросхем с интерфесами IEEE 1588v2, MII/RMII
  • 3x SPI (37.5 МБит/с), 2 из них с мультиплексированными полнодуплексными I2S для качественной передачи звука
  • 3x I2C с поддержкой SMBus/PMBus
  • 4x USART, 2x UART: 10.5 МБит/с, интерфейс ISO 7816, LIN, IrDA, modem control
  • 2x CAN (2.0B Active)
  • SDIO (для SD-карт)
  • DCMI - [от 8 до 14]-битный параллельный интерфейс камеры (до 54 МБайт/с)
  • Аналоговый генератор случайных чисел
  • Встроенный модуль расчёта CRC
  • 82x GPIO (выводы I/O)
  • RTC (Real-Time Clock)
  • 3 12-битных АЦП, 2.4 миллиона выборок в секунду, 16 каналов, 7.2 миллиона выборок в секунду в режиме тройного чередования
  • 2 12-битных ЦАП
  • Контроллер DMA с 16 каналами и поддержкой FIFO и пакетной передачи
  • Параллельный интерфейс LCD, режимы 8080/6800
  • FSMC - контроллер статической памяти с поддержкой Compact Flash, SRAM, PSRAM, NOR и NAND
  • Возможность отладки по JTAG или SW
  • Рабочая температура от -45 до + 85 ℃

Особенности платформы PlumPX32

1. Встроенный модуль Bluetooth;
2. Микроконтроллер STM32F407VGT6;
3. Слот для карт памяти MicroSD;
4. 4x порта мотора постоянного тока;
* 4.1. 2x драйвера для 2-ух моторов постоянного тока;
5. 8x портов вывода;
* 5.1. 5x портов вывода с поддержкой ШИМ;
6. Встроенный трехцветный светодиод;
7. 5x встроенных кнопок управления;
8. Интерфейс Arduino Uno;
9. 8x портов ввода;
* 9.1. 5x портов ввода с поддержкой ШИМ;
10. 2x выведенных порта USART;
11. 2x выведенных порта I2C.


Особенности версии PlumPX32 для языка программирования Python

Прошивка платформы PlumPX32 для программирования на языке Python состоит из встроенного интерпретатора языка MicroPython.

MicroPython — это реализация языка программирования Python 3, включающая основную часть подмножества стандартной библиотеки Python и оптимизированная для работы на микроконтроллерах.

Версия MicroPython для PlumPX32 базируется на прошивке MicroPython for PyBoard. Ознакомиться с документацией к ней вы можете на официальном сайте.

Для программирования платформы на языке Python необходимо установить драйвер (в Windows 10 драйвер устанавливается автоматически). После успешной установки драйвера и подключения платформы к компьютеру в правильном режиме платформа отобразится на компьютере как съемное устройство с именем PYBFLASH.

Все инструкции по программированию на языке MicroPython и последние обновления Вы можете узнать на портале GitHub.


Особенности версии PlumPX32 для языка программирования C++ (Arduino C)

Для программирования платформы PlumPX32 на языке C++ (Arduino C) необходимо установить на плате режим DFU (Device Firmware Update), также необходимо загрузить и установить установить STM32CubeProgrammer. После успешной установки STM32CubeProgrammer плата отобразится как DFU устройство c присвоенным COM портом.

Программное обеспечение Robotrack IDE для работы с платой PlumPX32 находится в разработке


Питание

Питание платы возможно либо от USB, либо от внешнего питания. Внешнее питание может подключаться в разъем Jack либо через винтовой клеммный разъем (TERM).

При наличии нескольких источников питания одновременно схема переключается:

  • между USB и внешним - автоматически
  • между джеком и клеммником - вручную джампером XP13

Требования к питанию:

  • USB - 5 Вольт ровно
  • Внешнее питание - 6-12 Вольт.

Внешнее питание может представлять собой:

  • Батарейный блок на 9 Вольт (3 отсека) с использованием шести батареек или аккумуляторов типа АА;
  • Литий-ионные аккумуляторы суммарным напряжением не более 12 Вольт;
  • Источник постоянного питания от 6 до 12 Вольт и током не менее 500мА (1-3А при использовании нескольких двигателей и серводвигателей).

При использовании источников питания, не способных выдавать большие токи (например, щелочных батареек или никель-металгидридных аккумуляторов, либо слабых блоков питания) необходимо учитывать то, что большие нагрузки могут приводить к проседанию напряжения питания и вследствие этого к перезагрузке контроллера, такие, как

* резкие остановки и блокирование двигателей; * резкие смены направления двигателей до их остановки; * подключение большого количества серводвигателей; * использование серводвигателей для подъема слишком больших тяжестей.

При питании двигателей на них подается внешнее питания напрямую без предварительного понижения. Учитывайте это и не питайте двигатели недопустимым напряжением.

Для двигателей наборов Роботорек максимальное напряжение - 9 Вольт.

Питание платы от USB рекомендуется при реализации проектов, в которых не используются потребители больших токов, такие как серводвигатели и двигатели.

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

Питание двигателей и серводвигателей Силовая часть драйверов двигателей, к которой подключаются непосредственно двигатели, питается напрямую от внешнего питания. Запуск двигателей от USB невозможен.

Порты OUT, к которым в т.ч. подключаются серводвигатели, по умолчанию питаются от USB или внешнего питания (переключение автоматическое) через стабилизатор, выдающий ток максимум в 500 мА. Этого достаточно для питания любых внешних устройств и 1 или 2 серводвигателей. В случае, если подключено более двух серводвигателей и им не хватает питания в 500 мА, загорается светодиод перегрузки портов OUT, сигнализирующий о перегрузке по линии. В этом случае необходимо использовать внешнее питание и переключить джампер XP9 в положение «HIGH». После этого портам OUT, питающиеся от 5В, будет доступен ток в 3А.

Важно! При положении джампера «HIGH» порты OUT запитываются исключительно от внешнего питания, при переключении на USB они будут обесточены. Для подачи питания на порты OUT при питании от USB нужно переключить джампер в положение «LOW».

Кнопка питания

  • При питании только от внешнего питания кнопка питания обесточивает все устройство
  • При питании только от USB кнопка питания никак не влияет на работу платы (драйверы двигателей и так обесточены)
  • При питании от USB и внешнего питания одновременно кнопка питания включает и выключает подачу питания только на драйверы двигателей. Это позволяет спокойно программировать роботов через USB, не боясь, что по завершении программирования двигатели начнут неожиданно вращаться.

Переключение между 3В и 5В Напряжение питания половины портов IN (IN1-IN4) и OUT (OUT1-OUT4) можно переключать между 5В и 3В с помощью соответствующих джамперов, расположенных непосредственно над портами IN1 и OUT1. Это может понадобится, если вы захотите использовать датчики сторонних производителей, работающие от 3В. По умолчанию джамперы установлены в положение «5В». Для доступа к джамперам необходимо снять крышку корпуса. Вся электроника наборов Роботрек работает от 5В.

Порты

Контроллер PlumPX32 имеет множество портов для подключения внешних устройств. Порты IN и OUT абсолютно независимы от всех других портов, в.т.ч. интерфейса Arduino Uno.

Порты IN

Порты IN в количестве 8 шт распложены в левой части платы. Предназначены преимущественно для подключения датчиков, т.к. все являются аналоговыми, т.е подключены к АЦП и позволяют измерять уровень напряжения. Однако любой из этих портов при необходимости можно настроить на вывод и подключать к ним простые исполнительные устройства,на портах IN1-IN5 можно создать аппаратный ШИМ-сигнал.

Все порты OUT располагаются вертикально.

  • нижний ряд контактов - земля
  • средний ряд - питание
  • верхний ряд - сигнал

Максимальный суммарный ток для всех портов IN - 500 мА.

Напряжение портов IN1-IN4 можно переключать между 5В и 3В при необходимости при помощи соответствующего джампера. Напряжение питание портов IN5-IN8 постоянно и составляет 5В.

Порты двигателей

Порты для подключения двигателей постоянного тока в количестве 4 шт расположены в правом верхнем углу платы. Двигатели управляются двумя драйверами двигателей L293DD.

Все порты двигателей располагаются вертикально.

  • нижний ряд контактов - «минус»
  • верхний ряд - «плюс»

Максимальный ток через каждый канал - 600 мА, кратковременно до 1200 мА. Минимальное напряжение для работы драйвера - 4.5 В, максимальное напряжение - 36 В.

Интерфейс Arduino Uno

Интерфейс Arduino Uno расположен в центре платы и закрыт крышкой корпуса. Он полностью соответствует интерфейсу Arduino UNO R3 и предназначен для подключения Arduino-совместимых плат расширения («шилдов»), запуска стандартных примеров и реализации экспериментов, созданных для Arduino. Из программы к данным портам можно обращаться точно так же, как и к портам обычной Arduino Uno.

Расположение портов с ШИМ, аналоговых портов, а также портов питания также полностью соответствует стандарту Arduino Uno R3. Имена всех портов промаркированы на плате.

Встроенные устройства

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

Интерфейсы

UART

Контроллер имеет четыре независимых аппаратных USART интерфейса:

  • UART0 - основной интерфейс. К нему подключен USB порт контроллера.
  • UART1 и UART2 выведены наружу вместе с питанием 5В с левой стороны платы и доступны для любых нужд пользователя. В наборах Роботрек к одному из этих портов подключается дисплей и Аудиотрек.
  • UART3 - основной интерфейс. К нему подключен Bluetooth-модуль.

I2C

Разъемы шины I2C расположены в верхнем левом углу платы:

Для удобства выведено два разъема с питанием, оба разъема подключены параллельно. При необходимости к шине можно подключить намного больше двух устройств, если использовать самодельные разветвители или макетную плату.

Помимо двух разъемов с питанием линии SCL и SDA выведены на разъем Arduino в соответствии со стандартом R3.

В наборах Роботрек к разъему I2C Подключается Датчик положения (гироскоп/акселерометр)

Bluetooth

Bluetooth-модуль HC-05 располагается посередине платы и общается с основным микроконтроллером через интерфейс UART4. Помимо этого модуль может управлять сбросом микроконтроллра, поэтому через Bluetooth можно как просто обмениваться данными как через беспроводной UART интерфейс (например, для организации дистанционного управления), так и перепрошивать контроллер.

Bluetooth-модуль настроен на работу на скорости 115200. Каждый модуль имеет уникальное имя.

Для управления модулем необходимо подключать внешний программатор. Bluetooth модуль не зависит от подключения USB, как это было с контроллером Трекдуино

Рядом с Bluetooth-модулем расположен светодиод состояния модуля:

  • быстрое мигание - готов к подключению
  • почти постоянно горит, изредка мигая - соединение установлено

Пароль для подключения по умолчанию - 1234. При необходимости пароль можно изменить АТ-командами

ICSP

Интерфейс ICSP предназначен для перепрошивки основного микроконтроллера внутрисхемными программаторами без использования bootloader-а. Интерфейс является частью интерфейса Arduino, его расположение и распиновка совпадают с Arduino UNO R3:

Неграмотная прошивка микроконтроллера может навсегда вывести его из строя. Прошивайте микроконтроллер программатором только если точно знаете, что делаете и зачем это нужно.

ehlektronika/plumpx32.txt · Последние изменения: 2020/06/25 18:18 — dustinskiy