Site icon Embarcados – Sua fonte de informações sobre Sistemas Embarcados

Fazendo seu primeiro projeto com a Beaglebone Blue – acionamento de motores DC

BeagleBone Blue

Muito provavelmente, a grande maioria de hobistas e profissionais em sistemas embarcados já trabalhou ou ouviu falar das placas da linha Beaglebone. Apesar da vasta linha de SBCs (Single-Board Computers) disponível, há uma SBC dedicada para projetos na área de robótica: a Beaglebone Blue.

Figura 1 – Beaglebone blue.

Este artigo irá, além de apresentar as principais características desta placa, mostrar como fazer um pequeno projeto com a Beaglebone Blue em C para controlar motores DC, utilizando a Robotics Cape Library.

Material necessário

Para fazer este experimento será necessário:

Overview do hardware

Abaixo segue um overview do hardware da Beaglebone Blue.

Recursos de hardware

A BeagleBone Blue possui um conjunto de recursos de hardware dedicado para projetos de robótica, indo desde recursos de sensoriamento até controle de motores DC e servo-motores. Observe a figura 2, onde tais recursos de hardware estão em evidência.

Figura 2 – Recursos de hardware da Beaglebone Blue.

SiP (System in-Package)

A BeagleBone Blue utiliza o SiP Octavo Systems OSD3358, o qual possui as seguintes características:

Além disso, se mais memória de armazenamento for necessária em um determinado projeto, é possível utilizar uma imagem para a placa gravada em um SD Card (veja slot do SD Card na figura 3) e, assim, ter-se mais memória disponível. Para baixar as imagens oficiais disponíveis, acesse este link e, para saber como colocá-la no SD Card e fazer a BeagleBone utilizá-la, acesse este outro link.

Figura 3 – slot para SD-Card

Periferia de hardware

Um resumo da periferia de hardware da placa pode ser visto abaixo:

Além disso, possui conectores destinados a:

Conexões / conectores

Uma peculiaridade da BeagleBone Blue é o uso de conectores do tipo JST. Embora não sejam tão comuns entre os hobistas, estes conectores têm como característica serem bem firmes na conexão e por possuírem pequenas dimensões físicas. Como desvantagem, este tipo de conector costuma ser mais caro que os mais convencionais.

Em resumo, apesar de mais caros, o uso de conectores JST para projetos que estão sujeitos à vibração constante (robôs, por exemplo) é uma ótima escolha. Para saber a lista completa dos conectores JST presentes na Beaglebone Blue, acesse este link.

Bibliotecas de software

Uma biblioteca de software feita especialmente para permitir o uso de todos os recursos da placa é a Robotics Cape Library.

Esta biblioteca é totalmente open-source e destinada para desenvolver projetos de robótica em C na BeagleBone Blue (também é possível utilização na BleagleBone Black, desde que nesse caso seja utilizado um shield/cape chamado Robotics Cape). Apesar de já ser parte integrante das imagens mais recentes da Beaglebone Blue, esta biblioteca pode ser obtida neste link (repositório oficial).

Primeiro projeto – acionamento de motor DC

Descrição e montagem

Como primeiro projeto, será feito um controle de velocidade e sentido de rotação de motores DC (um, dois, três ou quatro motores simultâneos). Para isso, será utilizada a Robotics Cape Library.

A montagem é simples e rápida:

Código-fonte

O código-fonte do projeto foi baseado nos exemplos encontrados no repositório da própria biblioteca. O código fonte pode ser visto abaixo. Salve-o com o nome de primeiro_projeto_bbblue.c na sua Beaglebone Blue.

Para compilar, execute o comando abaixo:

E, por fim, para rodar o projeto, execute o comando abaixo.

Para parar o programa, aperte Ctrl + C.

Conclusão

Este artigo apresentou a placa de desenvolvimento Beaglebone Blue, a placa da linha das Beaglebone dedicada à robótica. Dentre suas características, a principal delas é a grande quantidade de periféricos de robótica (sensores, conexões e circuito de controle de motores DC), fazendo com que projetos de robótica desenvolvidos com a Beaglebone Blue não necessitem de muitos circuitos extras / externos.

Além disso, como exemplo de utilização da placa, foi feito um projeto de controle de sentido de rotação e velocidade de até quatro motores DC, utilizando para isso a biblioteca Robotics Cape Library.

Saiba mais

Utilizando motor DC com Arduino UNO e Adafruit Motor Shield v2.3

Controle de servomotores com Arduino e ESP8266

Controle de Motores

Referências