Practica Seguidor de Linea

download Practica Seguidor de Linea

of 11

Transcript of Practica Seguidor de Linea

Sensores y acondicionamiento de seales.Dra. irce leal cabreraseguidor de linea hachiko5 CMECATRNICAABRIL TEHOZOL LPEZREYNA RAMIREZ TELLEZALEXIS MORALES GONZLEZRICARDO PALMA MADRIGAL

Objetivo:En esta prctica se pudo utilizar varios componentes electrnicos para poder controlar un sensor infrarrojo de corto alcance para disear un seguidor de lnea controlado mediante la programacin de Arduino.

Marco terico:Cny70.CNY70es un pequeo dispositivo con forma de cubo y cuatro patitas que aloja en su interior un diodo emisor de infrarrojos que trabaja a una longitud de onda de 950 nm. y un fototransistor (recetor) estando ambos dispuestos en paralelo y apuntando ambos en la misma direccin,la distancia entre emisor y receptor es de 2.8 mm. y estn separados del frontal del encapsulado por 1 mm.El fototransistor conducir ms, contra ms luz reflejada del emisor capte por su base. La salida de este dispositivo es analgica y viene determinada por la cantidad de luz reflejada, as pues para tener una salida digital se podra poner un disparador Trigger Schmitt y as obtener la salida digital pero esto tiene un problema, y es que no es ajustable la sensibilidad del dispositivoy los puntos de activacin de histerisis distan algunos milivoltios uno del otro (ver explicacin en el esquema de la LDR ). Para solventar este problema muestro el siguiente circuito basado en un amplificador operacional configurado en modo comparador, en la salida del circuito obtendremos una seal cuadrada lista para su interconexin con la entrada de cualquier Controlador.

El CNY70 devuelve por la pata de salida correspondiente, segn el montaje, un voltaje relacionado con la cantidad de rayo reflectado por el objeto. Para el montaje A, se leer del emisor un '1' cuando se refleje luz y un '0' cuando no se refleje. Para el montaje B los valores se leen del colector, y son los contrarios al montaje A.Si conectamos la salida a una entrada digital del microcontrolador, entonces obtendremos un '1' o un '0' en funcin del nivel al que el microcontrolador establece la distincin entre ambos niveles lgicos. Este nivel se puede controlar introduciendo un buffer trigger-schmitt (por ejemplo el 74HC14, ojo que es un inversor!) entre la salida del CNY70 y la entrada del microcontrolador. Este sistema es el que se emplea para distinguir entre blanco y negro, en la conocida aplicacin del robot seguidor de lnea. ArduinoSs una plataforma dehardware libre, basada en unaplacacon unmicrocontroladory unentorno de desarrollo, diseada para facilitar el uso de la electrnica en proyectos multidisciplinares.23Elhardwareconsiste en una placa con un microcontroladorAtmel AVRy puertos deentrada/salida.4Los microcontroladores ms usados son elAtmega168,Atmega328,Atmega1280,ATmega8por su sencillez y bajo coste que permiten el desarrollo de mltiples diseos. Por otro lado el software consiste en un entorno de desarrollo que implementa ellenguaje de programacinProcessing/Wiring y elcargador de arranque(boot loader) que corre en la placa.4Arduino puede detectar el medio ambiente mediante la recepcin de la entrada de una variedad de sensores y puede afectar a sus alrededores por controlar luces, motores y otros actuadores.El microcontrolador de la placa se programa mediante ellenguaje de programacin Arduino(basado enWiring) y el entorno de desarrollo Arduino (basado enProcessing).Proyectos Arduino puede ser independiente o se pueden comunicar con el software que se ejecuta en un ordenador (por ejemplo, Flash, Processing,MaxMSP).

Resistencia

Se le llamaresistencia elctricaa la mayor o menor oposicin que tienen los electrones para desplazarse a travs de un conductor. la unidad de resistencia en el sistema internacionales ohm, que se representa con la letra griega omega (), en honor al fsico alemnGeorge Ohm, quien descubri el principio que ahora lleva su nombre. Esta ley enuncia de la siguiente manera:"la intensidad de la corriente que pasa por un conductor es directamente proporcional a la longitud e inversamente proporcional a su resistencia"

En dondees el coeficiente de proporcionalidad o laresistividaddel material.

