/
/
Kit Braço Robótico MDF com Arduino

Kit Braço Robótico MDF com Arduino

Sumário

Baixe agora a apostila Arduino Iniciante e comece seus projetos

Compartilhe seu conhecimento e receba em dinheiro ou produtos.

blog-eletrogate-kit-braço-robotico-mdf-com-arduino-capa
9 min

Introdução

Hoje vamos falar sobre o Kit Braço Robótico em MDF. Este kit consiste em todas as peças necessárias para montar um braço robótico genuíno, com dois eixos de controle e uma garra. Todos os movimentos são controlados por 4 servomotores, que não vêm inclusos no kit. Os servos são responsáveis por controlar os movimentos do braço em seus diferentes eixos e a garra. É o produto ideal para que makers, amantes da eletrônica e qualquer pessoa que deseja montar e ter o seu próprio braço robótico. Todas as peças são cortadas à laser, com base em placas de MDF. Foi pensado para ser utilizado em projetos com o Arduino, Pic, ESP e outros microcontroladores. Vamos mostrar como programar o Arduino para controlar o braço de forma satisfatória. Introdução O Braço Robótico MDF é um típico braço mecânico desenvolvido para aplicações de robótica. Feito em MDF de 3mm de espessura e de forma modular e fácil de ser montado, é ideal para projetos de prototipação e validação de sistemas robóticos. Este é o equipamento ideal para ser o primeiro braço robótico de quem está começando no mundo da robótica. As peças são todas cortadas a laser e os parafusos, porcas e demais componentes de montagem(exceto os servos) já vêm todos incluídos no kit. Pode ser montado por qualquer pessoa. Basta seguir o manual de instruções com bastante atenção. Para fazer o download do manual e ver como é feita a montagem, acesse esse link. A figura 1 acima apresenta o braço robótico montado com os 4 servos para controle das suas articulações. A figura 2, logo abaixo, mostra o conjunto de peças que compõem o kit. As peças devem ser cuidadosamente montadas para que o braço funcione corretamente.

Peças para braço robótico. Créditos: Eletrogate

Servos para controle de movimentos

Todas as articulações do Braço Robótico são movimentadas por um conjunto com 4 servomotores TowerPro SG90. Enviando comandos a cada servo, é possível controlar a posição de seu eixo de rotação de forma a controlar as articulações do braço mecânico de forma desejada. As articulações executam movimentos de até 180°. Além de tudo, o braço também conta com uma garra de aproximadamente 60mm para segurar e soltar pequenos objetos.

É comum que projetos em que servomotores são utilizados que os mesmos sejam conectados diretamente ao Arduino. Neste caso, são 4 servos, de forma que é necessário ter uma fonte de alimentação externa, pois o Arduino não é capaz de suprir toda a potência para o conjunto de 4 motores. Vamos utilizar uma fonte de protoboard em nosso projeto, conforme será explicado mais adiante.

Aplicações

As aplicações desse braço robótico em MDF são principalmente:

  • Projetos escolares e de faculdade sobre robótica;
  • Protótipos de produtos e equipamentos que necessitem de um braço robótico;
  • Validação de conceitos e de produtos;
  • Automação de processos simples;
  • Ensino e aprendizado de robótica;

Por ser um braço de bancada, aplicações industriais ou em processos comerciais são mais restritas. Apesar de que é uma ótima ferramenta para validar conceitos e testar algoritmos para braços robóticos mais robustos.

Descrição do Projeto

Neste projeto vamos montar o kit Braço Robótico em MDF e programar um Arduino UNO com uma Sensor Shield V5.0 para controlar os quatro servos do braço. Como o Arduino no USB não fornece potência para todos os servos, vamos utilizar uma fonte externa de 9V para alimentar os servoacionamentos. Com o Arduino, vamos utilizar como software base a aplicação desenvolvida aqui no blog para controlar uma garra robótica. A garra robótica deste outro projeto é diferente da utilizada no braço robótico. Feita em acrílico e vendida apenas como garra (sem componentes maiores como o braço mecânico), a garra é aplicada para segurar e soltar objetos e pode ser afixada em diferentes superfícies. Esse software base utiliza um potenciômetro para ler o sinal comandado pelo usuário e proporcionalmente a esse sinal modula a saída PWM aplicada ao servomotor. Em nosso projeto com o braço mecânico, como são 4 servos, vamos expandir esse projeto para fazer a leitura de 4 potenciômetros, cada um para acionar um dos servos do braço mecânico.

