ROBOT MOVIL PARA EXPLORACION EN LUGARES DE DIFICIL ACCESO PARA EL SER HUMANO

115  29  Descargar (2)

Texto completo

(1)

ROBOT MÓVIL PARA EXPLORACIÓN EN

LUGARES DE DIFÍCIL ACCESO

PARA EL SER HUMANO

T

É

S

I

S

P A R A O B T E N E R E L T I T U L O D E : INGENIERO EN COMUNICACIONES Y ELECTRONICA

P R E S E N T A N

MARIO ROBERTO PANCICH GUZMAN

KARLOS JESUS PEREZ LOPEZ

ENRIQUE TOVAR HERNÁNDEZ

ASESORES:

DR. FRANCISCO JAVIER GALLEGOS FUNES ING. GERARDO GIL MARTINEZ GALVAN

(2)

AGRADECIMIENTOS

A MIS PAPÁS:

Agradezco a mis padres María Trinidad Guzmán Ramírez y Mario Pancich Olivares por su gran esfuerzo y sacrificio para concluir esta parte de mi formación académica que fue tan importante para mi.

A

MIS

HERMANOS

Y

HERMANAS:

Gracias por estar en todo momento conmigo, apoyándome en lo que esta a su alcance, también por sus diferentes puntos de vista que en algún momento fuero de gran utilidad para mi crecimiento y formación.

A MIS ASESORES:

Quiero darle gracias a mis asesores de tesis Dr. Francisco Javier Gallegos Funes e Ing. Gerardo Gil Martínez Galván por haberme apoyado en todo momento en la realización de este proyecto de tesis, ya que sus conocimientos, consejos y aportaciones fueron fundamentales para la realización de este documento.

(3)

ELECTRONICA, ya que con esto les estoy respondiendo a esa confianza que siempre me han tenido.

PAPA

Esta TESIS y TITULO quiero dedicárselo a mi PAPÁ (Abuelo Materno) por todo el apoyo que siempre me brindo para poder a llegar a ser un profesionista, como ahora lo he logrado y que se sienta muy orgulloso de mi. Por último solo quiero decirte MUCHAS GRACIAS PÁ.

MAMÁ

También le dedico este gran logro a mi MAMÄ, porque sin ella no seria la persona que soy, por todo su apoyo, su comprensión, por las buenas, y las malas situaciones que hemos pasado, por todo eso solo quiero darte las GRACIAS POR TODO.

HERMANOS

A mis hermanos quiero darles las gracias por su apoyo y motivación, por salir adelante con este gran logro, se los dedico y solo quiero decirles que espero no decepcionarlos y que sigan orgullosos de mi.

(4)

AGRADECIMIENTOS

Gracias Dios por darme la vida, por dejarme nacer en este maravilloso país, México. Por darme una familia que me apoya en todo momento y por toda la gente que me rodea y me quiere.

A MI MAMÁ Y PAPÁ:

Gracias mama y papa por todo su apoyo, amor y comprensión, por orientarme y darme palabras de aliento cuando más lo necesitaba, por haberme enseñado que si quiero algo debo luchar y hacer todo para conseguirlo.

En todo momento los llevo conmigo.

A MIS HERMANOS:

Gracias a mis hermanos por su compañía y apoyo, por los grandes momentos que hemos pasado juntos y que a pesar de las diferencias que algunas veces tenemos, se que cuento con ustedes siempre. Los quiero mucho.

A MIS PROFESORES:

Gracias a mis profesores por transmitirme sus conocimientos, ya que su dedicación en su enseñanza es lo que me ha permitido lograr esta meta

A

MIS

AMIGOS

Y

COMPAÑEROS:

Gracias a mis amigos y compañeros por su confianza y lealtad, por haber compartido tantos buenos momentos conmigo, que de alguna forma sirvieron para desarrollarme como persona.

Nunca consideres el estudio como una obligación, sino como una oportunidad para penetrar en el

bello y maravilloso mundo del saber.

Gracias a todos.

(5)

Mediante la utilización del sensor de gas TGS-2610 se podrá medir los niveles de gas LP en un lugar y así poder determinar si los niveles son peligrosos y poder evitar accidentes como explosiones, intoxicación, etc.

Con el sensor ultrasónico UCM-R40K1 se podrá medir la distancia de los objetos que se le puedan presentar al robot en su trayectoria.

Y mediante el sensor de temperatura AD590 mediremos en un lugar donde se requieran altas temperaturas, bajas temperaturas o temperaturas específicas.

(6)

JUSTIFICACION

Mediante este robot móvil se podrán realizar tareas en lugares de difícil acceso para el ser humano y en lugares hostiles como:

Altos niveles de gases tóxicos.

Riesgo de explosión.

Medir la temperatura en lugares donde se necesita mantenerla a cierto nivel.

Por otra parte con la ayuda del sensor ultrasónico se podrá medir la distancia de un objeto para que el usuario determine la dirección del móvil y de ser necesario esquivar el objeto.

En ciertas ocasiones hay laboratorios en los cuales se utilizan químicos altamente peligrosos como pólvora, TNT ó nitrógeno y estos a su vez necesitan de una temperatura exacta para evitar alguna reacción química mortal. Entonces el robot de exploración podrá ser enviado a esa parte del laboratorio para examinar que la temperatura sea la correcta de lo contrario tomar las precauciones adecuadas.

Hay construcciones como edificios donde la electricidad, el gas y el agua son suministrados en tuberías aisladas. En estos lugares por lo regular solo entran personas capacitadas para darle mantenimiento a la instalación, pero algunas veces el deterioro de los materiales produce fugas indeseadas así mismo por precaución el robot de exploración podrá ser enviado para medir el nivel de gas LP y dependiendo de esta medida el usuario determinará la forma de corregir este problema.

Además, como el robot móvil tendrá la capacidad de movimiento a largas distancias por medio de RF el ser Humano estará libre de algún incidente que podría pasar en el lugar explorado.

(7)

de la tendencia o afición de reproducir seres vivientes, sino de la necesidad.

Fue la necesidad la que dio origen a la agricultura, el pastoreo, la caza, la pesca, etc. Más adelante, la necesidad provoca la primera revolución industrial con el descubrimiento de la máquina de vapor de Watt y, actualmente, la necesidad ha cubierto de computadoras la faz de la tierra.

HISTORIA DE LA ROBÓTICA INDUSTRIAL

El robot industrial que se conoce y utiliza en nuestros días nace con el objetivo de aumentar la productividad, mejorar la calidad de las piezas fabricadas y evitar la realización de trabajos tediosos o peligrosos para el hombre. George Devol, es considerado el padre de la Robótica Industrial, y a él se debe la patente de un manipulador programable en 1956, que fue el propulsor del robot industrial. A partir de ahí se fueron instalando en las fábricas cada vez más robots dedicados a diversas funciones, gracias entre otras cosas a los progresos en electrónica e informática, que instauraron el microprocesador para el manejo de estas máquinas de un modo potente, flexible y económico. El número de robots industriales existentes actualmente en el mundo supera con creces el millón de unidades.

(8)

ROBÓTICA INDUSTRIAL VS MICROROBÓTICA

En comparación de los grandes robots industriales, los robots a los que nos referimos en esta obra, también llamados micro-robots o microbots, parecen un simple juguete. Pueden tener forma de vehículo, de animal, de criatura robótica, etc. pero todos tienen una característica común: la inteligencia necesaria para realizar tareas en un entorno que puede variar y al cual pueden adaptar. La ciencia que estudia los microbots es la microbótica, y gracias a su expansión y continua evolución están invadiendo cada vez más facetas de nuestra vida, facilitándola y haciéndola más agradable.

Un microbot es un pequeño robot móvil y programable que realiza una sencilla tarea. Su cerebro consiste en un microcontrolador que gobierna todas sus acciones y según el trabajo encomendado precisa de un programa concreto, y de unas entradas de información y salidas para los actuadores. Su tamaño, potencia y precio es considerablemente menor al de un robot industrial, pero sobre todo difiere de éste en el tipo de tareas a las que se dedica.

Los microbots no intentan quitar el puesto a los robots industriales. No están diseñados para llevar a cabo operaciones que exijan elevadas potencias y complicados algoritmos. Los microbots están destinados a resolver tareas pequeñas con rapidez y precisión. Limpian, detectan o buscan elementos concretos, miden y toman el valor de magnitudes, transportan pequeñas piezas, vigilan y supervisan, guían a invidentes, ayudan a minusválidos, exploran zonas peligrosas para el hombre y hasta son magníficos compañeros de juegos.

