A robótica é uma daquelas áreas incrivelmente interessantes que funde princípios de design de múltiplas disciplinas. Exemplos incluem aprendizado de máquina/IA, computação de borda, visão computacional, controle de motores, fusão de sensores, comunicação sem fio e muito mais. No coração de todas essas aplicações está uma MCU, SoC, FPGA ou outra unidade de processamento, bem como o firmware que a faz funcionar.
Se você está apenas começando a projetar sistemas de robótica e quer seguir o caminho da MCU, provavelmente começou a procurar pela melhor MCU para aplicações em robótica. Não existe uma única MCU que seja objetivamente a melhor para todo sistema de robótica, mas certas especificações são mais importantes em diferentes tipos de robôs. Vamos olhar para algumas das MCUs comuns para robôs menores e quais especificações você deve observar ao selecionar uma MCU.
Embora não exista uma única melhor MCU para robótica, certas MCUs serão melhores para diferentes tipos de robôs. Tudo depende de combinar as especificações da MCU com os requisitos do sistema ou subsistema. Antes de selecionar uma MCU para sua aplicação, você deve se fazer algumas das seguintes perguntas:
Sistema principal ou subsistema? Se você está projetando um robô simples com sensores e periféricos limitados, uma única MCU fará o trabalho. Você também poderia usar um computador de placa única (SBC) (Raspberry Pi e BeagleBone são escolhas populares). Se você está projetando a parte principal de um sistema de robótica, pode ser mais fácil usar um SBC, e os subsistemas podem usar MCUs menores.
Contagem de I/O necessária e interfaces. Dependendo de como você quer que sua MCU comunique com periféricos ou controles de motor no seu robô, você precisará verificar sua contagem de I/O e interfaces de baixa/alta velocidade disponíveis.
Velocidade do clock. Isso se torna mais importante à medida que seu robô precisa processar mais dados no dispositivo. Atualmente, dispositivos embutidos só executam cálculos simples no dispositivo; o resto é executado em um ambiente de nuvem. Modelos simples de ML poderiam ser executados com uma MCU rápida, mas você obtém mais recursos de computação se usar algo mais poderoso (veja abaixo).
SDK e suporte ao desenvolvedor. Você precisará programar sua MCU, então qualquer componente que escolher deve ter um SDK disponível pelo fabricante. Nunca é demais comprar uma placa de desenvolvimento e testar sua aplicação durante o desenvolvimento.
Capacidades sem fio. Seu robô pode precisar se conectar a uma rede maior via WiFi, Bluetooth, LoRaWAN ou outro protocolo. Algumas MCUs incluem transceptores integrados necessários para operar nesses e outros protocolos.
Existe uma gama de MCUs que satisfazem algumas ou todas as exigências acima, muitas das quais oferecem diferentes níveis de suporte ao desenvolvedor (tanto do fabricante quanto da comunidade de código aberto). Arduino é, sem dúvida, a linha mais popular de placas MCU para robôs mais simples. Uma placa Arduino ou uma placa de desenvolvimento para sua MCU específica é um bom ponto de partida para desenvolver sua aplicação enquanto você projeta seu hardware personalizado.
O ESP32 MCU da Espressif é uma excelente opção para sistemas de robótica mais simples (placa de desenvolvimento mostrada aqui).
Não são muitos os componentes especificamente anunciados para uso em robótica, principalmente porque a indústria ainda está crescendo. No entanto, MCUs e outros processadores comercializados para uso automotivo ou automação industrial são ideais para uso em robótica. Componentes para essas aplicações são construídos com altos padrões de confiabilidade e incluem recursos de segurança ideais para sistemas de robótica.
A menos que você esteja projetando um robô relativamente simples com um número limitado de sensores ou subsistemas, você não usará um único MCU para controlar seu sistema. Outros MCUs estarão envolvidos em fornecer controle e poder de processamento para vários subsistemas. Se você está projetando um sistema inteiro, em vez de apenas um subsistema, precisará escolher um MCU mestre para receber dados de outros subsistemas e fornecer funções de comando e controle. Para aplicações comercialmente viáveis, é possível que você não use um MCU; eles simplesmente não oferecem o poder de computação necessário.
Os FPGAs baseados em SRAM ou Flash são uma alternativa aos MCUs, pois ainda podem ser reprogramados conforme necessário através de uma porta de comunicação externa. FPGAs também têm uma alta contagem de I/O e relógios rápidos, tornando-os uma boa escolha para o processamento de alto nível de dados recebidos de outros subsistemas. Como exemplo, a Xilinx desenvolveu uma linha de FPGAs especificamente para robótica, embora estes tenham um preço elevado e sejam melhores usados para processamento e controle de alto nível.
O Xilinx XC7Z030-1FBG676C foi projetado especificamente para sistemas de robótica. Este componente inclui múltiplas interfaces de alta velocidade (CSI, PCIe, DDR) e opera até 1 GHz.
Outra ótima alternativa a um FPGA ou MCU para poder de processamento de alto nível é usar um MPU, como a linha de processadores Sitara da Texas Instruments. A linha Sitara inclui uma gama de opções que fornecem o poder de processamento de alto nível necessário para sistemas de robótica complexos. Os MPUs desta linha operam até 1,5 GHz e incluem múltiplas interfaces de alta velocidade que você esperaria ver em um computador de placa única. Eles também têm um preço mais baixo do que FPGAs comparáveis.
Computador em módulo para o AM3352BZCZ080 da Texas Instruments.
Uma outra opção para poder de processamento em subsistemas de robótica é uma GPU, especialmente para integrar visão computacional e aplicações de aprendizado de máquina/IA. Na minha opinião, a plataforma Jetson da NIVIDIA ocupa o primeiro lugar nesta área e já é popular na comunidade maker para aplicações de IA envolvendo visão computacional (identificação de objetos, segmentação de imagens, rastreamento de objetos, etc.). Há também bastante suporte de desenvolvedores da comunidade de código aberto para ajudar os designers a começar com a plataforma Jetson.
Qualquer robô exigirá uma gama de subsistemas para possibilitar tudo, desde regulação de energia até comunicações sem fio. Aqui estão alguns outros componentes que você provavelmente precisará em subsistemas para robôs grandes e pequenos:
À medida que a indústria de robótica amadurece e certas aplicações começam a se tornar proeminentes, é provável que você veja uma gama de SoCs baseados em não-FPGA lançados por grandes fabricantes de componentes. À medida que novos SoCs para robótica são lançados, a Octopart estará aqui para ajudá-lo a encontrar e comprar os componentes de que você precisa.
Se você está procurando o melhor MCU para robótica ou qualquer outro componente necessário para sistemas de robótica, tente usar os recursos avançados de busca e filtragem na Octopart para encontrar os componentes de que você precisa. O motor de busca de peças eletrônicas da Octopart oferece uma solução completa de sourcing eletrônico e gestão da cadeia de suprimentos, e você pode facilmente filtrar os resultados da busca por ciclo de vida, especificações e preço. Confira nossa página de circuitos integrados para obter a potência de processamento que seus robôs precisam.
Mantenha-se atualizado com nossos últimos artigos inscrevendo-se em nossa newsletter.