INSTITUTO UNIVERSITARIO DEL ESTADO
DE MÉXICO
ESCUELA PROFESIONAL DE INGENIERÍA
INDUSTRIAL Y DE SISTEMAS
901-7CS
NOMBRE DE LA ASIGNATURA:
MAQUINAS Y AUTOMATIZACION
FACILITADOR:
I.M. ALEJANDRO VALENCIA ANGELES
NOMBRE DE LA ACTIVIDAD:
PROYECTO FINAL
ALUMNO:
ALAN DAVID ROJO HERNANDEZ
CUATRIMESTRE
SEPTIEMBRE 2021- DICIEMBRE 2021
El propósito de este proyecto es utilizar los distintos tipos de piezas mecánicas,
tales como levas, engranes, etc., con la finalidad de armar un mecanismo en donde
se incluyan estas mismas.
Mi propuesta es ensamblar un brazo de acrílico:
Que es accionado mediante servomotores electrónicos, y automatizar un proceso
con algún controlador, en este caso Arduino, basado en lenguaje C para la
programación del mismo.
Para comenzar necesitamos el diseño de las piezas para el armazón del brazo,
basándome en la siguiente imagen.
Como me fue imposible conseguir el archivo para AutoCAD o SolidWorks, importe
la imagen para hacerlo en un archivo nuevo de AutoCAD.
La finalidad de tener un archivo con extensión .DWG es para Importarlo en
SolidWorks y así poder generar un código GM para poder llevarlo a un taller de
corte con láser, y obtener las piezas de una lámina de acrílico.
El siguiente paso es extruir las piezas para comenzar el ensamble en modelo 3D en
AutoCAD o SolidWorks y comenzar el ensamble físico.
Para la parte automatizada, es necesario controlar los servomotores mediante
Arduino uno, e implementar un control manual del brazo robotico, mediante una
app de Android que funcione mediante bluetooth, a continuación se adjunta el
código de Arduino
Materiales Utilizados:
• Arduino UNO
• Fuente externa 5 VCD
• Modulo Bluetooth para ARDUINO HC-06
• Protoboard
• Jumpers de conexión
• Servomotores sg90
• Laptop
• Acrílico
• Tornillos con tuerca 1/8”
• Loctite
Código Arduino:
#include <SoftwareSerial.h> // TX RX software library
for bluetooth
#include <Servo.h> // servo library
Servo myservo1, myservo2, myservo3, myservo4; //
servo name
int bluetoothTx = 10; // bluetooth tx to 10 pin
int bluetoothRx = 11; // bluetooth rx to 11 pin
SoftwareSerial bluetooth(bluetoothTx, bluetoothRx);
void setup()
{
myservo1.attach(3); // attach servo signal wire to pin 9
myservo2.attach(5);
myservo3.attach(6);
myservo4.attach(9);
//Setup usb serial connection to computer
Serial.begin(9600);
//Setup Bluetooth serial connection to android
bluetooth.begin(9600);
}
void loop()
{
//Read from bluetooth and write to usb serial
if(bluetooth.available()>= 2 )
{
unsigned int servopos = bluetooth.read();
unsigned int servopos1 = bluetooth.read();
unsigned int realservo = (servopos1 *256) +
servopos;
Serial.println(realservo);
if (realservo >= 1000 && realservo <1180) {
int servo1 = realservo;
servo1 = map(servo1, 1000, 1180, 0, 180);
myservo1.write(servo1);
Serial.println("Servo 1 ON");
delay(10);
}
if (realservo >= 2000 && realservo <2180) {
int servo2 = realservo;
servo2 = map(servo2, 2000, 2180, 0, 180);
myservo2.write(servo2);
Serial.println("Servo 2 ON");
delay(10);
}
if (realservo >= 3000 && realservo <3180) {
int servo3 = realservo;
servo3 = map(servo3, 3000, 3180, 0, 180);
myservo3.write(servo3);
Serial.println("Servo 3 ON");
delay(10);
}
if (realservo >= 4000 && realservo <4180) {
int servo4 = realservo;
servo4 = map(servo4, 4000, 4180, 0, 180);
myservo4.write(servo4);
Serial.println("Servo 4 ON");
delay(10);
}
}
}
Pasos de ensamblaje
Posteriormete que se corto en acrilico, se procede a armar el chasis del robot,
colocando los servomotores en estado cero, para poder identificar los grados de
giro:
Ya armado el chasis procedemos a la conexión de los
servomotores, a la Protoboard para su alimentación y a
la Arduino para su control:
Se instala la aplicación para Android y asi poder controlar el giro de los
servomotores:
Posteriormente la programación se carga a la tarjeta Arduino: y se procede a realizar
pruebas:
Video de Funcionamiento:
https://youtu.be/5ant-k_QqkQ
Conclusiones:
Pudimos desarrollar desde cero la estructura y el armado del Brazo robotico, como
se menciona desde el principio, tiene 3 grados de libertad, en el video se observa
que los servomotores no giran con la velocidad correcta, esto se debe a que mi
fuente de alimentación, no suministra la corriente suficiente para los 3 servomotores.
Me gustaría poder implementar este brazo a un sistema de separación mediante
colores, pero de manera automática.