La movilidad es un factor clave en la filosofía del microbot para posibilitar la realización de muchas actividades, por eso su imagen no se asemeja a la de un brazo, si no que se parece más a la de un vehículo con ruedas motrices.

FUTURO

Los microbots comenzaron siendo dispositivos propios de la investigación, pues su diseño, su construcción y su aplicación requerían importantes recursos económicos y humanos. Los microcontroladores permitieron su masificación, al rebajar su precio drásticamente.

(9)
(10)

INDICE

PAGINA

OBJETIVO ... i

JUSTIFICACION ... ii

INTRODUCCION ... iii

CAPITULO 1: ROBOTICA MOVIL ... 1

1.1FUNDAMENTOSDEROBOTICAMOVIL ... 1

1.1.1 CONCEPTO DE ROBOTICA MOVIL ... 2

1.1.2 CONFIGURACION DE ROBOTS MOVILES ... 2

1.2ACTUDADORESUTILIZADOSENLAROBOTICAMOVIL ... 8

1.3CONTROLADORESINTELIGENTESEMPLEADOSENLAROBOTICAMOVIL ... 11

1.3.1 MICROCONTROLADOR (PIC) ... 13

CAPITULO 2: DISPOSITIVOS DEL MOVIL ... 14

2.1SENSORDETEMPERATURA(AD590) ... 14

2.1.1 CARACTERISTICAS Y DESCRIPCION DEL AD590 ... 14

2.2SENSORDEGAS(TGS-2610) ... 18

2.2.1 CARACTERISTICAS Y DESCRIPCION DEL TGS-2610 ... 19

2.3SENSORULTRASONICO(UCM-R40K1) ... 21

2.4MICROCONTROLADORPIC18F452 ... 22

2.4.1 CONFIGURACION DEL OSCILADOR ... 25

2.4.2 TIMER (TEMPORIZADORES/CONTADORES) ... 27

2.4.2.1 MODULO TIMER 0 ... 27

2.4.2.2 MODULO TIMER 1 ... 31

2.4.3 PWM(MODULACION POR ANCHO DE PULSO) ... 36

2.4.3.1 PERIODO DEL PWM ... 37

2.4.3.2 CICLO UTIL DEL PWM ... 37

2.4.3.3 CONFIGURACION PARA LA OPERACIÓN COMO PWM ... 38

2.4.4 MODULO CONVERSOR ANALOGICO-DIGITAL (A/D) ... 39

2.4.4.1 REQUERIMIENTOS DE ADQUISICION DEL A/D ... 44

2.4.4.2 SELECCIÓN DEL RELOJ DE CONVERSION DEL A/D... 45

2.4.4.3 CONFIGURACION ANALOGICA DEL PUERTO ... 45

2.4.4.4 CONVERSIONES A/D ... 46

2.4.4.5 REGISTROS DEL RESULTADO DEL MODULO A/D ... 47

2.4.5 USART ... 47

2.4.5.1 USART: GENERADOR DE PROPORCION DE BAUDIOS (BRG) ... 51

2.4.5.2 PROBANDO ... 51

2.4.5.3 MODO ASINCRONO USART ... 52

2.4.5.4 TRANSMISOR ASINCRONO USART ... 52

2.4.5.5 RECEPTOR ASINCRONO USART ... 54

2.5MODULOSDERFXBEESERIE2OEM ... 55

(11)

3.1.1 CONSIDERACIONES MATEMATICAS PARA MEDIR DISTANCIA ... 63

3.1.2 DISEÑO DEL CIRCUITO DEL SENSOR ULTRASONICO UCM-R40K1 ... 64

3.2FUNCIONAMIENTODELSENSORDEGAS(TGS-2610) ... 65

3.2.1 RESULTADO DE PORCENTAJE LEL ... 66

3.2.2 CONSIDERACIONES PARA EL SENSOR TGS-2610 ... 66

3.3FUNCIONAMIENTODELSENSORDETEMPERATURAAD590 ... 68

3.3.1 DISEÑO DEL CIRCUITO ACONDICIONADOR DE SEÑAL (SCC) PARA EL AD590 ... 69

3.4MOTORDECDYSERVOMOTORHS-311 ... 75

3.5APLICACIONDELMICROCONTROLADORENELROBOT ... 77

3.5.1 ESTRUCTURA DEL MICROCONTROLADOR MONTADO EN EL ROBOT MOVIL ... 77

3.5.2 ESTRUCTURA DEL MICROCONTROLADOR DE CONTROL OPERADO POR EL USUARIO. ... 79

3.6MEMORIADECONSUMODEENERGIADELROBOTMOVIL ... 81

CAPITULO 4: CONSIDERACIONES ECONOMICAS DEL PROYECTO ... 82

4.1RECURSOSHUMANOS ... 82

4.2RECURSOSDEINFRAESTRUCTURA... 82

4.3RECUSOSMATERIALES ... 83

4.4PROGRAMADEACTIVIDADES ... 84

4.5COSTODELPROYECTO ... 85

CONCLUSIONES ... 87

RECOMENDACIONES ... 88

INFORMACION DE CONSULTA ... 91

GLOSARIO ... 93

ACRONIMOS ... 94

LISTA DE FIGURAS ... 97

LISTA DE TABLAS ... 99

ANEXO A: PROGRAMA DE ACTIVIDADES DEL ROBOT MOVIL ... 100

ANEXO B: DIAGRAMA PCB DEL MDU ... 101

ANEXO C: PCB DEL SENSOR DE GAS Y TEMPERATURA ... 102

(12)

C

C

A

A

P

P

I

I

T

T

U

U

L

L

O

O

1

1

:

:

R

R

O

O

B

B

O

O

T

T

I

I

C

C

A

A

M

M

O

O

V

V

I

I

L

L

Este capítulo presenta los fundamentos relacionados con la robótica móvil, se profundiza en la configuración de robots móviles sobre ruedas, finalmente se describen el hardware de uso común en la robótica móvil y algunas técnicas para dotar de inteligencia artificial a un robot móvil.

1

1

.

.

1

1

F

F

U

U

N

N

D

D

A

A

M

M

E

E

N

N

T

T

O

O

S

S

D

D

E

E

R

R

O

O

B

B

O

O

T

T

I

I

C

C

A

A

M

M

O

O

V

V

I

I

L

L

La robótica móvil es un campo que se encuentra en estado de rápida expansión en el mundo académico e industrial. Con el paso del tiempo los robots móviles han llegado a ser más inteligentes y capaces de realizar tareas en forma autónoma, haciendo posible su incorporación en lugares distantes e inaccesibles, como los que se muestran en la Figura 1.1 [1].

Figura 1.1 Robots móviles.

(13)

otros), este punto solo se enfocará sobre robots móviles sobre ruedas y para aplicaciones en ambientes controlados (interiores), a continuación se presentan los tipos y características más importantes que rigen el comportamiento de tales robots [4].

Triciclo Básico con Conducción Sincronizada

El concepto de diseño más simple se basa en una llanta que tiene la capacidad de impulsar y direccionar, esta configuración requiere dos ruedas pasivas en la parte posterior, dado que siempre son requeridos por lo menos tres puntos de contacto para estabilizar una plataforma [4]. Dicha configuración se presenta en la Figura 1.2.

Figura 1.2 Robot Móvil con Configuración de Triciclo.

(14)

Figura 1.3 Conducción y Rotación de un Robot con Configuración de Triciclo.

Una extensión de los robots configurados como triciclo son los de conducción sincronizada

ver Figura 1.4, sin embargo aquí se tienen tres llantas las cuales permiten el desplazamiento y controlan la orientación del robot, todas las llantas se rotan de tal forma que apunten al mismo punto, ver Figura 1.5, esto se logra usando un motor y una cadena para controlar la orientación y otro motor para controlar el desplazamiento. Un robot de este tipo puede ser considerado como Omnidireccional debido a que tiene la capacidad de ser orientado en cualquier dirección, sin embargo, debe detenerse y realinear sus llantas cuando va desplazándose en línea recta y se quiere hacer rotar, puesto que no puede desplazarse y girar al mismo tiempo.

(15)

que uno de los motores se haga rotar para cambiar la orientación. Sin embargo, el control del desplazamiento es más complejo que la configuración de triciclo, debido a que se requiere siempre de la coordinación de ambos motores.

Figura 1.6 Robots Móviles con Configuración Diferencial.

(16)

