Diseño de un semaforo inteligente PDF

Title Diseño de un semaforo inteligente
Course Profundización II
Institution Universidad del Quindío
Pages 24
File Size 1.6 MB
File Type PDF
Total Downloads 79
Total Views 142

Summary

Download Diseño de un semaforo inteligente PDF


Description

TRABAJO FINAL DE DISEÑO DIGITAL AVANZADO\ DISEÑO DE UN SEMAFORO INTELIGENTE BASANDOSE EN EL CRUCE DE LA CARRERA 19 CON CALLE 18

POR: ESNEYDER MORCILLO OCAMPO COD.: 1094951463 JOSE RAMON FORONDA MELO COD.: 1097400296 JHOAN CAMILO ROMAN HURTADO COD.: 1094949367 RONALD ANDRES MORA COD.: 95092713467 DARMAEL ALFREDO VARGAS COD.: 1118560349 DUVIER DE JESUS BOHORQUEZ COD.: 1094948815

PRESENTADO A: ALEXANDER VERA TASAMA

UNIVERSIDAD DEL QUINDIO FACULTAD DE INGENIERIA PROGRAMA DE INGENIERIA ELECTRONICA ARMENIA – QUINDIO 2017

NORMATIVIDAD SOBRE EL TIEMPO DE LOS SEMAFOROS En Colombia el uso de semáforos en las ciudades esta dictaminado por las oficinas de transito municipales en donde regulan mediante actividades de visualización y medición el tiempo que debe transcurrir para que un semáforo pueda realizar un ciclo completo (se le llama ciclo de semáforo al circuito que este hace utilizando los 3 colores [ CITATION VÍC00 \l 9226 ]). Uno de los aspectos más importantes que contienen los semáforos es el uso adecuado del tiempo, el cual es vital para impedir fluctuaciones en el tráfico y mejorar la movilidad en determinados lugares, esta información relativamente importante no se encuentra inmiscuida con la ley que rige la normatividad del tránsito terrestre en Colombia (LEY 769 DE 2002), si se hace un énfasis, en estas reglas solo mencionan la aparición del semáforo como un ente regulador y más específicamente en el artículo 117 y 118 se explica en brevedad el uso de los colores ornamentales del semáforo y los diferentes tipos de semáforos implementados en territorio colombiano [ CITATION LEG02 \l 9226 ]. Al no poderse encontrar información concreta que rigiera el uso profundo de estos dispositivos se amplió el rango de búsqueda a trabajos de investigadores que tuvieran sustentación bibliográfica, aquí es donde el Ph. D. Víctor Gabriel Valencia Alaix de la Universidad de Popayan, entra con su tesis “Principios Sobre Semáforos”, la cual es demasiado completa y explica de forma detallada el funcionamiento de los semáforos. En este trabajo escrito el habla sobre los tiempos que deben tener los semáforos, pero no de una manera puntual si no abierta, es decir explica los parámetros que se utilizan para el cálculo y los expresa en ecuaciones. El color amarillo se diseña teniendo en cuenta el tiempo necesario para reaccionar ante la indicación amarilla y realizar la maniobra de frenado antes de la línea de detención en condiciones seguras[ CITATION VÍC00 \l 9226 ]. Su duración generalmente está entre 3 y 5 segundos y está definida por la siguiente expresión: AM =TR+

v 2 d +[ 2 gi ]

Donde: TR es el tiempo de reacción de un conductor, normalmente este valor es aproximadamente 1 s. V Velocidad a la que se circulan los vehículos por la vía sin influencia del semáforo. G La aceleración de la gravedad. i La pendiente longitudinal de la vía, se da en porcentaje y si el resultado es con signo negativo es descendente, caso contrario es ascendente. D tasa de desaceleración o frenado, normalmente tiene un valor cercano a 2,5 m/s 2.

Una vez especificado el color amarillo en cuanto a duración, se debe tener en cuenta la duración de un estado llamado “tiempo de seguridad” el cual es definido como un periodo en el cual los semáforos están en rojo [ CITATION Min15 \l 9226 ], esto se hace con el motivo de evitar conflictos o posibles cruces entre vehículos y minimizar así el riesgo de un accidente. Para calcular este tiempo que es muy pequeño se tiene la siguiente expresión. ti= td−te + ts

Donde: Ti es el tiempo de seguridad o tiempo intermedio. Td es el tiempo de despeje. Te es el tiempo de entrada. Ts es el tiempo de sobreviraje. El cálculo de los tiempos de seguridad se debe realizar teniendo en cuenta todos los grupos de movimientos y se representa en forma matricial. Algunas condiciones físicas especiales de la intersección, tales como dimensiones, topografía (pendientes muy pronunciadas), altas velocidades de aproximación o tránsito intenso de vehículos pesados, requieren un tiempo de seguridad mayor que el normal para despejar la intersección [ CITATION Min15 \l 9226 ]. Una vez aprendida la parte del estado de tiempo de seguridad se establece que el tiempo en rojo de un semáforo es directamente proporcional a la sumatoria de duración de los demás semáforos en verde, todo rojo y amarillo. En Colombia se maneja un estado de semáforo particular el cual es el rojo amarillo, el cual es un periodo muerto que busca reducir el tiempo perdido al inicio del verde, la duración de este estado es directamente proporcional con el estado de amarillo pudiendo variar según las condiciones de la carretera, especialmente la inclinación [ CITATION Min15 \l 9226 ]. Para poder saber el valor del tiempo del semáforo en verde, se debe hacer un estudio más cuidadoso, en donde la ingeniería vial tiene alta relevancia y aunque este valor puede ser variable a distintas horas del día, las condiciones estipuladas para poder encontrar ese valor son las mismas. El valor mínimo en el que debe estar el valor del tiempo para el verde ronda entre los 6 y 10 segundos [ CITATION VÍC00 \l 9226 ]. Para el cálculo del tiempo de este color se utiliza las siguientes expresiones: V =ve+ λ 1−λ 2 e=I + λ 1− λ 2 I =e−λ 1+ λ 2 V + I =ve + e V =ve + e− I

Donde:

V es el valor del tiempo en verde de un semáforo, está dado en segundos. I es el valor del entreverde. Ve es el valor del tiempo en verde efectivo del semáforo, este se calcula teniendo en cuenta el flujo vehicular, el flujo de saturación y la duración de los ciclos de los semáforos. λ1 = tiempo perdido en el arranque del verde [s]. λ2 = tiempo ganado en el amarillo [s]. e tiempo perdido en la fase. Ya, con esto se explicó el cálculo real del tiempo de cada fase en un semáforo, solo queda definir el valor para un semáforo peatonal el cual es instanciado siempre y cuando haya flujo peatonal. La fórmula es una simple suma y está escrita a continuación: V ( peatonal ) =vp +vi

vi=

a 1,4

[

vp =max 5,

a 2∗1,4

]

Donde: a es el ancho de la calzada vp es el valor del tiempo del semáforo cuando siempre esta encendido. vi es el valor del tiempo del semáforo cuando se encuentra prendiendo intermitentemente

VIA A ANALIZAR La vía escogida para realizar el proyecto es la que se encuentra en la carrera 19 con calle 18, justo donde se encuentra ubicada la CRQ (Corporación Autónoma Regional del Quindío), se escogió esta vía porque presenta 2 cruces en giro y 4 semáforos, además de ser una via muy concurrida, en la cual se generan largas esperar para cruzar debido a los trancones que se forman en ella; anexo a esto se le diseño también un peatonal, considerando que esta vía no lo posee y que según se pudo observar se hace necesario en determinados momentos. El cruce se encuentra demostrado en la figura 1. Para poder determinar los tiempos que muestra este semáforo se hizo un experimento empírico, pero no sin antes mediar los términos legales, es decir visitando a las entidades que regulan la semaforización y el tránsito en la ciudad, tales visitas fueron a el INSTITUTO DEPARTAMENTAL DE TRANSITO DEL QUINDIO y a la SECRETARIA DE TRANSITO Y TRANSPORTE DE ARMENIA. Como no se pudo determinar el valor de la duración del ciclo se hizo de forma empírica cronometrando las duraciones de cada

