Está en la página 1de 5

Desarrollo de un AGV 1

Proyecto AGV - avances


Poot Uuh, José Fernando.
5688@itescam.edu.mx
Instituto Tecnologico Superior de Calkiní en el Estado de Campeche

 máquina y la trayectoria teórica que debería


Resumen—El AGV o Automatic Guided Vehicle por sus describir. La precisión determina, por tanto, la
singlas en inglés sirven para suministrar materiales en repetitividad en el recorrido y en las maniobras. Está
determinados lugares que anteriormente han sido establecidos
por medio de la programación. Nuestro Proyecto consiste en
altamente relacionada con las tolerancias
realizar uno para que pueda pasar por diferentes puntos geométricas entre el AGV, la geometría de la carga y
cumpliendo alguna función. Se observarán los materiales y la geometría de las posiciones de carga y descarga.
pasos a seguir para cumplir con este avance. Fiabilidad:
La fiabilidad es la probabilidad de que el AGV
Índice de Términos— AGV, función, funcione correctamente durante un periodo de
Programación, Proyecto, tiempo correspondiente a la vida útil de la máquina
bajo las condiciones de trabajo específicas
requeridas por la instalación [1] (Ruiz Herraiz,
2015).
I. INTRODUCCIÓN
El proyecto de la asignatura Laboratorio de Sistemas
integrado de manufactura consiste en realizar un B. Objetivos
carro AGV unido a un brazo robótico a fin poder Realizar un carro AGV unido a un brazo robótico
llevar algún material de una posición a otra. para transporte de algún material.
Este documento pretende mostrar la primera parte Investigar sobre la creación de los carros AGV y
del proyecto que se enfoca en el carro AGV. Por brazos robóticos.
tanto visualizaremos los materiales, pasos y Comprender el funcionamiento de cada elemento.
programación utilizada para conseguirlo.
C. Idea del proyecto
Se pretende realizar un carro para transportar
II. FASE I: PREPARACIÓN Y PLANEACIÓN algún material a algún determinado lugar, esto por
medio de líneas.
A. Antecedentes
Cadencia de transporte:
III. FASE II: DISEÑO E IMPLEMENTACIÓN
La cadencia de transporte del AGV es el número A. Diseño
de transportes que el AGV puede realizar por unidad
Al ser el avance del proyecto se especificará solo
de tiempo. En su definición intervienen la velocidad
lo relacionado al AGV.
máxima del vehículo, la trayectoria del recorrido, la Es un vehículo con forma de rectángulo, guiado
distancia del recorrido y los tiempos de carga y por sensores, motoreductores y líneas en suelo. La
descarga del AGV. programación será realizada con ayuda del arduino.
Precisión:
La precisión del AGV la determina la diferencia
longitudinal entre la trayectoria real que describe la Figura 1. Controles Lógicos programables.

Laboratorio de Sistema integrado de manufactura


Desarrollo de un AGV 2

Análisis de resultados Programación de los


sensores
#include <QTRSensors.h>
irectly under sensor 5 or was
QTRSensors qtr;
const uint8_t SensorCount = 8;
uint16_t sensorValues[SensorCount];
figura 1. modelo en SolidWorks void setup()
{
qtr.setTypeRC();
qtr.setSensorPins((const
Con ayuda de tornillos unimos la base del uint8_t[]){22,23,24,25,26,27,28,29}, SensorCount);
AGV (acrílico) a los motoreductores. Así también la qtr.setEmitterPin(2);
rueda loca pero en este caso por el lado contrario. delay(500);
Colocamos las pilas en el portapilas para pinMode(LED_BUILTIN, OUTPUT);
ubicarlo después el de 1 A en la parte de atrás y el digitalWrite(LED_BUILTIN, HIGH);
de 2A en la parte de enfrente. Asi también for (uint16_t i = 0; i < 400; i++)
aseguramos la placa de arduino en medio. {
Para la conexión de encendido y apagado al qtr.calibrate();
pin tierra del arduino conectamos el cable negativo }
del portapila con 1A, para que el cable sobrante se digitalWrite(LED_BUILTIN, LOW);
dirija al botón de switch y este vaya al pin de 5v del Serial.begin(9600);
arduino. for (uint8_t i = 0; i < SensorCount; i++)
Soldamos el puente H en la placa fenólica {
para empezar con la conexión de los motores. Así Serial.print(qtr.calibrationOn.minimum[i]);
pues se concretó guiándonos de la hoja de datos del Serial.print(' ');
LM2398. De esta forma: }
El pin negativo de alimentación del Serial.println();
puente H se conecta a la tierra del porta pila de 2A y for (uint8_t i = 0; i < SensorCount; i++)
el cable sobrante se dirije al pin positivo. {
Ahora para los sensores. Utilizando pines Serial.print(qtr.calibrationOn.maximum[i]);
digitales del arduino (22 hasta el 29) conecatamos a Serial.print(' ');
ello las señales de los sensores. Ahora hacemos las }
conexiones correspondientes para la regleta de Serial.println();
sensores. Para conectar los sensores usamos el Serial.println();
esquema de conexión 11x1 de la regleta QTR8. delay(1000);
Conectamos los pines de señal de los 8 }
sensores en el arduino, utilizando pines digitales,
desde el pin 22 hasta el pin void loop()
De la barra de sensores, su tierra y voltaje se {
conectaron a los del arduino, teniendo en cuanta su uint16_t position =
distancia de 3mm hasta el suelo a fin poder detectar qtr.readLineBlack(sensorValues);
las líneas que servirán de guía. for (uint8_t i = 0; i < SensorCount; i++)
{
Serial.print(sensorValues[i]);
B. Protocolo de pruebas Serial.print('\t');
Debido a la unión de sensores y motores las }
pruebas en el código no están del toda completas. Serial.println(position);

Laboratorio de Sistema integrado de manufactura


Desarrollo de un AGV 3

delay(250);
}

