Thinking-Robots-Funcionamiento-y-descripción-de-sensores-REV-A0.docx

36
Thinking Robots, Solidificadora de Tranques de Relave Funcionamiento sensores y descripción de la conectividad de los sistemas electrónicos. Thinking Robots – FSDCSE001 SOLIDIFICADORA DE TRANQUES DE RELAVE DIMEC-USACH Date Rev. Purpose Prep By Rev by Apr by Date Customer Resolution

Transcript of Thinking-Robots-Funcionamiento-y-descripción-de-sensores-REV-A0.docx

Thinking Robots, Solidificadora de Tranques de RelaveFuncionamiento sensores y descripcin de la conectividad de los sistemas electrnicos.Thinking Robots FSDCSE001

SOLIDIFICADORA DE TRANQUES DE RELAVEDIMEC-USACH

DateRev.PurposePrepByRevbyAprbyDateCustomer Resolution

RevAutInf12345

28/05/15A0

ROP, CBS, PED, ANS, DCZ, MRG EZR

AGS

Contenido1Resumen de contenido32Estrategia de movimiento42.1Ultrasonido42.1.1Especificaciones tcnicas52.1.2Conexin y comunicacin52.1.3Programacin62.2Puente H62.2.1Especificaciones tcnicas62.2.2Conexin y comunicacin72.2.3Programacin72.3Movimiento bsico82.3.1Algoritmo bsico de movimiento82.3.2Maniobra para devolverse103Captacin solar y movimiento de plataforma Stewart123.1 Sensor solar123.1.1Calculo del ngulo de incidencia.143.1.2Conexiones153.1.3Algoritmo de movimiento para posicionamiento del espejo Fresnel164Geolocalizacin GPS (Tracking)194.1Equipo GPS194.1.1Especificaciones tcnicas204.1.2Conexin y comunicacin204.1.3Comunicacin214.1.4Programacin214.2Tarjeta MicroSD224.2.1Especificaciones tcnicas224.2.2Conexin y Comunicacin224.2.3Programacin224.3Brjula Digital234.3.1Especificaciones tcnicas234.3.2Conexin y comunicacin.244.3.3Programacin24

Resumen de contenidoEl presente documento contiene el funcionamiento y descripcin de cada uno de los sensores utilizados para el movimiento estratgico, el seguimiento del sol, geolocalizacin (tracking), y captura de la energa solar de Tail-Bot.A partir de la unificacin de informacin, se han establecido los componentes de operacin necesarios del vehculo vitrificador, para que ste sea autmata y sustentable. Se considera como base que el microcontrolador utilizado es la placa Arduino Mega 2560 (ATmega2560), y el voltaje entregado por las bateras ser de 12volts.Se presentan adems el funcionamiento de los sensores ms relevantes del sistema, en diagramas de bloques generalizados, y algoritmos especficos segn correspondan para el movimiento estratgico, captacin solar y movimiento de plataforma Stewart, y geolocalizacin GPS.

Estrategia de movimientoEn la figura N1 se muestra el diagrama de conectividad del sistema de movimiento y deteccin, compuesto por sensores ultrasnicos, puente h de inversor de sentido y servomotores DC.

Figura N1: Diagrama de Proceso, movimiento estratgico.Ultrasonido

El sensor de ultrasonido es HC-SR04, su funcin principal es detectar cualquier obstculo slido, que impida que se cumpla el recorrido estratgico, explicado con posterioridad.

Especificaciones tcnicas

Voltaje de Operacin5Vc

Corriente de Operacin 15mA

Frecuencia de Operacin40KHz

ngulo de Mdicin 30

ngulo efectivo de Mdicin15

Distancia Mnima de deteccin2 cm

Distancia Mxima de deteccin500 cm

Resolucin 1 cm

Dimensiones45mmx20mmx15mm

TABLA N1: Especificaciones tcnicas.Conexin y comunicacin

UTArduino

GNDGND

TRIGSalida digital

ECOEntrada digital

VCC5Vc

Tabla N2: Conexin UT Arduino

ProgramacinHacer el disparodigitalWrite(PIN_TRIG, LOW); delayMicroseconds(2); digitalWrite(PIN_TRIG, HIGH); // Flanco ascendente delayMicroseconds(10); // Duracion del pulsodigitalWrite(PIN_TRIG, LOW); // Flanco descendente Recepcion del eco de respuesta duracion = pulseIn(PIN_ECO, HIGH); Calculo de la distancia efectiva distancia = (duracion/2) / 29;