función de la velocidad de sus motores, sí ambos motores tienen la misma velocidad, el robot se desplazará en línea recta ya sea hacia adelante o atrás, si uno de los motores tiene una mayor velocidad que el otro, el robot se desplazará formando un arco, sí ambos motores giran a la misma velocidad pero en dirección opuesta, el robot girará sobre su centro de gravedad.

Figura 1.7 Conducción y Rotación de un Robot con Configuración Diferencial.

Un caso especial de robots con guiado diferencial son los que emplean orugas en lugar de llantas, la única diferencia que presentan, es una mejor maniobrabilidad en terrenos rugosos y alta fricción al girar, debido a sus múltiples puntos de contacto con la superficie. La Figura 1.8 muestra un robot de este tipo.

Figura 1.8 Robot con Orugas.

Direccionamiento de Ackermann[4]

(17)

Figura 1.9 Robot con Direccionamiento de Ackermann.

Guiado Omni Direccional

Hasta el momento las plataformas móviles presentan la misma deficiencia, no poder desplazarse en cualquier dirección, en contraste a esto, el robot con guiado omni-direccional es capaz de moverse en todas direcciones, esta propiedad está relacionada con el tipo de llantas que utiliza, ver Figura 1.10 [4]. Dichas llantas están cubiertas con cilindros que rotan libremente, es importante indicar que las llantas son manipuladas por los motores, pero los cilindros no. Un robot de este tipo puede ser construido ya sea con tres o cuatro llantas, sin embargo la orientación de los cilindros en las llantas difiere, en el caso de un robot con tres llantas, ver Figura 1.11, los cilindros deben estar a 90° con respecto al eje de la llanta, en cambio en un modelo con cuatro llantas, ver Figura 1.12, se requiere que los cilindros estén a 45°.

(18)

Figura 1.11 Robot Omni-Direccional con tres llantas

Figura 1.12 Robot Omni-Direccional con cuatro llantas

La Tabla 1.1 muestra los movimientos básicos que rigen la cinemática de un robot con cuatro llantas, es decir, los desplazamientos hacia adelante, atrás, hacia un lado y rotación sobre su centro de gravedad [4]. La Figura 1.13 ilustra dichos movimientos de acuerdo a la Tabla 1.1.

Tabla 1.1. Movimientos Básicos de un Robot guiado Omni-Direccionalmente de cuatro llantas.

DESPLAZAMIENTO MOVIMIENTO DE MOTORES

Hacia delante Todos los motores hacia adelante

Hacia atrás Todos los motores hacia atrás

(19)

Los seres vivos cuentan con una serie de sentidos que le sirven para obtener información del ambiente y su sistema de navegación utiliza la información obtenida de estos sentidos para poder conocer y desplazarse en el mundo. Al igual que los seres vivos un robot autónomo debe contar con sentidos que le permitan conocer su entorno, para ello debe estar provisto de una serie de sensores cuya información será utilizada por el sistema de control y por el algoritmo de navegación para definir la ruta a seguir. Entre los sensores más usados se tienen: sensores ópticos (fotorresistencias, infrarrojos), sensores de ultrasonido, visión artificial basada en una cámara (detección de contornos, colores).

Encoders

Cuando se usan motores a pasos para el desplazamiento de un robot se pueden contar las vueltas a partir de los pasos que da cada llanta y con ellos se puede determinar la distancia recorrida por el robot, sin embargo muchos robots utilizan motores de CD ya que estos consumen menos potencia, para medir la distancia recorrida por cada llanta se utilizan los encoders. Hay básicamente dos tipos de sensores, los cuales se muestran en la Figura 1.14 [5].

a) Encoders Incrementales b) Encoders de Cuadratura

Figura 1.14 Tipos de Encoders.

(20)

B) Cuadratura: Pueden hacer lo mismo que los sensores incrementales, pero tienen la capacidad de determinar el sentido de giro de un motor. Para ello están provistos de otro sensor, ver Figura 1.14b, de tal forma que si el sensor Encoder 1 recibe la señal primero el movimiento es en sentido de las manecillas del reloj, en cambio si Encoder 2 recibe primero el movimiento será en contra de las manecillas del reloj.

Los actuadores son los músculos de un robot, es decir son los elementos que convierten la energía de alimentación en movimiento. En la robótica móvil existen básicamente tres tipos de motores de uso común, mostrados en la Figura 1.15: Estos motores pueden ser de corriente directa, motores a pasos y servomotores.

a) Corriente Directa b) A pasos c) Servomotores

Figura 1.15 Tipos de Motores.

(21)

tarjeta dispone de retroalimentación y monitorea constantemente la información generada por el resistor variable, de tal forma que permite posicionar y mantener el eje del motor. La señal PWM utilizada para manipular los servos tiene una frecuencia de 50 Hz, así que los pulsos son generados cada 20 ms. El ancho del pulso especifica la posición deseada en el eje del motor, Figura 1.16. Por ejemplo, una señal con un ancho de 1.25 ms llevara el motor a 0°, una de 1.5 ms lo pondrá a 90° y con una de 1.75 ms hará que el motor este en 180°.

Figura 1.16 Control de Servomotores.

Servomotores Modificados (Analógicos/Digitales)

(22)

servomotores modificados pueden ser analógicos, Figura 1.17a, o digitales Figura 1.17b. En el caso de los analógicos, estos disponente de electrónica analógica y ofrecen la ventaja de poderse calibrar (llevándolo al punto de reposo) utilizando el potenciómetro. En el caso de los digitales, cuentan con un circuito integrado el cual ya no permite hacer modificaciones, sin embargo no requieren de calibración puesto que el ajuste es preciso.

a) Servo Analógico b) Servo Digital

Figura 1.17 Servos Modificados.

1

1

.

.

3

3

C

C

O

O

N

N

T

T

R

R

O

O

L

L

A

A

D

D

O

O

R

R

E

E

S

S

I

I

N

N

T

T

E

E

L

L

I

I

G

G

E

E

N

N

T

T

E

E

S

S

E

E

M

M

P

P

L

L

E

E

A

A

D

D

O

O

S

S

E

E

N

N

L

L

A

A

R

R

O

O

B

B

Ó

Ó

T

T

I

I

C

C

A

A

M

M

Ó

Ó

V

V

I

I

L

L

La navegación autónoma de robots móviles en entornos no estructurados constituye uno de los retos más importantes en el campo de la robótica móvil, quizá por esto se han propuesto muchas estrategias (implementación de algunas técnicas de inteligencia artificial) para solucionar este problema [10]. Aunque con el paso del tiempo se han desarrollado una gran variedad de controladores inteligentes, los más usados son los siguientes:

Redes Neuronales [11]

(23)

progresar hacia una solución. Operan iterativamente evolucionando una solución desde una historia de soluciones potenciales, las cuales son manipuladas por un número de operaciones inspiradas biológicamente. Aunque sólo es una aproximación biológica real del proceso evolutivo, está demostrado que es un poderoso y robusto medio para resolver problemas.

Lógica Difusa [15]

La lógica difusa provee una poderosa herramienta que permite tomar información incompleta e imprecisa y representarla de tal forma que pueda ser fácilmente procesada frecuentemente en forma de reglas lingüísticas.

Un diagrama a bloques de un controlador difuso para un robot se muestra en la Figura 1.18 y está compuesto por cuatro elementos:

Figura 1.18 Diagrama a Bloques de un Controlador difuso para un Robot.

Fuzificación convierte las entradas del controlador a información que el mecanismo de inferencia pueda usar fácilmente para activar y aplicar reglas.

(24)

Mecanismo de inferencias lleva a cabo la toma de decisiones, para ello toma la información actual en las entradas y selecciona una o más reglas que sean las apropiadas para el control del robot.

Defuzificación convierte las señales de salida en información de entrada para el robot.

1

1

.

.

3

3

.

.

1

1

M

M

I

I

C

C

R

R

O

O

C

C

O

O

N

N

T

T

R

R

O

O

L

L

A

A

D

D

O

O

R

R

(

(

P

P

I

I

C

C

)

)

[[1166]]

Es un circuito integrado programable que contiene todos los componentes de una computadora. Se emplea para controlar el funcionamiento de una tarea determinada y debido a su tamaño reducido, suele ir incorporado en el propio dispositivo al que gobierna.

En su memoria solo reside un programa destinado a gobernar una aplicación determinada; sus líneas de entrada/salida soportan las conexiones de los sensores y motores del dispositivo a controlar, y todos los recursos complementarios disponibles tienen como única finalidad atender sus requerimientos. Una vez programado y configurado el microcontrolador solamente sirve para gobernar la tarea asignada.

