BeagleConnect QuadESC: открытый 4-канальный контроллер BLDC-моторов с ИИ-ускорителем на борту

Перевод статьи 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 — «мозг» всей конструкции.
Характеристики модуля:
- Микроконтроллер — 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-трансивера, а питание он ждёт уже стабилизированное с несущей платы — напрямую от батареи его подключать нельзя.

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

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

Несущая плата 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 А — проектные цели, а не проверенные значения: длительность импульса не специфицирована, и реальные пределы зависят от охлаждения, температуры окружающей среды и того, как долго держится нагрузка.

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.