Puente H

El mdulo L298 es una conexin que hace la funcin de invertir el sentido de giro de los motores de corriente continua. Con este mdulo se coordinara los movimientos de los motores con el recorrido estratgico.

Especificaciones tcnicas

Voltaje de Operacin 5V a 12V

Tipo de Motor a Controlar 2 motores DC, 1 motor stepper,

Corriente Mxima de operacin4A

TABLA N3: Especificaciones tcnicas Puente H L298

Conexin y comunicacinPUENTE HArduino

GNDGND

ENASalida Analgica

IN1Salida digital

IN2Salida digital

ENBSalida Analgica

IN3Salida digital

IN4Salida digital

VCCVoltaje de Operacin

Tabla N4: Conexin UT ArduinoProgramacin Motor gira en un sentido digitalWrite (IN1, HIGH); digitalWrite (IN2, LOW); Motor no gira digitalWrite (IN1, LOW); digitalWrite (IN2, LOW);

Motor gira en sentido inverso digitalWrite (IN1, LOW); digitalWrite (IN2, HIGH); Motor no gira digitalWrite (IN1, HIGH); digitalWrite (IN2, HIGH);

Para agregar cambio de velocidad en el motor deben programarse adecuadamente los pines analgicos ENA y ENB, segn correspondan.

Movimiento bsico

Algoritmo bsico de movimientoEste tpico plantea el diagrama de flujo que debe tener el carro, por lo que sera un esquema principal para guiarse para hacer la programacin. El algoritmo describe el movimiento bsico del carro para que recorra toda su trayectoria sin problemas y para que siempre est mirando para el mismo lado. A este se le adicion los sentidos que los servomotores de las ruedas deberan tener para lograr el movimiento adecuado del carro. A continuacin se muestra en la Figura N2 la disposicin de los servomotores asociados a las ruedas de este:

Figura N2: Disposicin de servomotores para las ruedas

Por lo tanto el diagrama de flujo o algoritmo de movimiento se muestra en la figura N3:

FIGURA N3: Algoritmo de movimiento.Donde: Avanzar: Es cuando el carro avanza y a la vez vitrifica. Se identifican dos tipos, uno que avanza hacia adelante y el otro hacia atrs. Obstculo: Est referido a las paredes del tranque o a algn objeto que impida avanzar. El cul ser detectado por sensores de ultrasonido. Avanzar hasta el final del recorrido: Significa que el carro debe llegar hasta el final del recorrido propuesto con anterioridad.Maniobra para devolverse (MPD): Es el movimiento conjunto de las ruedas que proporcionar el giro al carro para que siga su recorrido. Se identificaron dos que dependen de cul es el sentido inicial del carro.En la figura anterior se muestra cules deben ser las decisiones que debe tomar el carro ante cualquier caso. Se puede apreciar que m1, m2, m3 y m4 corresponde a los servomotores, AH y H corresponde al sentido de giro que debe tener cada servomotor para realizar la accin indicada en el cuadrado. Lo que se busca con este diagrama es esquematizar el

Maniobra para devolverseLa Figura N4 y N5 explican como el carro se devolver al terminar la trayectoria o cuando termine el recorrido vertical.

Figura N4: Dibujo de MPD Figura N5: Flujograma de MPDEsta maniobra permitir al carro poder seguir con la trayectoria predeterminada cambiando el sentido del avance, es decir, el auto ir hacia adelante y en reversa por todo el trayecto. El ngulo a ser de 45 y el largo b ser de 20 cm, a lo que es igual al dimetro del foco que vitrifica el relave. Esta configuracin es para cuando se desea vitrificar todo el rea, si se desea dejar espacios entre cada barrido, se deber cambiar estos parmetros. Se identificaron dos tipos de maniobras para devolverse, la primera es cuando retrocede y la otra es cuando se avanza, por lo que una sera igual que la otra exceptuando el movimiento de los servomotores.Captacin solar y movimiento de plataforma StewartEn la figura N6 se muestra el diagrama de conectividad del sistema de captacin de la ubicacin del sol y el movimiento de la plataforma Stewart, compuesto por sensores solares, puente h de inversor de sentido y servomotores DC.

Figura N6: Diagrama de Proceso, Captacin Solar.3.1 Sensor solarEl sensor NANO-ISSX mide los ngulos de incidencia de un rayo de sol sobre la base de un dispositivo fotodetector, el cual tiene cuadrantes. La luz del sol es guiada al detector a travs de una ventana por encima del sensor. Dependiendo del ngulo de incidencia, la luz del sol induce corrientes fotoelctricas en los cuatro cuadrantes del detector. Como muestra la figura N7.