Un microcontrolador es un sistema cerrado que contiene un computador completo y de prestaciones limitadas que no se pueden modificar.

Las partes principales del microcontrolador son: 1. Procesador.

2. Memoria no volátil para contener el programa (ROM).

3. Memoria de lectura y escritura para guardar los datos (RAM). 4. Líneas de E/S para los controladores de periféricos:

a. Comunicación Paralelo b. Comunicación Serie

c. Diversas puertas de comunicación (bus I2C, USB, etc.)

5. Recursos auxiliares a. Circuito de reloj b. Temporizadores

c. Perro guardian (Watch Dog Timer)

d. Convertidores A/D (Analógicos/Digitales) y D/A (Digitales/Analógicos) e. Comparadores Analógicos

(25)

Así como el servomotor y los módulos de RF XBee para comunicar al robot móvil con el usuario a larga distancia. Por último se describen las configuraciones importantes que utilizaremos para la programación del microcontrolador PIC18F452 para el manejo de los sensores, módulos de RF y motores.

2

2

.

.

1

1

S

S

E

E

N

N

S

S

O

O

R

R

D

D

E

E

T

T

E

E

M

M

P

P

E

E

R

R

A

A

T

T

U

U

R

R

A

A

(

(

A

A

D

D

5

5

9

9

0

0

)

)

[[1188]]

Estos sensores se agrupan en cuatro categorías principales: salida de voltaje, salida de corriente, salida de resistencia y salida digital. Con salida de voltaje podemos encontrar los muy comunes LM35 (°C) y LM34 (°K) de National Semiconductor. Con salida de corriente uno de los más conocidos es el AD590, de Analog Devices. Con salida digital son conocidos el LM56 y LM75 (también de National). Los de salida de resistencia son menos comunes, fabricados por Phillips y Siemens. La Figura 2.1 muestra los tipos de sensores de temperatura físicamente:

Figura 2.1 Sensor de Temperatura AD590

2

2..11..11 CCAARRAACCTTEERRÍÍSSTTIICCAASSYYDDEESSCCRRIIPPCCIIÓÓNNDDEELLAADD559900

Características:

Corriente Lineal de Salida: 1µA/°K

(26)

(2.1) Rango de Alimentación del Dispositivo: 4 VCD a +30 VCD

DESCRIPCIÓN DEL DISPOSITIVO

El AD590 es un circuito integrado transductor de temperatura de dos terminales que produce una corriente de salida proporcional a la temperatura absoluta. Para los voltajes del suministro entre +4 V y +30 V el dispositivo actúa como una impedancia alta, y corriente constante que pasa es de 1 µA/K. El láser que arregla la resistencia cinematográfica delgada del chip se usa para calibrar el dispositivo a 289.2 µA en 298.2K (+25 °C).

El AD590 debe usarse en cualquier temperatura que permita la aplicación debajo de +150 °C en que los sensores de temperatura eléctricos convencionales son actualmente empleados. El costo bajo inherente de un circuito integrado monolítico combinado con la eliminación de circuitería de apoyo hace una alternativa atractiva al AD590 para muchas situaciones de medida de temperatura. No se necesitan para la aplicación del AD590, una circuitería lineal, amplificadores de voltaje de precisión y compensación de unión fría debido al hecho de un material al estar a diferentes temperaturas en sus extremos provocara una diferencia de potencial.

Además de la medida de temperatura, las aplicaciones incluyen compensación de temperatura o corrección de componentes discretos y detección del nivel de fluido. El AD590 está disponible en forma de chip, es conveniente para los circuitos híbridos y las medidas de temperatura rápidas en los ambientes protegidos.

El AD590 es particularmente útil en las aplicaciones remotas. El dispositivo es insensible a picos de voltaje, debido a su impedancia alta y corriente de salida. Las características de rendimiento también hacen a los AD590 fácil para múltiples funciones como: la corriente puede cambiarse por un multiplexor CMOS o el voltaje de suministro puede cambiarse por una compuerta lógica de salida.

La Figura 2.2 presenta la escala de temperaturas en ºF, ºR, ºK y ºC, y la ecuación (2.1) se utiliza para hacer la conversión matemática de dichas temperaturas.

(27)

Figura 2.2 Escala de Temperaturas en ºK y ºC

Puntos importantes del Dispositivo

1. El AD590 es un sensor de temperatura de dos terminales que requiere sólo un suministro de voltaje DC (+4 V a +30 V). En la aplicación de este dispositivo son innecesarios circuitos lineales, filtros, transmisores costosos.

2. El Estado del Arte del nivel ajustable en conjunto con la extensa prueba final, asegura que las unidades del AD590 son fácilmente intercambiables.

3. Los resultados de rechazo de interfaz superiores de salida será una corriente en lugar de un voltaje. Además, los requisitos de energía son bajos (1.5 mW @ 5V @ +25 °C). Estas características hacen a los AD590 fácil de aplicar como un sensor remoto.

4. La impedancia de salida alta (> 10 MΩ) proporciona un rechazo excelente de voltaje de suministro y rizo. Por ejemplo, cambiando los resultados de voltaje de 5 V a 10 V en sólo un 1 µA de corriente máxima, o 1 °C de error equivalente.

5. El AD590 es eléctricamente durable: resistirá un voltaje de envío de 44 V y el voltaje inverso de 20 V. De, irregularidades del suministro o inversión del pin no dañarán el dispositivo.

Descripción del Circuito:

(28)

(2.2)

Donde k es la constante de Boltzman y q es la constante de la carga del electrón, el voltaje resultante es directamente Proporcional a la Temperatura Absoluta (PTAT). En el AD590, este PTAT de voltaje es convertido a una PTAT de corriente por bajo coeficiente de temperatura de resistores delgados. La corriente total del dispositivo es forzado entonces para ser múltiples de estos PTAT de corriente. De la Figura 2.3 el AD590, Q8 y Q11 son los transistores que producen el PTAT de voltaje, R5 y R6 convierten el voltaje a corriente. Q10 cuya corriente de colector pasa por Q9 y Q11, polariza y filtra la corriente para el resto del circuito, forzando la corriente total para ser proporcional a la temperatura absoluta. R5 y R6 son elementos internos ajustables para calibrar al dispositivo a +25 °C. La Figura 2.4 muestra la característica típica de V-I del circuito a +25 °C y a temperaturas extremas.

(29)

Figura 2.4 Curvas Características Típicas del AD590 de V – I

2

2

.

.

2

2

S

S

E

E

N

N

S

S

O

O

R

R

D

D

E

E

G

G

A

A

S

S

(

(

T

T

G

G

S

S

-

-

2

2

6

6

1

1

0

0

)

)

[[2200]]

Siempre que se procese, almacene o transporte combustible o sustancias toxicas en la industria o en los sistemas de distribución existe un riesgo potencial del medio ambiente y la vida de los operarios o usuarios de los sistema. Por ejemplo, el escape de gases de combustibles líquidos, despresurización accidental de gas, pérdidas en cañerías pueden terminar en situaciones de alta peligrosidad. El derrame de sustancias combustibles pueden generar alta densidad de gases explosivos, una sola chispa puede generar una explosión y fuego, produciendo no solo la destrucción de las instalaciones, sino también la posible pérdida de vidas humanas.

Para la instalación de un sensor de gas se recomienda tener en cuenta que gases se desean medir, que concentraciones, que cantidades y ambiente donde se realicen las operaciones, ver Figura 2.5. Además analizar la cantidad de sensores de gas que deberían ser instalados, en que lugares y su calibración. Para los sistemas de procesamiento de la señal entregada por el sensor se debe tener en cuenta cuales serian los niveles de disparo de alarma por detección y como esa alarma es procesada por el sistema.

(30)

almacenamiento de solventes puede ser una solución de compromiso tomar un diámetro de 30 ft.

Figura 2.5 Sensor de Gas TGS-2610

2

2..22..11 CCAARRAACCTTEERRÍÍSSTTIICCAASSYYDDEESSCCRRIIPPCCIIÓÓNNDDEELLSSEENNSSOORRDDEEGGAASSTTGGSS--22661100[[2200]]

C

Caarraacctteerrííssttiiccaass

 Bajo consumo de Energía.

Voltaje de alimentación (Vc) 5.0 V±0.2 V DC/AC Rango típico de detección 500-10,000 ppm Corriente de consumo 56 mA

 Sensible al gas LP y a sus gases componentes (por ejemplo, propano y butano).

 Larga Vida y bajo costo.

