28/11/2011
ESPE
ROBOT SEGUIDOR DE LINEA CONTINUA Y DESTREZA COMPLETA
MICROCONTROLADORES | CRISTINA ARISTIZABAL/NATHALY TINAJERO/NICOLAS VIVAR
TEMA Robot seguidor de línea continua y destreza completa.
OBJETIVOS OBJETIVO GENERAL:
Diseñar un carro seguidor de línea continua y entrecortada por medio del pic 16F877A en lenguaje ensamblador.
OBJETIVOS ESPECIFICOS:
Realizar un programa utilizando el pic 16F877A que permita controlar la velocidad y sentido de giro de dos motores de (corriente continua / paso a paso) en función de la información entregada por los sensores. Acoplar las señales de control con las de potencia para que el circuito pueda funcionar correctamente Crear un diseño en donde se acople un soporte que contenga los moto res, las llantas, los sensores y el pic, desarrollando así un carro. Colocar los sensores cny70 en una posición correcta dentro del soporte para que lea la línea y que el carro no se encuentre fuera de lugar.
MARCO TEORICO: L293D
El integrado L293D incluye 4 circuitos par manejar cargas de potencia media, en especial pequeños motores y cargas inductivas, con la capacidad de controlar corriente hasta 600mA en cada circuito y una tensión entre 4.5v a 36v. Los circuitos individuales se pueden usar de manera independiente para controlar cargas de todo tipo y en el caso de ser motores, manejar un único sentido de giro .Cualquiera de estos 4 circuitos sirve para configurar la mitad del puente H. El integrado permite formar 2 puentes H complejos, con los que se puede realizar el manejo de dos motores. El manejo será bidireccional con frenado rápido y con posibilidad de implementar fácilmente control de velocidad. Alimentación,, patillas 4, 5, 8, 12,13 y 16. Alimentación Patillas 4,5,12 y 13 Todas ellas conectadas a masa (GND), poco que explicar.
Entrada de alimentación de motores (Vm). Patilla 8 Entrada Patilla 16 Entrada de alimentación del propio L293D (Ve).
Puente H nº1, patillas 1,2,3,6 y 7. Patilla 1 (EN1) [enable1], si recibe un 1 lógico (5V aprox) habilita las salidas out1 y out2,
caso contrario ambas patillas quedarían bloqueadas. Patillas 2 y 3 (in1 y out1) , si in1 recibe un 1 lógico, la patilla out1 se comportará como suministradora de alimentación de motores (Vm) y en caso de recibir un 0 lógico se comportará como masa (GND). Patillas 6 y 7 (in2 y out2) , comportamiento idéntico a in1 y out1. Puente nº2, patillas 9, 10, 11,14 y 15.
Funcionamiento idéntico a las patillas del puente H nº1
JP1
¿Que es JP1 y para qué sirve?... bien, JP1 es un puente o jumper, al cerrarlo con un conector específicamente fabricado para ello ambas puntas hacen contacto por lo que en nuestro circuito todas las pistas de alimentación están unidas lo que significa que tanto los motores como el propio L293D funcionan con la misma alimentación. En caso de quitar
dicho conector las puntas dejan de hacer contacto por lo que ahora tenemos la posibilidad de alimentar motores con una tensión diferente de la que alimenta el L29 3D.
Motor DC
A la hora de elegir un motor para aplicaciones de microbótica, debemos tener en cuenta que existen varios factores como son la velocidad, el par, el fr enado, la inercia y el modo de control. Si lo que queremos es utilizar un motor de corriente continua, existen varias posibilidades en el mercado. Motores de corriente continua
Dentro de la gran variedad de tipos existentes en el mercado, los más económicos son los que se utilizan en algunos juguetes, pero tienen el inconveniente de que su número de revoluciones por segundo (RPS) es muy elevado, lo que nos los hace muy apropiados para la construcción de un microbot que por ejemplo, siga una línea, si no se utilizan reductores adicionales o un sistema de regulación electrónico. Vea las figs. 1 y 2. Motores de corriente continua con reductores
En los juguetes del tipo Mecano o Lego, podemos encontrar motores con reductores o
sistemas reductores para acoplar a los motores. Esta es una buena opción si se dispone de ellos, en caso contrario, existen en el mercado motores reductores como los que se muestran en la siguiente tabla con figuras, que además de disminuir la velocidad le dan más potencia al microbito para mover por su estructura y la batería (que proporcionalmente pesa mucho) y otros objetos para lo cual se necesita disponer de motores con buen par de arranque. En las figuras 3 a 6 podemos observar diferentes tipos de motores. Motor DC con caja reductora
Motor de corriente continua de 12V con caja reductora está especialmente indicado para su utilización en robots, ya que proporciona 200 revoluciones por minutos en vacío con un consumo de 60 mA. El eje del motor es de 6 mm y se acopla perfectamente con los diferentes casquillos y adaptadores de ruedas de robots. Existe un soporte de aluminio S360214 que facilita el montaje en cualquier superficie. Fuerza: 4,6 Kg/cm
Estos tipos de motores son los más simples y que podemos encontrar cotidianamente en juguetes, consta de una bobina, la cual al alimentarla crea un campo magnético que es atraído por los imanes generando la rotación. Dependiendo de la polarización es la orientación del rotor.
Cny70
El Sensor Óptico reflexivo con salida a Transistor Descripción:
El CNY70 es un sensor óptico reflexivo que tiene una construcción compacta dónde el emisor de luz y el receptor se colocan en la misma dirección para detectar la presencia de un objeto utilizando la reflexión del infrarrojo sobre el objeto. La longitud de onda de trabajo es 950nm. El detector consiste en un fototransistor. Aplicaciones:
Escáner optoelectrónico y detector de movimiento de objetos es decir, sensor de índice, lectura de discos codificados etc., (codificador optoelectrónico montado como sensor de cambio de marcha). Características:
La construcción compacta con distancia de del centro-a-centro de 0.1 ' (pulgadas) entre emisor y receptor No necesita ningún ambiente especial Señal de salida alta El coeficiente de temperatura bajo Detector provista de filtro óptico El ratio de corriente de transferencia (CTR) típico es del 5% Código Distancia del sensor Valores máximos absolutos Tensión Inversa VR 5 V Corriente Directa IF 50 mA Corriente directa de Sobretensión Tp< 10 ms IFSM 3 A disipación de Potencia Tamb £ 25ºC PV 100 mW Temperatura de la unión Tj 100 ºCSalida (Detector) Parámetro Condiciones de Test Símbolo Valor Unidades Tensión Colector Emisor VCEO 32 V Tensión Colector Emisor VECO 7 V Corriente de Colector IC 50 mA
Disipación de Potencia Tamb £ 25ºC PV 100 mW Temperatura de la unión Tj 100 ºCAcoplamiento Parámetro Condiciones de Test Símbolo Valor Unidades Disipación total del potencia Tamb £ 25ºC Ptot 200 mW Rango de temperatura ambiente Tamb -55 a +85 ºC Rango de temperatura de almacenamiento Tstg -55 a + 100 ºC Temperatura de soldadura Tsd 260 ºC
Características Eléctricas (Tamb = 25ºC)
Entrada ( Emisor) Parámetro Condiciones de Test Símbolo Min Typ Max Unidades Corriente Directa IF = 50 mA VF 1.25 1.6 V Salida ( Detector) Parámetro Condiciones de Test Símbolo Min Typ Max Unidades Tensión Colector Emisor IC = 1mA VCEO 32 V Tensión Colector Emisor IE = 100 mA VECO 5 V Corriente de fuga VCE = 20V. IF =0, E=0 ICEO 200 nA Acoplamiento Parámetro Condiciones de Test Símbolo Min Typ Max Unidades Corriente de Colector VCE = 5V, IF = 20 mA. Tensión Colector Emisor de saturación IF = 20 mA. IC = 0,1 mA, d=0.3 mm
Como ya hemos visto el CNY70 tiene cuatro pines de conexión que se corresponden con el emisor, colector del transistor y al ánodo y cátodo del diodo emisor, en la figura de las vistas donde se indica “Área Marcada”, se muestra la inscripción con letras blancas del fabricante. Se pueden utilizar cualquiera de los siguientes montajes para su utilización que permiten obtener a la salida un nivel alto o un nivel bajo respectivamente cuando están activados por la reflexión del haz infrarrojo.
7805
78xx es la denominación de una popular familia de reguladores de tensión positiva. Es un
componente común en muchas fuentes de alimentación. Tienen tres terminales (voltaje de entrada, masa y voltaje de salida) y especificaciones similares que sólo difieren en la tensión de salida suministrada o en la intensidad. La intensidad máxima depende del código intercalado tras los dos primeros dígitos. el 7805 entrega 5V de corriente continua. El encapsulado en el que usualmente se lo utiliza es el TO220, aunque también se lo encuentra en encapsulados pequeños de montaje superficial y en encapsulados grandes y metálicos (TO3). La tensión de alimentación debe ser un poco más de 2 voltios superior a la tensión que entrega el regulador y menor a 35 volts. Usualmente, el modelo estandar (TO220) soporta corrientes de hasta 1 A aunque hay diversos modelos en el mercado con corrientes que van desde los 0'1A. El dispositivo posee como protección un limitador de corriente por cortocircuito, y además, otro limitador por temperatura que puede reducir el nivel de corriente. Estos integrados son fabricados por numerosas compañías, entre las que se encuentran National Semiconductor, Fairchild Semiconductor y ST Microelectronics. El ejemplar más conocido de esta serie de reguladores es el 7805, que provee 5V, lo que lo hace sumamente útil para alimentar dispositivos TTL.
PIC-16F877A
El PIC-16F877A es un microcontrolador producido por Microchip, es de gama media y posee características que lo hacen muy funcional. Es un PIC de 40 pines que posee las siguientes prestaciones:
Procesador de arquitectura RISC avanzada.
Juego de 35 instrucciones con 14 bits de longitud. Todas ellas se ejecutan en un ciclo de instrucción menos las de salto que tardan 2.
Frecuencia de 20 MHz.
Hasta 8K palabras de 14 bits para la memoria de código, tipo flash.
Hasta 368 bytes de memoria de datos RAM.
Hasta 256 bytes de memoria de datos EEPROM.
Hasta 14 fuentes de interrupción internas y externas.
Pila con 8 niveles.
Modos de direccionamiento directo, indirecto y relativo.
Perro guardián (WDT).
Código de protección programable.
Modo Sleep de bajo consumo.
Programación serie en circuito con 2 pines.
Voltaje de alimentación comprendido entre 2 y 5.5 voltios.
Bajo consumo (menos de 2 mA a 5 V y 5 MHz).
Rueda loca metálica
Hablando de los motores: Si se desea que ambos ejes giren en el mismo sentido se introduce una rueda dentada denominada 'rueda loca' entre el engranaje impulsor o motor y el impulsado. La rueda loca gira en sentido opuesto al eje impulsor, por lo que mueve al engranaje impulsado en el mismo sentido que éste. En cualquier sistema de engranajes, la velocidad del eje impulsado depende del número de dientes de cada engranaje. Un engranaje con 10 dientes movido por un engranaje con 20 dientes girará dos veces más rápido que el engranaje impulsor, mientras que un engranaje de 20 dientes impulsado por uno de 10 se moverá la mitad de rápido. Empleando un tren de varios engranajes puede variarse la relación de velocidades dentro de unos límites muy amplios.
MATERIALES: PIC 16F877A
3 sensores cny70 2 Reguladores de voltaje 7405 Un controlador de motor (integrado)L293D 2 Motores DC con caja reductora 2 llantas Cristal de 4Mhz Dos Baterías de 9 v Cable de proto Una base de acrílico Placa prototipo 3Diodos led Resistencias
Tornillos y tuercas Cable tipo bus y utp. Conectores Rueda pivote Cinta doble faz
EXPLICACION DEL CIRCUITO: ESTRUCTURA: El circuito básico se elaboró en una placa prototipo, que estaba adherida a la caja reductora de los motores y a la rueda pivote.
En la placa prototipo se elaboró un circuito que nos mostraría el funcionamiento de los motores, esto se construyó con un dipswitch que simula las señales de los sensores y dependiendo de su estado los motores hacen que el prototipo se mueva hacia adelante, hacia la derecha o hacia la izquierda.
Luego se colocaron los sensores CNY70, dos para el seguidor de línea continua (v elocidad), de igual forma solo se los añadió a la placa prototipo. Las pruebas resultaron satisfactorias en una pista de este tipo.
Al terminar las pruebas iniciales de línea continua se procedió a armar la estructura del robot, al principio se colocó la placa prototipo entre dos placas de madera, pero luego se colocaron las placas de acrílico transparente. La placa superior sostenía al protoboard y la inferior a las baterías y era la base de los sensores la rueda pivote y los motores.
SENSORES: Los sensores son los elementos más importantes del robot, no solo por su funcionamiento sino también por la posición en la que se encuentran, en la estructura los sensores se colocaron sobre una barra de plástico que se sujetaba a la placa de acrílico gracias a unos tornillos, cabe destacar que los sensores podían cambiar de posición.
En nuestro caso para la pista de velocidad se utilizaron dos sensores que se ubicaron cerca de los motores.
Y para la pista de destreza se usaron tres sensores que se colocaron de la siguiente manera.
BATERÍAS: Se tuvienron que utilizar dos baterías de 9 voltios reguladas a 5 voltios para alimentar el PIC (control) y para alimentar el controlador de los motores (potencia).
La explicación del programa se detalla a continuación.
EXPLICACION DEL PROGRAMA:
ETAPA DE CONTROL A través del PIC 16F877A se recibirán las señales de los sensores y con ello se determinarán las acciones correctivas que se deben realizar para cada uno de los casos que puedan presentarse. En nuestro caso, se han realizado dos programas para realizar este control, uno para la pista de velocidad y otro para la pista de destreza.
Programa Seguidor de línea (Velocidad):
La siguiente tabla describe los posibles estados de los sensores y las acciones correctivas que se tomaron en cada caso (salidas a los motores).
SENSORES
MOTORES
S1
S2
M1
M2
0 0 1 1
0 1 0 1
01 10 10 10
10 01 10 00
Donde 0 significa que el sensor esta fuera de la línea y 1 i ndica que está dentro de ella. CASO S1=0 Y S2=0:
Los dos sensores se encuentran fuera de la línea. Ya que los sensores van a seguir la línea derecha, esto quiere decir que el móvil se ha desviado hacia la derecha, por lo que la acción correctiva es girar hacia la izquierda para que regrese al borde de la línea. Para lograr esto y dar un giro brusco hacia la izquierda, el motor 1 girará hacia atrás y el motor 2 girará hacia adelante.
LÍNEA
S1 S2
M1
M2
CASO S1=0 Y S2=1:
El sensor 1 está fuera de la línea y el sensor 2 está dentro de ella, esto quiero decir que el móvil se encuentra ligeramente desviado hacia la izquierda, por lo que la acción correctiva es girar hacia la derecha girando el motor 1 hacia adelanta y el moto r 2 hacia atrás.
LÍNEA
S1 S2
M1
M2
CASO S1=1 Y S2=0:
El sensor 1 está dentro de la línea y el sensor 2 está fuera de la misma, ello demuestra que el móvil se encuentra en el borde derecho y la acción a tomar en este caso es que siga adelante. Para esto, el motor 1 y el motor 2 giran hacia adelante. LÍNEA
S1 S2
M1
M2
CASO S1=1 Y S2=1:
En este caso tanto el sensor 1 como el sensor 2 están sobre la línea, por lo que la acción correctiva en este caso es girar hacia la derecha para que regresen a seguir el borde derecho. El giro debe ser suave ya que la desviación del móvil es pequeña. El motor 1 debe girar hacia adelante y el motor 2 debe detenerse. LÍNEA
S1 S2
M1
M2
Programa Seguidor de Línea (Destreza):
El programa realizado para la parte de destreza se sigue la misma lógica explicada anteriormente. Se añade un tercer sensor frente a los anteriores para darle mayor estabilidad en los giros bruscos al detectar si existe o no línea delante de los otros dos sensores para evitar q el móvil se confunda en cuando S1 y S2 estén en blanco, es decir, cuando hayan perdido la línea. SENSORES
MOTORES
S1
S2
S3
M1
M2
0
0
0 1
0 1 1
1 0 1
01 10 10 10 10
10 01 01 10 00
En el caso en el que tanto S1 y S2 esté en cero, se verificará si S3 esta en 1 o en 0, con el fin de que el móvil no se pierda y comience a girar bruscamente. Si S3=0, el móvil girará a la izquierda, motor 1 girará hacia atrás y motor 2 girará hacia adelante. Si S3=1, el móvil girará a la derecha, motor 1 girará hacia adelante y motor 2 girará hacia atrás.
S3
DIAGRAMA DE FLUJOS: Seguidor de línea (velocidad):
INICIO
SI
NO
RA1=1
RA0=1 M1 Y M2 ADELANTE
NO NO M1 ADELANTYE Y M2 ATRÁS (GIRO DERECHA)
SI RA0=0 SI M1 ATRÁS Y M2 ADELANTE (GIRO IZQUIERDA)
M1 ADELANTE Y M2 ATRÁS (GIRO DERECHA)
Seguidor de línea (destreza):
INICIO
SI
NO
RA1=1
RA0=1 M1 Y M2 ADELANTE
NO NO
SI RA0=0
M1 ADELANTE Y M2 ATRÁS (GIRO DERECHA)
M1 ADELANTE Y M2 ATRÁS (GIRO DERECHA)
SI
NO RA2=0 M1 ADELANTE Y M2 ATRÁS (GIRO DERECHA)
SI M1 ATRÁS Y M2 ADELANTE (GIRO IZQUIERDA)
CONCLUSIONES:
Al aumentar un sensor más para el seguidor de línea en destreza, se logró controlar de mejor manera el giro que el móvil realizaba cuando los otros dos sensores estaban en cero pues funcionó como un indicador para asegurarse que delante existe o no línea y realizar las correcciones pertinentes de inmediato.
Al poder tener los sensores móviles, se pudo obtener un mejor rendimiento en la parte de
destreza ya que gracias al algoritmo de programación si el sensor que estaba al frente tenía una distancia más grande, podía leer de mejor manera la línea entrecortada. La velocidad en los motores definen si el robot puede o no atravesar la pista, sin embargo
nuestro robot al ser bastante rápido tuvo problemas de inercia lo que le hizo perderse en más de una ocasión.
El usar dos baterías reguladas a 5 voltios cada una aumentaron la vida útil de las mismas
ya que los picos de corriente generados al encender los motores se absorbían en el regulador.
RECOMENDACIONES: Se recomienda realizar los circuitos en una placa fija, ya que en la placa prototipo las
conexiones pueden fallar y causar problemas y daños al circuito. Observar la pista por la cual se va a atravesar es necesario para poder colocar los sensores
de la mejor manera para que el robot la atraviese sin problemas. Siempre utilizar reguladores de voltaje para las baterías ya que sino la carga de las mismas
se agota rápidamente, sobre todo si es la batería que controla la potencia. Realizar un programa sólido que permita el mejor desempeño del robot y diseñar una
estructura sólida para el robot.
BIBLIOGRAFIA:
Motor DC[en línea ].wikipedia la enciclopedia libre. http://es.wikipedia.org/wiki/Motor_de_corriente_continua [consulta:20/11/2011] Controlador de motor[en linea]http://es.wikipedia.org/wiki/controlador de motor[consulta:20/11/2011] PIC16f877a[en linea]http://www.appdistribuciones.com/index.html?lang=es&target=d9.html[consulta:20/11/2011] Datasheets [en línea ]http://www.datasheetcatalog.com/datasheets_pdf/L/2/9/3/L293DN.shtml[c onsulta:20/11/2011]
DIAGRAMAS DE CIRCUITOS:
VELOCIDAD:
DESTREZA:
ANEXOS: