sistema de proximidad ultrasÓnico - dspace...

87
SISTEMA DE PROXIMIDAD ULTRASÓNICO INSTITUTO POLTÉCNICO NACIONAL ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA UNIDAD PROFESIONAL “ADOLFO LÓPEZ MATEOS” INGENIERÍA EN COMUNICACIONES Y ELECTRÓNICA PRESENTAN: Xicohténcatl Cuamatzi Flores 2006301027 Miguel Adolfo Jiménez Muñiz 2006301241 Francisco Javier Navarrete González 2005301498 Asesores Técnico: Ing. Guillermo M. Escárcega Carrera Metodológico: Dra. Itzalá Rabadán Malda MÉXICO D.F. A DICIEMBRE 2010

Upload: vuongnguyet

Post on 06-Oct-2018

229 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

1

SISTEMA DE PROXIMIDAD

ULTRASÓNICO

INSTITUTO POLTÉCNICO NACIONAL

ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA

UNIDAD PROFESIONAL

“ADOLFO LÓPEZ MATEOS”

INGENIERÍA EN COMUNICACIONES Y ELECTRÓNICA

PRESENTAN:

Xicohténcatl Cuamatzi Flores 2006301027 Miguel Adolfo Jiménez Muñiz 2006301241 Francisco Javier Navarrete González 2005301498

Asesores Técnico: Ing. Guillermo M. Escárcega Carrera Metodológico: Dra. Itzalá Rabadán Malda

MÉXICO D.F. A DICIEMBRE 2010

Page 2: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

2

Page 3: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

3

Índice Página TITULO 1 OBJETIVO 2 JUSTIFICACIÓN 3 ANTECEDENTES 4 CAPITULO 1. SENSORES 7 1.1 Tipos de sensores 8 1.2 Sensores de proximidad 9 1.3 Funcionamiento de los sensores ultrasónicos 10 1.4 Problemas con los ultrasonidos 11 1.4.1 Incertidumbre angular en la medida de un ultrasonido 12 1.5 Selección de sensores 15 1.6 Sensor SRF05 16 1.6.1 Modo 1. Señal de activación y eco independientes 16 1.6.2 Modo 2. Pin único para la señal de activación y eco 17 1.6.3 Modo de cálculo de distancia con el SRF05 18 CAPITULO 2. MICROCONTROLADORES 20 2.1 Generalidades 21 2.2 Arquitectura Harvard 23 2.3 Interconexión con un microprocesador 25 2.4 Señales analógicas 25 2.5 Señales digitales 26 2.6 Acondicionamiento de señales 27 2.7 Proceso de acondicionamiento de señales 27 2.8 Oscilador externo 28 2.9 PWM 29 CAPITULO 3. DESARROLLO 31 3.1 Finalidad del sistema de proximidad ultrasónico 32 1 Electrónica 33 2 Programación 36 3 Pruebas 51 3.2 Material utilizado 56 3.3 Sensor SRF05 57 3.4 Material diverso 58

CAPITULO 4. PRESUPUESTO ESTIMADO 59 4.1 Presupuesto de material 60 4.2 Presupuesto de mano de obra 56

Page 4: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

4

CAPITULO 5. CONCLUSIONES Y RECOMENDACIONES 62 5.1 Conclusión 63 5.2 Recomendaciones futuras 64 ANEXO 65 Estructura de un programa 66 Tipos de datos 67 Las constantes 67 Variables 68 Operadores 69 Funciones 71 Declaraciones de control 72 Gestión de los puertos 76 Entorno de trabajo 76 El primer programa 79 GLOSARIO 83

Page 5: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

5

Sistema de Proximidad Ultrasónico

Page 6: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

6

Diseñar un sistema de proximidad ultrasónico

con el propósito de implementarlo en

un prototipo de un carro a escala 1:10

Page 7: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

7

La decisión de diseñar y elaborar un sistema de proximidad ultrasónico está respaldada por los conocimientos adquiridos a lo largo de nuestros estudios

superiores en electrónica y acústica.

Este sistema pretende dejar las bases para implementarlo en el sector automotriz, y contar con un sistema de seguridad extra, con el que

podrán contar los automóviles.

Page 8: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

8

Un sistema de proximidad conforma un sistema utilizado para detectar

la presencia de objetos o personas, esta clase de tecnología no es reciente ya que en la industria es muy común ver procesos

automatizados con sistemas de proximidad.

Page 9: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

9

En el ramo automotriz estos sistemas son de nueva implementación en este año (2010) diversas constructoras de automóviles están diseñando sistemas de proximidad y han lanzado a la venta vehículos que cuentan con esta tecnología. Cabe destacar que sólo cuentan con esta tecnología la línea de lujo de cada constructora como por ejemplo Mercedes-Benz en la clase S (Figura 1), Jaguar XJ y Volvo que cuenta con un sistema CYTY SAFETY.

Los precios manejados para estos carros son muy pocos accesibles para todos como por ejemplo, mercedes Benz clase S el más económico 1, 899,900 pesos y el más caro 6, 899,900 pesos. El jaguar XL su cotización es en euros con un aproximado de 116,000 euros.1

Figura 1 Sistema de proximidad mercedes-Benz

a) EMPRESAS.

Además hay diversas empresas que se encargan de implementarle el sistema de proximidad, una de ellas es INMA C.A. actualmente cuenta con estos servicios para Venezuela y USA específicamente a Miami.

Estos sistemas que ofrece son elementos de confort y seguridad adicional que son cada día más apreciados por automovilistas en todo el mundo. Hoy día se ofrecen principalmente como opciones en vehículos especiales y de alta gama pero que cada vez disfrutan de mayor popularidad, especialmente por su costo razonable y alta utilidad. INMA, C.A. ha establecido una representación estratégica con uno de los

1 http://www2.mercedes-benz.com.mx/content/mexico/mpc/mpc_mexico_website/es/home_mpc/passengercars.flash.html 12-oct-2010

http://www.mercedes-benz.com.mx/pasion/nueva_clase_s.html 19-oct-20

http://www.volvocars.com/es/footer/Pages/_CitySafetyTerms.aspx 19-oct-2010

Page 10: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

10

principales fabricantes de accesorios de seguridad activa para vehículos en Asia y Europa, el cual suple estos sistemas como equipo original para ser instalados en la fabricación de vehículos de las principales marcas.

a.1) SISTEMA DE PROXIMIDAD TRASERO

Este sistema asiste al conductor al momento de estacionarse, al tiempo que lo alerta sobre objetos cercanos, niños y todo aquello que no sea perceptible a través de los espejos retrovisores o vidrio trasero del vehículo, el sistema se activa automáticamente cuando comienza la marcha hacia atrás; los sensores ultrasónicos instalados en el parachoques trasero detectan cualquier objeto cercano que se encuentre a menos de 2 metros del mismo e informan al conductor mediante una señal sonora de frecuencia variable y la presentación en un display digital de la distancia y ubicación del objeto cercano. Este sistema reduce drásticamente la posibilidad de colisión con personas u objetos durante el retroceso del vehículo.

a.2) SISTEMA DE PROXIMIDAD DELANTERO

Opera de forma similar al Sistema de Proximidad Trasero, pero en este caso los sensores ultrasónicos se instalan en el parachoques delantero del vehículo y estos alertan, igualmente mediante una señal sonora de frecuencia variable y display digital, la cercanía de objetos en la parte frontal del mismo. De igual forma, cubren la parte lateral del parachoques delantero a fin de poder advertir sobre la cercanía de objetos cuando el vehículo gira, tal y como sucede en estacionamientos tipo rampa. Este sistema puede ser inhabilitado mediante un interruptor ubicado en el tablero.2

2 http://www.inma.com.ve/secciones/actualidad.html 19-oct-2010

Page 11: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

11

SENSORES Este término hace referencia a un transductor que genera una señal

de salida proporcional a una señal de entrada.

Page 12: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

12

1.1 TIPOS DE SENSORES.

a) Sensores de posición

Su función es medir o detectar la posición de un determinado objeto en el espacio, dentro de este grupo, podemos encontrar los siguientes tipos de sensores.

a.1) Los sensores fotoeléctricos

La construcción de este tipo de sensores, se encuentra basada en el empleo de una fuente de señal luminosa (lámparas, diodos LED, diodos láser etc.) y un dispositivo receptor para dicha señal, como pueden ser fotodiodos, fototransistores o LDR etc.

Este tipo de sensores, se encuentra basado en la emisión de luz, y en la detección de ésta emisión realizada por los fotodetectores.

Según la forma en que se produzca esta emisión y detección de luz, podemos dividir este tipo de captadores en:

b) Sensores

b.1) Sensores por barrera. Estos detectan la existencia de un objeto, porque interfiere la recepción de la señal luminosa.

b.2) Sensores por reflexión. La señal luminosa es reflejada por el objeto, y esta luz reflejada es captada por el Sensor fotoeléctrico, lo que indica al sistema la presencia de un objeto.

c) Sensores de contacto

Estos dispositivos, son los más simples, ya que son interruptores que se activan o desactivan si se encuentran en contacto con un objeto, por lo que de esta manera se reconoce la presencia de un objeto en un determinado lugar.

Page 13: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

13

d) Sensores de Movimientos

Este tipo de sensores, ya que nos da información sobre las evoluciones de las distintas partes que conforma el circuito, y de esta manera podemos controlar con un grado de precisión elevada la evolución en su entorno de trabajo.3

Este tipo de sensores, se basa en el mismo funcionamiento que los de tipo fotoeléctrico, ya que se emite una señal de tipo ultrasónica, y esta señal es captada por un receptor.

Dentro de este tipo de sensores podemos encontrar los siguientes:

