Your SlideShare is downloading. ×
Robot seguidor de línea con software y hardware
Robot seguidor de línea con software y hardware
Robot seguidor de línea con software y hardware
Robot seguidor de línea con software y hardware
Robot seguidor de línea con software y hardware
Robot seguidor de línea con software y hardware
Robot seguidor de línea con software y hardware
Robot seguidor de línea con software y hardware
Robot seguidor de línea con software y hardware
Robot seguidor de línea con software y hardware
Robot seguidor de línea con software y hardware
Robot seguidor de línea con software y hardware
Robot seguidor de línea con software y hardware
Robot seguidor de línea con software y hardware
Robot seguidor de línea con software y hardware
Robot seguidor de línea con software y hardware
Robot seguidor de línea con software y hardware
Robot seguidor de línea con software y hardware
Robot seguidor de línea con software y hardware
Robot seguidor de línea con software y hardware
Robot seguidor de línea con software y hardware
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Robot seguidor de línea con software y hardware

7,177

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
7,177
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
217
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. ROBOT SEGUIDOR DELÍNEA CON SOFTWARE YHARDWARE LIBREJuly Paola Chitiva OrtizJhosman Alfonso LizarazoUniversidad Distrital Francisco José de CaldasFacultad TecnológicaTecnología en Sistematización de Datos
  • 2. PROBLEMA PLANTEADO Vehículo Controlado Mediante un Computador: se podríacontrolar un “vehículo” (Robot pequeño de ruedas) queavance, retroceda o gire mediante instrucciones que seimpartan desde el computador, o se podría hacer que estevehículo en vez de seguir instrucciones desde el PC, siga unaruta determinada mediante sensores infrarrojos. Este seráconstituido por ruedas, motores, fuente de energía, y tarjeta decontrol (micro controlador Arduino ATmega168) programado enlenguaje Arduino.
  • 3. FASE DE DISEÑOELECTRÓNICOEl robot actuará como un móvil seguidor de líneanegra haciendo uso de sensores infrarrojos, loscuales detectan la línea y envían una señal al restodel circuito del robot. Allí, de acuerdo a laprogramación realizada, se tomará una decisiónrespecto a las acciones que el robot debe realizarpara mantenerse en el camino y llegar a la meta.Este diseño electrónico cuenta con dos sistemas:percepción y potencia.
  • 4. PERCEPCIÓNEn el sensor infrarojo lo que hace es enviar y recibir unaseñal muy pequeña que determina la transmisión deluz infraroja que dependiendo de las condiciones delespacio puede darnos varios valores, estos vanconectados a unas resistencias R2 y R4 controlan elflujo de corriente, la cual desbloqueará su base ypermitirá la amplificación de la señal. Las resistenciasR1 y R3 actúan como protección de los leddisminuyendo el flujo de corriente hacia éstos.
  • 5. CNY70Es importante tener presente que el sensor infrarrojotambién es sensible a la luz ambiente, razón por la cualtanto el led infrarrojo como el fotodiodo debenrecubrirse con cinta aislante negra (u otro materialoscuro), formando una especie de conducto quelimita la incidencia de esta luz y facilita que el haz deluz infrarroja se emita en una sola dirección. Oreprogramar la sensibilidad de los sensores CNY70dentro de la programación.
  • 6. POTENCIALa señal de salida obtenida de los sensores infrarrojosse convierte en la señal de entrada a la fase deprogramación, en la que interviene un móduloelectrónico (Arduino) para el control del robot. Paraello se utilizará un componente (SN754410NE) o elcomponente (L293D) quienes realizarán la función deindicar a los motores que actividad realizardependiendo del momento
  • 7. “”FUNCIONAMIENTO DEL PUENTE HS1 S2 S3 S4 Resultado1 0 0 1 El motor gira en avance0 1 1 0 El motor gira en retroceso0 0 0 0El motor se detiene bajo suinercia1 0 1 0 El motor frena (fast-stop)
  • 8. DISEÑO MECANICOEl robot cuenta con tracción diferencial, yaque utiliza dos ruedas que son controladasde manera individual y soportadas en un ejecentral común (rueda loca) para el balance.Las dos ruedas tienen un recubrimiento decaucho que permite mayor adhesión a lasuperficie plana del entorno; la rueda locaademás facilita el movimiento del robot alcontar con un giro libre de 360 grados. Lasdos ruedas principales son controladas porun motor de corriente continua que cuentacon un sistema de engranajes que ayuda aaumentar la potencia en el movimiento.
  • 9. UBICACIÓN DE LAS RUEDAS DELROBOT En la figura 7 se observa la ubicación de las ruedas en el robot;la rueda loca se encuentra en la parte posterior de éste. Lasformas de avance con las que cuenta robot son hacia adelante,girar a la izquierda y girar a la derecha y hacia atrás si así serequiere. En la figura 8 se indica la posición en el robot de lossensores para el avance del seguimiento de línea:
  • 10. DISEÑO DE PROGRAMACIÓN Como ya se ha descrito en la fase de diseño mecánico latracción de los robots es diferencial, pero se hace necesariocontrolar su movimiento (detenerse, avanzar, girar) y ademásgarantizar el correcto funcionamiento de los sensores para seguirun camino. Para solucionar esto se propone hacerlo a través deun entorno de programación, teniendo en cuenta la poblaciónprincipal a la cual va dirigida la actividad, por lo que esimportante que sea de fácil acceso y uso. De esta manera, el control de los robots se realiza a través el IDEde programación de Arduino www.arduino.cc.
  • 11. DISEÑO DE PROGRAMACIÓN Para que sea posible la programación de la placa en el entornoArduino, primero debe descargarse el software Arduino y elfirmware que hará posible el reconocimiento de dicha placa porel entorno. En la página principal de Arduino se encuentran lasespecificaciones de instalación de acuerdo al tipo y versión delsistema operativo con el que se cuente. En este proyecto seutilizó la versión de Arduino para Ubuntu, el cual se puedeencontrar en el centro de Software paraUbuntu: https://apps.ubuntu.com/cat/applications/arduino/
  • 12. PROGRAMACION Programación: 1) Instalar Arduino (sudo apt-get install arduino) 2) Conectar Arduino por USB 3) Abrir Arduino
  • 13. PROGRAMACION 4) Seleccionar tarjeta (Herramientas/Tarjeta/Arduino Diecimila orDuemileanve w/ Atmega168
  • 14. PROGRAMACION 5) Verificar permisos USB (~$ ls -l /dev/tty*)
  • 15. PROGRAMACION 6) Visualizar cual fue el puerto asignado ~$ dmesg
  • 16. PROGRAMACION 7) Si no tiene permisos asignar permisos al puerto USB que seasignó a la placa (crwxrwxrwx 1 root dialout 188, 0 may 24 10:33ttyUSB0) ~$chmod 777 ttyUSB0
  • 17. PROGRAMACION Este es un ejemplo del Hola Mundo para arduino
  • 18. PROGRAMACIONCódigo para nuestro robot seguidor delínea con Arduino:#define M1A 19 //Motor 1A#define M1B 18 //Motor 1B#define M2A 17 //Motor 2A#define M2B 16 //Motor 2B#define PIN_PWM 11 //Modulacion porancho de pulso - Emular salida analogicacon salida digital#define VEL 100 //Velocidad#define S1 0 //IZQ#define S2 1 //DER#define _UMBRAL_ 200 //Umbral de lossensoresunsigned long timeserial;void setup (){Serial.begin(9600);timeserial = millis();pinMode(M1A, OUTPUT);pinMode(M1B, OUTPUT);pinMode(M2A, OUTPUT);pinMode(M2B, OUTPUT);STOP(10000);analogWrite(PIN_PWM, VEL);}void loop(){byte SDER = (analogRead(S1)> _UMBRAL_)?0:1;byte SIZQ = (analogRead(S2)> _UMBRAL_)?0:1;if(SDER && SIZQ)STOP(0);else if (!SDER && SIZQ)DER(0);else if (SDER && !SIZQ)IZQ(0);elseADE(0);if(millis() - timeserial > 500){timeserial = millis();Serial.print("Sensor1: ");//Serial.print(SDER);Serial.print(analogRead(S1));Serial.print(" Sensor2: ");//Serial.println(SIZQ);Serial.println(analogRead(S2));}}void ATR(uint16_t time){digitalWrite(M1A, HIGH);digitalWrite(M1B, LOW);digitalWrite(M2A, HIGH);digitalWrite(M2B, LOW);delay(time);}void ADE(uint16_t time){digitalWrite(M1A, LOW);digitalWrite(M1B, HIGH);digitalWrite(M2A, LOW);digitalWrite(M2B, HIGH);delay(time);}void DER(uint16_t time){//Llanta IzquierdadigitalWrite(M1A, HIGH);digitalWrite(M1B, LOW);//llanta DerechadigitalWrite(M2A, LOW);digitalWrite(M2B, HIGH);delay(time);}void IZQ(uint16_t time){//Llanta IzquierdadigitalWrite(M1A, LOW);digitalWrite(M1B, HIGH);//Llanta DerechadigitalWrite(M2A, HIGH);digitalWrite(M2B, LOW);delay(time);}void STOP(uint16_t time){digitalWrite(M1A, LOW);digitalWrite(M1B, LOW);digitalWrite(M2A, LOW);digitalWrite(M2B, LOW);delay(time);}
  • 19. ELEMENTOS NECESARIOSCantidad Componente2 Led infrarrojo CNY702 Resistencias 2202 Resistencias 47K1 Driver para motor L293 B óSN754410NE2 Secciones de acrílico de12x12 cms de 10 mm. deancho para las partessuperior e inferior.Tornillos y Tuercas2 Ruedas de 8 cm dediámetro1 Rueda loca1 Twin Motor GrearBox1 Placa Arduino ATMega1681 ProtoboardCables para conexiones5 CondensadoresAgradecimientos: Laura Romero Leonardo Urrego Documentación arduino.cc Google y Wikipedia Texas Instruments
  • 20. FOTOGRAFIAS

×