color en cada semáforo y haciendo un promedio de todas las mediciones en cada semáforo, los resultados de estas mediciones ya redondeadas al valor entero se encuentran estipuladas en la tabla 1, aquí es de destacar que los semáforos tienen tiempos similares y que la investigación que se hizo fue a diferentes horas del día, con lo que se pudo concluir que ese semáforo pertenece a la categoría de tiempo fijo, pues su duración es igual a cualquier hora del día.

Fig. 1 Cruce escogido en el Norte de Armenia

Tabla 1 Medición de la duración promediada de los semáforos en el cruce escogido semáforo real carrera 19 con orientación norte a sur carrera 19 norte a sur giro a la izquierda carrera 19 con orientación sur a norte carrera 19 sur a norte giro a la izquierda calle de la CRQ calle 18

tiempo en rojo (s) 90 100 80 90 100 90

tiempo en amarillo (s) 3 3 3 3 3 3

tiempo en verde (s) 37 27 37 27 18-17 21

IMPLEMENTACION DE LA DESCRIPCION EN LA FPGA ZYBO ZYNQ-7000 Una vez simulada la descripción de hardware mediante el testbench respectivo para cada módulo, se procedió a implementar el mismo en la tarjeta de desarrollo ZYBO Zynq-7000 de la empresa Digilent. Esta tarjeta diseñada en cooperación con la empresa XILINX cuenta con las características adecuadas para la realización del proyecto. En la imagen 2 podemos observar la tarjeta con sus diferentes periféricos:

Fig. 2 Tarjeta FPGA Esta tarjeta contiene el chip Z-7010, el cual se basa en la arquitectura de Xilinx de Systemon-Chip (SoC AP) completamente programable, que se integra firmemente a un procesador de doble núcleo ARM Cortex-A9 con lógica de arreglos programables de puertas en campo de la serie 7 de Xilinx. Algunas de sus características se pueden observar en la siguiente imagen (ver figura 3):

Fig. 3 Especificaciones de la tarjeta Es interesante destacar que esta tarjeta cuenta con 6 pulsadores, 4 switches de corrimiento, 5 leds y aproximadamente 32 pines de salida (independientes de los demás periféricos). En nuestro caso, tuvimos dos opciones para llevar la implementación. La primera de ellas era conectar todas las salidas de la descripción directamente a las salidas de la fpga, esto con el propósito de facilitar las conexiones. Pero al analizar las características de la tarjeta se tuvo en cuenta que la mayoría de pines no cuentan con protección, además, cualquier descarga o corto circuito podría dañar la tarjeta. Es por esto que se decidió conectar la fpga a un Arduino que actuara como circuito de protección, todo esto conectado por una UART descrita en verilog de la cual hablaremos más adelante. Una vez se decidió implementar la descripción de esta forma, se analizaron las características de los pines de salida y los demás componentes de entrada y salida como pulsadores y leds. Para el caso de los pines de salida, se tuvo en cuenta la información provista en el datasheet de la tarjeta, la cual mostraba la distribución de los mismos. Podemos ver esa información en la siguiente imagen (figura 4):

Fig. 4 Pines de la FPGA Como se puede observar, tenemos que cada columna representa los pines que se encuentran en cada sección. En nuestro caso solo se utilizaron las secciones JB, JC, JD y JE, en donde las tres primeras secciones están conformadas por pines de alta velocidad y la última con pines protegidos por resistencias en serie. Las otras dos secciones corresponden a los puertos ADC y MIO.

ESTADOS PARA EL SISTEMA DE SEMÁFOROS PROPUESTO

Fig. 5 Diagrama de estados planteado.

La figura 5 muestra el diagrama de estados que se plantea para el diseño de la red de semaforización, en éste caso, una calle específica de la ciudad de armenia. En dicha calle se plantea un sistema que manejará el flujo vehicular, mediante la adaptación de un sistema basado en el internet de las cosas IoT. El sistema IoT planteado realizará la tarea de actualización de tiempos referentes a los estados de cada semáforo, esto en función del nivel de tráfico detectado, lo cual es supuesto como una fuente de datos proveniente de un sistema externo, diferente al que nos compete en el actual diseño. Éste enfoque presentado representa una opción útil planteada como posible solución a problemas de congestión en intersecciones con gran flujo vehicular, lo cual demanda la utilización de técnicas que mejoren las metodologías tradicionales.