d.1) Sensores de Velocidad

Estos sensores pueden detectar la velocidad ya sea lineal o angular. Este tipo de sensores al ser mecánicos se deterioran, y pueden generar errores en las medidas.

d.2) Sensores por ultrasonidos

4

3

1.2 SENSORES DE PROXIMIDAD.

Los sensores de proximidad conforman un grupo de dispositivos utilizados para detectar la presencia de objetos o personas en torno a una zona delimitada, pero también puede determinar la presencia de elementos de un determinado material en la zona de trabajo.

La búsqueda de mayor eficiencia en los procesos productivos y logísticos exige incrementar el control sobre los subsistemas, con el fin de aumentar la rapidez de respuesta, coordinar sistemas relacionados, mejorar la calidad de los procesos, reducir los fallos, paradas técnicas, se orienta en definitiva reducir costos y aumentar la calidad. El mejor camino para lograr esto es automatizar los procesos.

http://www.profesormolina.com.ar/tecnologia/sens_transduct/que_es.htm 22-oct-2010

4 http://www.profesormolina.com.ar/tecnologia/sens_transduct/que_es.htm 22-oct-2010

Page 14: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

14

Los sensores aportan la información básica; son los que incorporan las variables de control o las de magnitud de referencia a un sistema del que se desea obtener control o información de estado de funcionamiento.5

De entre los distintos tipos de sensores destacan los sensores de proximidad por varias razones, la primera de ellas es que se trata de un amplio grupo de dispositivos, heterogéneo. Compuesto por sensores de diferentes tipos, como principios de funcionamiento diferentes y aplicaciones distintas. Así, pertenecen a este grupo tipos tan distintos como pueden ser los finales de carrera (interruptores mecánicos, con detección de contacto físico) o los sensores optoeléctricos láser (sensores de dirección sin contacto). El nexo que los mantiene unidos como grupos en que se emplean para detección de proximidad de objetos o personas. Otras de las razones, es que la detección de proximidad de objetos se puede precisar el estado predefinido de un sistema (máquina, cadena de producción, sistema de transporte o cualquier dispositivo que incorpore detección de proximidad) y permite que el sistema actué según ha sido diseñado.

6

Los ultrasonidos son sonidos con frecuencias mayores a 20KHz. El funcionamiento básico de los ultrasonidos como medidores de distancia se muestra a continuación. Figura 1.3.1. Donde se tiene un transmisor que envía una señal ultrasónica y esta a su vez se refleja sobre un determinado objeto y la reflexión es detectada por un receptor.

1.3 FUNCIONAMIENTO DE LOS SENSORES ULTRASÓNICOS.

7

Figura 1.3.1 Diagrama de funcionamiento de un ultrasonido

5 http://taee.euitt.upm.es/congresos_taee/libros_de_actas/taee06/papers/S6/p56.pdf 19-oct-2010

6 http://taee.euitt.upm.es/congresos_taee/libros_de_actas/taee06/papers/S6/p56.pdf 19-oct-2010

7 http://www.iit.upco.es/~alvaro/teaching/Clases/Robots/teoria/ 23-sep-2010

Page 15: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

15

La mayoría de los sensores de ultrasonido de bajo costo se basan en la emisión de un pulso de ultrasonido cuyo lóbulo, o campo de acción, es de forma cónica.

Midiendo el tiempo que transcurre entre la emisión del sonido y la percepción del eco se puede establecer la distancia a la que se encuentra el obstáculo que ha producido la reflexión de la onda sonora, mediante la fórmula 1.3.1.

tvd ⋅=21 1.3.1

Donde:

d : Distancia recorrida por el sonido

v : Velocidad del sonido en el aire (343m/s a 20°C)

t : Tiempo transcurrido entre la emisión y recepción del pulso8

El patrón de radiación del pulso que se emite desde un transductor ultrasónico tiene forma cónica. El eco que se recibe como respuesta a la reflexión del sonido indica la presencia del objeto más cercano que se encuentra dentro del cono acústico y no especifica en ningún momento la localización angular del mismo. Aunque la máxima probabilidad es que el objeto detectado esté sobre el eje central del cono acústico, la probabilidad de que el eco se haya producido por un objeto presente en la periferia

1.4 PROBLEMAS CON LOS ULTRASONIDOS.

A pesar de que su funcionamiento parece muy sencillo, existen factores inherentes tanto a los ultrasonidos como al mundo real, que influyen de una forma determinante en las medidas realizadas. Por tanto, es necesario un conocimiento de las diversas fuentes de incertidumbre que afectan a las medidas para poder tratarlas de forma adecuada, minimizando su efecto en el conocimiento del entorno que se desea adquirir. Entre los diversos factores que alteran las lecturas que se realizan con los sensores ultrasónicos cabe destacar:

8 http://www2.ate.uniovi.es/13996/Lecciones/Lecci%C3%B3n%209.pdf 23–sep-2010

http://gsyc.escet.urjc.es/docencia/asignaturas/robotica/transpas/sensores.pdf 23–sep-2010

Page 16: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

16

del eje central no es en absoluto despreciable y ha de ser tenida en cuenta y tratada convenientemente. 9

Figura 1.4 Forma cónica de un ultrasonido

1.4.1 INCERTIDUMBRE ANGULAR EN LA MEDIDA DE UN ULTRASONIDO.

La cantidad de energía acústica reflejada por el obstáculo depende en gran medida de la estructura de su superficie. Para obtener una reflexión altamente difusa del obstáculo, el tamaño de las irregularidades sobre la superficie reflectora debe ser comparable con la longitud de onda del ultrasonido incidente.

Figura 1.4.

a) En algunos sensores ultrasónicos se utiliza el mismo transductor como emisor y receptor. Tras la emisión del ultrasonido se espera un determinado tiempo a que las vibraciones en el sensor desaparezcan y esté preparado para recibir el eco producido por el obstáculo. Esto implica que existe una distancia mínima “d” (proporcional al tiempo de relajación del transductor) a partir de la cual el sensor mide con precisión. Por lo general, todos los objetos que se encuentren por debajo de esta distancia “d”, serán interpretados por el sistema como una distancia igual a la distancia mínima. 10

9

Figura 1.4.2.

http://www.iit.upco.es/~alvaro/teaching/Clases/Robots/teoria/ 25-sep-2010 http://www2.ate.uniovi.es/13996/Lecciones/Lecci%C3%B3n%209.pdf 25-sep-2010 http://gsyc.escet.urjc.es/docencia/asignaturas/robotica/transpas/sensores.p 27-sep-2010

10 http://www.uc3m.es/uc3m/dpto/IN/dpin04/ISL/sensores.pdf http://www.superrobotica.com/S320110.htm 27-sep-2010

Page 17: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

17

Figura1.4.2 Diagrama de captación de un ultrasonido b) Los factores ambientales tienen una gran repercusión sobre las medidas: Las ondas de ultrasonido se mueven por un medio material que es el aire. La densidad del aire depende de la temperatura, influyendo este factor sobre la velocidad de propagación de la onda según la expresión 1.4.a.

2731 TVVs so += 1.4.a

Donde:

soV : La velocidad de propagación de la onda sonora a 0 ºC

T : Temperatura absoluta (grados Kelvin).11

11

Como se observa en la siguiente figura 1.4.3.

http://www.uc3m.es/uc3m/dpto/IN/dpin04/ISL/sensores.pdf 27-sep-2010

Page 18: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

18

Figura 1.4.3 La temperatura afecta a la capacidad de detección

Un factor de error es el conocido como falsos ecos. Estos falsos ecos se pueden producir por razones diferentes. Puede darse el caso en que la onda emitida por el transductor se refleje varias veces en diversas superficies antes de que vuelva a incidir en el transductor (si es que incide). Este fenómeno, conocido como reflexiones múltiples, implica que la lectura del sensor evidencia la presencia de un obstáculo a una distancia proporcional al tiempo transcurrido que viaja la onda; es decir, una distancia mucho mayor que a la que está en realidad el obstáculo más cercano, que pudo producir la primera reflexión de la onda. Figura 1.4.4.

Figura 1.4.4 El sensor “a” emite el pulso que recibe el sensor “b” Las ondas de ultrasonido obedecen a las leyes de reflexión de las ondas, por lo que una onda de ultrasonido tiene el mismo ángulo de incidencia y reflexión respecto a la normal a la superficie. Esto implica que si la orientación relativa de la superficie

Page 19: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

19

reflectora con respecto al eje del sensor ultrasónico es mayor que un cierto umbral, el sensor nunca reciba el pulso de sonido que emitió. 12

Figura 1.4.5 Reflexión de la onda

Además de los problemas señalados, se mencionará algunos puntos que pueden ser problemáticos al momento de diseñar un sistema de proximidad ultrasónico:

Figura 1.4.5.

La posición real del objeto es desconocida fuera del cono

Reflejos especulares: La dirección del reflejo depende del ángulo de Incidencia Cuanto menor sea el ángulo, mayor es la probabilidad de perderse y producir

falsas medidas de gran longitud Las superficies pulidas agravan el problema; las rugosas producen reflejos que

llegan antes13

1.5 SELECCION DE SENSORES.

A seleccionar un sensor para una aplicación en particular hay que considerar varios factores.

Definir el propósito de la aplicación

El rango de medición que se requiere

El tipo de salida que se requiere del sensor, lo cual determinara las condiciones de acondicionamiento de la señal, a fin de contar con señales de salida idóneas para la medición.

12 http://www.utp.edu.co/php/revistas/ScientiaEtTechnica/docsFTP/154251107-112.pdf 29-sep-2010 http://decsai.ugr.es/~lcv/Docencia/itmia/Documentos/Nomad200/Intro.htm 29-sep-2010

