Carro Seguidor De Linea
Enviado por dash25 • 3 de Junio de 2014 • 664 Palabras (3 Páginas) • 453 Visitas
INTITUTO TECNOLOGICO DE ESTUDIOS SUPERIORES DE OCCIDENTE
FUNDAMENTOS DE MICROPROCESADORES
PROYECTO FINAL
Carro seguidor de línea
Roberto Escalante
Ana Karen Castañeda
Jin Chao
Ulises Horta
Objetivo:
Diseñar un carro electromecánico que siga una línea de color negro.
Material:
• 2 motores a paso
• 8 transistores tip41c
• 8 transistores 2n3904
• 2 sensores CNY70
• Micro 89s52
• Resistencias
• Leds
• Material del carro
• 2 protos
• 1 dipswich
• 8 diodos in4004
Desarrollo:
Primeramente para poder realizar este proyecto se necesitó saber cuál era el funcionamiento del carro, posteriormente investigar los sensores que utilizaríamos y saber cómo funcionaban y como se conectaban y también revisar y saber cuál era la secuencia de activación cada una de las bobinas de los motores a paso, ya teniendo esto listo dimos paso a realizar el esquemático que se ocuparía para el proyecto, en esta parte hubo varias propuestas pero se optó por utilizar una etapa de potencia con transistores tip41c que se necesitó ser reforzada con una configuración Darlington para obtener la secuencia de activación esperada, ya teniendo el código para el micro se dio paso a checar el funcionamiento de carro donde se llevó bastante tiempo para dejarlo en funcionamiento correcto debido a complicaciones de hardware y software pero finalmente quedo listo para su revisión.
Diagrama de Flujo:
Código:
ORG 0000H
LJMP INICIO ; nos manda al parte princiapl del programa
ORG 0003H ; vector de interrupccion INT0
LJMP INTERRU
ORG 0030H ; salta vectores de interrupccion
/* Programa principal*/
INICIO: SETB IE.7 ; acticacion genereal de interrupccion
SETB IE.0 ; activacion de INT0
LOOP: SJMP LOOP
INTERRU: CLR IE0 ; borarar bandera de interrupccion externa 0
/* lectura de sensores*/
LEER: MOV A,P0
CJNE A,#03H,NEXT
LJMP APAGAR
NEXT: CJNE A,#02H,NEXT2
LJMP ACTIVAUNO
NEXT2:CJNE A,#01H,NEXT3
LJMP ACTIVADOS
NEXT3:CJNE A,#00H,LEER
LJMP ACTIVAR
LJMP LEER
RETI
/* nos manda a la subrutina para detener los 2 motores */
APAGAR: ACALL DETENER
LJMP LEER
/* nos manda a la secuencia de activacion del motor 1*/
ACTIVAUNO:ACALL MOTORUNO
LJMP
...