El planteamiento del diagrama de estados se fundamenta en un diseño que contiene 3 tipos de semáforos distribuidos en 4 calles (calles que convergen en una intersección). Los tipos de semáforos son: 

con indicación de giro.



semáforos tradicionales.



semáforos peatonales.

El sistema contiene específicamente los siguientes semáforos Calle 1: Semáforo convencional y semáforo peatonal. Calle 2: Semáforo convencional, semáforo con indicación de giro y semáforo peatonal. calle 3: Semáforo convencional, semáforo con indicación de giro y semáforo peatonal. calle 4: Semáforo convencional y semáforo peatonal.

El diseño del diagrama de estados es planteado para un conjunto de 7 semáforos. Se toma el semáforo peatonal como un solo elemento.

Fig. 6 secuencia de estados a seguir por los semáforos de control flujo vehicular.

Fig. 7 secuencia de estados para los semáforos peatonales.

las figuras 6 y figuras 7 representan las secuencias de estados para los semáforos. A partir de estos diagramas se describieron las máquinas de estados, mediante el HDL (Hardware Description Language) Verilog.

Fig. 8 Máquina de estados para un semáforo junto con temporizador.

La figura 8 muestra el esquemático producto del análisis RTL, para la descripción de la máquina de estado para un semáforo, y para un temporizador que manejará el tiempo que durará cada estado.

Fig. 9 Integración de todos los semáforos junto con temporizadores.

La figura 9 muestra el esquema que representa la conexión de todas las máquinas de estados, las cuales describen el comportamiento de los semáforos. Cada FSM (Finite State Machine) cuenta con un temporizador para el control del tiempo de duración de cada uno de los estados. COMUNICACIÓN BLUETOOTH Para realizar el control de tráfico se utilizó un módulo bluetooth conectado directamente al Arduino, en este se hace un procesamiento de la información obtenida por el modulo y a la vez se encarga de enviar los datos vía serial a la Fpga. La conexión se puede ver integrada en la figura 10, la cual es un modelo de la comunicación y la gráfica general de todo el sistema implementado. La aplicación implementada tuvo los siguientes bloques (ver figura 11) de conexión: el primer bloque contenía las opciones para la comunicación entre el dispositivo bluetooth y el modulo bluetooth y el segundo bloque contiene el envió de datos por medio del bluetooth del teléfono.

Fig. 10 Diagrama general del sistema implementado

Fig. 11 Diagrama de bloques de la aplicación de Android La interfaz que se le hizo a la aplicación se muestra en la figura 12, allí se deben ingresar 4 parámetros numéricos, estos se envían usando el bluetooth cuando se oprime el botón de enviar. En la figura 13 se visualiza la última forma de la maqueta que se realizó para la visualización del trabajo, en esta se controlan todos los leds mediante un bus que se encuentra conectado a un arduino mega.

Fig. 12 Interfaz de la app en android

Fig. 13 Maqueta del cruce analizado

DESCRIPCIÓN EN VERILOG DE LA UART Como se mencionó anteriormente, se hace necesaria la implementación de una unidad de transmisión y recepción serie para conectar la tarjeta al Arduino. Se decidió hacer una descripción para la transmisión y otra para la recepción, para tener un poco más control al momento de la operación. Por cuestión de tiempo realizamos una búsqueda de módulos UART en diferentes fuentes como OpenCores para usarlos directamente. A continuación, encontramos la información del módulo de transmisión y luego del módulo de recepción:

MODULO UART TX La unidad de transmisión tiene 4 entradas y 2 salidas:



Entradas: o clk: Reloj del sistema o rstn: Reset negado. Cuando rstn es 0, se hace un reset síncrono de la unidad de transmisión o start: Comienzo de la transmisión. Cuando está a 1, se captura el carácter que entra por data y se empieza a enviar o data: Dato de 8 bits a enviar



