BRAZO ROBOT PROGRAMADO EN ARDUINO

Page 1

ARDUINO® Proyecto de

Aplicación

Nombre del Proyecto: __________________________________________ BRAZO ROBOT PROGRAMADO EN ARDUINO

Descripción del proyecto:

CONTROL DE BRAZO ROBOT

EL PROYECTO MUESTRA CÓMO SE CONTROLA UN BRAZO ROBOT DIDÁCTICO CON 4 SERVO MOTORES, A TRAVÉS DE UNA TARJETA ARDUINO UNO, CON BASE EN ESTE PROGRAMA SE PUEDE REPLICAR POSTERIORMENTE. 

Materiales empleados:

Ing. Jovanny Duque

Página 1


ITEM 1 2 3 4 5 

DESCRIPCIÓN Servomotores Eutaba S3003 Cable de conexión de datos Tarjeta - PC Servomotor Tower Pro de 9 Grados Estructura Alta Resistencia en Acrílico (Laminas) Tarjeta Arduino UNO

CANTIDAD 3 1 1 1 1

MONTAJE Y CONECIONES DE ENTRADAS Y SALIDAS

GRADOS DE LIBERTAD: Servo 1 base: 0 - 180°, gira el brazo derecha e izquierda (90° está centrado). Servo 2 hombro: 0 - 180°, mueve el brazo arriba y abajo (90° está centrado arriba) Servo 3 muñeca: 0 - 180°, mueve la muñeca de arriba abajo (90° está centrado) Servo 4 pinza: 60° - 120°, abre y cierra la pinza (a los 90° está a la mitad del recorrido) NOTA: NO PROGRAME LA PINZA PARA FUNCIONAR EN RANGOS POR FUERA DE 60° Y LOS 120°, ESTO OCASIONARÁ DAÑOS EN EL SERVOMOTOR. Dimensiones: Base: 12 cm. X 18 cm. Altura máxima: 36,5 cm. (con el brazo extendido) Peso: 0,250 kg.

CONEXIÓN DE LOS MOTORES CON LA TARJETA – SI SON CONECTADOS DIRECTOS NO DEBEN SER ACCIONADOS MÁS DE UNO AL TIEMPO.

 Código:      

#include <Servo.h> // Esto permite agregar la librería de servomotores de Arduino, gracias a ella ellos serán programados directamente solo con órdenes en grados Servo servo1; // servo1 corresponde a la base Servo servo2; // servo2 corresponde al hombro del brazo Servo servo3; // servo3 corresponde a la muñeca Servo servo4; // servo4 corresponde a la pinza

Ing. Jovanny Duque

Página 2


                                               

int int int int

pos1 = pos2 = pos3 = pos4 =

0; 0; 0; 0;

// // // //

variable variable variable variable

to store to store to store to store

the servo1 the servo2 the servo3 the servo4

position position position position

void setup() // Function inicial, solo se ejecutará al poner en marcha al inicio antes del ciclo continuo (POS INICIAL) { servo1.attach(5); // servo1 base en pin 5 servo1.write(90); delay(1000); servo2.attach(6); // servo2 hombro en pin 6 servo2.write(90); delay(1000); servo3.attach(9); // servo3 muñeca en pin 9 servo3.write(90); delay(1000); servo4.attach(10); // servo4 pinza en pin 10 servo4.write(70); delay(1000); } void loop() // Programa Base, este es el programa que ejecutara continuamente el Brazo, para este caso se ha elegido un ciclo continuo en simulacion de una aplicacion de cadena continua de producción. { for(pos1 = 30; pos1 <= 150; pos1 += 1) // servo1 corresponde a la base inicia pos LH { servo1.write(pos1); // base gira de 30 grados LH hasta 150 grados RH delay(20); } for(pos2 = 90; pos2<=175; pos2+=1) // servo2 corresponde al hombro { servo2.write(pos2); // baja el brazo va de 90 grados (arriba) a 165 grados (abajo) delay(20); } for(pos3 = 90; pos3>=20; pos3-=1) // servo3 corresponde a muñeca { servo3.write(pos3); // baja muñeca de 90 grados (arriba) a 30 grados (abajo) delay(20); } for(pos4 = 70; pos4<=125; pos4+=1) // servo4 corresponde a pinza { servo4.write(pos4); // cierra pinza delay(30); } for(pos3 = 20; pos3<=90; pos3+=1) // servo3 corresponde a muñeca { servo3.write(pos3); // sube muñeca de 30 grados (abajo) a 90 grados (arriba) delay(20); } for(pos2 = 175; pos2>=90; pos2-=1) // servo2 corresponde al hombro

Ing. Jovanny Duque

Página 3


                                   

{ servo2.write(pos2); delay(20);

// sube el brazo va de 165 grados (abajo) hasta 90 grados (arriba)

} for(pos1 = 150; pos1>=30; pos1-=1) // servo1 correspode a la base esta en pos RH { servo1.write(pos1); delay(20);

// base gira de 150 grados RH hasta 30 gados LH

} for(pos2 = 90; pos2<=175; pos2+=1) // servo2 corresponde al hombro { servo2.write(pos2); // baja el brazo va de 90 grados (arriba) a 165 grados (abajo) delay(20); } for(pos3 = 90; pos3>=20; pos3-=1) // servo3 corresponde a muñeca { servo3.write(pos3); // baja muñeca de 90 grados (arriba) a 30 grados (abajo) delay(20); } for(pos4 = 125; pos4>=70; pos4-=1) // servo4 corresponde a pinza { servo4.write(pos4); // abre pinza delay(30); } for(pos3 = 20; pos3<=90; pos3+=1) // servo3 corresponde a muñeca { servo3.write(pos3); // sube muñeca de 30 grados (abajo) a 90 grados (arriba) delay(20); } for(pos2 = 175; pos2>=90; pos2-=1) // servo2 corresponde al hombro { servo2.write(pos2); // sube el brazo va de 165 grados (abajo) hasta 90 grados (arriba) delay(20); // FIN DE SECUENCIA – Al terminar repite el ciclo continuo, simulando una línea de producción continuo en un planta. } }

 

Ing. Jovanny Duque

Página 4


Jóvenes, este material ha sido elaborado con mucho gusto. Si te es útil Regálame un Like, comenta y suscríbete :) (っ◕‿◕) Te invito al CANAL DE YOUTUBE MEKATRONICA

 http://www.youtube.com/c/JovannyDuque?su b_confirmation=1_  Amigos/as en el BLOGG MEKATRONICA J DUKE podrás encontrar cantidad de recursos sobre SOLIDWORKS, HIDRÁULICA ELECTROHIDRÁULICA , NEUMÁTICA, ELECTRONEUMÁTICA, CONTROL, PLC M221, PLC SIEMEMS S7 1200, PLC SIEMENS S7 300 , FLUID SIM FACTORY IO, entre otros 

https://mecatronica-itsa.blogspot.com/

Ing. Jovanny Duque

Página 5


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.