Перевод статьи BeagleConnect QuadESC 4-channel BLDC motor controller uses TI’s AM13E23019-based Torque module — Debashis Das, CNX Software.

BeagleBoard.org представила BeagleConnect QuadESC — открытый четырёхканальный контроллер бесколлекторных моторов: несущая плата с силовой частью плюс вычислительный модуль BeagleConnect Torque на 200-МГц микроконтроллере TI AM13E23019 (Arm Cortex-M33) с тригонометрическим блоком TMU и нейросетевым ускорителем TinyEngine для edge AI. Плата выдаёт четыре трёхфазных выхода на BLDC-моторы, имеет двенадцать каналов измерения тока и двенадцать — напряжения, четыре датчика температуры и следит за напряжением батареи. С полётным контроллером она общается через 8-контактный разъём с DShot, телеметрией и отчётами о потребляемом токе, отладка идёт по SWD, а ещё есть разъём под зуммер и встроенная силовая электроника питания.

Torque — самостоятельный модуль, и его можно ставить не только на QuadESC, но и на собственные несущие платы: для робототехники, управления моторами и приложений на CAN.

Модуль BeagleConnect Torque#

Модуль BeagleConnect Torque

Модуль BeagleConnect Torque — «мозг» всей конструкции.

Характеристики модуля:

  • Микроконтроллер — TI AM13E23019
    • Ядро — Arm Cortex-M33 с FPU, 200 МГц
    • Память — 128 КБ SRAM и 512 КБ флеш
    • Периферия — тригонометрический блок TMU, нейросетевой ускоритель TinyEngine, три 12-битных АЦП и ШИМ для управления моторами
  • CAN FD — трансивер TCAN844, 4-контактный разъём JST-GH для CAN и питания, терминатор 120 Ом, включаемый программно
  • Остальные интерфейсы — UART, SPI и I2C
  • Форм-фактор — 100 контактных площадок LGA на нижней стороне с шагом 1,27 мм и два 12-контактных ряда контактов расширения (UART, SPI, аналоговые входы, PWM и сигналы управления); через интерфейс несущей проходят 30 маршрутов аналоговых входов
  • Разъём Qwiic — I2C с питанием 3,3 В
  • Отладка — 8-контактный разъём с SWD, UART, сбросом, boot-сигналом, землёй и питанием отладочной части
  • Безопасность — защищённая загрузка (secure boot), защищённая отладка, безопасное обновление прошивки, аппаратное ускорение криптографии
  • Питание — стабилизированные 5 В от несущей платы, собственный стабилизатор 3,3 В и отдельное питание 3,3 В для отладки
  • Размеры — 25,4 × 38,1 мм, четырёхслойная плата толщиной 1,6 мм

Есть нюанс, о котором легко споткнуться: модулю нужен отдельный опорный источник VAA для АЦП и 5 В для CAN-трансивера, а питание он ждёт уже стабилизированное с несущей платы — напрямую от батареи его подключать нельзя.

Модуль BeagleConnect Torque, вид сверху

Модуль Torque, вид сверху.

Модуль BeagleConnect Torque, вид снизу

Модуль Torque, вид снизу — 100 контактных площадок LGA.

Несущая плата QuadESC#

QuadESC спроектирована под робототехнику, дроны и прочие системы с несколькими моторами. Это плата 60 × 48 мм под батареи 3S–6S, с отдельным ШИМ на каждый мотор и синхронизированным измерением токов, которое нужно для векторного управления (FOC). Если вы собираете квадрокоптер, вам скорее подойдёт обычный одиночный ESC — как их выбирать, мы разбирали в руководстве по ESC для FPV-дрона. А тем, кто строит собственные актуаторы, может быть интересен наш разбор о том, почему больше витков меди не значит больше момента.

Несущая плата BeagleConnect QuadESC

Несущая плата BeagleConnect QuadESC.

Характеристики:

  • Контроллер — модуль BeagleConnect Torque
  • Управление моторами:
    • 4 трёхфазных драйвера TI DRV8323SRTAR с настройкой по SPI, усилителями измерения тока и выводами сигналов об ошибках
    • 12 полумостов TI CSD88599Q5DC — по три на каждый мотор
    • 4 независимых трёхфазных канала BLDC
    • выделенный ШИМ управления мотором на каждый канал
    • заявленная цель — 40 А постоянного и до 70 А в импульсе на мотор (цифры ещё предстоит подтвердить тепловыми испытаниями)
  • Измерения:
    • 12 измерений фазного тока на нижних ключах — по три на мотор
    • 12 каналов измерения фазного напряжения
    • 4 термистора NTC рядом с силовыми каскадами
    • три 12-битных АЦП модуля Torque
  • CAN FD — через модуль Torque
  • Разъём полётного контроллера — 8 контактов: четыре линии DShot, телеметрия, отчёт о токе, напряжение батареи и земля
  • Разъёмы — четыре трёхфазных моторных разъёма (J2–J5) и силовые выводы батареи под пайку (J1)
  • Отладка — 10-контактный разъём ARM/JTAG с SWD
  • Прочее — двухконтактный разъём зуммера
  • Питание — батареи 3S–6S (9–25,2 В), предельный расчётный максимум 32 В (это не рекомендуемый режим), понижающий преобразователь TPS54360B, аналоговый стабилизатор TPS7A4701 и мониторинг батареи
  • Размеры — 60 × 48 мм

В документации есть пара важных оговорок. Драйверы DRV8323 используют общие сигналы разрешения, но у каждого свой chip-select по SPI и свой выход неисправности. А токи 40/70 А — проектные цели, а не проверенные значения: длительность импульса не специфицирована, и реальные пределы зависят от охлаждения, температуры окружающей среды и того, как долго держится нагрузка.

Плата BeagleConnect QuadESC, вид сверху

QuadESC, вид сверху.

Плата BeagleConnect QuadESC, вид снизу

QuadESC, вид снизу.

Программная часть#

Прошивать модуль можно штатным загрузчиком BSL из ROM микроконтроллера — обновления прошивки идут по CAN, I2C или UART, без специализированного программатора. Для разработки TI предлагает SDK AM13E2X: драйверы, готовые примеры, конфигуратор SysConfig и материалы по FOC. Отладка — по SWD через отладчик TI XDS110 из Code Composer Studio. Обещана поддержка Zephyr RTOS и OpenOCD, но совместимость придётся проверять под конкретную конфигурацию чипа и платы.

Готовой прошивки нет#

Самое важное, что стоит понять заранее: контроллера «из коробки» не будет. Готовой прошивки для управления моторами нет — код моторного контроля, настройку драйверов, измерение тока и обработку ошибок придётся писать самому. Векторное управление, декодирование DShot, телеметрия и даже детектирование неисправностей нейросетью на ускорителе TinyEngine — всё это целиком зависит от вашей прошивки.

Открытость и цена#

BeagleBoard.org выкладывает полный комплект: аппаратные проекты в KiCad, исходники прошивки и документацию — всё на GitHub. Открытые платформы управления моторами появляются и у больших компаний — Mercedes-Benz, например, недавно открыла исходники своей платформы ARDEP на STM32G474.

Цена и сроки появления QuadESC и Torque в продаже пока не объявлены. Подробности — на странице QuadESC на сайте BeagleBoard.org и на сайте Embed Consult.