Salidas: o tx: Salida serie del dato. Conectar a la línea de transmisión o ready: Estado de la transmisión. Cuando ready es 1, la unidad está lista para transmitir. Y empezará en cuanto start se ponga a 1. Si ready es 0 la unidad está ocupada con el envío de un carácter

Para transmitir primero se poner el carácter de 8 bits en la entrada data y se activa la señal start. Se comienza a transmitir por tx. La señal ready se pone a 0 para indicar que la unidad está ocupada. Cuando el carácter se ha terminado de enviar, ready se pone de nuevo a 1.

El diagrama de bloques del transmisor se muestra en la siguiente figura:

Como se observa en el diagrama de bloques, este módulo envía tramas de 8 bits, pero nuestra máquina de estados entrega 21 bits. Por esto, se tuvo que usar otro modulo para enviar tramas consecutivamente. Las 3 tramas de la cadena están cableadas a un multiplexor de 3 a 1, cuya entrada de selección está controlada por un contador de 2 bits, de forma que se vayan sacando las tramas una a una. La trama a transmitir se registra y se introduce por la entrada data del transmisor.

MODULO UART RX

La unidad tiene 3 entradas y 2 salidas:



Entradas: o clk: Reloj del sistema (12MHz en la ICEstick) o rstn: Reset negado. Cuando rstn es 0, se hace un reset síncrono de la unidad de transmisión o rx: Linea de recepción serie. Por donde llegan los datos en serie



Salidas: o rcv: Notificación de carácter recibido. Es un pulso de 1 ciclo de ancho o data: Dato de recibido (8 bits)

Inicialmente, cuando la línea está en reposo y no se ha recibido nada, la señal rcv está a 0. Al recibirse el bit de start por rx, el receptor comienza a funcionar, leyendo los siguientes bits y almacenándolos internamente en su registro de desplazamiento. En el instante t1, cuando se ha recibido el bit de stop, el dato se captura y se saca por la salida data. En el siguiente ciclo de reloj, instante t2 (en el cronograma el tiempo se ha exagerado para que se aprecie), aparece un pulso de un ciclo de reloj de anchura (exagerado también en el dibujo) que permita capturar el dato en un registro externo.

Esta interfaz es muy cómoda. Para usar uart-rx en nuestros diseños, sólo hay que conectar la salida data a la entrada de datos de un registro y la señal rcv usarla como habilitación. El dato recibido se capturará automáticamente. Esta señal rcv también la podemos usar en los controladores para saber cuándo se ha recibido un dato nuevo. El diagrama de bloques completo del receptor se muestra en la siguiente figura:

ASIGNACION DE PUERTOS

Luego de tener claros los puertos que se usarían en la implementación se hizo necesario realizar una investigación para conocer cómo se podía acceder a los mismos. Se encontraron 2 formas para realizar la asignación de puertos, por medio de la ventana I/O ports en la implementación en vivado y por medio de la edición del archivo constrains. Para asignar los puertos por medio de la ventana I/O ports se debe completar la síntesis y la implementación de la descripción en vivado. En la siguiente imagen podemos verlo mas claramente:

En esta ventana se pueden asignar los puertos a las entradas y salidas, al igual que el voltaje de operación de los mismos. La otra opción es describir estas entradas y salidas directamente en el archivo constrains:

La empresa provee un archivo con todas las asignaciones posibles, luego se eligen solamente las necesarias:

SINCRONIZACION Es de vital importancia que tanto la FPGA como el Arduino trabajen con la misma velocidad de transmisión. Para el caso del Arduino es bastante sencillo asignar esta velocidad, que por convención es de 9600 baudios, pero en la FPGA es asunto es un poco más complicado. En este caso, se probaron diferentes frecuencias y velocidades de transmisión, pero las tarjetas nunca se lograron comunicar. En este tipo de tarjetas no se puede variar la frecuencia del reloj a menos que se use el PLL interno. Entonces, por comodidad se usó el reloj de la tarjeta directamente, el cual se encuentra en el puerto L16 a una frecuencia de 125M...


Similar Free PDFs