Aspectos de Hardware

Materiais necessários para o projeto do Kit Braço Robótico MDF com Arduino cta_cart Com o manual disponibilizado na parte introdutória não há muito segredo para montar o projeto, basta apenas seguir com atenção as instruções do manual de montagem. Com o braço pronto para ser ligado, temos que fazer a montagem do Arduino para controlar os servos. Veja a figura abaixo:

Aspectos de Software

O nosso software deve fazer a leitura de quatro potenciômetros, cada qual para controlar um servomotor. Assim, no nosso firmware, devemos utilizar quatro canais analógicos para fazer as leituras e quatro canais PWM, cada um para um servomotor diferente. Como são muitos sinais de de controle ligados no mesmo circuito, pode ser que os servos fiquem instáveis devido à ruídos. Principalmente se toda a montagem for feita em uma protoboard ao invés da sensor shield. Certifique de que a protoboard está sendo alimentada pela Sensor Shield pelo 5V e  GND, bem como o VCC e GND de alimentação de cada potenciômetro.

No código abaixo temos a definição dos pinos de leitura, cada um para um potenciômetro, e a declaração de quatro objetos do tipo Servo. Para declarar objetos da classe Servo é preciso incluir a biblioteca Servo.h.

Você também pode conferir o código completo e atualizado visitando o repositório desse post no GitHub da Eletrogate.
// BLOG Eletrogate
// Kit Braço Robótico MDF com Arduino
// https://blog.eletrogate.com/kit-braco-robotico-mdf-com-arduino/
 
 
#define potpin1  2
#define potpin2  3
#define potpin3  4
#define potpin4  5
 
#include <Servo.h>
 
Servo myservoBase;  // Objeto servo para controlar a base
Servo myservoGarra;  //Objeto servo para controlar a garra
Servo myservoAltura; //Objeto servo para controlar a altura do braço
Servo myservoProfundidade; //Objeto servo para profundidade a altura do braço
 
 
int val;    // variable to read the value from the analog pin
 
void setup()
{
  //Associa cada objeto a um pino pwm
  myservoBase.attach(3);
  myservoGarra.attach(5);
  myservoAltura.attach(9);
  myservoProfundidade.attach(11);
}
 
void loop()
{
 
  val = map(analogRead(potpin1), 0, 1023, 0, 179);
  myservoBase.write(val);
 
  val = map(analogRead(potpin2), 0, 1023, 0, 179);
  myservoGarra.write(val);
 
  val = map(analogRead(potpin3), 0, 1023, 0, 179);
  myservoAltura.write(val);
 
  val = map(analogRead(potpin4), 0, 1023, 0, 179);
  myservoProfundidade.write(val);
}

Na função void loop vamos sempre atualizar os valores lidos dos potenciômetros e usá-los como referência para setar a posição de cada servo. Assim, qualquer controle feito no knob de um dos quatro potenciômetros será convertido em uma mudança de posição em um dos quatro servos. Dessa forma podemos controlar separadamente a base do braço, bem como as articulações(altura e profundidade do braço) e a abertura e fechamento da garra.

Repare como nós fazemos a leitura de cada pino analógico diretamente dentro da função map(), já passando o resultado da leitura como argumento da função map().

Considerações Finais

Com o kit Braço Robótico em MDF e quatro micro servos TowerPro SG90 você pode implementar um braço robótico só seu. Um aspecto prático da montagem é o ruído que a montagem no protoboard e possíveis contatos mal fixados podem acarretar. Deixe todas as ligações firmes e verifique se todos os componentes estão bem referenciados ao GND.