Figura N7: Sensor Nano- ISSXLos ejes de referencia para este sensor, vienen dado como se muestra en la figura N8.

Figura N8: sistema de referencia sensor Nano ISSX

Calculo del ngulo de incidencia. El ngulo x y ngulo Y especifican la posicin angular del rayo incidente sol dentro del campo de visin del sensor de NANO-ISSX de acuerdo con referencias dadas en la Fig. N9

Figura N9: Referencia para el clculo de ngulo.Los ngulos X e Y del rayo de incidencia se pueden obtener con un simple conjunto de ecuaciones que involucran los cuatro voltajes de fotodiodos generados por el sensor (VPH1, VPH2, VPH3, VPH4):

Donde el valor C es una constante dada por el fabricante segn el modelo de sensor usado, en ese caso C tiene un valor de 1,889.

ConexionesPara el lograr el control en el seguimiento solar, se debe accionar el movimiento correcto de los motores a la posicin requerida. Para esto, se usar un arduino capaz de leer las coordenadas del sensor solar y en base a eso mover los actuadores para que siempre el concentrador solar reciba los rayos de forma perpendicular. Para lograr el accionamiento de los motores se usaran seales PWM, ya que es posible regular la velocidad, variando el ciclo de dicha seal.Las seales necesarias que se deben aportar o se deben recibir de los motores se han centralizado en 6 filas -una por motor de 5 pines cada una, con el fin de facilitar la instalacin y desinstalacin de los mismos. Los conectores de los motores cuentan con 5 cables que tienen las siguientes funciones: Naranja: Referencia negativa del potencimetro incluido (en nuestro caso, conectado a tierra). Morado: Cursor del potencimetro. Este cable nos proporcionar la informacin necesaria para saber la posicin del motor. Rojo: Alimentacin (mx. 15V). Negro: Tierra. Amarillo: Referencia positiva del potencimetro (en este caso, 5V).El objetivo buscado mediante la programacin de la placa Arduino fue el de realizar el control de los motores, es decir que cada uno se dirigiera de la forma ms rpida y precisa posible a la posicin que le indique el sensor en cada momento requerido.

Algoritmo de movimiento para posicionamiento del espejo Fresnel En la primera parte de un cdigo en arduino se inicia incluyendo las libreras para trabajar con los sensores y componentes usados, se definen varias macros empleadas en algunas partes del cdigo posterior y se declaran las variables globales. En el bloque void setup se realizan las configuraciones de los pines, declarndolos como entradas o salidas del sistema. Para cada puente en H de los motores son necesarias dos seales con las que se indica el sentido en que debe ir el motor (como output) y una ltima seal que transporte la PWM para regular la velocidad de estos (enable como output). Tambin se definen los pines necesarios para el sensor solar. Por otro lado se definen como inputs las seales analgicas que utilizaremos para conocer la posicin de los motores. Adems en este bloque se inicia un timer de 10 min, para definir si es necesario el movimiento del espejo Fresnel, es decir se hacen mediciones del sensor solar cada cierto tiempo. Para finalizar, se genera la seal PWM que controlar la velocidad del motor as como las seales que indicarn el sentido de giro, en funcin de la accin de un clculo para esto. El diagrama de flujo resume la idea del cdigo que se debe desarrollar. Una vez iniciado el programa, lo primero que se realiza es una lectura del sensor solar, el cual est midiendo los voltajes de los cuatro cuadrantes. Los valores de estos voltajes son guardados en una variable asignada la que es recibida por Arduino, dentro del cdigo se incluye el algoritmo para determinar los ngulos X e Y, luego mediante una rutina if, se verifica si el cambio de estos ngulos es significativo a 90 grados, que representa una posicin vertical respecto al sol, si se cumple esta condicin, se determina el giro que se debe suministrar a los servo motores para realizar la compensacin de ngulos, si no ocurre esto, se realiza nuevamente la medicin 5 minutos despus. Tras moverse los servomotores y encontrarse nuevamente los espejos del Fresnel a 90, se esperan 10 minutos para realizar el procedimiento nuevamente.

Figura N10: Diagrama de proceso, posicin lente Fresnel.

Geolocalizacin GPS (Tracking)En la siguiente figura N11 se muestra el diagrama de conectividad del sistema de Geolocalizacin, compuesto por Tarjeta Micro SD, Mdulo GPS y Brjula Digital.

