8
Universidad Nacional Experimental de la Fuerza Armada. Archundia, Barrientos, Medina. P.R.S.LN.A. ResumenEste proyecto consistió en realizar un robot seguidor de línea negra tipo móvil en configuración ackerman mediante el microcontrolador arduino (es una plataforma de hardware libre); sensores infrarrojos auto réflex, acoplamiento de un motor DC con caja reductora para darle movilidad y otro motor DC para darle el direccionamiento al robot. El microcontrolador fue programado en lenguaje C mediante el compilador de arduino. Un robot seguidor de línea está conformado por tres partes fundamentales: los ojos, cerebro, y los pies. 1º Los ojos: observar la línea, que se haría obteniendo el contraste negro que produce la línea con respecto al entorno blanco, utilizando una serie de sensores infrarrojos. 2º El cerebro, este va a decidir qué camino tomar según los datos que le suministren los ojos, en este apartado se utiliza un arduino para decidir el rumbo: derecha, izquierda, adelante y las estrategias de corrección para no perder la línea. 3º Los pies: está diseñado bajo el modelo robot ackerman el cual consiste en que la tracción o movimiento se la va dar el motor trasero, y al dirección se la va otorgar el motor delantero. I. INTRODUCCIÓN El siguiente paper tiene como objetivo primordial informar acerca de realización del proyecto robot seguidor de línea negra, primero se empezó por la parte mecánica del robot, para ello se recurrió o se eligió el diseño tipo robot ackerman. Luego se armó la circuitería para los sensores infrarrojos, como no se pudo conseguir los CNY70, se utilizó un emisor led infrarrojo y un receptor fotodiodo de 5mm, al circuito se le implemento una circuitería con un transistor 2N3904 (NPN). Luego sensor detecta la presencia de color negro con la circuitería, ya antes mencionada con el transistor, donde el sensor cuando Sensa (color de la pista en blanco) se mantiene apagado un led indicador, y cuando no sensa (color de la pista en negro) el led indicador se mantiene encendido. Después la señal se va a una compuerta inversora-disparador Smith Trigger que se le acoplo ya que el circuito que detecta la presencia o no del color negro en su salida arroja Cero voltios cuando no sensa es decir detecta el PROYECTO ROBOT SEGUIDOR DE LINEA NEGRA ACKERMAN Archundia, Hugo., Barrientos, Tony, y Medina, Edward. {login1,login2, …}@xxx.yy.zz Universidad Nacional Experimental de la Fuerza Armada 1

Proyecto de Robotica1

Embed Size (px)

DESCRIPTION

robot seguidor de linea

Citation preview

1Universidad Nacional Experimental de la Fuerza Armada. Archundia, Barrientos, Medina. P.R.S.LN.A.

