Un brazo robótico es un tipo de brazo mecánico, normalmente programable, con funciones parecidas a las de un brazo humano; este puede ser la suma total del mecanismo o puede ser parte de un robot más complejo. Las partes de estos manipuladores o brazos son interconectadas a través de articulaciones que permiten, tanto un movimiento rotacional (tales como los de un robot articulado), como un movimiento traslacional o desplazamiento lineal
Video de demostración.
Materiales.
Los materiales para realizar el mini-Brazo son los siguientes:
- 1 Arduino Uno
- 4 Servo-motores
- 1 Mini-proto
- 1 Batería de 9 volts junto con su cable conector
- 4 Potenciometros (o solo 2 y 1 joystick)
- 1 Cable de conexión USB
- 1 Carcasa para el mini-brazo
- Grupo de jumpers (para el joystick se necesitarán del tipo macho-hembra)
Funcionamiento del servomotor.
Un servomotor (también llamado servo) es un dispositivo similar a un motor de corriente continua que tiene la capacidad de ubicarse en cualquier posición dentro de su rango de operación, y mantenerse estable en dicha posición. Un servomotor es un motor eléctrico que puede ser controlado tanto en velocidad como en posición. Es posible modificar un servomotor para obtener un motor de corriente continua que, si bien ya no tiene la capacidad de control del servo, conserva la fuerza, velocidad y baja inercia que caracteriza a estos dispositivos.
Aquí se muestra un diagrama del funcionamiento interior del servomotor.
Los servomotores no gira su eje 360º (aunque ahora hay algunos que si lo permiten), como los motores normales, solo giran 180º hacia la izquierda o hacia la derecha (ida y retorno). Gracias a esto, con los servomotores podemos crear toda clase movimientos de una forma controlada, por ejemplo en robótica para el control del movimiento del brazo de un robot o en los sistemas de radio control. La mayoría de los servomotores que se utilizan son de corriente continua, pero también existen en corriente alterna.
Para más información de los servomotores, en este link encontrarán su información básica.
http://www.areatecnologia.com/electricidad/servomotor.html
Diagrama en Fritzing y armado.
En este diagrama, se muestra como debe ir implementado el circuito para controlar el brazo, es necesario considerar que los servomotores, por protección al arduino, se deben alimentar con una batería aparte que no sea la misma con la que se alimenta el arduino, solo los pines de señal debes estar conectados al arduino pues son los que mandan los pulsos a la tarjeta dentro del servomotor. Los potenciómetros tienes 3 pines de conexión, el pin derecho se alimenta de 5 volts, el pin izquierdo a tierra, el pin central es el que va conectado a los pines analógicos. Los pines de señal de cada servomotor a controlar se conectarán a los pines 2, 4, 7 y 8 respectivamente, se pueden usar los pines PWM, pero no serán necesarios pues se usará una librería ya instalada e importada en el ambiente de programación de arduino.
Aqui esta el driagrama en Fritzing.
diagrama mini-Brazo
Aquí se muestra como estaría conectado finalmente y armado para su programación y prueba de funcionamiento.
Código para controlar el mini-brazo robótico.
A continuación, se muestra el código para el control del arduino, donde se muestra la librería de para el servomotor. Se crean las variables, las cuales son del tipo servo, pin de la señal para el servo, pin para el potenciometro, variable de lectura del estado del potenciometro, y del ángulo para el mapeo entre la lectura y los 180 grados del servomotor. Estas variables y estados se repiten 4 veces para controlar cada servomotor del brazo robótico.
Código:
[code language=»java»]
#include <Servo.h>
Servo servo1;
int pinservo1=2;
int pot1=A0;
int estado1;
int angulo1;
Servo servo2;
int pinservo2=4;
int pot2=A1;
int estado2;
int angulo2;
Servo servo3;
int pinservo3=7;
int pot3=A2;
int estado3;
int angulo3;
Servo servo4;
int pinservo4=8;
int pot4=A3;
int estado4;
int angulo4;
void setup()
{
servo1.attach(pinservo1);
servo2.attach(pinservo2);
servo3.attach(pinservo3);
servo4.attach(pinservo4);
pinMode(pot1,INPUT);
pinMode(pot2,INPUT);
pinMode(pot3,INPUT);
pinMode(pot4,INPUT);
}
void loop()
{
estado1=analogRead(pot1);
estado2=analogRead(pot2);
estado3=analogRead(pot3);
estado4=analogRead(pot4);
angulo1=map(estado1,0,1024,0,180);
angulo2=map(estado2,0,1024,0,180);
angulo3=map(estado3,0,1024,0,180);
angulo4=map(estado4,0,1024,0,180);
servo1.write(angulo1);
servo2.write(angulo2);
servo3.write(angulo3);
servo4.write(angulo4);
}
[/code]
Prueba del mini-brazo robótico.
A continuación se muestra el video de prueba donde el brazo funciona correctamente, puede llegar a llevar una carcasa diferente, pero el control de cada servo-motor es el mismo.
[serious-slider id=339]
1 comentario
GreenYellow Daniel
La evolución tecnológica logra grandes como la implementación del servomotor, logrando da más opciones en la robotica.