DESCRIPCIÓN DEL DISPOSITIVO

El TGS 2610, ver Figura 2.5, es altamente sensible al propano y al butano, haciéndolo ideal para monitoreo de LPG (Liquid Propane Gas). Debido a su baja sensibilidad a los vapores de alcohol (típico gas interferente en ambientes residencial), este sensor es ideal para aplicaciones de alarmas de gas. Gracias a la miniaturización del chip, el TGS 2610 requiere de una corriente de calefactor de solo 56 mA y el dispositivo está contenido en un encapsulado estándar TO-5.

La Figura 2.6 representa a las características típicas de sensibilidad, todos los datos fueron recopilados bajo condiciones estándar de prueba. El eje Y se indica como una relación de la resistencia del Sensor (RS/R0), la cual es definida como:

RS = Resistencia del sensor en los gases mostrados a diferentes concentraciones.

(31)

F

Fiigguurraa22..66 CCaarraacctteerrííssttiiccaassddeeSSeennssiibbiilliiddaadd

La Figura 2.7 muestra el circuito básico de medición. El sensor requiere dos entradas de voltaje: voltaje de calefactor (VH) y voltaje del circuito (VC).VH se aplica en el calefactor con la

finalidad de mantener al elemento sensible a una temperatura óptima específica.

El voltaje del circuito VC se aplica para permitir la medición del voltaje (VRL) a través del

resistor de carga (RL) el cual se conecta en serie con el sensor, al aumentar la concentración de

gas, el valor de RS disminuirá de acuerdo a la gráfica de la Figura 2.6, por lo que el voltaje a

través de RL aumentará, ya que las Resistencias RS y RL se encuentran en serie, el valor del

voltaje VRL puede obtenerse bajo la fórmula de un simple divisor de voltaje.

(32)

El valor de RL debe escogerse para optimizar el valor del umbral de alarmado, manteniendo siempre la potencia disipada del sensor (PS) debajo del límite de 15mW. PS será mayor cuando el valor de RS sea igual a RL debido a la exposición al gas.

2

2

.

.

3

3

S

S

E

E

N

N

S

S

O

O

R

R

U

U

L

L

T

T

R

R

A

A

S

S

Ó

Ó

N

N

I

I

C

C

O

O

(

(

U

U

C

C

M

M

-

-

R

R

4

4

0

0

K

K

1

1

)

)

[[2211]]

Los medidores ultrasónicos de distancia que se utilizan en los robots son, básicamente, un sistema de sonar. En el módulo de medición, un emisor lanza un tren de pulsos ultrasónicos y espera el rebote, midiendo el tiempo entre la emisión y el retorno, lo que da como resultado la distancia entre el emisor y el objeto donde se produjo el rebote. Se pueden señalar dos estrategias en estos medidores: los que tienen un emisor y un receptor separados y los que alternan la función (por medio del circuito) sobre un mismo emisor/receptor piezoeléctrico.

El ultrasonido hace referencia a las frecuencias arriba de 20 KHz (limite de sonido audible). Las altas frecuencias tienen longitudes de onda cortas lo que hace al reflejarse en objetos, estas puedan ser leídas. Desafortunadamente las frecuencias muy altas son difíciles de generar y leer.

La generación y lectura de ultrasonido se hace a través de dos unidades piezoeléctricas en donde una de ellas es el emisor y la otra el receptor de ondas de presión ultrasónicas. Para esto, la unidad emisora debe excitarse con una señal adecuada en amplitud y frecuencia. La unidad receptora transducirá todas aquellas ondas de presión ultrasónicas de 40KHz que lleguen a excitarla. El ultrasonido es aplicado comúnmente en detectores de movimiento, medidores de distancia, diagnostico médico, limpieza, pruebas no destructivas (para detectar imperfecciones en materiales), soldadura entre otras más.

El número de parte incluye al transmisor y al receptor, marcados con T y R. En la Figura 2.8 se muestra físicamente el este sensor tanto el transmisor como el receptor. En la Figura 2.9 se observa la composición interna de este sensor.

(33)

Figura 2.9 Composición interna del UCM-R40K1.

La Tabla 2.1 muestra las características del sensor Ultrasónico:

Tabla 2.1 Características del Sensor Ultrasónico

Características MDU

(MEDIDOR DE DISTANCIA ULTRASONICO)

Tipo de Sensor Ultrasónico de reflexión Frecuencia 40KHz

Distancia mínima 25cm Distancia máxima 300cm Resolución 1 cm

Sensibilidad Detecta un objeto de diámetro 8cm a < 1m Tensión de entrada 9V

Consumo de corriente 60 mA tip.

2.4

MICROCONTROLADOR PIC18F452

[22]

El microcontrolador, como se menciono en el capitulo anterior, es un sistema cerrado y se emplea para controlar el funcionamiento de una tarea determinada, y en nuestro caso, será el dispositivo que controlara todos los sensores y procesara las señales de estos para ser transmitidos por medio de los módulos de RF.

CARACTERISTICAS

Compilador C mejora la arquitectura/conjunto de instrucciones:

o El código fuente es compatible con el conjunto de instrucciones de los PIC16 y

(34)

La memoria del programa lineal direcciona 32 Kbytes La memoria de los datos lineales direcciona 1.5 Kbytes

La Tabla 2.2 muestra la capacidad de memoria RAM y ROM de diferentes PIC.

Tabla 2.2 Memoria RAM y ROM para diferentes PIC

A 10 MIPs para la operación:

o DC - 40 MHz a la entrada osc/reloj

o MHz - 10 MHz. a la entada osc/reloj con el PLL activo

Instrucciones de 16 bits, 8 bits para el camino de datos. Niveles de prioridad para las interrupciones.

CARACTERÍSTICAS PERIFÉRICAS:

Alta corriente de consumo/fuente 25mA/25mA Tres pines de interrupción externa.

Módulo Timer0: 8 bits/16 bits reloj/contador con 8 bits de preescaler programable Módulo Timer1: 16 bits reloj/contador

Modulo Timer2: 8 bits reloj/contador con 8 bits de registro de periodo (tiempo-base para PWM)

Módulo Timer3: 16 bits reloj/contador

(35)

Apoyado del RS-485 o RS-232

o Modulo de Puerto Paralelo Esclavo (PSP)

Características Analógicas

Compatible con el modulo de conversión Analógico-Digital de 10 bits:

o Velocidad de Muestreo Rápida

o Conversión disponible durante el SLEEP

o Linealidad < 1LSb

Detección de Bajo Voltaje Programable (PLVD)

o Soportes de Interrupción en Detección de Bajo Voltaje

Características Especiales del Microcontrolador

100,000 ciclos de borrado/escritura de memoria programable FLASH 1,000,000 ciclos de borrado/escritura de memoria de datos EEPROM Retención de Datos en la memoria Flash/EEPROM mayor a 40 años Reprogramable con el mismo Software de Control

Power-on Reset (POR), Power-up Timer (PWRT) and Oscillator Start-up Timer (OST) Reloj de Vigilancia (WDT) con su propio oscilador RC para rehabilitar la operación Código de Protección programable

Ahorro de Energía en modo SLEEP

Opciones Seleccionables de Oscilador incluyendo:

o 4X fase de bloque del bucle ( del primer oscilador)

o Oscilador Secundario (32kHz) como reloj de entrada

Tecnología CMOS

(36)

Diseño Totalmente Estático

Amplio Rango de Operación de Voltaje (2.0V a 5.5V) Rangos de Temperatura Extensos e Industriales Bajo Consumo de Energía:

o Corriente Típica < 1.6mA a 5V y 4MHz

o Corriente Típica de 25 µA a 3V y 32KHz

o Corriente Típica en Espera < 0.2 µA

2.4.1 CONFIGURACION DEL OSCILADOR

La configuración del oscilador en el microcontrolador sirve para poder escoger la fuente de oscilación y la forma en que nuestro microcontrolador generara las oscilaciones necesarias para funcionar, que en nuestro caso utilizamos un cristal (XT) de 4 MHz.

Tipos de Osciladores

El PIC 18F452 puede operar en 8 diferentes modos de osciladores. El usuario puede programar tres bits de configuración (FOSC2, FOSC1 y FOSC0) para seleccionar uno de esos 8 modos. En la Tabla 2.3 se muestran los diferentes tipos de osciladores.

Tabla 2.3 Tipos de Osciladores

1. LP Cristal de Bajo Poder

2. XT Cristal/Resonador

3. HS Alta Velocidad Cristal/Resonador