(PROYECTO ROBOT SEGUIDOR DE LINEA NEGRA ACKERMAN Archundia, Hugo., Barrientos, Tony, y Medina, Edward.{login1,login2, }@xxx.yy.zz

Universidad Nacional Experimental de la Fuerza ArmadaResumenEste proyecto consisti en realizar un robot seguidor de lnea negra tipo mvil en configuracin ackerman mediante el microcontrolador arduino (es una plataforma de hardware libre); sensores infrarrojos auto rflex, acoplamiento de un motor DC con caja reductora para darle movilidad y otro motor DC para darle el direccionamiento al robot. El microcontrolador fue programado en lenguaje C mediante el compilador de arduino. Un robot seguidor de lnea est conformado por tres partes fundamentales: los ojos, cerebro, y los pies. 1 Los ojos: observar la lnea, que se hara obteniendo el contraste negro que produce la lnea con respecto al entorno blanco, utilizando una serie de sensores infrarrojos.

2 El cerebro, este va a decidir qu camino tomar segn los datos que le suministren los ojos, en este apartado se utiliza un arduino para decidir el rumbo: derecha, izquierda, adelante y las estrategias de correccin para no perder la lnea.

3 Los pies: est diseado bajo el modelo robot ackerman el cual consiste en que la traccin o movimiento se la va dar el motor trasero, y al direccin se la va otorgar el motor delantero.

I. INTRODUCCIN

El siguiente paper tiene como objetivo primordial informar acerca de realizacin del proyecto robot seguidor de lnea negra, primero se empez por la parte mecnica del robot, para ello se recurri o se eligi el diseo tipo robot ackerman. Luego se arm la circuitera para los sensores infrarrojos, como no se pudo conseguir los CNY70, se utiliz un emisor led infrarrojo y un receptor fotodiodo de 5mm, al circuito se le implemento una circuitera con un transistor 2N3904 (NPN). Luego sensor detecta la presencia de color negro con la circuitera, ya antes mencionada con el transistor, donde el sensor cuando Sensa (color de la pista en blanco) se mantiene apagado un led indicador, y cuando no sensa (color de la pista en negro) el led indicador se mantiene encendido. Despus la seal se va a una compuerta inversora-disparador Smith Trigger que se le acoplo ya que el circuito que detecta la presencia o no del color negro en su salida arroja Cero voltios cuando no sensa es decir detecta el color negro o 3.8 Voltios cuando sensa detecta la presencia del color blanco y como el microcontrolador detecta 0 o 1 lgico(esto implica que el cero es cero voltios y el 1 lgico son 5 voltios ) cuando hace la lectura de un sensor, luego el microcontrolador decide si el robot va hacia la izquierda, hacia el centro o hacia la derecha dependiendo de la trayectoria de la lnea negra. Despus las seales que salen del microcontrolador van al integrado L293B que es el driver de los motores, es decir dependiendo de la seal digital que envi el arduino al motor trasero mediante el integrado L293B va a funcionar o no el motor trasero, y el motor delantero va a girar en un sentido otro. Los robots son:

dispositivos capaces de moverse de modo flexible, anlogo al que poseen los organismos vivos, con o sin funciones intelectuales, lo que permite la realizacin de operaciones en respuesta a rdenes

Recibidas por humanos.[1]Un robot es un dispositivo con un determinado Grado de movilidad, que puede realizar un conjunto de tareas en forma independiente y que

Se adapta al mundo en el que opera.[2]Un robot es un dispositivo o equipo capaz de moverse de modo flexible parecido o semejante al que poseen los organismos, con o sin funciones intelectuales, lo que permite la realizacin de operaciones o actividades en respuesta a rdenes recibidas por humanos. La robtica es una ciencia multidisciplinaria que ha contribuido a los xitos conseguidos hoy en da por la humanidad, esta ciencia engloba electrnica, mecnica, mecnica e informtica. II. Explicacin del diseo mecnico del Robot modelo Ackerman y requisitos de los motores Se utiliz un carro de juguete a control remoto al cual se le desacoplaron o se le quitaron las placas electrnicas que controlaban al carro mediante control remoto, y solamente se dej la estructura con los motores tanto delantero como trasero con sus respectivas cajas reductoras y cables de conexin de los motores. La caja reductora del motor trasero es ms grande que la caja reductora del motor delantero. La funcin de la caja reductora es evitar un arranque brusco del motor es decir sea se produzca un arranque suave del motor y adems reducir la velocidad en forma eficiente y segura. El motor trasero se va encargar del desplazamiento o traccin del carro, el motor delantero se va encargar de darle la direccin al carro para que doble o gire hacia la izquierda o derecha el robot. Para que el motor trasero tenga una cierta velocidad de arranque se necesita que se le suministre una corriente de 1 Amp y se estabiliza en 500 mAmper. Para que el motor delantero tenga una cierta velocidad de arranque se necesita que se le suministre una corriente de 600 mAmp y se estabiliza en 400 mAmp.III. explicacin del circuito de los sensores infrarrojos EL transistor est en modo de conmutacin, en el momento que a la base llega corriente esta conmuta y hace unin entre el colector y la base haciendo que el LED INDICADOR encienda y se obtenga un voltaje en la seal de salida (3,8V). Esto implica que cuando sensor infrarrojo detecta el color blanco (sensa) se mantiene apagado el led y la seal de salida es de 0V, cuando el sensor infrarrojo detecta el negro (no sensa), se mantiene encendido el led y se obtiene un voltaje en la salida de 3,8V. Es importante aclarar que cuando se detecta el color blanco el haz de luz infrarroja rebota sobre la superficie de color blanco y manda la seal hacia el receptor infrarrojo entonces se dice que el sensor sensa, en cambio cuando detecta el color negro, el haz de luz infrarrojo lo absorbe la lnea negra y no rebota en el receptor infrarrojo se dice el sensor no sensa. Se utiliz como transistor el 3904 ya que este transistor es NPN y tiene o est compuesto por una base, un emisor y un colector: Base: Se encuentra precedida por una resistencia de 1K a 1/2W recomendada por el fabricante para que llegue la corriente adecuada a la base y esta pueda ser excitada.

Emisor: Se conecta a 0V

Colector: Se encuentra precedido por un LED INDICADOR con su respectiva resistencia y est conectada a 5V.

Figura 1IV. ACONDICIONAMIENTO DE SEALComo el microcontrolador arduino tiene ms pines digitales que analgicos y como se pretende utilizar los pines digitales del arduino para acondicionar la seal a digital se le acoplo a cada sensor una compuerta not Schmitt Trigger. Los sensores infrarrojos no proporcionan seales digitales puras y es necesario conformar dicha seal antes de aplicarla al microcontrolador arduino. Una forma sencilla de conformar una seal en digital es mediante puertas Trigger Schmitt. Como es ms fcil de conseguir en el mercado el integrado 40106 se utiliz dicho integrado. Este dispositivo contiene 6 inversores Trigger Schmitt encapsulados segn se indica en la figura 2.

V. lgica para hacer la lectura de los sensores y crear el programa en arduinoLgica para la programacin del microcontrolador

Cuadro 1

Sensor Lnea Negra MotorDireccin

Izquierda Centro Derecho Trasero

MTDelantero

MDCarro

111

Apagado Apagado Reversa

110SRIR Curva izquierda

011SRSRCurva

Derecha

101SRApagado Adelante

El presente cuadro 1 no es una tabla de la verdad, pero indica las combinaciones en que se van activar los motores en un sentido u otro o si se mantienen apagados los motores, en esta tabla el 1 significa que no censa la lnea negra y el 0 significa que censa la lnea negra. Caso 1: Esto implica que cuando los tres sensores (Izquierda, centro, derecha) no detectan la presencia de lnea negra, el motor trasero del carro que se encarga de la traccin van girar en sentido inverso a las manecillas del reloj y el motor de direccin va estar apagado. Caso 2: Cuando el sensor de la derecha detecta un 0, y el del centro detecta un 1, y el de la izquierda detecta un 1, el motor trasero que se encarga de la traccin va girar en sentido a las manecillas del reloj, y el motor delantero que se encarga de la direccin va girar en sentido a las manecillas del reloj para que gire o doble hacia la derecha. Caso 3: cuando el sensor de la derecha detecta un 1 y el del centro detecta un 1 y el de la izquierda detecta un 0, el motor trasero va girar en sentido a las manecillas del reloj y el motor delantero que se encarga de la direccin va girar en sentido inverso a las manecillas del reloj para que gire o doble hacia la izquierda. Caso 4: cuando el sensor de la derecha detecta un 1, y el del centro detecta un cero y el de la izquierda detecta un 1, el motor trasero va girar en sentido a las manecillas del reloj y el motor delantero que encarga de la direccin se va mantener apagado.#define PinEIzq 3 // Entrada izquierda #define PinECen 4//Entrada del centro #define PinEDer 5 //Entrada Derecha #define PinSMTSR 6//Salida del motor trasero SR#define PinSMDIR 7// Salida del motor delantero IR #define PinSMDSR 8// salida del motor de delantero SRvoid setup()

{

pinMode(PinEIzq,INPUT);

pinMode(PinECen,INPUT);

pinMode(PinEDer,INPUT);

pinMode(PinSMTSR,OUTPUT);

pinMode(PinSMDIR,OUTPUT);

pinMode(PinSMDSR,OUTPUT);

}

void loop()

{

while(true)

{// Condiciones

if((digitalRead(PinEIzq)==HIGH)&&(digitalRead(PinECen)==HIGH)&&(digitalRead(PinEDer)==HIGH))

{

digitalWrite(PinSMTSR,LOW);

digitalWrite(PinSMDIR,LOW);

digitalWrite(PinSMDSR,LOW);

delayMicroseconds(100);

}

if((digitalRead(PinEIzq)==HIGH)&&(digitalRead(PinECen)==HIGH)&&(digitalRead(PinEDer)==LOW))

{

digitalWrite(PinSMTSR,HIGH);

digitalWrite(PinSMDIR,HIGH);

digitalWrite(PinSMDSR,LOW);

delayMicroseconds(100);

}

if((digitalRead(PinEIzq)==LOW)&&(digitalRead(PinECen)==HIGH)&&(digitalRead(PinEDer)==HIGH))

{

digitalWrite(PinSMTSR,HIGH);

digitalWrite(PinSMDIR,LOW);

digitalWrite(PinSMDSR,HIGH);

delayMicroseconds(100);

}

if((digitalRead(PinEIzq)==HIGH)&&(digitalRead(PinECen)==LOW)&&(digitalRead(PinEDer)==HIGH))

{

digitalWrite(PinSMTSR,HIGH);

digitalWrite(PinSMDIR,LOW);

digitalWrite(PinSMDSR,LOW);

delayMicroseconds(100);

}

}

}VI. EXPLICACION DE COMO VAN LAS CONEXIONES DEL ARDUINO AL DIRIVER DE MOTOR L293B

Figura 3 La figura 3 representa el driver o controlador de motores l293b que internamente tiene un puente h que controla tanto al motor trasero como delantero del carro seguidor de lnea. Las salidas del arduino pin 7 y 8 que corresponde al motor delantero van conectadas al pin del integrado L293B 2 y 7 que representa las entradas a cuales se inserta una seal de excitacin para que funcione el motor delantero en un sentido(sentido a las manecilla del reloj) u otro sentido(sentido inverso a las manecillas del reloj) . En el integrado L293B a las salidas del motor hay que colocar unos diodos ya que sirve de proteccin y evitan que se destruya el puente cuando se est realizando la conmutacin de los transistores que tiene internamente este puente H. El L293B es un driver de 4 canales capaz de proporcionar una corriente de salida de hasta 1A por canal. Cada canal es controlado por seales de entrada compatibles TTL y cada pareja de canales dispone de una seal de habilitacin que desconecta las salidas de los mismos.

Dispone de una patilla para la alimentacin de las cargas que se estn Controlando, de forma que dicha alimentacin es independiente de la lgica de control.Se tiene que el pin el pin 8 Vs=V supply o V de la alimentacin de la carga, y el pin 16 s Vss= Logic Supply Voltage que representa la lgica Tensin de alimentacin. Si se conecta solamente Vss el motor tiene un arranque lento, a cambio si se conecta el pin 16 y el pin 8 a positivo el motor tiene un arranque mucho ms rpido. El pin 6 del arduino programado salida se conecta al pin 15 del L293B para que se excite y permita el arranque del motor en un solo sentido. Estas ltimas imgenes representan el carro seguidor de lnea que se realiz con casi todas las etapas que se acoplaron para que funcionara la etapa que le otorgaba inteligencia al robot seguidor de lnea no fue fotografiada, que es el acoplamiento del arduino.