No post de hoje vamos mostrar como montar e usar a Garra Robótica 2DOF em alumínio com Arduino, um item interessante para projetos que envolvam manipulação de objetos.

A base é de ferro e o kit contém a furação padrão para uso com grande parte dos servo motores disponíveis atualmente:

Kit Garra Robótica 2DOF - Detalhe peças

O kit acompanha parafusos, acopladores, porcas e arruelas para montagem.

Lista de material

Neste projeto vamos usar o material abaixo, para criar um circuito de controle da garra robótica por meio de potenciômetros:

Um detalhe importante é o uso de uma fonte de alimentação dedicada para os servo motores. Para isso usamos uma Fonte Ajustável para Protoboard com fonte de alimentação de 12V/1A, que foi suficiente para os testes.

Montagem da parte mecânica

A montagem da parte mecânica da garra robótica demanda um pouco de trabalho, então separe uma chave philips e um alicate de bico, que foram as duas ferramentas que usamos aqui.

É importante seguir a sequência de montagem mostrada a seguir, para evitar retrabalho. Na montagem da base (suporte pan/tilt), por exemplo, o servo motor é uma das últimas coisas que vamos parafusar no suporte.

Instalando o motor na garra de alumínio

Para encaixar o motor na garra de alumínio você vai precisar de um acoplador e 7 parafusos (4 para prender o motor na garra, 1 para prender o acoplador no eixo do motor e 2 para prender a garra no acoplador).

Encaixe o motor conforme a imagem abaixo, prenda com 4 parafusos no suporte e em seguida coloque o acoplador e um parafuso para prender o acoplador no eixo (clique nas imagens para ampliar):

Detalhe instalação motor garra

Depois disso, use 2 parafusos para prender o acoplador no braço da garra.

Aqui é interessante deixar o eixo do motor em uma posição intermediária para evitar forçar as engrenagens quando alimentar os motores e começar o controle pelo Arduino.

Montagem da base (suporte pan/tilt)

Na montagem da base vamos primeiro montar a peça abaixo, com os parafusos sendo colocados de dentro para fora. No lado direito você pode ver o suporte em L que depois vamos conectar na garra de alumínio.

Já no lado esquerdo, coloque o “rolamento” que acompanha o conjunto preso com um parafuso e uma porca.

Detalhe Rolamento e suporte em L

Feito isso, parafuse a peça na garra, conforme imagem abaixo. Optamos por colocar os parafusos de dentro para fora também:

Detalhe conexão base garra

Agora sim podemos colocar o servo motor no suporte. Primeiro encaixe um dos acopladores e parafuse-o no eixo do motor:

Detalhe acoplador Servo Motor

Em seguida, encaixe e parafuse o motor na base conforme a imagem abaixo:

Garra Robótica - Encaixe motor base

Finalmente, encaixe o suporte em “U”:

Encaixe do U - Base

Na nossa montagem prendemos o suporte em “U” em uma base de madeira, onde ele permanece em uma posição fixa, mas o suporte possui furação para encaixe de mais um servo motor, caso você queira controlar a rotação também.

Circuito Garra Robótica com Arduino

Depois da montagem, creio que essa seja a parte mais tranquila dos testes, com a conexão dos potenciômetros e dos motores no Arduino Uno.

Como comentamos anteriormente, estamos usando, para os servo motores, alimentação separada, então CUIDADO para não inverter nada no circuito.

Circuito Garra Robótica com Arduino Uno

No circuito utilizamos potenciômetros de 10K mas você pode usar outros valores, como 1K, 5K, etc.

Na fonte de alimentação para protoboard, não se esqueça de checar os jumpers para que estejam posicionados em 5 VDC, que é a tensão de alimentação dos servo motores.

Programa controle garra robótica

O programa de controle da garra robótica com Arduino é baseado naquele usado no post Como Usar um Servo Motor com Arduino, com algumas alterações para incluir um segundo servo.

Os valores lidos dos potenciômetros através das portas analógicas são convertidos através de comandos map() e movimentam o servo motor correspondente.

Nos comandos map() que usamos (linhas 33 e 44) os números finais correspondem ao ângulo de movimentação do servo motor, para a base por exemplo usamos valores entre 0 e 119 e para a garra valores entre 0 e 78.

Talvez seja necessário alterar esses valores, de acordo com o tipo de montagem que você fez, ok?

//Programa: Controle de garra robotica com Arduino
//Autor: Arduino e Cia

#include <Servo.h>

Servo myservo_base;
Servo myservo_garra;

//Pinos analogicos dos potenciometros
int potpin_base = A0;
int potpin_garra = A2;

//Variavei para armazenamento dos valores dos potenciometros
int val_base;
int val_garra;

void setup()
{
  Serial.begin(9600);
  //Define que o servo da base esta ligado na porta 5
  myservo_base.attach(5);

  //Define que o servo da garra esta ligado na porta 7
  myservo_garra.attach(7);
}

void loop()
{
  //Leitura do valor do potenciometro da base
  val_base = analogRead(potpin_base);

  //Converte o valor pra ser usado no servo (valores entre 0 e 180)
  val_base = map(val_base, 0, 1023, 0, 119);

  //Move o eixo do servo, de acordo com o angulo
  myservo_base.write(val_base);
  
  delay(10);

  //Leitura do valor do potenciometro da garra
  val_garra = analogRead(potpin_garra);

  //Converte o valor pra ser usado no servo (valores entre 0 e 180)
  val_garra = map(val_garra, 0, 1023, 0, 78);

  //Move o eixo do servo, de acordo com o angulo
  myservo_garra.write(val_garra);

  delay(10);
}

Você pode alterar esse programa facilmente, se desejar colocar mais um servo motor para controlar a rotação da base.

Gostou? Confira outros posts usando Arduino aqui mesmo no Arduino e Cia!

4.7/5 - (3 votes)