13 http://www.cs.brandeis.edu/~miguel/Tesis.pdf http://www.depeca.uah.es/docencia/ING-TELECO/sec/senso3.pdf 29-sep-2010

Page 20: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

20

Con base a lo anterior se puede identificar los sensores, teniendo en cuenta rango, exactitud, linealidad, velocidad de respuesta, confiabilidad, requisitos de alimentación eléctrica y costo.

De esta manera al verificar varios tipos de sensores para nuestro sistema de proximidad ultrasónico nos decidimos por el SRF05 por el costo, necesidades para realzar dicho proyecto y cumple con nuestros requerimientos y necesidades.14

14 W. Bolton 2ª edición. MECATRONICA “sistemas de control electrónico en ingeniería mecánica y eléctrica”, editorial alfaomega pág. 48

1.6 SENSOR SRF05.

En el modo estándar, el SRF05 cuenta con un modo de trabajo que emplea un solo pin para controlar el sensor y hacer la lectura de la medida. Lo que se hace es mandar un impulso para iniciar la lectura y luego poner el pin en modo entrada.

Después basta con leer la longitud del pulso devuelto por el sensor, que es proporcional a la distancia medida por el sensor.

El sensor SRF05 incluye un breve retardo después del pulso de eco para dar a los controladores más lentos como Basic, Stamp y Picaxe el tiempo necesario para ejecutar sus pulsos en los comandos. El sensor SRF05 tiene dos modos de funcionamiento, según se realicen las conexiones.

1.6.1 MODO 1. SEÑAL DE ACTIVACIÓN Y ECO INDEPENDIENTES.

Este modo utiliza pines independientes para la señal de inicio de la medición y para retorno del eco, siendo el modo más sencillo de utilizar.

Page 21: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

21

Figura 1.4.6 Pines Sensor SRF05

Figura 1.4.7 Diagrama de tiempos del sensor SRF05 en modo 1

1.6.2 MODO 2. PIN ÚNICO PARA LA SEÑAL DE ACTIVACIÓN Y ECO.

Este modo utiliza un único pin para las señales de activación y eco, y está diseñado para reducir el número de pines en los microcontroladores. Para utilizar este modo, conecte el pin de modo al pin de tierra de 0v. La señal de eco aparecerá en el mismo pin que la señal de activación. El SRF05 no elevará el nivel lógico de la línea del eco hasta 700uS después del final de la señal de activación. Dispone de ese tiempo para cambiar el pin del disparador y convertirlo en una entrada para preparar el código de medición de pulsos. El comando PULSIN integrado en la mayor parte de los controladores del mercado lo hace automáticamente.

Page 22: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

22

Figura 1.4.8 Diagrama de tiempos del sensor SRF05 en modo 2

1.6.3 MODO DE CÁLCULO DE DISTANCIA CON EL SRF05.

Para iniciar la medición de la distancia, se muestran todos los diagramas de tiempo para el sensor de distancias por ultrasonido SRF05 para cada modo. Deberá suministrar un breve pulso de al menos 10uS para disparar la entrada de comienzo del cálculo de distancia. El SRF05 transmitirá una ráfaga de 8 ciclos de ultrasonidos a 40khz elevando el nivel lógico de la señal del eco (o la línea de activación en el modo 2). Entonces el sensor "escucha" un eco, y en cuanto lo detecta, vuelve a bajar el nivel lógico de la línea de eco. La línea de eco es por lo tanto un pulso, cuyo ancho es proporcional a la distancia respecto al objeto. Registrando la duración del pulso es posible calcular la distancia en pulgadas/centímetros o en cualquier otra unidad de medida. Si no se detectase nada, entonces el SRF05 baja el nivel lógico de su línea de eco después de 30ms.

El SRF05 proporciona un pulso de eco proporcional a la distancia. Si el ancho del pulso se mide en µS, el resultado se debe dividir entre 58 para saber el equivalente en centímetros, y entre 148 para saber el equivalente en pulgadas. µS/58=cm o µS/148=pulgadas.

Page 23: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

23

El SRF05 puede activarse cada 50ms, o 20 veces por segundo. Debería esperar 50ms antes de la siguiente activación, incluso si el SRF05 detecta un objeto cerca y el pulso del eco es más corto. De esta manera se asegura que el "bip" ultrasónico ha desaparecido completamente y no provocará un falso eco en la siguiente medición de distancia.

Los usuarios de este sensor nos plantean esta consulta muy frecuentemente; sin embargo no existe ninguna manera sencilla de reducir o cambiar el ancho del haz. El patrón del haz del sensor SRF05 es cónico mientras que el ancho del haz es una función del área de la superficie de los transductores y es fijo. El patrón de radiación se muestra en la Figura 1.4.9. 15

Figura 1.4.9 Patrón de radiación del sensor SRF05

15 http://www.superrobotica.com/S320111.htm 5-oct-2010

Page 24: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

24

MICROCONTROLADORES

Es la integración del CPU (microprocesador, memoria ROM y entradas/salidas) en un solo circuito integrado

Page 25: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

25

2.1 GENERALIDADES.

Recibe el nombre de controlador el dispositivo que se emplea para el control de uno o varios procesos.

Hace tres décadas, los controladores se construían exclusivamente con componentes de lógica discreta, posteriormente se emplearon los microprocesadores, que se rodeaban con chips de memoria y E/S sobre una tarjeta de circuito impreso. En la actualidad, todos los elementos del controlador se han podido incluir en un chip, el cual recibe el nombre de microcontrolador. Consiste principalmente en una computadora, contenida en un circuito integrado.

Un microcontrolador es un circuito integrado de alta escala de integración que incorpora la mayor parte de los elementos que configuran un controlador.

Procesador o CPU

Memoria RAM

Memoria ROM

Líneas de E/S para comunicarse con el exterior.

Diversos módulos para el control de periféricos (Temporizadores, Puerto Serie y

Paralelo, CAD, ADC.)

Mayor flexibilidad: las características de control están programadas por lo que su

modificación sólo necesita cambios en el programa de instrucciones

Las CPU´s atendiendo al tipo de instrucciones que utilizan pueden clasificarse en:

CISC: (Complex Instruction Set Computer) Computadores de juego de instrucciones complejo, que disponen de un repertorio de instrucciones elevado (80, 100 o más), algunas de ellas muy sofisticadas y potentes, pero que como contrapartida requieren muchos ciclos de máquina para ejecutar las instrucciones complejas.

RISC: (Reduced Instruction Set Computer) Computadores de juego de instrucciones reducido, en los que el repertorio de instrucciones es muy reducido, las instrucciones son muy simples y suelen ejecutarse en un ciclo máquina. Además los RISC deben tener una estructura pipe-line y ejecutar todas las instrucciones a la misma velocidad.

Page 26: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

26

SISC: (Specific Instriction Set Computer) Computadores de juego de instrucciones específico. En los microcontroladores destinados a aplicaciones muy concretas, el juego de instrucciones, además de ser reducido, es "específico", es decir, las instrucciones se adaptan a las necesidades de la aplicación prevista.16

El siguiente diagrama muestra un diagrama a bloques general de un microcontrolador. Figura 2.1.

Figura 2.1 Diagrama a bloques de un microcontrolador

16 http://www.monografias.com/trabajos12/microco/microco.shtml 22-oct-2010

Page 27: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

27

Un microcontrolador tiene terminales para la conexión externa de entradas y salidas, alimentación eléctrica y señales de reloj y de control. Las conexiones de entrada y salida se agrupan en unidades denominadas puertos de entrada/salida. Por lo general estos puertos son de 8 bits. Los puertos pueden ser solo de entrada o de salida, pero también bidireccionales para que funcionen tanto como entradas o como saldas.17

La memoria de programa y la memoria de datos constituyen dos espacios de

Memoria separados.

2.2 ARQUITECTURA HARVARD.

En los últimos años la velocidad de las CPUs ha aumentado mucho en comparación a la de las memorias con las que trabaja, así que se debe poner mucha atención en reducir el número de veces que se accede a ella para mantener el rendimiento. Si, por ejemplo, cada instrucción ejecutada en la CPU requiere un acceso a la memoria, no se gana nada incrementando la velocidad de la CPU - este problema es conocido como 'limitación de memoria'.

Se puede fabricar memoria mucho más rápida, pero a costa de un precio muy alto. La solución, por tanto, es proporcionar una pequeña cantidad de memoria muy rápida conocida con el nombre de caché. Mientras los datos que necesita el procesador estén en la caché, el rendimiento será mucho mayor que si la caché tiene que obtener primero los datos de la memoria principal. La optimización de la caché es un tema muy importante de cara al diseño de computadoras.

La arquitectura Harvard ofrece una solución particular a este problema. Las instrucciones y los datos se almacenan en cachés separadas para mejorar el rendimiento. Por otro lado, tiene el inconveniente de tener que dividir la cantidad de caché entre los dos, por lo que funciona mejor sólo cuando la frecuencia de lectura de instrucciones y de datos es aproximadamente la misma. Esta arquitectura suele utilizarse en DSP’s, o procesador de señal digital, usados habitualmente en productos para procesamiento de audio y video.

El acceso a cada espacio de memoria puede llegar a ser mediante buses

distintos, es decir, puede haber dos buses de direcciones, un bus de datos y un

bus de instrucciones). 17 W. Bolton 2ª edición. MECATRONICA “Sistemas de control electrónico en ingeniería mecánica y eléctrica”, editorial alfa-omega pág. 339-348

Page 28: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

28

Lo más habitual es que exista un único bus de direcciones, en cuyo caso debe

