INSTITUTO TECNOLGICO DE PACHUCA
CATEDRA: ARQUITECTURA DE COMPUTADORAS
CATEDRATICO: CARRASCO LOPEZ J. CRUZ ENRIQUE
BANDA TRANSPORTADORAPRACTICA NMERO 2RUIZ HERNNDEZ HCTOR JESS
07200972 GONZALEZ JUAREZ LAURO HERNAN 08200131 RUANO ZAPATA FCO
SURIEL 08200323 MARTIN MARTIN MIGUEL 08200212
CICLO ESCOLAR AGOSTO DICIEMBRE 2011
BANDA TRASPORTADORA CONTROLADA POR UN PICOBJETIVO: Realizar una
banda transportadora controlada con un pic, que junto con unos
sensores determine el tamao de un objeto (chico, mediano, grande) y
lo separe por medio de actuadores.
MARCO TERICO: Una banda transportadora es un sistema de
transporte continuo formado bsicamente por una banda continua que
se mueve entre dos tambores. La banda es arrastrada por friccin por
uno de los tambores, que a su vez es accionado por un motor. El
otro tambor suele girar libre, sin ningn tipo de accionamiento, y
su funcin es servir de retorno a la banda. La banda es soportada
por rodillos entre los dos tambores. La cinta transportadora cuenta
con sensores infrarrojos que mandan una seal al pic 16F877A
indicando el tamao del objeto que pasa por este y unos actuadores
elctricos realizan la separacin de los mismos (chico o mediano),
pero cuando es un objeto grande, se dirige al final de la banda. No
obstante el circuito realiza un conteo de los objetos y muestra en
un display la cantidad de objetos que pasan por la banda, en otras
palabras cuenta los objetos chicos, medianos y grandes por
separados, e indica a que compuerta le corresponde a este. Los
sensores infrarrojos estn compuestos por leds IR, fototransistores,
resistencias y un amplificador operacional LM324, su funcin es que
cuando el led IR enva un haz de luz al fototransistor, este se
excita y hace que el amp-op (en modo de seguidor de voltaje) enve
un 0 lgico a su salida, pero si se corta la seal del led IR, el
amp-op enva un 1 lgico.
Los 0s y 1s de los sensores son recibidos por el puerto A del
pic, el puerto D controla a los actuadores, el puerto C a los
motores de la banda y el puerto B al display para mostrar el conteo
de los objetos. Para poder polarizar los actuadores para que se
cierren y abran, se utiliza un puente H, en este caso se utilizo el
circuito integrado L293D (tambin para controlar los motores que
mueven la banda) cuya funcin es que cuando recibe un 1 lgico en una
de sus entradas, da salida a una corriente ya sea de 7 a 36 volts
para mover los motores. Tabla de verdad para un canal Input
Enable(*) Output H H H L H L H L Z L L Z
Nota: La seal de control ENABLE1 activa la pareja de canales
formada por los drivers 1 y 2. La seal ENABLE2 activa la pareja de
drivers 3 y 4. Las salidas OUTPUTN se asocian con las
correspondientes INPUTN. Las seales de salida son amplificadas
respecto a las de entrada tanto en tensin (+Vss, +Vs) como en
corriente (mx. 1 A).
DESARROLLO: Siguiendo el siguiente esquema, es como se va a
realizar el armado fsico de la prctica.
Si se quiere proteger el circuito contra posibles picos de
corriente inversa cuando se arranca el motor, se recomienda
conectar unos diodos tal y como se muestra en el esquema.
Materiales: Para el circuito: Pic 16f877a. 2 L293D. LM324. L7805.
Display LCD de 16x2. 2 motores DC a 12 volts. 2 actuadores de
seguro para auto. Cristal de cuarzo de 4 Mhz. 2 capacitores de 22
pF. Capacitor de 1000 uF a 35 volts. Capacitor de 470 nF a 250
volts. 4 Leds infrarojos de largo alcance. 4 Fototransistores. 27
diodos 1N4007. Resistencia de 1K. 4 resistencias de 22 K. 4
resistencias de 120. Resisitencia de 10 a 2 watts. Push botton de
cuatro terminales. Programa// BANDA TRANSPORTADORA QUE CLASIFICA
OBJETOS POR 2 TAMAOS (CHICO O GRANDE) #include // Pic a utilizar
#use delay(clock=4000000) // Cristal a utilizar #fuses
xt,nowdt,put,nolvp,noprotect #include // Libreria para utilizar LCD
por el puerto B #use fast_io (B) /* Este programa permite que
atraves de una banda transportadora, por medio de sensores
infrarojos, determina si el objeto que pasa a travez de este es
pequeo o grande y segun su tamao, los clasifica. Tambien manda un
mensaje a un display donde se muestra un conteo de los objetos por
su tamao, y tambien indica a que direccion se dirige. En caso de
que no haya objetos la banda se detiene. */
void main (void) { int c,m,g; setup_adc_ports(NO_ANALOGS);
set_tris_a(15); set_tris_c(0); set_tris_d(0); output_c(0);
output_d(0); lcd_init(); // Inicia LCD lcd_putc(" ING. SIS. COM.
\n"); // Imprime texto lcd_putc("ARQ/COMPUTADORAS"); // Imprime
texto delay_ms(1000); // Retardo en milisegundos lcd_putc("\f"); //
Limpia pantalla lcd_gotoxy(2,1); lcd_putc("C:"); // Objeto pequeo
(C:) lcd_gotoxy(2,2); lcd_putc("M:"); // Objeto mediano (M:)
lcd_gotoxy(10,1); lcd_putc("G:"); // Objeto grande (G:)
lcd_gotoxy(10,2); lcd_putc("P:"); // Compuerta (P:)
lcd_gotoxy(8,1); lcd_putc("|"); lcd_gotoxy(8,2); lcd_putc("|");
c=0; // El contador inicializa en 0 (c, m, g) m=0; g=0; while (1) {
//*****************************Limpiar sectores especificos de la
pantalla*********************************************
lcd_gotoxy(1,1); lcd_putc(" "); lcd_gotoxy(1,2); lcd_putc(" ");
lcd_gotoxy(9,1); lcd_putc(" "); lcd_gotoxy(13,2); lcd_putc(" ");
//****************************************************************************************************************************
if(input(pin_a0)==1 && input(pin_a1)==0 ) // Cuando pasa un
objeto pequeo va hacia la primera compuerta { lcd_gotoxy(1,1);
lcd_putc(">"); lcd_gotoxy(14,2); lcd_putc("1"); output_c(5);
output_d(9); delay_ms(800); output_c(0); output_d(0); if(c==100) {
lcd_gotoxy(4,1); lcd_putc(" "); c=0; lcd_gotoxy(4,1);
printf(lcd_putc,"%2i",c); } lcd_gotoxy(4,1); c=c+1;
printf(lcd_putc,"%2i",c); } else { if(input(pin_a0)==1 &&
input(pin_a1)==1 ) // Cuando pasa un objeto mediano o grande sigue
avanzando { output_c(5); output_d(10); delay_ms(300); output_c(0);
output_d(0); } else { if(input(pin_a2)==1 &&
input(pin_a3)==0 ) // Cuando pasa un objeto mediano va hacia la
segunda compuerta { lcd_gotoxy(1,2); lcd_putc(">");
lcd_gotoxy(14,2); lcd_putc("2"); output_c(5); output_d(6);
delay_ms(800); output_c(0); output_d(0); if(m==100) {
lcd_gotoxy(4,2); lcd_putc(" "); m=0; lcd_gotoxy(4,2);
printf(lcd_putc,"%2i",m); } lcd_gotoxy(4,2); m=m+1;
printf(lcd_putc,"%2i",m);
} else { if(input(pin_a2)==1 && input(pin_a3)==1 ) //
Cuando pasa un objeto grande va hacia el final de la banda {
lcd_gotoxy(9,1); lcd_putc(">"); lcd_gotoxy(14,2); lcd_putc("3");
output_c(5); output_d(10); delay_ms(500); output_c(0); output_d(0);
if(g==100) { lcd_gotoxy(12,1); lcd_putc(" "); g=0;
lcd_gotoxy(12,1); printf(lcd_putc,"%2i",g); } lcd_gotoxy(12,1);
g=g+1; printf(lcd_putc,"%2i",g); } else { output_c(0);
output_d(10); delay_ms(100); output_d(0); } } } } } // Fin de While
} // Fin de programa
Nota: La librera lcd_LIB2.c se encuentra en la misma carpeta que
contiene el programa y la simulacin. Despus de realizar el programa
y que este compilado, se procede a la simulacin.
Debido a que no se pueden simular los sensores, se utiliza un
dip switch para generar las salidas de 0s y 1s de los sensores que
identificaran los objetos que pasan a travs de ellos.
Una vez que la simulacin est terminada y muestre que el programa
funciona, se lleva a cabo el armado del circuito, no obstante, el
programa debe estar cargado en el pic para que funcione el
circuito. CONFIGURACIN DE LOS PINES DE CADA COMPONENTE
L293D
LM324N
Despus del armado del circuito, se procede a disear la maqueta
de la banda transportadora y por ultimo su ensamble.
En el diseo de los rodillos se utilizo tubo de cobre de media
pulgada, en un extremo de los tubos tienen tuercas pegadas dentro
del tubo para sostenerlos con tornillos y en el otro extremo se
sujeta a los motores. Se usaron valeros para mejorar el giro de los
rodillos. La banda se hizo de tela y para evitar que la banda se
pandee se puso una tabla lisa que disminuye la friccin entre ambas.
Las zonas sombreadas de anaranjado son rejillas que permiten
acomodar el objeto que pase por la banda. Para la maqueta se
reciclo madera de desecho de una carpintera, se pueden utilizar
diferentes materiales que den una estructura solida al prototipo a
escala.
FOTOS DE LA PRACTICA ARMADA Y FUNCIONANDO
Los capacitores de 1000 uf, 220 uf y 470 nf se utilizan para
limpiar los risos generados por la fuente de energa. Se utilizan 2
fuentes de energa para alimentar el circuito debido a que una sola
no tiene la suficiente corriente para abastecer a todos los
componentes. Para proteger al pic se ponen diodos en sus puertos
que se conectan al L293D, ya que estos se alimentan con voltajes
que pueden daar al pic. Los L293D tienen disipadores de calor ya
que se calienta demasiado.
ACTIVIDADES REALIZADAS POR LOS INTEGRANTES DEL EQUIPO
RUIZ HERNNDEZ HCTOR JESS:
Programacin Diseo de circuito Diseo de maqueta Armado de
maqueta
GONZALEZ JUAREZ LAURO HERNAN Programacin Diseo de circuito
Armado de circuito Armado de maqueta RUANO ZAPATA FCO SURIEL Compra
de materiales Diseo de maqueta Armado de maqueta Realizacin de
pruebas MARTIN MARTIN MIGUEL Compra de materiales Diseo de maqueta
Armado de maqueta Realizacin de pruebas
CONCLUSIONES: Mediante esta prctica se observ cmo controlar
motores mediante un pic para que mueva objetos, tambin se comprendi
el uso de los sensores IR ya que tiene varias aplicaciones como
sensores de movimiento para activar alarmas, para detectar objetos
cercanos, para contar los pisos por los que pasa un ascensor, medir
la cantidad de un liquido con la ayuda de un flotador, etc.
BIBLIOGRAFIA: Sensor Infrarrojo Pic 16F87X Cinta transportadora
Driver push-pull de 4 canales