Figura N11: Diagrama de Proceso, movimiento estratgico.

Equipo GPSEste equipo proporcionara los datos de longitud, latitud, altura, velocidad, direccin, fecha y hora en tiempo real.Para la obtencin de datos a travs de GPS se utilizara el modulo U-blox NEO-6M con una interfaz serial RS232 TTL alimentado con 3-5vdc. Este mdulo ira conectado directamente con el microcontrolador.

Especificaciones tcnicas

Tipo de Receptor 50 Canales GPS L1 frequency, C/A Code SBAS: WAAS, EGNOS, MSAS

Ubicacin y Navegacin -161 dBm

Precisin 2.5 m

Altitud mxima50,000 m

Velocidad mxima500 m/s

TABLA N5: Especificaciones Tcnicas.Conexin y comunicacinPara la conexin con el microcontrolador arduino el sistema gps ofrece una interfaz en serie asincrnica RS232 TTL, la conexin se realiza mediante 4 cables como se indica en la tabla XX.GPSArduino

GNDGND

TXEntrada digital D4

RXEntrada digital D3

VCC5Vdc

Tabla N6: Conexiones y comunicacin Mdulo GPS

ComunicacinPara la comunicacin con el modulo se utilizan las libreras TinyGPSPlus, la cual proporciona una interpretacin de los comandos $GPGGA and $GPRMC del protocolo NMEA 0183*. Para el proyecto solo se extraern los siguientes datos: Ubicacin: Latitud, longitud y altitud Ubicacin temporal : fecha y hora Velocidad Direccin*El protocolo NMEA 0183 es un medio a travs del cual los instrumentos martimos y tambin la mayora de los receptores GPS pueden comunicarse los unos con los otros. Ha sido definido, y est controlado, por la organizacin estadounidense National Marine Electronics Association

Programacin

UbicacinSerial.println(gps.location.lat(), 6); // Latitud en grados Serial.println(gps.location.lng(), 6); // Longitud en gradosSerial.println(gps.altitude.meters()); // Altitud en Metros

Ubicacin temporalSerial.println(gps.date.value()); // Fecha en formato DDMMYYSerial.println(gps.time.value()); // Tiempo en formato HHMMSSCC

VelocidadSerial.println(gps.speed.mps()); // Velocidad en metros/segundos

Direccin Serial.println(gps.course.deg()); // Direccion en grados

Tarjeta Micro SD

Especificaciones tcnicas

Niveles de Interaccipon 5V o 3.3V

Voltaje de Operacin 4.5 5.5V

Interfaz de ComunicacinEstndar SPI

Conexin y ComunicacinMicroSDArduino

GNDGND

CLKSalida Digital 13

MOSISalida Digital 11

MISOEntrada Digital 12

SSSalida Digital 10

VCC5Vdc

TABLA N7: Conexin y comunicacin Tarjeta Micro SD

Programacin

Librera #include

Inicio de ComunicacinSerial.print("Iniciando tarjeta SD...");pinMode(10,OUTPUT);if (!SD.begin(chipSelect)){Serial.println("Se ha producido un fallo al iniciar la comunicacion");return;}Serial.println("Se ha iniciado la comunicacion Correctamente");

Escribir datosArchivo=SD.open("datos.txt",FILE_WRITE); //Abre documentoif(Archivo){Archivo.println("Hola Caballero");Archivo.close(); //Cierra documentoArchivo.println("Todos los datos fueron almacenados");}else{Serial.println("El archivo datos.txt no se abrio correctamente");}

Brjula Digital

La brjula digital HMC6352 es un dispositivo capaz de medir los campos magnticos, esto es necesario para la orientacin del autmata, tomando como referencia el norte magntico. Especificaciones tcnicas

Voltaje de Operacin2.7 5.2 V

Corriente de Operacin1mA

Resolucin0.5

Interfaz de ComunicacinI2C

Refresco1 a 20 Hz

Dimensiones15x15mm

TABLA N8: Especificaciones Tcnicas Brjula Digital.

Conexin y comunicacin.

Brjula DigitalArduino

GNDGND

SDAEntrada Analgica 20

SCLEntrada Analgica 21

VCC3Vdc

TABLA N9: Conexin y comunicacin.

Programacin

Muestra el ngulo en grados.Serial.print(compass.GetHeading(),0);

FIN DEL DOCUMENTO

Funcionamiento y Descripcin de SensoresPgina 24