existir alguna señal de control que permita diferenciar a que espacio de

memoria se hace referencia (por ejemplo, señales de READ, WRITE y FETCH).

Es la arquitectura propia de un buen número de microcontroladores (por

ejemplo, PIC). 18

Figura 2.2 Diagrama a bloques de la arquitectura Harvard

Todos los PIC se caracterizan por poseer unos mismos recursos mínimos

Sistema POR (POWER ON RESET)

o Todos los PIC tienen la facultad de generar una autoreinicialización o autoreset al conectarles la alimentación.

Perro guardián, (Watchdog)

o Existe un temporizador que produce un reset automáticamente si no es recargado antes de que pase un tiempo prefijado. Así se evita que el sistema se quede "colgado" puesto que dada esa situación el programa no recargaría dicho temporizador y se generaría un reset.

Código de protección

o Cuando se procede a realizar la grabación del programa, puede protegerse para evitar su lectura. También disponen de posiciones reservadas para registrar números de serie, códigos de identificación, prueba, etc.

18 http://s3.amazonaws.com/lcp/whendygarcia/myfiles/CLASE2.pdf 22-oct-2010

Memoria de programa

Unidad de control Memoria de datos

ALU

I/O

Page 29: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

29

Modo de reposo (bajo consumo o SLEEP)

o Ejecutando una instrucción (SLEEP), el CPU y el oscilador principal se detienen y se reduce notablemente el consumo.

Modo de reposo (bajo consumo o SLEEP)19

2.3 INTERCONEXION CON UN MICROPROCESADOR.

Los dispositivos de entrada y de salida están conectados con un sistema de microprocesador mediante puertos. El termino interfaz se refiere a un elemento que se usa para interconectar diversos dispositivos y un puerto. Existen así entradas de sensores, interruptores, teclados matriciales, salidas para indicadores y actuadores.

Los microprocesadores requieren entradas de tipo digital, por ello cuando un sensor produce una señal analógica, es necesaria una conversión de señal analógica a digital.

2.4 SEÑALES ANALÓGICAS.

Es una señal producida por un fenómeno electromagnético. Se representa por una función matemática continua; donde varía el período y la amplitud en función del tiempo. Generalmente la intensidad, la temperatura, la presión, la tensión, la mecánica y la potencia son portadoras de este tipo de señal. Las señales análogas se pueden percibir en todos los lugares, por ejemplo la luz, la energía, el sonido, etc., estas son señales que varían constantemente.

19 http://www.monografias.com/trabajos12/microco/microco.shtml 22-oct-2010

Page 30: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

30

Figura 2.3 Señal analógica

Cuando los valores del voltaje tienden a variar en forma de corriente alterna se produce una señal eléctrica analógica.

Las señales de cualquier comunicación electrónica o de cualquier ruido, puede presentar algunas complicaciones; por ejemplo, estas pueden ser modificadas a través del ruido de forma no deseada. Es por estas razonas que se recomienda que la señal antes de ser procesada se acondicione; de este modo no generará estas modificaciones imprevistas. Si se presenta este problema; se debe capturar las ondas de sonido analógicas con un micrófono, y luego se deben convertir en una señal de audio (pequeña variación analógica de tensión).20

20

2.5 SEÑALES DIGITALES.

Cuando un microcontrolador forma parte de un sistema de medición o de control, es necesario convertir la salida analógica del sensor en forma digital antes de ser utilizada por el microcontrolador.

El sistema binario se basa solo en dos números 0 y 1. A estos se les conoce como dígitos binarios o bits. Como se muestra en la siguiente tabla 2.4.a.

http://www.arqhys.com/articulos/senales-analogicas.html 22-oct-2010

A

t

Page 31: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

31

23 22 21 20

Bit 3 Bit 2 Bit 1 Bit 0

Tabla 2.4.a

2.6 ACONDICIONAMIENTO DE SEÑALES.

Las señales de salida del sensor de un sistema de medición en general se deben procesar de una forma adecuada para la siguiente etapa de la operación. La señal puede ser demasiado pequeña y sería necesario amplificarla, o podría contener ruido, ser no lineal y requerir su linealización entre otras, a estas modificaciones se le designa en general con el término de acondicionamiento.21

Eliminación o reducción de ruido. Esto se suprime mediante filtros.

2.7 PROCESOS DE ACONDICIONAMIENTO DE SEÑALES.

Estos son algunos de los procesos que se pueden presentar en el acondicionamiento de una señal.

Protección para evitar daño al siguiente elemento, por ejemplo, un microprocesador, como consecuencia de un voltaje o una corriente elevada. Para tal efecto, se coloca un fusible que se funde si la corriente es demasiado alta; circuitos de protección por polaridad y limitadores de voltaje.

Convertir una señal en un tipo de señal adecuado. Sería el caso cuando es necesario convertir una señal a un voltaje de C.D. (corriente directa) o a corriente, también podría necesitarse una señal analógica o digital.

Manipulación de la señal. Convertir una variable en una función lineal.22

21 W. Bolton 2ª edición. MECATRONICA “sistemas de control electrónico en ingeniería mecánica y eléctrica”, editorial alfaomega pág. 54

22 W. Bolton 2ª edición. MECATRONICA “sistemas de control electrónico en ingeniería mecánica y eléctrica”, editorial alfaomega pág. 87

Page 32: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

32

2.8 OSCILADOR EXTERNO.

Todo Microcontrolador requiere un circuito externo que le indique la velocidad a la que debe trabajar. Este circuito, que se conoce con el nombre de oscilador o reloj, es muy simple pero de vital importancia para el buen funcionamiento del sistema. Los PIC pueden utilizar cuatro tipos de osciladores diferentes:

RC. Oscilador con resistencia y condensador. XT. Cristal de cuarzo. HS. Cristal de alta velocidad. LP. Cristal para baja frecuencia y bajo consumo de potencia.23

En el momento de programar el microcontrolador se debe especificar qué tipo de oscilador se va a utilizar. Esto se hace a través de unos "fusibles de configuración", generalmente se suele utilizar un cristal de 4Mhz y de esta manera internamente esta frecuencia queda dividida en cuatro, lo que hace que la frecuencia efectiva de trabajo sea de 1 MHz, por lo que cada instrucción se realiza en un microsegundo (1μS).

El cristal debe ir conectado con dos condensadores. La conexión se muestra en la figura 2.4.24

Figura 2.4 Diagrama del circuito oscilador

23 http://usuarios.multimania.es/sfriswolker/pic/cinco/cincocuatro.htm 21-oct-2010

24 http://usuarios.multimania.es/sfriswolker/pic/cinco/cincocuatro.htm 21-oct-2010

Page 33: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

33

2.9 PWM (MODULACION POR ANCHO DE PULSO).

La modulación por ancho de pulsos (también conocida como PWM, siglas en inglés Pulse-Width Modulation) de una señal o fuente de energía es una técnica en la que se modifica el ciclo de trabajo de una señal periódica (una senoidal o una cuadrada, por ejemplo), ya sea para transmitir información a través de un canal de comunicaciones o para controlar la cantidad de energía que se envía a una carga.

El ciclo de trabajo de una señal periódica es el ancho relativo de su parte positiva en relación con el período. Expresado matemáticamente:

TD τ= 2.5.a

Donde:

D : Ciclo de trabajo

τ : Tiempo en que la función es positiva (ancho del pulso)

T : Período de la función

El modo PWM permite obtener en el pin 6 o 9 del microcontrolador 16f88 una señal periódica en la que se puede modificar el ciclo de trabajo. Es decir podemos variar el tiempo en el cual la señal esta en nivel alto (TON) frente al tiempo que está en nivel bajo (TOFF). Figura 2.6.

Figura 2.6 Señal PWM

Page 34: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

34

La resolución de salida es de hasta 10 bits. Para que este pin funcione tiene que estar configurado como salida, mediante la configuración del TRIS correspondiente.