4. HS + PLL Alta Velocidad Cristal/Resonador con PLL habilitado

5. RC Resistor/Capacitor Externo

6. RCIO Resistor/Capacitor Externo con pines de entrada/salida habilitados

7. EC Reloj Externo

8. ECIO Reloj Externo con pin de entrada/salida habilitado

Oscilador de Cristal/Resonadores Cerámicos

(37)

Figura 2.10 Operación del resonador de cristal/cerámico (configuración hs, xt ò lp)

NOTA:

1. Ver la Tabla 2.4 y Tabla 2.5 para valores recomendados de capacitores C1 y C2.

2. Un resistor en serie (RS) puede ser requerido para eliminar un corto por el cristal.

3. RF varía según el modo de oscilador elegido.

Tabla 2.4 Selección del Capacitor para Resonadores Cerámicos

Rangos Probados

Modo Frecuencia C1 C2

XT

455 kHz 68 – 100 pF 68 – 100 pF 2.0 MHz 15 – 68 pF 15 – 68 pF 4.0 MHz 15 – 68 pF 15 – 68 pF

HS 8.0 MHz 10 – 68 pF 10 – 68 pF

16.0 MHz 10 – 22 pF 10 – 22 pF

NOTA:

1. Altos valores de capacitancia incrementa la estabilidad del oscilador, pero también incrementa el tiempo de comienzo.

2. Cuando opera por debajo de los 3V VDD, o cuando usas cierto resonador cerámico a algún

voltaje, puede ser necesario usar ganancia alta en modo HS, probar una frecuencia de resonancia más baja, o un interruptor para un oscilador de cristal.

(38)

Tabla 2.5 Selección del Capacitor para el Oscilador de Cristal

Rangos Probados

Modo Frecuencia C1 C2

LP 32.0 kHz 33 pF 33 pF

200 kHz 15 pF 15 pF

XT

200 kHz 22 – 68 pF 22 – 68 pF

1.0 MHz 15 pF 15 pF

4.0 MHz 15 pF 15 pF

HS

4.0 MHz 15 pF 15 pF

8.0 MHz 15 – 33 pF 15 – 33 pF 20.0 MHz 15 – 33 pF 15 – 33 pF 25.0 MHz 15 – 33 pF 15 – 33 pF

NOTA:

1. Altos valores de capacitancia incrementa la estabilidad del oscilador, pero también incrementa el tiempo de comienzo.

2. De la Figura 2.10, RS puede ser requerida para el modo HS, así como el modo XT, para

evitar manejo incorrecto de cristales.

3. Como cada resonador/cristal tiene sus propias características, el usuario deberá consultar la fabricación del resonador/cristal para colocar los valores apropiados de los componentes externos, o verificar el desempeño del oscilador.

2.4.2 TIMER (TEMPORIZADORES/CONTADORES)

El microcontrolador cuenta con unos módulos llamadas Timer, y estos se pueden configurar como Temporizadores o Contadores. En este proyecto son utilizados como timers o temporizadores para poder ejecutar y así poder tener ciertos retardos en la ejecución del programa, para generar señales de salida o dar tiempo para que el sistema adquiera las mediciones necesarias de los sensores.

2.4.2.1 MODULO TIMER 0

El modulo Timer0 tiene las siguientes características:

(39)

Figura 2.11 Registro de Control del Timer 0: T0CON

bit 7 TMR0ON: Timer0 Bit de Control de encendido/apagado 1 = habilita al Timer0

0 = apaga al Timer0

bit 6 T08BIT: Timer0 Bit de Control de 8-bit/16-bit

1 = el Timer0 está configurado como un contador/reloj de 8-bits 0 = el Timer0 está configurado como un contador/reloj de16-bits

bit 5 T0CS: Timer0 Bit de selección del reloj 1 = cambio en el pin T0CKI

0 = Instrucción interna del ciclo de reloj (CLKO)

bit 4 T0SE: Timer0 Source Edge Select bit

1 = Incremento de alto a bajo en el pin T0CKI 0 = Incremento de bajo a alto en el pin T0CKI

bit 3 PSA: Timer0 Bit de Asignación del Preescaler

1 = el preescaler del Timer0 no está asignado. La entrada del reloj del Timer0 omite el preescaler.

(40)

bit 2-0 T0PS2:T0PS0: Timer0 Bits de Selección del Preescaler 111 = 1:256 valor del preescaler

110 = 1:128 valor del preescaler 101 = 1:64 valor del preescaler 100 = 1:32 valor del preescaler 011 = 1:16 valor del preescaler 010 = 1:8 valor del preescaler 001 = 1:4 valor del preescaler 000 = 1:2 valor del preescaler

Leyenda:

R = bit de lectura W = bit de escritura U = bit sin implementar, se lee como un „0‟

- n = valor de POR „1‟ = bit de encendido ‟0‟ = bit de borrado x = Bit desconocido

La Figura 2.12 muestra un diagrama a bloques del modulo Timer0 en modo de 8 bits y la Figura 2.13 muestra un diagrama a bloques simplificado del modulo Timer0 en modo de 16 bits.

(41)

Figura 2.13 Diagrama a Bloques del Timer0 en modo 16-bits

OPERACIÓN DEL TIMER 0

El Timer0 puede operar como reloj o como un contador. El modo reloj se selecciona poniendo el bit T0CS. En modo reloj, el modulo Timer0 incrementara cada ciclo de la instrucción (sin preescaler). Si el registro TMR0L esta como escritura, el incremento se invalida para los dos siguientes ciclos de instrucción. Al usarlo, puede trabajar alrededor de este escribiendo un valor ajustado para el registro TMR0L. El modo contador se selecciona poniendo el bit T0CS. En modo contador, el Timer0 se incrementara, en cada flanco se subida o bajada del pin RA4/T0CK1.

Cuando la entrada del reloj externa es usada por el Timer0, debe reunir ciertos requisitos. Los requerimientos aseguran que el reloj externo pueda ser sincronizado con la fase del reloj interno (TOSC). También, hay un retardo en el incremento actual del Timer0 después de la

sincronización.

PREESCALER

(42)

Limpiar el bit PSA, asignara al preescaler para el modulo Timer0. Cuando el preescaler es asignado para el modulo Timer0, los valores del preescaler que son seleccionables son 1:2,

1:4,…,1:256.

INTERRUPCION DEL TIMER 0

La interrupción del TMR0 es generada cuando el registro TMR0 se desborda de FFh a 00H en modo de 8 bits, o FFFFh a 0000h en modo de 16 bits. Este desbordamiento establece al bit TMR0IF. La interrupción puede ser enmascarada limpiando el bit TMR0IE. El bit TMR0IE debe ser limpiado en el programa por medio de una Rutina de Servicio de Interrupciones del modulo del Timer0 antes de rehabilitar esta interrupción. La interrupción TMR0 no puede habilitar el microcontrolador del proceso de DESCANSO (SLEEP).

TIMER DE 16-BITS EN MODO DE LECTURA Y ESCRITURA

El TMR0H no es el byte alto del reloj/contador en el modo de 16-bits, pero es una versión de almacenado del byte alto del Timer0, ver Figura 2.13. El byte alto del Timer0 reloj/contador no es directamente leible o escribible. El TMR0H es actualizado con el contendido del byte alto del Timer0 durante una lectura del TMR0L. Esto proporciona la habilidad de leer todos los 16-bits del Timer0 sin tener que verificar cual era el valor de lectura del byte alto o bajo debido a una mezcla entre lecturas sucesivas del byte alto y byte bajo.

Una escritura al byte alto del Timer0 deberá tener lugar a través del registro de almacenamiento TMR0H. El byte alto del Timer0 es actualizado con el contenido de TMR0H cuando ha ocurrido un escrito en TMR0L. Esto permite a todos los 16-bits del Timer0 ser una vez más actualizados.

2.4.2.2 MODULO TIMER 1

El modulo Timer1 reloj/contador tiene las siguientes características:

Reloj/Contador de 16-bits (2 registros de 8-bits: TMR1H y TMR1L) Ambos registros son de lectura y escritura

Reloj seleccionable: interno o externo

(43)

Figura 2.14 Registro de Control del Timer 1: T1CON

bit 7 RD16: bit de modo habilitado de 16-bits de lectura/escritura

1 = habilita el registro de lectura/escritura del Timer1 en una operación de 16-bits 0 = habilita el registro de lectura/escritura del Timer1 en dos operaciones de 8-bits

bit 6 Sin Usar: se lee como „0‟