ServomotorUnservomotor(tambin llamadoservo) es un dispositivo similar a unmotor de corriente continuaque tiene la capacidad de ubicarse en cualquier posicin dentro de su rango de operacin, y mantenerse estable en dicha posicin.1Un servomotor es un motor elctrico que consta con la capacidad de ser controlado, tanto en velocidad como en posicin.Los servos se utilizan frecuentemente en sistemas de radio control y enrobtica, pero su uso no est limitado a estos. Es posible modificar un servomotor para obtener un motor de corriente continua que, si bien ya no tiene la capacidad de control del servo, conserva la fuerza, velocidad y baja inercia que caracteriza a estos dispositivos.Los servomotores hacen uso de lamodulacin por ancho de pulsos(PWM) para controlar la direccin o posicin de losmotores de corriente continua. La mayora trabaja en la frecuencia de los cincuentahercios, as las seales PWM tendrn un periodo de veintemilisegundos. La electrnica dentro del servomotor responder al ancho de la seal modulada. Si los circuitos dentro del servomotor reciben una seal de entre 0,5 a 1,4 milisegundos, este se mover en sentido horario; entre 1,6 a 2 milisegundos mover el servomotor en sentido antihorario; 1,5 milisegundos representa un estado neutro para los servomotores estndares.Desarrollo:

Primero elegimos el material adecuado.

2 resistencias de 330 y 4.7K 1 tarjeta ArduinoBatera de 6V a 1A2 CNY702 servomotores 2 llantas adaptadas para servo1 rueda locaPVC para chasisCables con pines

1. Volamos los topes para que el servo gire 360 y desoldamos el potencimetro y hacemos un divisor de voltaje.

2. Soldamos las resistencias a los pines del CNY70 correspondientes

3. Hacemos el chasis para el seguidor de lnea pegando los servos y montando las llantas y pegar los CNY70

4. Armamos el siguiente circuito con el arduino

5. Alimentamos con 6V a la tarjeta (como no es mucha demanda de corriente funciona correctamente los servos conectados al Arduino).

6. Hacemos el programa para controlar el seguidor de lnea

////////////////////////////////////////////////////const int encendido = 2; // asociamos el encendido al pin 2const int sender = A0; // asociamos el sensor qrd derecha al pin 12const int senizq = A1; // asociamos el sensor qrd izquierda al pin 13int fuego = 0; // variable que leera el estado de encendidoint estadoder = 0; // variable que leera el estado del sensor qrd derechaint estadoizq = 0; // variable que leera el estado del sensor qrd izquierda#include // insertamos la libreria servo para poder manipular los servosServo myservo; // creamos los nombres que llevaran nuestros servos myservo uno es el motor1Servo myservo1; // myservo1 es el motor 2 void setup() { Serial.begin(9600); // inicia comunicacion serial para verificar el trabajo de los sensorespinMode(sender, INPUT); // configuramos como entrada a senderpinMode(senizq, INPUT); // configuramos como enrada a senizqpinMode(encendido, INPUT); // configuramos como entrada a encendidodigitalWrite(encendido,HIGH); // habilitamos el pull updigitalWrite(10, HIGH); /* do // 5 segundos antes de empezar{fuego = digitalRead(encendido);}while(fuego==HIGH);delay(500);*/myservo.attach(5); // asociamos al servo a un pin, en este caso el pin 9myservo1.attach(6); // asociamos al servo1 al pin 10}void loop() { fuego = digitalRead(encendido); // fuego adquirira el valor de encendido si inicia o noSerial.print(fuego);Serial.print("\t");estadoder = analogRead(sender); // estadoder adquirira el valor de sender si detecta o noestadoizq = analogRead(senizq); // estadoizq adquirira el valor de senizq si detecta o noSerial.print(estadoder);Serial.print("\t");Serial.print(estadoizq); Serial.print("\t");if (estadoizq = 950) // configuracion donde los sensores de linea detecta el limite del dollo {myservo.write(0);myservo1.write(180);}}/////////////////////////////////////////////////////////////////

7.- lo cargamos al Arduino y conectamos a la batera de 6V para que funcione y esta listo!.

Conclusin:En esta prctica se hizo con la finalidad de presentar un proyecto para el 2 concurso de Mecatrnica en la UPTLAX, tomando como referencia los temas aprendidos en clase de Sensores y Acondicionamiento de Seales. Este seguidor de lneas funciono correctamente sin ningn fall en la lectura tomada por los CNY70 pero con una reducida velocidad por los servomotores. Ahora tras esta experiencia podemos realizar cambios en nuestro seguidor de lneas HACHIKO para que obtenga una mayor velocidad.