El periodo de la señal PWM se obtiene de configurar el TIMER2 y el contenido del registro PR2. Este registro de 8 bits contiene los 8 bits más significativos de una cuenta de 10 bits. Para calcular el periodo de la señal PWM se utiliza la siguiente ecuación25

)2_)()(4)(12( MRprescalerTvalorTPRPWM OSC+=

.

2.5.b

25 Eduardo García breijo. Compilador C CCS y simulador PROTEUS para microcontroladores PIC. Editorial alfaomega primera edición 2008 pág. 141-142

Page 35: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

35

DESARROLLO

En los dos capítulos anteriores hemos realizado una breve aportación teórica la cual ha sido necesaria para el buen entendimiento

del sistema de proximidad ultrasónico.

Page 36: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

36

3.1 FINALIDAD DEL SISTEMA DE PROXIMIDAD ULTRASONICO.

Medir con el sensor ultrasónico y desplegar la lectura obtenida en el LCD, implementándolo en un carro a escala 1:10, teniendo en cuenta que un futuro se podrá proveer a los automovilistas un sistema de seguridad adicional.

En el siguiente diagrama se muestran los pasos realizados para lograr el objetivo.

Diagrama 3.1

Page 37: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

37

1. ELECTRÓNCA.

En este proceso se visualizaron todos los componentes electrónicos y el armado de los diferentes circuitos, montándolo primero en un protoboard como se muestra en la figura 3.2.

Figura 3.2 Montaje del circuito para medir la velocidad

También nos ayudamos proteus (software) antes de realizarlo físicamente; realizábamos la simulación en dicho programa. Figura 3.3.

Figura 3.3 Simulación del programa de la velocidad

Armados los circuitos procedimos a montar el sensor SRF05. Figura 3.4.

Page 38: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

38

Figura 3.4 Sensor SRF05

ELABORACIÓN DE UN CIRCUITO IMPRESO.

1. Realización del circuito diagrama

Lo primero que hay que hacer es, sobre un papel, dibujar el diseño original del circuito impreso tal como queremos que quede terminado. Para ello podemos utilizar regla y lápiz, o bien, un programa de diseño de circuitos impresos. Ya sea a lápiz o por computadora siempre hay que tener a mano los componentes electrónicos a montar sobre el circuito para poder ver el espacio físico que requieren así como la distancia entre cada uno de sus terminales. Recordar que hay que marcar las pistas con tinta permanente.

2. Preparar la superficie de cobre

Consiste en pulir la superficie de cobre virgen con una lija para remover cualquier mancha o partícula de grasa. Recordando que el cloruro férrico solo deslava el cobre.

Imprimir en acetato el circuito que se diseño por medio de software para después plancharlo sobre la superficie de cobre, hasta que el tóner se haya transferido al cobre.

3. Verter el cloruro

Sobre una bandeja colocar la placa fenólica con el cobre hacia arriba para verter el cloruro férrico, para que después de 15 minutos sacarla de la bandeja (hasta que queden bien definidas las pistas).

Page 39: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

39

4. Prueba de continuidad

Una vez obtenido el circuito impreso completo, con un multímetro verificar las pistas que estén “completas”, si no es así se tendrán que hacer puentes.

5. Perforado

Para que los componentes puedan ser soldados se deben ser perforados en las islas, por donde los pines del componente pasarán.

6. Soldado

Una vez perforado pasaremos a realizar en ensamblado de los diversos componentes con soldadura. Con lo explicado anteriormente nuestra placa nos quedo de esta manera. Figura 3.5.

Figura 3.5 Placa final soldada

Figura 3.6 Pruebas físicas del circuito

Page 40: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

40

2. PROGRAMACIÓN.

En esta etapa realizamos un programa en el compilador CCS (ver anexo) el cual es para el sensor ultrasónico, además de realizar tambien el cálculo de la velocidad para el carro de control remoto.

//******************************Programa para calcular la velocidad.

#include "D:\nuev dat\Programas\Pic's\Mis progras\Velocidad\Velocidad.h"

#use fast_io(d)

#use fast_io(a)

#include <lcd.c>

void main()

{

unsigned long tiempo=0; float t=0.0, k=0.0, vel=0.0;

set_tris_d(0x00);

set_tris_a(0b0000011);

lcd_init();

// TODO: USER CODE!!

lcd_gotoxy(1,1);

printf(LCD_PUTC, " Esperando ...");//imrime el letrero

output_high(PIN_a2); //prendo el pin b2

while(input(pin_a0)==1){} //si sensor uno=1 entra al ciclo

//sale cuando sea distinto de 0

output_low(PIN_a2); //apago el pin b2

output_high(PIN_a3); //prendo el pin b3

while(input(pin_a1)==1) //si sensor dos=0 entra al ciclo.

Page 41: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

41

{ //comienza a contar y sale cuando sea 1

lcd_gotoxy(1,1);

printf(LCD_PUTC, "%lu ms",tiempo); //mando el conteo de los ms disp

t=tiempo++;

delay_ms(100); //lo puse en decimas de segundo xq cuenta muy lento

}

//paso del valor a otras variables ya que son declaradas de distinta manera

k=tiempo; //paso de una variable entera a una flotante para hacer calculos

k=k/10; // el valor obtenido del contador lo paso a segundos

vel=10/t; //calculo la velocidad el numerador es 10 xq son decimas si fuera milesimas seria 1000

output_low(PIN_a3); //apago el pin b3

//imprimiendo los valores de los calculos

lcd_gotoxy(1,1);

printf(LCD_PUTC, "V= %f m/s\n",vel);

lcd_gotoxy(1,2);

printf(LCD_PUTC, "s= %f s",k);

delay_ms(10000);

}

//******************************Programa para el sensor.

#include "16f88.h"

#fuses XT,NOWDT,PUT

#use delay( clock=4000000 )

#use fast_io(A)

#use fast_io(B)

Page 42: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

42

#define TRIGGER_PULSO 10

#define TRIGGER PIN_B1

#define ECHO PIN_B0

#define BUZZER PIN_A3

#define LCD_DB4 PIN_B7

#define LCD_DB5 PIN_B6

#define LCD_DB6 PIN_B5

#define LCD_DB7 PIN_B4

#define LCD_RS PIN_A0

#define LCD_RW PIN_A1

#define LCD_E PIN_A2

#include "flex_lcd.c"

int i,interflag;

Int16 TFB;

float Dist=0,AP=0;

char cTextbuffer[16];

long duty=0;

void HardwInit();

void main()

{

HardwInit();

lcd_init(); //Inicializa LCD

delay_ms( 200 );

lcd_putc( "\f" ); // Borrar LCD

for(;;)

{

while( 1 )

Page 43: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

43

{

output_high( TRIGGER );

delay_us( TRIGGER_PULSO ); // Envía Pulso de disparo al SRF05 durante 10uS

output_low( TRIGGER );

while( !input(interflag) ) // Espera interrupcion externa

{

interflag = FALSE;

AP = TFB*1.0;

Dist = (float)AP / 58.3 ;

delay_us(5);

if(AP<900)

{

for(i=0; i<2 ; i++)

{

output_high( BUZZER );

delay_ms( 100 );

output_low( BUZZER );

delay_ms( 50 );

}

if(AP<=300)

{ set_pwm1_duty(0); }

else

{

duty=1024-(1250-AP);

set_pwm1_duty(duty);

}

Page 44: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

44

}

else

{ set_pwm1_duty(1024); }

sprintf( cTextBuffer, "Dist: %05.2f cm ", Dist );

lcd_put_string_xy( cTextBuffer, 1, 2 );

delay_ms( 50 );// Ancho de pulso en microsegundos de Timer1…

break;

}

}

} //Fin de for infinito

}

void HardwInit()

{

/* Configura Timer */

setup_timer_1( T1_INTERNAL|T1_DIV_BY_1 );

setup_timer_2( T2_DIV_BY_4,249,1 );

setup_ccp1(ccp_pwm);

set_pwm1_duty(1024);

enable_interrupts(int_ext); //Habilitación interrupción RB0

enable_interrupts( GLOBAL );

ext_int_edge(0,L_TO_H);

SET_TRIS_A( 0b00000000 );

SET_TRIS_B( 0b00000001 );

output_a( 0 );

output_b( 0 );

return;

}

Page 45: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

45

#int_ext

void funcion_ext_int()

{

if( input( ECHO ) ) // If echo pin is high, we prepare the timer and CCP module

{

set_timer1(0); //Inicializa TMR1

ext_int_edge(0,H_TO_L); // Configurar para flanco bajada

}

else

{

TFB=get_timer1(); //Valor del Timer1 para el Flanco de bajada

ext_int_edge(0,L_TO_H); //Configurar para flanco subida

}

}

A continuación se muesta el código de la biblioteca flex_lcd.c

//******************************flex_lcd.

// flex_lcd_2.c

//#define LCD_DB4 PIN_B4

//#define LCD_DB5 PIN_B5

//#define LCD_DB6 PIN_B6

//#define LCD_DB7 PIN_B7

//

//#define LCD_RS PIN_C0

//#define LCD_RW PIN_C1

//#define LCD_E PIN_C2

Page 46: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

46

// If you only want a 6-pin interface to your LCD, then

// connect the R/W pin on the LCD to ground, and comment

// out the following line.

// #define USE_LCD_RW 1

//========================================

#define lcd_type 2 // 0=5x7, 1=5x10, 2=2 lines

#define lcd_line_two 0x40 // LCD RAM address for the 2nd line

int8 const LCD_INIT_STRING[4] =

{

0x20 | (lcd_type << 2), // Func set: 4-bit, 2 lines, 5x8 dots

0xc, // Display on

1, // Clear display

6 // Increment cursor};

//-------------------------------------

void lcd_send_nibble(int8 nibble){

// Note: !! converts an integer expression

// to a boolean (1 or 0).

output_bit(LCD_DB4, !!(nibble & 1));

output_bit(LCD_DB5, !!(nibble & 2));

output_bit(LCD_DB6, !!(nibble & 4));

output_bit(LCD_DB7, !!(nibble & 8));

delay_cycles(1);

output_high(LCD_E);

delay_us(2);

Page 47: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

47

output_low(LCD_E);

}

//-----------------------------------

// This sub-routine is only called by lcd_read_byte().

// It's not a stand-alone routine. For example, the

// R/W signal is set high by lcd_read_byte() before

// this routine is called.

#ifdef USE_LCD_RW

int8 lcd_read_nibble(void){

int8 retval;

// Create bit variables so that we can easily set

// individual bits in the retval variable.

#bit retval_0 = retval.0

#bit retval_1 = retval.1

#bit retval_2 = retval.2

#bit retval_3 = retval.3

retval = 0;

output_high(LCD_E);

delay_cycles(1);

retval_0 = input(LCD_DB4);

retval_1 = input(LCD_DB5);

retval_2 = input(LCD_DB6);

retval_3 = input(LCD_DB7);

output_low(LCD_E);

Page 48: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

48

return(retval);

}

#endif

//---------------------------------------

// Read a byte from the LCD and return it.

#ifdef USE_LCD_RW

int8 lcd_read_byte(void){

int8 low;

int8 high;

output_high(LCD_RW);

delay_cycles(1);

high = lcd_read_nibble();

low = lcd_read_nibble();

return( (high<<4) | low);

}

#endif

//----------------------------------------

// Send a byte to the LCD.

void lcd_send_byte(int8 address, int8 n){

output_low(LCD_RS);

#ifdef USE_LCD_RW

Page 49: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

49

while(bit_test(lcd_read_byte(),7)) ;

#else

delay_us(60);

#endif

if(address)

output_high(LCD_RS);

else

output_low(LCD_RS);

delay_cycles(1);

#ifdef USE_LCD_RW

output_low(LCD_RW);

delay_cycles(1);

#endif

output_low(LCD_E);

lcd_send_nibble(n >> 4);

lcd_send_nibble(n & 0xf);

}

//----------------------------

void lcd_init(void){

int8 i;

output_low(LCD_RS);

#ifdef USE_LCD_RW

output_low(LCD_RW);

Page 50: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

50

#endif

output_low(LCD_E);

delay_ms(15);

for(i=0 ;i < 3; i++)

{

lcd_send_nibble(0x03);

delay_ms(5);

}

lcd_send_nibble(0x02);

for(i=0; i < sizeof(LCD_INIT_STRING); i++)

{

lcd_send_byte(0, LCD_INIT_STRING[i]);

// If the R/W signal is not used, then

// the busy bit can't be polled. One of

// the init commands takes longer than

// the hard-coded delay of 60 us, so in

// that case, lets just do a 5 ms delay

// after all four of them.

#ifndef USE_LCD_RW

delay_ms(5);

#endif

}

delay_ms(15);

Page 51: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

51

}

//----------------------------

// Posiciones válidas:

// de x=1 a x=16 y

// de y=1 a y=2

void lcd_gotoxy(int8 x, int8 y){

int8 address;

if(x > 0 && y > 0){

if(y > 1)

address = lcd_line_two;

else

address=0;

address += x-1;

lcd_send_byte(0, 0x80 | address); // Manda cursor a la posición

}

}

//-----------------------------

void lcd_putc(char c)

{

/*' LCD' Command Operation

' *********** *****************************************

' $FE, 1 Clear display

' $FE, 2 Return home

' $FE, $0C Cursor off

' $FE, $0E Underline cursor on

' $FE, $0F Blinking cursor on

Page 52: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

52

' $FE, $10 Move cursor left one position

' $FE, $14 Move cursor right one position

' $FE, $80 Move cursor to beginning of first line

' $FE, $C0 Move cursor to beginning of second line

' *********** ***************************************** */

if(c>'\0'){

switch(c){

case '\f':

lcd_send_byte(0,1);

lcd_send_byte(0,2);

delay_ms(2);

break;

case '\n':

lcd_gotoxy(1,2);

delay_ms(2);

break;

case '\b':

lcd_send_byte(0,0x10);

delay_ms(2);

break;

case '\t':

lcd_send_byte(0,0x14);

delay_ms(2);

break;

Page 53: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

53

default:

lcd_send_byte(1,c);

delay_ms(2);

break;

}

}

}

//------------------------------

void lcd_put_string(char *string){

//put string, starting from the curren cursor position

//assume that string not excides from lcd displayed RAM

char index=0;

while(string[index]!=0){

lcd_putc(string[index++]);

}

}

//------------------------------

void lcd_put_string_xy(char *string, char x, char y){

//assume that string not excides from lcd displayed RAM

lcd_gotoxy(x,y);

lcd_put_string(string);

}

Page 54: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

54

//------------------------------

#ifdef USE_LCD_RW

char lcd_getc(int8 x, int8 y)

{

char value;

lcd_gotoxy(x,y);

// Wait until busy flag is low.

while(bit_test(lcd_read_byte(),7));

output_high(LCD_RS);

value = lcd_read_byte();

output_low(lcd_RS);

return(value);

}

#endif

//------------------------------

void lcd_setcursor(short visible, short blink) {

lcd_send_byte(0, 0xC|(visible<<1)|blink);

}

Page 55: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

55

3. PRUEBAS.

Ya teniendo todo el circuito impreso pasamos armarlo en nuestro carro de control remoto para esto desarmamos y montamos nuestra tabla fenólica para posteriormente realizar las pruebas finales de medición con el sensor ultrasónico que nos estuviera dando los valores reales.

Pruebas finales con una cinta métrica y un metro realizamos las mediciones con un método de comparación entre la señal obtenida con el sensor y el valor real del metro.

Figura 3.7 Circuito terminado y armado

Page 56: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

56

3.2 MATERIAL UTILIZADO.

En este apartado exponemos los materiales necesarios para la implementación del sistema de proximidad ultrasónico.

Lista de material utilizado

PIC 16f88 LCD 16x2 Sensor SRF05 Resistencias: 1KΩ, 330Ω Pila 9V Cristal de 4Mhz 2 Capacitores 22pF Alambre Leds Soladura Cautín Protoboard Placa fenólica Cloruro férrico Headers machos y hembras Carro control remoto

Las características principales de este PIC 16f88 son las siguientes: Osciladores a cristal: LP, XT y HS hasta 20Mhz Oscilador externo hasta 20Mhz

Oscilador interno: 31Khz – 8Mhz

CCP (captura/comparación) -> 16 bits PWM 10 bits ADC 10 bits 7 canales SSP (puerto serie síncrono) -> SPI e I2C USART Comparador analógico dual 4K de memoria de programa(FLASH) 4 bancos de memoria de datos (RAM)26

26

http://www.ele-mariamoliner.dyndns.org/~fperal/lodi/9B-pic16f88.pdf 15-nov-2010

Page 57: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

57

En la siguiente figura 3.2.1 se presenta la configuración de los pines del PIC 16f88.

Figura 3.2.1 PIC 16f88

3.3 SENSOR SRF05.

El SRF05 es un medidor ultrasónico miniatura. El sensor es capaz de detectar objetos a una distancia de 5 m. Con una alimentación de 5V, solo requiere 15mA, para funcionar y 3mA mientras esta en reposo. Figura 3.2.2.

Figura 3.2.2 Sensor SRF05

Page 58: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

58

3.4 MATERIAL DIVERSO. También hemos hecho uso de instrumentación propia del laboratorio como osciloscopios y fuentes de alimentación. Las mediciones obtenidas durante la realización del sistema de proximidad ultrasónico concuerda con las distancias reales con lo que podemos decir que el desarrollo de nuestro proyecto si cumplió con nuestras expectativas planteadas.

Page 59: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

59

PRESUPUESTO ESTIMADO

En este capítulo realizaremos el cálculo del presupuesto, gastos de

manufactura del sistema de proximidad ultrasónico durante el período de elaboración del proyecto.

Elaborar un presupuesto nos permite establecer prioridades y evaluar la consecución de nuestros objetivos. Para alcanzar estos fines,

puede es posible utilizar diferentes tipos de materiales existentes.

Page 60: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

60

4.1 PRESUPUESTO DE MATERIAL

Hecho el análisis correspondiente al presupuesto de los materiales, el costo de nuestro proyecto es de $1469.00 pesos; el periodo del ensamblado es de 1 mes.

4.2 PRESUPUESTO DE MANO DE OBRA.

CLAVE CONCEPTO UNIDAD CANTIDAD P.U. IMPORTE

1 Microcontrolador pza 1 $80.00 $80.00

1.1 SRF05 pza 1 $380.00 $380.00

1.2 Cristal de cuarzo 4 Mhz pza 1 $15.00 $15.00

1.3 Capacitores de 22pf pza 2 $3.00 $6.00

1.4 Lcd 16x2 pza 1 $120.00 $120.00

1.5 Resistencias varios valores pza 5 $1.50 $12.50

1.6 Leds pza 20 $1.00 $20.00

1.7 Headers pza 30 $1.50 $45.00

1.8 Cable estañado pza 10 $1.50 $15.00

1.9 Base para CI 40 pines pza 1 $6.00 $6.00

1.10 Microswitch de 2 terminales pza 1 $4.00 $4.00

1.11 Pila cuadrada pza 1 $35.00 $35.00

1.12 Terminal 2 vias para circuito pza 1 $5.00 $5.00

1.13 Regulador de 5v MC7805 pza 1 $5.00 $5.00

1.14 Placa fenólica pza 1 $10.00 $10.00

1.15 Broca medida 1/32 pza 1 $20.00 $20.00

1.16 Cloruro férrico pza 1 $25.00 $25.00

1.17 Soldadura (mt) pza 4 $2.00 $8.00

SUBTOTAL $811.50

TOTAL $811.50

Tabla 4.2.1 Costo de componentes

Page 61: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

61

CLAVE CONCEPTO UNIDAD CANTIDAD PU IMPORTE 2 MANO DE OBRA DE 3

TECNICOS SEMANAS 4 $4309.5 $17,238

SUBTOTAL $17,238

IVA $2758.80

TOTAL $19,996.8

Tabla 4.2.2 Concepto de honorarios

Con los datos obtenidos y con nuestras pruebas realizadas a nuestro proyecto y ya con una cotización de los gastos requeridos para dicho trabajo, hay oportunidad de realizar este proyecto, convenientemente hay que implementarlo a mayor escala provocando un aumento en el costo de algunos materiales y mano de obra, por lo que si es redituable la realización del sistema de proximidad ultrasónico a mayor escala.

Page 62: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

62

CONCLUSIONES Y RECOMENDACIONES

Page 63: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

63

5.1 CONCLUSION

Para la realización de este sistema de proximidad ultrasónico ha sido necesario el estudio profundo del ultrasonido y microcontroladores. En nuestro caso nos hemos centrado en los microcontroladores y la programación en c de estos mismos, para lograr la medición por medio de ultrasonidos.

Como hemos visto hasta ahora si ha sido posible realizar las mediciones en tiempo real con el sensor ultrasónico, logramos con las pruebas hechas llegar a nuestro objetivo, de realizar mediciones en centímetros del sistema de proximidad ultrasónico, pero sin embargo se pueden realizar modificaciones a futuro.

Para concluir este capítulo podemos decir que en nuestra opinión y con las pruebas realizadas a nuestro sistema de proximidad ultrasónico puede considerarse como una tecnología de gran futuro para sistemas de proximidad que puede proveer a los automovilistas un extra de seguridad.

Otro de los aspectos por los cuales creemos que esta tecnología tiene mucho futuro, es la influencia de las constructoras de automóviles, ya que están muy involucradas en el desarrollo y mejoramiento de sus sistemas de seguridad, y es de esperar que pronto la mayoría de los automóviles contengan esta tecnología o alguna parecida basada en los ultrasonidos.

Page 64: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

64

5.2 RECOMENDACIONES FUTURAS.

No obstante la presente tesis amplía el conocimiento de sistemas de proximidad, es necesario remarcar estas recomendaciones.

Utilizar más sensores ultrasónicos para tener cubierto todos los ángulos posibles del carro (puntos ciegos traseros)

Utilización de sensores de mayor alcance Podríamos realizar un sistema de frenado en función de la masa del vehículo y

de la velocidad que desarrolla en el momento el vehículo Realizar pruebas en diferentes condiciones climatológicas (lluvia, soleado) Emigrar el proyecto a escala a dimensiones reales de un automóvil Agregar sensor de temperatura para que la medición de la distancia sea más

exacta

Page 65: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

65

LENGUAJE C.

C es un lenguaje de alto nivel, tiene la ventaja de ser más fácil de manejar, en esta capitulo mostraremos de manera rápida una guía para

poder programar con el compilador PIC C compiler.

Page 66: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

66

ESTRUCTURA DE UN PROGRAMA.

Para escribir un programa en C con CCS C se deben tener en cuenta una serie de elementos básicos de instrucciones como se muestra en la figura 1.

Directivas de reprocesado. Controlan la conversión del programa a código maquina por parte del compilador

Programas o funciones. Conjunto de instrucciones. Pueden haber uno o varios; en cualquier caso siempre debe haber uno definido como principal mediante la inclusión de la llamada main()

Instrucciones: Indican cómo debe comportar el PIC en todo momento Comentarios: Permiten describir lo que significa cada línea del programa

Figura 1 Estructura básica de un programa

Page 67: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

67

TIPOS DE DATOS.

C CCS acepta estos tipos de datos. Como se muestra en la Tabla 1

TIPO TAMAÑO RANGO DESCRIPCION int 1 short

1 bit 0 a 1 Entero de 1 bit

int int8

8 bits 0 a 255 Entero

int16 long

16 bits 0 a 65.535 Entero de 16 bits

Int32 32 bits 0 a 4.294.967.295 Entero de 32 bits float 32 bits ±1.175x10-38

A ±3.402x10-38 Coma flotante

char 8 bits 0 a 255 Caracter void - - Vacio

signed int8 8 bits -128 a +127 Entero con signo signed int16 16 bits -32768 a 32767 Entero largo con

signo signed int32 32 bits -231 a +(231-1) Entero 32 bits con

signo

Tabla 1 Tipo de datos en C

LAS CONSTANTES.

Estas se pueden especificar en hexadecimal, octal, decimal o en binaria. Tabla 2

123 Decimal

0123 Octal (0) 0x123 Hexadecimal (0x)

0b010010 Binario (b0) ‘x’ Carácter

‘\010’ Carácter octal ‘\xA5’ Carácter hexadecimal

Tabla 2 Constantes en Decimal, Octal, Binario, Hexadecimal

Page 68: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

68

También se pueden definir caracteres especiales tabla 3.

\n Cambio de línea \r Retorno de carro \t tabulación \b backspace

Tabla 3 Caracteres especiales

VARIABLES.

Las variables que se utilizan para nombrar posición de memoria RAM se deben declarar, obligatoriamente, antes de utilizarlas para ello se deben indicar el nombre y el tipo de dato que se maneja. Se definirá de la siguiente manera.

TIPO NOMBRE_VARIABLE [=VALOR INICIAL]

TIPO hace referencia a cualquier de los tipos de la tabla 1. EL NOMBRE_VARIABLE puede ser cualquier y el valor inicial opcional. Como por ejemplo.

float vel_max=1000.0;

Las variables definidas en un programa pueden ser de tipo GLOBAL o LOCAL. Las variables locales solo se utilizan en función donde se encuentran declaradas; las variables globales s pueden utilizar en todas las funciones del programas ambas tiene que ser declaradas antes de utilizarlas y las globales deben declararse antes de cualquier función. Ejemplo.

#include <16f88.h>

#USE DELAY (CLOCK=4000000)

int16 counter; // variable global

void FUNCION (void); // variable local

{

char k, Kant=”0”;

Page 69: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

69

Las variables pueden ser definidas con:

AUTO: (Usadas por defecto, no hace falta que se indiquen) Donde las variables existe mientras la función esta activa. Estas variables no se inicializan a cero. Su valor se pierde cuando se sale de la función

STATIC: Una variables local se activa como global, se inicializa a cero y mantiene su valor al entrar y salir de la función

EXTERN: Permite el uso de variables en compilaciones múltiples

OPERADORES.

Asignación

+= Asignación de suma (x+=y es lo mismo que x=x+y) -= Asignación de resta (x-=y es lo mismo que x=x-y) *= Asignación de multiplicación (x*=y es lo mismo que x=x*y) /= Asignación de división (x/=y es lo mismo que x=x/y) %= Asignación de resto de la división (x%=y es lo mismo que x=x%y) <<= Asignación de desplazamiento a la izquierda (x<<=y es lo mismo que x=x<<y) >>= Asignación de desplazamiento a la derecha (x>>=y es lo mismo que x=x>>y) &= Asignación AND (x+&y es lo mismo que x=x&y) Ι= Asignación OR (x+Ιy es lo mismo que x=xΙy) `= Asignación OR EXCLUSIVA (x+y es lo mismo que x=x&y)

Tabla 4 Operadores de asignación

Aritméticos

+ Suma - Resta * Multiplicación / División % Modulo, resto de una división entera -- Incremento ++ Decremento

sizeof Determina el tamaño, en bytes de un operador.

Tabla 5 Operadores aritméticos

Page 70: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

70

Relacionales

< Menor que > Mayor que >= Mayor o igual que <= Menor o igual que == Igual ¡= Distinto ?= Expresión condicional

Tabla 6 Operadores relacionales

Lógicos

¡ NOT && AND ΙΙ OR

Tabla 7 Operadores lógicos

De bits

~ Complemento a 1 & AND ^ OR EXCLUSIVA Ι OR >> Desplazamiento a la derecha << Desplazamiento a la izquierda

Tabla 8 Operadores de bits

Page 71: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

71

FUNCIONES.

Las funciones son bloque de sentencias todas estas deben estar enmarcadas dentro de las funciones. Deben definirse antes de usarse.

Una función puede ser invocada desde una sentencia de otra función. Una función puede devolver un valor a la sentencia que la ha llamado. La función puede recibir parámetros o argumentos.

La estructura de una función es:

tipo_dato nombre_funcion (tipo param1, param2…)

{

(sentencia);

}

float xico, float a;

float b;

b=flor (a)

a=a-b;

a=a*100;

a=flor (a);

a=a*0.01;

a=b+a;

return (a);

}

Page 72: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

72

DECLARACIONES DE CONTROL.

Las declaraciones de control son usadas para controlar el proceso de ejecución del programa las que admite CCS son:

1. If-else 2. while 3. for 4. do while 5. switch-case 6. return 7. break, continúe y goto

1 IF-ELSE.

Toma de decisiones.

If (expresión)

Sentencia_1;

else

Sentencia_2;

Primero se evalúa la expresión y si es cierta ejecuta la sentencia 1 en el caso contrario ejecuta la sentencia 2. Como se muestra en el siguiente diagrama de flujo. Figura 1.1.

Figura 1.1 Diagrama de flujo if/else

Page 73: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

73

2 y 3 WHILE / DO- WHILE.

Ciclos con condición.

while (condición)

{

Sentencia;

}

La expresión se evalúa y la sentencia se ejecuta mientras la expresión es verdadera, cuando es falsa se sale de while.

Do while diferencia en la condición de finalización, la cual se evalúa al final del bucle, por lo que la sentencia se ejecuta al menos una vez.

do

{

Sentencia;

}

while (expresión);

Si se ejecuta las siguientes expresiones se consigue un bucle sin fin.

while(1)

{

Sentencia;

}

do

{

Sentencia;

}

while(1)

Page 74: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

74

A continuación se puede observar en el diagrama de flujo del ciclo while. Figura 1.2.

Figura 1.2 Diagrama de flujo while

FOR.

for (inicialización; condiciones de inicialización; incremento)

{

sentencias;

}

En la expresión for la inicialización es una variable a la cual se le asigna un valor inicial con el que controlar el bucle. Las condiciones de finalización sirven para evaluar antes de ejecutar la sentencia si es cierta o falsa; en el caso de ser cierta se ejecuta la sentencia y en caso contrario se rompe el ciclo; como se aprecia en el diagrama de flujo de la figura 1.3.

Figura 1.3 Diagrama de flujo del ciclo for

Page 75: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

75

SWITCH.

switch es un caso particular de una decisión múltiple.

switch (expresión)

{

case 1:

Sentencias:

break;

case 2:

Sentencias:

Break;

Default: Sentencias;

}

Evalúa la expresión y en orden a la constante adecuada realiza las sentencias asociadas. Si ninguna de los case corresponde a la constante se ejecuta default.

El comando break provoca la salida de switch, de o contrario se ejecuta el siguiente case.

OTROS.

RETURN. Se emplea para devolver datos de la funciones.

BREAK. Permite salir de un bucle, se utiliza para while, for, do y switch.

GOTO. Provoca un salto incondicional.

Page 76: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

76

GESTIÓN DE LOS PUERTOS.

En lenguaje c se pueden gestionar los puertos de dos formas.

1. Se declaran os registros TRISX y PORTX definiendo su posición en la memoria RAM como variable c

2. Utilizando las directivas especificadas del compilador (# USE FAST_IO, #USE FIXEDIO, #USESTANDARD_IO)

ENTORNO DE TRABAJO.

El entorno de trabajo de CCS permite compilar y también suministrar una gran variedad de herramientas auxiliares. En la figura 2 mostraremos los elementos básicos del entorno de trabajo. Existen dos formas de iniciar una sesión abriendo un fichero de código fuente o creando un proyecto.

Figura 2 Entorno de trabajo

Para abrir un fichero directamente se realiza una pulsación sobre icono para el manejo de ficheros y aparece un menú como se muestra en la figura 3, donde podemos abrir, crear, guardar o cerrar ficheros. Con el comando new podemos crear un fichero fuente.

Page 77: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

77

Figura 3 La opción para manejo de los ficheros

Con la opción new. Source file, el programa pide el nombre del nuevo fichero y crea una ventana en blanco donde podemos empezar escribir como se muestra en la figura 4.

Figura 4 Fichero nuevo

Page 78: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

78

Después se ejecuta el comando proyecto wizard tras pedir el nombre proyecto aparece la ventana de configuraciones con dos pestañas en una configuraremos todo sobre nuestro PIC el tipo de oscilador y la frecuencia entre otras opciones. Figura 5.

Figura 5 Ventana de configuración de las opciones

Figura 6 El código después de una configuración

Page 79: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

79

Figura 7 El fichero cabecera con la configuración del PIC

EL PRIMER PROGRAMA.

Lo primero a realizar es utilizar el fichero de cabecera donde se especifica las características del microcontrolador PIC:

#include<16f88.h>

Esta librería de CCS se incorpora en el directorio de dispositivos. El compilador tiene una ruta de búsqueda para los ficheros #include estos de pueden modificar en el caso que quiera solicitar otro tipo de fichero. Con el comando de options/projects options/include files se accede a una ventana como se muestra en la siguiente figura 8, donde se puede añadir, eliminarlo modificar el orden de búsqueda de los ficheros.

Page 80: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

80

Figura 8 Ruta de búsqueda de los ficheros #include

Después se definen mediante las correspondientes directivas, la velocidad del PIC y el puerto utilizado.

#use delay (clock = 4000000 )

# byte puerto_b = 0x06

Ahora se puede describir la función principal main(). Los cambio de color letra etc., se pueden configurar desde option/editor properties.

Al escribir el programa podemos observar como aparece un árbol de funciones a la izquierda de la ventana del programa; esto permite expandir o contraer las funciones y declaraciones de control para optimizar la visualización de los programas. Figura 9.

Figura 9 Comienzo de un programa

Page 81: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

81

Ya terminado el programa procedemos a la compilación que se puede hacer con el comando compile/compile o directamente con la tecla de función F9. En este proceso aparece una ventana donde se informa el proceso de compilación y si hay errores.

Tras la compilación aparece una ventana mostrando el porcentaje de utilización de la memoria RAM y ROM si la compilación ha sido correcta o en su defecto un mensaje de error si el programa presenta errores. Figura 10.

Figura 10 Ventana de compilación

Tras la compilación se obtiene entre otros el fichero .hex para programar o simular el PIC. En options/Project options/outputfiles se puede configurar los ficheros de salida.

Figura 11 Ficheros de salida

Page 82: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

82

Con esta breve explicación solo quede grabar el programa con un grabador de PIC`S, ya que se a generado un archivo tipo .hex que es el que se utiliza para grabar el microcontrolador.

Page 83: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

83

Page 84: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

84

Bit.- Unidad mínima de información de la memoria, equivalente a un "sí" (0) o un "no" (1) binarios. La unión de 8 bits da lugar a un byte.

Bps (1) Bits por segundo, unidad de transmisión de datos empleada principalmente en referencia a módems o comunicaciones de red.

(2) BPS (bits por segundo) es una medida de velocidad de transmisión de datos. Es utilizada para medir la velocidad de los módems y las conexiones telefónicas. También se usan los Kbps (equivalente a mil bps) y Mbps (equivalente 1 millón de bps).

Byte (1) Unidad de información, compuesta de 8 bits consecutivos. Cada byte puede representar, por ejemplo, una letra.

(2) Byte es una unidad de medida de información que está compuesta por 8 bits. Un bit es un 1 o un 0. Con un byte se pueden representar 28 cosas, o sea 255 letras distintas, 255 tonos distintos de un color, 255 sonidos distintos. El documento que estás leyendo no es más que una tira de bytes que tienen ciertos valores (letras). Si cada letra ocupara 1 byte (texto puro sin formato) realmente no costaría mucho llenar un disco duro.

Capacitor o condensador eléctrico.- Es un dispositivo que almacena energía eléctrica.

Colisión.- Choque (violento) entre dos cuerpos.

Comando.- Es una instrucción u orden que el usuario proporciona a un sistema informático.

Corriente: Cantidad de carga que circula por un conductor por unidad de tiempo.

tqI = .

CC (Corriente Continua): Corriente que siempre los ciclos son positivos, y es usada para energizar los circuitos electrónicos.

Diodos.- Dispositivo semiconductor que permite el paso de la corriente eléctrica en una única dirección con características similares a un interruptor.

Page 85: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

85

Displays Displays transflectivos, Transmisivos y reflectivos.

Los LCDs transflectivos combinan las mejores propiedades de los displays transmisivos y los reflectivos. Específicamente los display transflectivos son perfectamente legibles tanto en condiciones de extremo brillo solar, como baja iluminación.

Los displays reflectivos son fácilmente legibles bajo luz solar, pero difíciles de leer en condiciones de baja iluminación.

Los displays transmisivos son fácilmente legibles en condiciones normales de iluminación, incluso, con una baja iluminación, pero imposibles de leer en condiciones de luz brillante, como la luz solar directa por ejemplo. El Motorola v300 y el v600 poseen displays TFT Transflectivos, mientras que los v400, v500 y v525 poseen TFT Transmisivos.

Eco.- Fenómeno acústico producido cuando la onda sonora se refleja y regresa con retardo suficiente para superar la presencia acústica.

EPROM (Erasable programmable Read Only Memory): Dispositivo de memoria en que los datos pueden grabarse con un equipo especial. Se borra usualmente con rayos ultravioleta.

Fotodiodo.- Semiconductor construido con una unión PN, sensible a la incidencia de la luz visible o infrarroja.

Fotoeléctrico.- Acción de la luz sobre ciertos fenómenos eléctricos.

Fototransistor.-Transistor sensible a la luz, normalmente a los infrarrojos.

Frecuencia.- Número de repeticiones por unidad de tiempo, su unidad de medida son los Hz.

Interfaz. Conjunto de métodos para lograr interactividad entre un usuario y una computadora.

Interfaz electrónico.- El puerto por donde se envían o reciben señales desde un sistema a otro sistema.

Page 86: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

86

Interfaz software.- Es la parte de un programa que permite el flujo de información entre un usuario y la aplicación, o entre la aplicación y otros programas.

LCD: Liquid Crystal Display. Pantalla de cristal líquido. Tecnología que permite la creación de pantallas planas.

LDR.- Resistencias cuyo valor varía de acuerdo al nivel de luz al que están expuestas.

LED.- Dispositivo semiconductor (diodo) que emite luz.

Linealidad.- Sucesión ordenada o constante de algo que se desarrolla.

MHz: Mega Hertz. Igual a un millón de Hertz.

Microcontrolador.- Circuito integrado que incluye en su interior las tres unidades funcionales de una computadora: unidad central de procesamiento, memoria y unidades de entrada y salida.

Multímetro: Instrumento de múltiples propósitos, Usado para medir resistencias, voltajes, corrientes y continuidad principalmente.

Opto-eléctricos.- Unión entre los sistemas ópticos y los sistemas electrónicos. Están relacionados directamente con la luz.

Oscilador: Dispositivo o circuito que produce una señal de tensión alterna periódica.

PIC.- Familia de microcontroladores. Controladores de interfaz periférico.

Protoboard.- Placa para construir prototipos de circuitos electrónicos.

Proximidad.- Cercanía o poca distancia en el espacio o en el tiempo.

Placa fenólica.- Placa de cobre para proyectos o prototipos.

Reflexión.- Es el cambio de dirección de un rayo o una onda que ocurre en la superficie de separación entre dos medios.

Page 87: SISTEMA DE PROXIMIDAD ULTRASÓNICO - DSpace …tesis.ipn.mx/jspui/bitstream/123456789/10131/1/129.pdf · La decisión de diseñar y elaborar un sistema de proximidad ultrasónico

87

Resistencia eléctrica.- Dispositivo de oposición al paso de la corriente eléctrica.

Transistor.- Dispositivo electrónico semiconductor que cumple funciones de amplificador, conmutador o rectificador.

TTL (Transistor-transistor Logic): Familia de circuitos integrados digitales bipolares.

Ultrasonido.- Onda acústica que no puede ser percibida por el hombre por estar en una frecuencia más alta de lo que puede captar el oído. 20 KHz.