bit 5-4 T1CKPS1:T1CKPS0: bits de selección de entrada del Timer1 del preescaler de reloj. 11 = Valor del preescaler 1:8

10 = Valor del preescaler 1:4 01 = Valor del preescaler 1:2 00 = Valor del preescaler 1:1

bit 3 T1OSCEN: bit de habilitación del Oscilador del Timer1 1 = el Oscilador del Timer1 está habilitado

0 = el Oscilador del Timer1 está bloqueado

bit 2 T1SYNC: bit de entrada de selección de reloj externo síncrono del Timer1

Cuando TMR1CS = 1:

1 = la entrada externa de reloj no sincroniza 0 =la entrada externa de reloj sincroniza

Cuando TMR1CS = 0:

(44)

bit 1 TMR1CS: bit de selección de la fuente de reloj

1 = reloj externo del pin RC0/T1OSO/T13CKI (en flanco de subida) 0 = reloj interno (FOSC/4)

bit 0 TMR1ON: bit de encendido del Timer1 1 = Timer1 habilitado

0 = Timer1 apagado

Leyenda:

R = bit de lectura W = bit de escritura U = bit sin implementar, se lee como un „0‟

- n = valor de POR „1‟ = bit de encendido ‟0‟ = bit de borrado x = Bit desconocido

OPERACIÓN DEL TIMER 1

El Timer1 puede operar en uno de estos modos:

Como un Cronometro Como un contador Síncrono Como un contador Asíncrono

El modo de operación está determinado por el bit de reloj de selección, TMR1CS (T1CON<1>). Cuando TMR1CS = 0, el Timer1 incrementa cada ciclo de instrucción. Cuando TMR1CS = 1, el Timer1 incrementa en cada flanco de subida del reloj de entrada externo o el oscilador del Timer1, si está habilitado.

Cuando el oscilador del Timer1 está habilitado (T1OSCEN está establecido), los pines RC1/ T1OSI y RC0/T1OSO/T1CKI llegan a ser entradas. Esto es, el valor de TRISC<1:0> es

ignorado, y los pines son leídos como „0‟.

El Timer1 también una entrada de RESET interna. Este RESET puede ser generado por el modulo CCP.

(45)

Figura 2.15 Diagrama a Bloques del Timer1

La Figura 2.16 muestra un diagrama a bloques del Timer 1 en modo de 16 bits de lectura y escritura.

Figura 2.16 Diagrama a Bloques del Timer1 en modo de 16-bits de lectura/escritura

Oscilador del Timer 1

(46)

oscilador es un oscilador de bajo poder con un valor arriba de 200 kHz. Continuara corriendo durante el SLEEP. Esto es para un cristal de 32 kHz

El usuario deberá proporcionar un software para el tiempo de retardo para asegurar la salida adecuada del oscilador del Timer1.

Interrupción Timer 1

El registro par TMR1 (TMR1H:TMR1L) incrementan de 0000h a FFFFh y regresa a 0000h. La

interrupción TMR1, si está habilitada, esta generando un desbordamiento, que esta TMR1IF (PIR1<0>). Esta interrupción puede estar habilitada o deshabilitada para establecer o

parar la interrupción, habilitado el bit de la interrupción del TMR1, TMR1IE (PIE1<0>).

Restableciendo el Timer1 usando un CCP de Disparo de Salida

Si el modulo CCP está configurado en modo de comparación para generar un “evento especial de disparo” (CCP1M3:CCP1M0=1011), esta señal restaurara al Timer1 y empezara una

conversión A/D (si el modulo de A/D está habilitado).

El Timer1 debe estar configurado por otro Timer o contador en modo síncrono para tener la ventaja de esta característica. Si el Timer1 está corriendo como contador en modo asíncrono, no puede trabajar esta operación de RESET.

Timer1 de 16-bits en modo de lectura y escritura

Cuando el bit de control RD16 (T1CON<7>) está establecido, la dirección TMR1H está asignada para un registro de almacenamiento para el byte alto del Timer1. Una lectura del TMR1L cargara el contenido del byte alto del Timer1 dentro del byte alto de almacenamiento del Timer1. Esto le proporciona al usuario la habilidad con precisión de leer todos los 16-bits del Timer1 sin tener que determinar si una lectura del byte alto seguido de una lectura del byte bajo es válida, debido a un mezcla entre lecturas.

(47)

En el modo de Modulación por Ancho de Pulso (PWM), el pin CCP1 produce una salida Modulada en Ancho de Pulso de 10 bits.

El pin CCP1 esta multiplexado con el latch de datos del Puerto C, el bit TRISC<2> debe ser limpiado para hacer el pin CCP1 como salida.

Nota:

Limpiar el registro CCP1CON forzara el latch de salida CCP1 de PWM a un nivel bajo de default.

La Figura 2.17 muestra un diagrama a bloques simplificado del modulo CCP en modo PWM. Para un procedimiento paso a paso sobre como configurar el modulo CCP para la operación de PWM, ver sección 2.4.3.3.

(48)

Una salida de PWM, Figura 2.18, tiene una base de tiempo (periodo) y un tiempo en que la salida se mantiene alto (ciclo útil). La frecuencia de un PWM es el inverso del periodo (1/periodo).

Figura 2.18 Salida PWM

2.4.3.1 PERIODO DEL PWM

El periodo del PWM es especificado por la escritura del registro PR2. El periodo del PWM puede ser calculado usando la fórmula 2.3 como se muestra a continuación:

(2.3)

La frecuencia del PWM es definida como 1/ [Periodo PWM]. Cuando TMR2 es igual a PR2, los siguientes tres eventos ocurren en el siguiente ciclo:

TMR2 es restablecido

El pin CCP1 es fijado (excepción: si el ciclo útil del PWM=0%, el pin CCP1 no podrá ser fijado).

El ciclo útil del PWM es latched desde CCPR1L dentro CCPR1H.

Nota:

El postscaler del Timer2 no es usado en la determinación de la frecuencia del PWM. El postscaler puede ser programado a diferentes frecuencias a través del PWM.

2.4.3.2 CICLO UTIL DEL PWM

(49)

el periodo es completo). En el modo PWM, CCPR1H es solo un registro de lectura.

El registro CCPR1H y 2 bits de un latch interno son usados como un buffer doble del ciclo útil de PWM. Este doble buffer es esencial para el funcionamiento del PWM sin fallas técnicas.

Cuando el CCPR1H y los dos bits del latch coinciden TMR2 es concatenado con un flip-flop Q de 2 bits o 2 bits del preesclaer del TMR2, el pin CCP1 es limpiado.

La máxima resolución del PWM (en bits) para una frecuencia de PWM dada es calculada con la ecuación 2.5, como se muestra a continuación:

(2.5)

Nota:

Si el ciclo útil del PWM es más grande que el periodo PWM, el pin CCP1 no podrá ser limpiado.

2.4.3.3 CONFIGURACION PARA LA OPERACIÓN COMO PWM

Los siguientes pasos deben ser tomados en cuenta cuando se configura el modulo CCP para la operación PWM:

1. Poner el periodo del PWM escribiendo el registro PR2.

2. Poner el ciclo útil del PWM escribiendo el registro CCPR1L y los bits CCP1CON<5:4>. 3. Configurar el pin CCP1 como una salida por medio de la limpieza el bit TRISC<2>.

4. Poner el valor del preescaler del TMR2 y habilitar el Timer2 para escritura con el registro T2CON.

5. Configurar el modulo CCP1 para la operación PWM.

(50)

Tabla 2.6 Ejemplo de frecuencias de PWM y resoluciones a 40 MHz

Frecuencia PWM 2.44 kHz 9.77 kHz 39.06 kHz 156.25 kHz 312.50 kHz 416.67 kHz

Preescaler (1, 4, 16) 16 4 1 1 1 1

Valor PR2 0xFF 0Xff 0XFF 0X3F 0X1F 0X17

Resolución Máxima (bits) 14 12 10 8 7 6.58

2.4.4 MODULO CONVERSOR ANALOGICO-DIGITAL (A/D)

El modulo conversor Analógico-Digital (A/D) tiene cinco entradas para los dispositivos PIC18F2X2 y ocho entradas para los dispositivos PIC18F4X2. Este modulo tiene definidos los registros ADCON0 y ADCON1 y son compatibles con el rango medio del modulo A/D. El A/D permite conversiones de una señal de entrada analógica a una correspondiente señal digital de 10 bits.

El modulo A/D tiene cuatro registros. Estos registros son: Registro alto del resultado del A/D

