Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Informe Del Proyecto
Informe Del Proyecto
SEDE LATACUNGA
MECATRÓNICA BÁSICA
TEMA:
“DISEÑO Y CONSTRUCCIÓN DE UN SISTEMA MECATRÓNICO PARA
CLASIFICAR BOTONES POR COLORES”
CARRERA:
Ingeniería Mecatrónica
ESTUDIANTES:
Hidalgo Andres
Jácome Bayron
Laines Jhonatan
DOCENTE:
Ing. Marco Singaña
PERIODO
Mayo 2021- Septiembre 2021
CONTENIDO
1. TEMA DE LA PRÁCTICA .................................................................................................................... 3
2. OBJETIVOS ....................................................................................................................................... 3
OBJETIVO GENERAL................................................................................................................................. 3
OBJETIVOS ESPECÍFICOS ......................................................................................................................... 3
3. RESUMEN ........................................................................................................................................ 3
4. MARCO TEORICO ............................................................................................................................ 3
SERVOMOTOR DC ................................................................................................................................... 3
Figura 1: Servomotor SG90. .................................................................................................................... 4
¿PARA QUE SIRVE UN SERVOMOTOR? ................................................................................................... 4
PARTES DE UN SERVOMOTOR ................................................................................................................ 4
Figura 2: Partes de un servomotor. ........................................................................................................ 4
USOS DE UN SERVOMOTOR .................................................................................................................... 5
ARDUINO UNO ........................................................................................................................................ 5
Figura 3: Arduino Uno y sus partes. ........................................................................................................ 5
¿COMO SE UTILIZA EL PWM PARA CONTROLAR SERVOMOTORES? ...................................................... 6
Figura 5: Ancho de pulso......................................................................................................................... 7
5. EQUIPOS Y MATERIALES ................................................................................................................. 9
Tabla 1: Equipos y materiales usados en el laboratorio ........................................................................ 11
6. DESARROLLO Y CONSTRUCCIÓN DEL PROYECTO.......................................................................... 11
PARTE 1: MECÁNICA ............................................................................................................................. 12
PARTE 2: ELECTRÓNICA......................................................................................................................... 15
PARTE 2: CONTROL ............................................................................................................................... 16
7. RESULTADOS OBTENIDOS ............................................................................................................. 23
8. EXPLICACIÓN DEL FUNCIONAMIENTO .......................................................................................... 23
9. CONCLUSIONES ............................................................................................................................. 24
10. RECOMENDACIONES ................................................................................................................. 24
11. BIBLIOGRAFÍA ........................................................................................................................... 24
12. ANEXOS ..................................................................................................................................... 25
1. TEMA DEL PROYECTO
Diseño y construcción de un sistema mecatrónico básico para la clasificación de
botones por colores.
2. OBJETIVOS
OBJETIVO GENERAL
• Diseñar y construir un sistema mecatrónico para la clasificación de botones por
colores, implementando sistemas mecánicos, eléctricos y de control.
OBJETIVOS ESPECÍFICOS
• Determinar las características y funcionamiento básico del actuador y sensor a
implementar y acondicionar.
• Brindar una máquina para el aseguramiento de la calidad, de un costo accesible
para los pequeños productores.
• Investigar el impacto que puede tener el sistema mecatrónico que se desarrolló
en la sociedad.
3. RESUMEN
El presente proyecto fue realizado con la finalidad de brindar una ayuda a la sociedad, el
sistema mecatrónico construido se basa en clasificar objetos que tengan como máximo un
diámetro de 1.5 cm, en este caso se clasifica botones, el sistema de clasificación se lo hace por
colores, en la mayor parte donde se pueden encontrar estos objetos se los clasifica manualmente
por lo que el trabajador realiza tareas repetitivas creando fatiga dentro de las líneas de
producción lo cual resulta en todo un reto para mantener el desempeño y asegurar la calidad de
trabajo. La automatización de tareas dentro de la industria ayuda a mejorar la eficiencia y
eficacia de un sistema de manufactura, actualmente existen distintas máquinas automáticas de
sistemas de clasificación por colores, por lo tanto, no son muy accesibles por su precio, es por
eso el diseño y control automático de la maquina propuesta. La construcción se compone de
tres partes: mecánica, electrónica y control, cada una será detallada más adelante.
4. MARCO TEORICO
SERVOMOTOR DC
PARTES DE UN SERVOMOTOR
USOS DE UN SERVOMOTOR
Este es un dispositivo que para el caso de los servomotores industriales es empleado en el zoom
de la cámara de fotos, robótica, impresoras para el control del retroceso y avance del papel,
robots industriales, sistemas de conducción, máquinas de herramientas, coches radiocontrol,
timones de aviones, etc. En un sistema de seguimiento solar permiten el movimiento de los
paneles solares según sea la dirección del sol. En las máquinas de troquelado, fresadoras,
tornos, etc. (Carrillo O., 2021)
ARDUINO UNO
• IOREF (Input Output Reference): Pin de alimentación para ubicar el estado alto de los pines
digitales.
• RESET: Reinicia el Arduino a través del bootloader en consecuencia, ejecuta de nuevo el
programa que haya sido cargado con anterioridad.
• Pines de entrada analógica A0-A5 rojo fuerte: Entrada analógica, se encarga de leer valores
de tensión de 0 a 5 voltios en resolución de 1024 lo que equivale a 10 bits.
• ICSP (In Chip Serial Programmer): Se encarga del acceso a la memoria del programa AVR
Flash sin usar el puerto USB.
• Pines digitales 0-13: Estas terminales de I/O tienen ciertas restricciones TX-RX para los pines
0 y 1, entradas PWM (Modulación por ancho de pulso) en 3, 5, 6, 9, 19 y 11. El resto no tienen
restricción.
• USB (Universal Serial Bus): Se utiliza tanto para alimentación, además, comunicación en
serie para la placa y ordenador, subir el programa.
La señal de servocontrol típica tiene un período de 20 ms, mientras que el ancho de pulso varía
de 1 ms a 2 ms, desde la posición mínima a la máxima de servo. (Solectroshop.com, 2021)
Figura 4: Ancho de pulso. (Solectroshop.com, 2021)
Al estar distribuidos uniformemente sobre el chip, estos fotodiodos captan la luz, filtran
los colores, y generan una salida de señal de onda cuadrada cuyo ancho de pulso indica
la información sobre la intensidad del rojo (R = red: rojo), verde (G = green: verde) y
azul (B = blue: azul).
Material: PLA
Material: Plástico
Material: PLA
Soporte de la Pieza que va empotrada a la
1 resbaladera y al servomotor
resbaladera
inferior.
Material: PLA
Material: Plástico
1 Placa de pruebas
Protoboard
El modelado es el principio para empezar cualquier diseño, ya que nos ayuda a realizar un
prototipo para posterior realizar la construcción y no tener fallas en las dimensiones, se empezó
con el diseño de la estructura dimensionando donde se colocan los servomotores el sensor y
luego se diseñó las diferentes piezas mencionadas en la tabla de materiales.
Las dimensiones de todo el prototipo en general son 18 cm de altura, 22 cm de largo y 20 cm
de ancho.
Luego se procede a imprimir en 3D el diseño:
Gráfico 9: Impresión en 3D
A pesar de que estamos en la parte mecánica ya es necesario montar los dos servomotores ya
que se tienen que montar las piezas en las mismas, el procedimiento de montaje es el
siguiente:
1. Corresponde a la estructura.
2. Es el lugar donde se tiene que empotrar el sensor de colores.
3. Es el lugar donde se tiene que empotrar el servomotor superior y el servomotor
inferior.
4. Es la base donde va montada toda la estructura.
5. La plataforma deslizante que va empotrada en el tercer nivel de la estructura.
6. La resbaladera que va empotrada al servomotor inferior.
7. La plataforma giratoria que estará sobre la plataforma deslizante y además estará
empotrada al servomotor superior.
8. El tubo que se introducirá en el orificio como se observa en el gráfico.
9. El soporte que va empotrada ala resbaladera y al servomotor inferior, que nos ayudara
a dar un ángulo de inclinación.
Gráfico 12: Ensamble de la parte mecánica
PARTE ELECTRÓNICA
En la parte del diseño electrónico es donde se hace uso de los actuadores y el sensor además
se necesita de una placa de arduino (Uno, Nano, etc.) y un protoboard.
Se debe conectar los componentes juntos de acuerdo con el siguiente esquema de circuito.
Como se observa en la imagen los cables de los servomotores y del sensor lo sacamos por la
parte de atrás hacia la placa de arduino y el protoboard.
Ya se ha implementado la parte mecánica como la electrónica, ahora se procede a la última
etapa, la de control.
PARTE DE CONTROL
En esta parte se empieza explicando sobre la programación del sensor de color y se tiene que
tener las siguientes consideraciones:
void loop() {
digitalWrite(S2,LOW); // establece fotodiodos
digitalWrite(S3,LOW); // con filtro rojo
int rojo = pulseIn(salidaTCS, LOW); // obtiene duracion de pulso de salida del sensor
delay(200); // demora de 200 mseg
if ( rojo < 105 && verde > 150 && azul > 120){ // si valores dentro del rango
Serial.println("ROJO"); // muestra texto
}
else if ( verde < 200 && rojo > 110 && azul > 130){ // si valores dentro del rango
Serial.println("VERDE"); // muestra texto
}
else if ( azul < 80 && rojo > 70 && verde > 80){
Serial.println("BLANCO");
}
}
Son los valores de las lecturas de los fotodiodos rojos, verdes y azules respectivamente.
Cada vez que coloquemos un color diferente frente al sensor estos valores tienden a cambiar y
según esos valores realizamos la programación.
Explicado esto, procedemos a implementar la programación completa con los dos
servomotores:
#include <Servo.h> //Biblioteca del servomotor
//Pines en los que se conecto el sensor de color
#define S0 2
#define S1 3
#define S2 4
#define S3 5
#define sensorOut 6
//Declaramos variables
Servo HigherServo; //Servo superior
Servo LowerServo; //Servo inferior
int frequency = 0;
int color=0;
void setup() {
//Definimos los pines de entrada y salida
pinMode(S0, OUTPUT);
pinMode(S1, OUTPUT);
pinMode(S2, OUTPUT);
pinMode(S3, OUTPUT);
pinMode(sensorOut, INPUT);
// Establecemos la escala de frecuencia al 20% (recomendado)
digitalWrite(S0, HIGH);
digitalWrite(S1, LOW);
HigherServo.attach(7); //attach nos permite agregar a un pin de Arduino para conectarle un
servomotor
LowerServo.attach(8);
Serial.begin(9600); // inicializa monitor serie o imprime los resultados de la lectura del sensor
de color
}
//Seccion del bucle
//Se empieza moviendo el servomotor superior
void loop() {
HigherServo.write(110);//Escribirá la instrucción para colocar el servo a 110 grados
delay(500);
//Usamos un bucle for giramos 110 grados hasta la posicion del sensor de color, despues de un
tiempo gira 35 grados hasta llegar a la rampa
for(int i = 110; i > 35; i--) {
HigherServo.write(i); //Usamos el for para controlar la velocidad de rotacion, cambiando el
tiempo de retardo en el bucle
delay(2);
}
delay(3000); //Tiempo en el que se esta sensando el boton
color = readColor(); //declaramos una funcion llamada color para leer el color del boton
delay(10);
//switch ... case controla el flujo del programa permitiendo que los programas especifiquen un
código diferente que debe ser ejecutado en distintas condiciones.
//En particular, una sentencia switch compara el valor de una variable con los valores
especificados en las instrucciones case.
//La palabra reservada break interrumpe la sentencia switch, y se usa normalmente al final de
cada declaración case.
switch (color) {
case 1:
LowerServo.write(45);
break;
case 2:
LowerServo.write(65);
break;
case 3:
LowerServo.write(85);
break;
case 4:
LowerServo.write(110);
break;
case 5:
LowerServo.write(135);
break;
case 0:
break;
}
delay(300);
//Giramos el servomotor superior hasta que caiga el boton
for(int i = 35; i > 12; i--) { // Desplazamos al ángulo correspondiente
HigherServo.write(i);
delay(2);
}
delay(200);
//Una vez cae el boton se regresa el servomotor superior a la posicion inicial y asi el proceso
se repite continuamente
for(int i = 12; i < 110; i++) {
HigherServo.write(i);
delay(2);
}
color=0;
}
// Leemos el color del boton
//El sensor lee tres valores diferentes (R=Red, B=blue, G=Green)
int readColor() {
// Fotodiodos rojos
digitalWrite(S2, LOW);
digitalWrite(S3, LOW);
// Leemos la frecuencia de salida
frequency = pulseIn(sensorOut, LOW);
int R = frequency;
// Imprimimos el valor en el monitor serie
Serial.print("R= ");
Serial.print(frequency);//Imprimimos la frecuencia del valor rojo
Serial.print(" ");
delay(50);
// Fotodiodos verdes
digitalWrite(S2, HIGH);
digitalWrite(S3, HIGH);
Serial.print("G= ");
Serial.print(frequency);
Serial.print(" ");
delay(50);
// Fotodiodos azules
digitalWrite(S2, LOW);
digitalWrite(S3, HIGH);
Serial.print("B= ");
Serial.print(frequency);
Serial.println(" ");
delay(50);
if(R<80 & R>60 & G<95 & G>80){
color = 1; // Rojo
}
if(G<80 & G>50 & B<75 &B>30){
color = 2; // Amarillo
}
if(B<80 & B>50 & G<120 &G>90){
color = 3; // Azul
}
if(R<140 & R>100 & B<115 & B>70){
color = 4; // Verde
}
9. CONCLUSIONES
• El proceso de clasificación de botones usando la maquina diseñada es más
eficiente que clasificarlo manualmente.
• El eje del servomotor es capaz de llegar alrededor de los 180 grados, es decir va
de los 0 grados a los 180 grados.
• El acondicionamiento del sensor RGB facilita el reconocimiento de varios
colores dependiendo de los parámetros asignados pero un detalle que se pone
en consideración es tratar de exponer lo menos posible a la luz ambiental al
sensor, ya que este trabaja mejor en algo de obscuridad y así los leds que lo
acompañan por defecto, tienen mejor lectura de los parámetros.
• En el caso de llegar a implementarse este prototipo en alguna escala industrial,
se necesita de un mejor sensor RGB que obviamente, tiene precios más
elevados. Además de que se podría implementar más herramientas que se
aprenderán en niveles superiores con el fin de obtener mejores resultados.
10. RECOMENDACIONES
• Revisar el estado de los elementos con los cuales se realizara la construcción
del diseño.
• Realizar el diseño en cualquier software de diseño, para dimensionar
correctamente las medidas, y no tener problemas al momento de la construcción.
• Utilizar materiales que no sean tan costosos y de ser posible que sean materiales
reciclables.
• Calibrar correctamente los valores de las lecturas de los colores, ya que el sensor
es muy inestable.
11. BIBLIOGRAFÍA
12. ANEXOS