Programación de los motores


#define E1 5 // Enable Pin for motor 1
#define I1 6 // Control pin 1 for motor 1
#define I2 7 // Control pin 2 for motor 1
void setup()
{
for (int i = 8 ; i<11 ; i++) //
Inicializamos los pines
pinMode( i, OUTPUT); figura 3 cuerpo interno del AGV
}
void loop()
{ digitalWrite(E1, HIGH); // Activamos
Motor1
digitalWrite(I1, HIGH); // Arrancamos
digitalWrite(I2, LOW);
delay(3000);
digitalWrite(E1, LOW); // Paramos
Motor 1
delay(1000); figura 4 conexión con los sensores
digitalWrite(E1, HIGH); // Activamos
Motor1
digitalWrite(I1, LOW); // Arrancamos
con cambio de direccion
IV. CONCLUSIONES
digitalWrite(I2, HIGH);
delay(3000); Lo documentado es el avance del proyecto de la
digitalWrite(E1, LOW); // Paramos asignatura es decir, que pretendemos conseguir su
Motor 1 unión con un brazo robótico a final semestre y junto
delay(1000); a ello comprender el enigma de su función y fusión a
} otros elementos.
C.
REFERENCIAS
Utilizar el formato APA para las referencias (utilizar sangría francesa, se
Hemos logrado ensamblar los materiales al AGV, sin embargo ordenan en forma ascendente alfabéticamente). Algunos ejemplos son muestran
de los motores y los sensores han sido programados por a continuación:
separado haciendo falta unirlos. Cabe mencionar que al ser la
primera parte se estima que el colocar el brazo pueda [1] Rius Ricard, Inicial. (2015). Diseño de una instalacion de trasnporte
Robotizado tipo AGV para el transporte de botellas paletizadas..
complementar la unión. ETSEIB
.

Autores
José Fernando Estudiante de Ingeniería Mecatrónica en el
ITESCAM y actualmente está en el octavo semestre.

figura 2 conexión del puente al arduino

Laboratorio de Sistema integrado de manufactura


Desarrollo de un AGV 4

ANEXO
Programación de los sensores
#include <QTRSensors.h>
irectly under sensor 5 or was
QTRSensors qtr;
const uint8_t SensorCount = 8;
uint16_t sensorValues[SensorCount];
void setup()
{
qtr.setTypeRC();
qtr.setSensorPins((const uint8_t[]){22,23,24,25,26,27,28,29}, SensorCount);
qtr.setEmitterPin(2);
delay(500);
pinMode(LED_BUILTIN, OUTPUT);
digitalWrite(LED_BUILTIN, HIGH);
for (uint16_t i = 0; i < 400; i++)
{
qtr.calibrate();
}
digitalWrite(LED_BUILTIN, LOW);
Serial.begin(9600);
for (uint8_t i = 0; i < SensorCount; i++)
{
Serial.print(qtr.calibrationOn.minimum[i]);
Serial.print(' ');
}
Serial.println();
for (uint8_t i = 0; i < SensorCount; i++)
{
Serial.print(qtr.calibrationOn.maximum[i]);
Serial.print(' ');
}
Serial.println();
Serial.println();
delay(1000);
}

void loop()
{
uint16_t position = qtr.readLineBlack(sensorValues);
for (uint8_t i = 0; i < SensorCount; i++)
{
Serial.print(sensorValues[i]);
Serial.print('\t');
}
Serial.println(position);

delay(250);
}

Laboratorio de Sistema integrado de manufactura


Desarrollo de un AGV 5

Programación de los motores


#define E1 5 // Enable Pin for motor 1
#define I1 6 // Control pin 1 for motor 1
#define I2 7 // Control pin 2 for motor 1
void setup()
{
for (int i = 8 ; i<11 ; i++) // Inicializamos los pines
pinMode( i, OUTPUT);
}
void loop()
{ digitalWrite(E1, HIGH); // Activamos Motor1
digitalWrite(I1, HIGH); // Arrancamos
digitalWrite(I2, LOW);
delay(3000);
digitalWrite(E1, LOW); // Paramos Motor 1
delay(1000);
digitalWrite(E1, HIGH); // Activamos Motor1
digitalWrite(I1, LOW); // Arrancamos con cambio de direccion
digitalWrite(I2, HIGH);
delay(3000);
digitalWrite(E1, LOW); // Paramos Motor 1
delay(1000);
}

figura 5 vista lateral de la estructura interna del AGV

https://drive.google.com/open?id=1MySoGZnZaDPV_XeOe4L-dGP4Rfkv-MfC

Laboratorio de Sistema integrado de manufactura

También podría gustarte