Какой лучший микроконтроллер для робототехники в 2020 году?

Создано: 3 Декабря, 2020
Обновлено: 1 Июля, 2024

 

Робототехника - это одна из тех невероятно интересных областей, которая объединяет принципы дизайна из множества дисциплин. Примеры включают машинное обучение/ИИ, вычисления на периферии, компьютерное зрение, управление двигателями, слияние датчиков, беспроводную связь и многое другое. В сердце всех этих приложений находится МК (микроконтроллер), SoC, FPGA или другой вычислительный блок, а также прошивка, которая заставляет его работать.

 

Если вы только начинаете проектировать системы робототехники и хотите использовать МК, вы, вероятно, начали искать лучший МК для приложений робототехники. Не существует единственного МК, который был бы объективно лучшим для каждой системы робототехники, но определенные спецификации более важны для разных типов роботов. Давайте рассмотрим некоторые общие МК для малых роботов и какие спецификации вам следует учитывать при выборе МК.

Поиск лучшего МК для робототехники

Хотя не существует единственного лучшего МК для робототехники, определенные МК будут лучше для разных типов роботов. Все зависит от соответствия спецификаций МК требованиям системы или подсистемы. Прежде чем выбрать МК для вашего приложения, вам следует задать себе некоторые из следующих вопросов:

  • Система-мастер или подсистема? Если вы проектируете простого робота с ограниченным количеством датчиков и периферии, одного МК будет достаточно. Вы также можете использовать одноплатный компьютер (SBC) (Raspberry Pi и BeagleBone являются популярными выборами). Если вы проектируете главную часть системы робототехники, использование SBC может быть проще, а подсистемы могут использовать меньшие МК.

 

  • Необходимое количество входов/выходов и интерфейсы. В зависимости от того, как вы хотите, чтобы ваш МК общался с периферийными устройствами или управлениями двигателями в вашем роботе, вам нужно будет проверить его количество входов/выходов и доступные интерфейсы низкой/высокой скорости.

 

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

 

  • SDK и поддержка разработчиков. Вам нужно будет программировать ваш МК, поэтому любой выбранный вами компонент должен иметь доступный SDK от производителя. Никогда не помешает купить плату разработчика и протестировать ваше приложение во время разработки.

 

  • Беспроводные возможности. Вашему роботу может потребоваться взаимодействие с более крупной сетью по WiFi, Bluetooth, LoRaWAN или другому протоколу. Некоторые МК включают интегрированные передатчики, необходимые для работы с этими и другими протоколами.

 

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

 

Микроконтроллер ESP32 от Espressif является отличным выбором для более простых робототехнических систем (на фото плата разработки).

Не так много компонентов специально рекламируются для использования в робототехнике, в основном потому, что отрасль все еще развивается. Однако микроконтроллеры и другие процессоры, предназначенные для использования в автомобильной промышленности или промышленной автоматизации, идеально подходят для использования в робототехнике. Компоненты для этих приложений создаются с высокими стандартами надежности и включают функции безопасности, которые идеально подходят для робототехнических систем.

MCU против FPGA против MPU против GPU для робототехники

Если вы не разрабатываете относительно простого робота с ограниченным количеством датчиков или подсистем, вы не будете использовать один MCU для управления вашей системой. Другие MCU будут задействованы для управления и обработки данных различных подсистем. Если вы разрабатываете всю систему, а не только подсистему, вам нужно будет выбрать основной MCU для приема данных от других подсистем и выполнения функций командования и контроля. Для коммерчески жизнеспособных приложений возможно, что вы вообще не будете использовать MCU; они просто не предлагают требуемой вычислительной мощности.

 

На основе SRAM или Flash FPGA являются одной из альтернатив MCU, поскольку их все еще можно перепрограммировать по мере необходимости через внешний коммуникационный порт. FPGA также имеют высокое количество входов/выходов и быстрые тактовые частоты, что делает их хорошим выбором для высокоуровневой обработки данных, полученных от других подсистем. К примеру, Xilinx разработала линейку FPGA специально для робототехники, хотя они имеют высокую цену и лучше всего подходят для высокоуровневой обработки и управления.

 

Компонент Xilinx XC7Z030-1FBG676C был специально разработан для робототехнических систем. Этот компонент включает в себя множество высокоскоростных интерфейсов (CSI, PCIe, DDR) и работает на частоте до 1 ГГц.

Еще одна отличная альтернатива FPGA или MCU для высокоуровневой вычислительной мощности - использование MPU, таких как линия процессоров Sitara от Texas Instruments. Линейка Sitara включает в себя ряд вариантов, которые обеспечивают высокоуровневую вычислительную мощность, необходимую для сложных робототехнических систем. MPU этой линии работают на частоте до 1,5 ГГц и включают в себя множество высокоскоростных интерфейсов, которые вы ожидаете увидеть в одноплатном компьютере. Они также стоят дешевле, чем сопоставимые FPGA.

 

Модуль-компьютер для AM3352BZCZ080 от Texas Instruments.

Еще одним вариантом для обработки данных в подсистемах робототехники является GPU, особенно для интеграции компьютерного зрения и приложений машинного обучения/ИИ. На мой взгляд, платформа Jetson от NIVIDIA занимает лидирующее место в этой области и уже популярна в сообществе создателей для приложений ИИ, связанных с компьютерным зрением (идентификация объектов, сегментация изображений, отслеживание объектов и т. д.). Также существует множество поддержки от сообщества с открытым исходным кодом, чтобы помочь дизайнерам начать работу с платформой Jetson.

Другие компоненты для робототехники

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

 

По мере созревания робототехнической индустрии и выделения определенных приложений, скорее всего, вы увидите ряд не-FPGA-базированных SoC, выпущенных крупными производителями компонентов. По мере выпуска новых SoC для робототехники, Octopart будет помогать вам находить и покупать необходимые компоненты.

 

Если вы ищете лучший MCU для робототехники или любые другие компоненты, необходимые для систем робототехники, попробуйте использовать расширенный поиск и функции фильтрации на Octopart, чтобы найти необходимые компоненты. Поисковая система электронных компонентов Octopart предлагает вам полное решение для поиска электроники и управления цепочкой поставок, и вы можете легко фильтровать результаты поиска по жизненному циклу, спецификациям и цене. Посмотрите нашу страницу с интегральными схемами для обеспечения мощности обработки, необходимой вашим роботам.

 

Оставайтесь в курсе наших последних статей, подписавшись на нашу рассылку.

Связанные ресурсы

Вернуться на главную
Thank you, you are now subscribed to updates.