Registro bajo del resultado del A/D Registro de control 0 del A/D (ADCON0) Registro de control 1 del A/D (ADCON1)

El registro ADCON0, mostrado en la Figura 2.19, controla la operación del modulo del A/D. El registro ADCON1, configura las funciones de los pines del puerto.

Figura 2.19 Registro ADCON0

bit 7-6 ADCS1:ADCS0: Bits de selección del reloj de conversión del A/D, ver Tabla 2.7.

Tabla 2.7 Bits de Selección del reloj de Conversión del A/D para el Registro ADCON0

ADCON1 <ADCS2>

ADCON0

<ADCS1:ADCS0> Reloj de Conversión

0 00 FOSC/2

0 01 FOSC/8

0 10 FOSC/32

0 11 FRC (Reloj derivado desde el oscilador interno A/D RC

1 00 FOSC/4

1 01 FOSC/16

1 10 FOSC/64

(51)

110 = canal 6, (AN6) 111 = canal 7, (AN7)

bit 2 GO/DONE: Bit de estado de conversión del A/D Cuando ADON = 1:

1 = Conversión A/D en progreso (Poniendo este bit comienza la conversión A/D el cual es limpiado automáticamente cuando la conversión A/D esta completa). 0 = Conversión A/D no está en progreso

bit 1 Sin Usar: Leído como „0‟

bit 0 ADON: bit de encendido del A/D

1 = Modulo conversor A/D es encendido.

0 = Modulo conversor A/D es apagado y consume corriente de estado de no operación.

La Figura 2.20 muestra los bits del Registro de Control ADCON1:

Figura 2.20 Registro ADCON1

bit 7 ADFM: Bit de Selección de formato del resultado del A/D

1 = Justificación a la derecha. Los seis bits Más Significativos del registro ADRESH son leídos como „0‟.

0 = Justificación a la izquierda. Los seis bits Menos Significativos de ADRESL son

(52)

bit 6 ADCS2: Bit de selección de reloj de conversión de A/D, ver Tabla 2.8.

Tabla 2.8 Bits de selección de reloj de Conversión para el Registro ADCON1

ADCON1<ADCS2> ADCON0<ADCS1:ADCS0> Reloj de Conversión

0 00 FOSC/2

0 01 FOSC/8

0 10 FOSC/32

0 11 FRC (Reloj derivado desde el oscilador interno A/D RC

1 00 FOSC/4

1 01 FOSC/16

1 10 FOSC/64

1 11 FRC (Reloj derivado desde el oscilador interno A/D RC

bit 5-4 Sin usar: Leído como „0‟

bit 3-0 PCFG3:PCFG0: Bits de control de configuración de Puerto del A/D, ver Tabla 2.9.

Tabla 2.9 Bits de Control para configuración del Puerto del A/D.

A = Entrada Analógica D = E/S Digital

C/R = # de entradas analógicas/ # de voltajes de referencia del A/D

Nota:

(53)

La salida de la muestra y el mantenimiento es la entrada al conversor, la cual genera el resultado por medio de aproximación sucesiva.

Un RESET en el dispositivo forza a todos los registros a su estado de RESET. Esto forza al modulo A/D a ser apagado y cualquier conversión es finalizada o abortada.

Cada pin del Puerto asociado con el conversor A/D puede ser configurado como una entrada analógica (además RA3 también puede ser una referencia de voltaje) o como una entrada/salida digital.

Los registros ADRESH y ADRESL contienen el resultado de la conversión A/D. Cuando la conversión A/D esta completa, el resultado es guardado dentro de los registros ADRESH/ADRESL, el bit GO/DONE (ADCON0<2>) es limpiado, y el bit de bandera de interrupción del A/D, ADIF es puesto. El diagrama a bloques del modulo de A/D es mostrado en la Figura 2.21.

Figure

Figura 1.1 Robots móviles.

Figura 1.1

Robots móviles. p.12
Figura 1.10 Llantas Omni-Direccionales.

Figura 1.10

Llantas Omni-Direccionales. p.17
Tabla 1.1. Movimientos Básicos de un Robot guiado Omni-Direccionalmente de cuatro llantas

Tabla 1.1.

Movimientos Básicos de un Robot guiado Omni-Direccionalmente de cuatro llantas p.18
Figura 1.18 Diagrama a Bloques de un Controlador difuso para un Robot.

Figura 1.18

Diagrama a Bloques de un Controlador difuso para un Robot. p.23
Figura 2.7 Circuito Básico de Medición

Figura 2.7

Circuito Básico de Medición p.31
Tabla 2.1 Características del Sensor Ultrasónico

Tabla 2.1

Características del Sensor Ultrasónico p.33
Tabla 2.2 Memoria RAM y ROM para diferentes PIC

Tabla 2.2

Memoria RAM y ROM para diferentes PIC p.34
Tabla 2.3 Tipos de Osciladores

Tabla 2.3

Tipos de Osciladores p.36
Figura 2.16 Diagrama a Bloques del Timer1 en modo de 16-bits de lectura/escritura

Figura 2.16

Diagrama a Bloques del Timer1 en modo de 16-bits de lectura/escritura p.45
Tabla 2.6 Ejemplo de frecuencias de PWM y resoluciones a 40 MHz

Tabla 2.6

Ejemplo de frecuencias de PWM y resoluciones a 40 MHz p.50
Tabla 2.8 Bits de selección de reloj de Conversión para el Registro ADCON1

Tabla 2.8

Bits de selección de reloj de Conversión para el Registro ADCON1 p.52
Tabla 2.9 Bits de Control para configuración del Puerto del A/D.

Tabla 2.9

Bits de Control para configuración del Puerto del A/D. p.52
Figura 2.21 Diagrama a Bloques del Modulo A/D

Figura 2.21

Diagrama a Bloques del Modulo A/D p.53
Tabla 2.10: T AD  vs. Frecuencias de Operación del Dispositivo

Tabla 2.10:

T AD vs. Frecuencias de Operación del Dispositivo p.56
Figura 2.23 Ciclos de Conversión  T AD  Del A/D

Figura 2.23

Ciclos de Conversión T AD Del A/D p.57
Tabla 2.11 Formula de la Proporción de Bauds.

Tabla 2.11

Formula de la Proporción de Bauds. p.62
Figura 2.29 Diagrama del sistema de flujo de datos en un ambiente de la interfaz UART

Figura 2.29

Diagrama del sistema de flujo de datos en un ambiente de la interfaz UART p.67
Figura 3.1 Funcionamiento del MDU.

Figura 3.1

Funcionamiento del MDU. p.73
Figura 3.3 Diagrama Eléctrico del Medidor de Distancia Ultrasónico

Figura 3.3

Diagrama Eléctrico del Medidor de Distancia Ultrasónico p.75
Tabla 3.1 Selección de RL a cierto porcentaje de LEL dependiendo del #ID del sensor

Tabla 3.1

Selección de RL a cierto porcentaje de LEL dependiendo del #ID del sensor p.76
Figura 3.4 Diagrama a Bloques de la Conexión del Circuito Completo del sensor AD590

Figura 3.4

Diagrama a Bloques de la Conexión del Circuito Completo del sensor AD590 p.79
Figura 3.10 Circuito Eléctrico para el Sensor de Temperatura

Figura 3.10

Circuito Eléctrico para el Sensor de Temperatura p.85
Figura 3.12 Conexión del motor con el driver L293B

Figura 3.12

Conexión del motor con el driver L293B p.87
Figura 3.15 Diagrama a Bloques de la conexión entre los Dispositivos y el Microcontrolador PIC18F452  3

Figura 3.15

Diagrama a Bloques de la conexión entre los Dispositivos y el Microcontrolador PIC18F452 3 p.90
Figura 3.16 Diagrama a Bloques del Robot Móvil.

Figura 3.16

Diagrama a Bloques del Robot Móvil. p.91
Tabla 3.3 Consumo de Corriente de cada uno de los dispositivos del Robot Móvil

Tabla 3.3

Consumo de Corriente de cada uno de los dispositivos del Robot Móvil p.92
Tabla 4.2 Costos Recursos de Infraestructura

Tabla 4.2

Costos Recursos de Infraestructura p.94
Tabla 4.6 Total de Recurso de Infraestructura

Tabla 4.6

Total de Recurso de Infraestructura p.96
Figura  Descripción  Pagina

Figura Descripción

Pagina p.108
Tabla  Descripción  Pagina

Tabla Descripción

Pagina p.110
Related subjects :
Outline : COSTO DEL PROYECTO