Uma dica prática na hora de montar o braço seguindo o manual do fabricante: Nenhum dos parafusos deve ser apertado demais. Como é um conjunto de peças móveis, você deve usar os parafusos apenas para juntar as peças, aplicando o mínimo de força necessário. O mesmo vale para os parafusos usados para prender os "chifres" dos servo motores. Quando esses parafusos ficam muito apertados pode acontecer de até travar o giro do servo. Sendo assim, em todos os parafusos, use o mínimo de força possível, apenas o necessário para deixar as peças fixas.

Sobre o Autor


Vitor Vidal

Engenheiro eletricista, mestrando em eng. elétrica e apaixonado por eletrônica, literatura, tecnologia e ciência. Divide o tempo entre pesquisas na área de sistemas de controle, desenvolvimento de projetos eletrônicos e sua estante de livros.

Hoje vamos falar sobre o Kit Braço Robótico em MDF. Este kit consiste em todas as peças necessárias para montar um braço robótico genuíno, com dois eixos de controle e uma garra. Todos os movimentos são controlados por 4 servomotores, que não vêm inclusos no kit. Os servos são responsáveis por controlar os movimentos do braço em seus diferentes eixos e a garra.

Precisa dos componentes para este projeto?

Encontre tudo na Loja Eletrogate com frete grátis para compras acima de R$ 200

Respostas de 9

    1. Obrigado pelo comentário Kelvin!

      Responde sua dúvida logo acima. Espero que tenha ajudado. Peço desculpas pelos dias de atraso, estávamos com problemas com as notificações.

      Abraços

    1. Bom dia, Kelvin!

      Se os servos estão instáveis, pode ser por conta de os sinais de controle estarem muito ruidosos.

      – Verifique se toda a montagem está bem aterrada(todos os GNDs bem conectados)
      – Como são servos analógicos(a realimentação da posição é dada pelo potenciômetro), é normal eles tremerem um pouco, pois o sinal analógico é vulnerável a interferências e qualquer diferença de posição faz com que o circuito de controle tente corrigir a posição, daí a tremedeira que pode dar.
      – Verifique se a alimentação dos servos é feita por uma fonte de tensão independente do Arduino(lembre-se de conectar os dois GNDs)
      – Certifique que a alimentação dos servos se mantém constante mesmo acionando todos juntos. Em algumas montagens, dependendo da fonte de alimentação, a tensão pode abaixar em 1V ou até mais. essa variação também deixa os servos instáveis. Se a tensão estiver abaixando, o ideal é providenciar uma fonte adequada.

      Se o problema persistir, o idea é medir a saída de cada sinal do arduino com osciloscópio para verificar se estão oscilando. Se sinal de controle de cada servo estiver oscilando isso também causa os movimentos indesejados e “tremedeiras”.

      Obrigado pelo comentário!

    2. Bom dia, Kelvin!
      Se os servos estão instáveis, pode ser por conta de os sinais de controle estarem muito ruidosos.
      – Verifique se toda a montagem está bem aterrada(todos os GNDs bem conectados)
      – Como são servos analógicos(a realimentação da posição é dada pelo potenciômetro), é normal eles tremerem um pouco, pois o sinal analógico é vulnerável a interferências e qualquer diferença de posição faz com que o circuito de controle tente corrigir a posição, daí a tremedeira que pode dar.
      – Verifique se a alimentação dos servos é feita por uma fonte de tensão independente do Arduino(lembre-se de conectar os dois GNDs)
      – Certifique que a alimentação dos servos se mantém constante mesmo acionando todos juntos. Em algumas montagens, dependendo da fonte de alimentação, a tensão pode abaixar em 1V ou até mais. essa variação também deixa os servos instáveis. Se a tensão estiver abaixando, o ideal é providenciar uma fonte adequada.
      Se o problema persistir, o idea é medir a saída de cada sinal do arduino com osciloscópio para verificar se estão oscilando. Se sinal de controle de cada servo estiver oscilando isso também causa os movimentos indesejados e “tremedeiras”.
      Obrigado pelo comentário!

  1. Comprei o braço robótico e não consigo montar, pois não veio com o manual. Entrei em contato e enviaram o manual do braço robótico de acrílico que tem peças diferentes.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *