Documentos de Académico
Documentos de Profesional
Documentos de Cultura
VEHÍCULO TELEOPERADO
Trabajo de grado
Pág.
INTRODUCCIÓN 14
1.1 ANTECEDENTES 15
1.3 JUSTIFICACIÓN 27
2. METODOLOGÍA 29
4. DESARROLLO INGENIERIL 31
4.1 CONTROL DE MANDO 31
4.1.1 Sensores 32
4.1.1.2 Acelerómetro 34
4.1.2 Microcontrolador 46
4.1.3 Transmisión 60
4.2 VEHÍCULO 70
4.2.1 Recepción 70
4.2.2 Control 72
4.2.3 Actuadores 73
6. CONCLUSIONES 86
7. RECOMENDACIONES 87
BIBLIOGRAFÍA 88
LISTA DE TABLAS
Pág.
Pág.
Figura 2. S-PC 17
Pág.
Los vehículos operados a distancia son aquellos que son controlados por un
usuario desde una estación remota. Fueron creados principalmente para el
entretenimiento de niños, pero al ver la utilidad de estos vehículos en diferentes
actividades, llegaron a ser utilizados en la realización de tareas difíciles y
peligrosas para el hombre. Los vehículos exploradores fueron diseñados
principalmente para proteger la vida humana; la idea principal consiste en usarlos
en lugares que tengan algún tipo de riesgo o poca accesibilidad para un humano,
con fines de rescate o prevención, ya que en dichos vehículos se pueden incluir
varios dispositivos como por ejemplo: cámaras, sensores de temperatura,
sensores que detecten metales, entre otros.
14
1. PLANTEAMIENTO DEL PROBLEMA
1.1 ANTECEDENTES
Como se menciona en el artículo Móviles o vehículos robot 1, los vehículos
robotizados están basados en carros o plataformas y formados por un sistema
automotor de tipo rodante. En los años cincuenta fueron diseñadas las tortugas
motorizadas que sirvieron como base para estudios de inteligencia artificial, que
comenzaron a ser desarrollados entre los años de 1965 y 1973 en la universidad
de Stamford.
1
Móviles o vehículos robot. En: HISTORIA DEL ARTE DE LA ROBÓTICA [en línea]. 1 abril 2009.
Disponible en Web: < http://robotik-jjlg.blogspot.com/2009/04/moviles-o-vehiculos-robot.html>.
2
Japoneses diseñan robots para salvar vidas. En: PARITARIOS [en línea]. Chile. Disponible en
Web: < http://www.paritarios.cl/ciencia_robot_salva%20_vidas.htm>.
15
Actualmente existen empresas que realizan proyectos de investigación sobre
vehículos teleoperados como por ejemplo S-PC 3 (Sistemas de Percepción y
Control S.L.), que ha desarrollado vehículos para aplicación en vigilancia o en
inspección de zonas con algún tipo de riesgo (Figura 2). Esta empresa también ha
diseñado y construido vehículos que alcanzan grandes velocidades piloteados vía
radio (Figura 3 y 4).
Fuente: http://www.paritarios.cl/ciencia_robot_salva%20_vidas.html
3
Vehículos teleoperados. En: Sistemas de percepción y control [en línea]. España. Disponible en
Web: < http://www.s-pc.com/productos_vehiculos.html>.
16
Figura 2. S-PC
Fuente: http://www.s-pc.com/productos_vehiculos.html
Fuente: http://www.s-pc.com/productos_vehiculos.html
17
Figura 4. Vehículos desarrollados
Fuente: http://www.s-pc.com/productos_vehiculos.html
4
Mars Pathfinder. En: Wikipedia [en línea]. Abril 2010. Disponible en Web: <
http://es.wikipedia.org/wiki/Mars_Pathfinder>.
18
Figura 5. Sojourner Rover
Fuente: http://es.wikipedia.org/wiki/Archivo:Rover_Sojourner_lmb.png
Fuente: http://es.wikipedia.org/wiki/Archivo:Rover_Sojourner_lmb.png
19
realizado por Oscar Iván Morales Solano y Asdrúbal Toledo Dueñas 5 estudiantes
de la facultad de ingeniería de diseño y automatización electrónica de la
Universidad de la Salle de Bogotá en 2006. El proyecto consistía en diseñar un
vehículo explorador tele controlado con un sistema de adquisición de video a
bordo, dotado de sensores de temperatura y gases; la dirección del vehículo se
controlo por medio de un sistema inalámbrico de radiofrecuencia.
5
MORALES, Oscar Iván y TOLEDO, Asdrúbal. Diseño vehículo explorador. Trabajo de grado.
Ingeniería de diseño y automatización electrónica. Bogotá D.C. Universidad de la Sallé. 2006. 123
p.
6
BETANCUR, Javier y ARBELÁEZ, Leonardo. Vehículo no tripulado para tareas de desminado
humanitario masivo. Trabajo de grado. Ingeniería mecánica. Medellín. Universidad EAFIT. 2004.
210 p.
7
El boon de los acelerómetros. En: Wayerless [en línea]. 6 junio 2009. Disponible en Web:
<http://www.wayerless.com/2009/06/el-boom-de-los-acelerometros-w-guia/>.
20
7). Las aplicaciones de estos dispositivos en celulares son amplias, como por
ejemplo las aplicaciones para los juegos que implemento el iPhone y el iPod
Touch inicialmente (ver Figura 8).
Fuente: http://www.celularis.com/wp-content/uploads/2009/04/iphone_acelerometro-450x363.png
Fuente: http://www.wayerless.com/2009/06/el-boom-de-los-acelerometros-w-guia/
21
En combinación con un GPS, el acelerómetro ofrece mucho potencial. Cuando ya
se conoce la posición gracias al satélite, se pueden aportar mas datos gracias a
estos sensores, como frenadas, curvas, velocidades, etc. (inclusive, cuando un
GPS pierde la señal del satélite durante unos segundos, los acelerómetros se
encargan de auxiliarlos calculando la ubicación del objeto).
La aplicación de realidad aumentada utilizada en el teléfono celular Android,
Wikitude, es un gran ejemplo de la combinación entre un GPS y un acelerómetro.
Esta aplicación le permite al teléfono saber no sólo cuándo esta frente a un POI
(Punto Geográfico de Interés histórico o turístico), sino también hacia dónde está
apuntando exactamente la cámara del teléfono. La idea es desplegar videos, fotos
o textos en tiempo real con información de lo que se está mirando (ver Figura 9).
Fuente: http://www.javipas.com/2009/08/26/realidad-aumentada-un-invento-futurista/
22
Una de las aplicaciones más famosas del acelerómetro, es la que usa el Nintendo
Wii. Esta consola de video juegos, cambió totalmente la forma de divertirse frente
a un televisor. El Wii utiliza el acelerómetro para imitar los movimientos del jugador
y representarlos en la pantalla del televisor; lo único que debe hac er el usuario es
realizar los movimientos que desea que imite el juego, usando un control en el
cual esta insertado el acelerómetro encargado de sensar los movimientos que el
usuario realiza y así enviar la orden, mediante cable en algunos casos, a la
consola para que también los haga (Figura 10).
Fuente: http://zimmydoom.wordpress.com/2009/02/03/wtf-con-el-wii/
8
Guantes equipados con acelerómetros de grandes prestaciones en control. En: Fieras de la
ingeniería [en línea]. Disponible en Web: < http://www.fierasdelaingenieria.com/guantes-equipados-
con-acelerometros-de-grandes-prestaciones-en-control/>.
23
poder realizar funciones especificas (el movimiento que la mano realiza). El
dispositivo es denominado Acceleglove (ver Figuras 11 y 12), este dispositivo
viene con un sistema de código abierto para permitir a los usuarios tener control
total sobre la potencialidad de esta herramienta, transmitiendo la información
desde el guante a la computadora usando una conexión USB.
Fuente: http://www.fierasdelaingenieria.com/guantes-equipados-con-acelerometros-de-grandes-
prestaciones-en-control/
Fuente: http://www.fierasdelaingenieria.com/guantes-equipados-con-acelerometros-de-grandes-
prestaciones-en-control/
24
Al combinar los acelerómetros con otros sensores se pueden obtener muy buenas
aplicaciones, como en el caso del Segway 9 (ver Figuras 13 y 14). Este dispositivo
en combinación con giroscopios, logra una movilidad en dos ruedas manteniendo
el equilibrio y desplazando al usuario hacia donde este desee, con solo inclinar su
cuerpo.
Fuente: http://www.segwaycol.com/soporte.htm
9
Características. En: Segway [en línea].Disponible en Web: <http://www.segwaycol.com/quienessomos.htm>.
25
Figura 14. Segway
Fuente: http://www.segwaycol.com/productos.htm
26
lograr que esta se mueva con la inclinación de la mano hacia adelante, hacia
atrás, derecha o izquierda.
¿Cómo diseñar e implementar un mando de control para un vehículo teleoperado?
1.3 JUSTIFICACIÓN
Se ve la necesidad y utilidad de este tipo de vehículo en el mundo para
desempeñar diferentes labores que faciliten el trabajo de las personas o den
igualdad de condiciones en algunas labores básicas del entorno en el que el ser
humano se mueve hoy en día. La necesidad de anular cualquier tipo de control
utilizando un acelerómetro que permita al operario manejar este vehículo con un
simple movimiento o simplemente caminado y haciendo que este lo siga, puede
facilitar al operario la realización de otra actividad paralela al manejo del vehículo.
27
1.4.2 Objetivos específicos.
Establecer el diagrama de flujo tanto para el vehículo como para el control de
mando.
Seleccionar los sensores más adecuados para el manejo del vehículo.
Determinar los dispositivos de control que se usaran tanto para el vehículo
como para el control de mando.
Seleccionar el protocolo de comunicación que se usara entre sistema de control
y vehículo.
Seleccionar los motores y actuadores que se usaran para el movimiento del
vehículo.
Realizar pruebas de funcionamiento con los sensores, el protocolo de
comunicación y alcance entre el vehículo y el mando, y pruebas finales de
funcionamiento del vehículo tele operado.
28
2. METODOLOGÍA
29
3. LÍNEA DE INVESTIGACIÓN DE USB / SUB-LÍNEA DE FACULTAD /
CAMPO TEMÁTICO DEL PROGRAMA
30
4. DESARROLLO INGENIERIL
Control De
Vehículo
Mando
Fuente: Propia
31
En la Figura 16 se muestra el diagrama en bloques del control de mando:
Microcontrolador
Sensor Conversor A/D Transmisión
Fuente: Propia
4.1.1 Sensores. En esta etapa del proyecto se hace la elección del sensor que se
usará para la movilidad del vehículo, mostrando las diferentes características de
los sensores existentes y sus fabricantes.
Los sensores son dispositivos que pueden medir magnitudes físicas o químicas,
las cuales son llamadas variables de instrumentación, y convertirlas en variables
eléctricas. Las variables de instrumentación pueden ser: temperatura, intensidad
lumínica, aceleración, torsión, fuerza, presión, etc. Estas pueden ser convertidas
en variables eléctricas como resistencias eléctricas, capacitancias eléctricas y
corriente.
33
movimiento del control es el acelerómetro, ya que este puede determinar el
movimiento del control con respecto a la gravedad de la tierra sin necesidad de
mover palancas o presionar botones.
4.1.1.2 Acelerómetro.
F = (m · a)
a=F/m
10
FERNÁNDEZ, Rubén. Sistema de adquisición de posicionamiento geográfico. Trabajo de grado.
Ingeniería técnica de telecomunicaciones. España. Universidad Politécnica de Cataluña. Facultad
de Ingeniería. 2007. P. 19.
34
La detección de la fuerza que es ejercida sobre una masa por una limitación
elástica es el principio fundamental de los acelerómetros (figura 17).
Fuente:http://upcommons.upc.edu/pfc/bitstream/2099.1/4453/1/Sistema%20de%20Adquisici%C3%
B3n%20de%20Posicionamiento%20Geogr%C3%A1fico.pdf
Se tiene una masa m que se encuentra suspendida en uno de los extremos del
resorte y cuya constante de proporcionalidad es k, que se desplaza una distancia
y; en donde la aceleración que sufre el sistema debida a la fuerza restauradora del
resorte es F = k · x. La aceleración es a= [(k · x) / m].
F = k (x – y) = (m · a)
Donde:
35
a: la aceleración el cuerpo.
Tipos de acelerómetros.
Fuente: http://content.honeywell.com/sensing/sensotec/accelerometer_faq.asp?category=All
()
Dispositivo electrónico que puede medir deformaciones. Ante una variación en la estructura del
material de la galga se producirá una variación de su resistencia eléctrica. Los materiales que
suelen utilizarse para realizar galgas son aleaciones de Cobre y níquel, platino y silicio.
11
FERNÁNDEZ, Rubén. Sistema de adquisición de posicionamiento geográfico. Trabajo de grado.
Ingeniería técnica de telecomunicaciones. España. Universidad Politécnica de Cataluña. Facultad
de Ingeniería. 2007. P. 24.
36
inconveniente radica en su frecuencia máxima de trabajo y en la incapacidad de
mantener un nivel permanente de salida ante una entrada común.
Fuente: http://www.azimadli.com/vibman-spanish/elacelermetro.htm
Poniendo un cristal de este tipo entre la base (unida al objeto cuya aceleración se
quiere medir) y una masa inercial se producirá una corriente cuando ocurra una
aceleración ya que la masa ejercerá una fuerza sobre el cristal. Midiendo esta
corriente se puede calcular la aceleración, bien directamente si se trata de un
acelerómetro de salida de corriente (culombios/g) o bien convirtiéndola a un voltaje
de baja impedancia si se trata de un acelerómetro de salida de voltaje.
37
Los sensores piezoeléctricos pre-amplificados son cada vez más usados debido a
la comodidad de su uso, ya que producen un valor de tensión proporcional a la
excitación aplicada, a la salida del amplificador y su comportamiento resulta
independiente del conexionado exterior, puesto que la carga y la resistencia de
entrada del amplificador se mantienen constantes siempre. Este tipo de sensores
requiere de alimentación.
Fuente: http://content.honeywell.com/sensing/sensotec/accelerometer_faq.asp?category=All
12
How does a piezo-electric accelerometer work?. En: Honeywell [en línea]. Disponible en Web: <
http://content.honeywell.com/sensing/sensotec/accelerometer_faq.asp?category=All>.
38
Acelerómetros capacitivos. Según afirma Rubén Fernández 13 en su trabajo
de grado. este dispositivo se basa en la variación de capacitancias entre dos
conductores entre los cuales existe un dieléctrico. Estos acelerómetros están
integrados por un grupo de capacidades fijas y por un grupo de placas centrales
que se encuentran unidas por anillos elásticos que dejan que estas se muevan.
En la figura 21 se muestra el fundamento básico de un acelerómetro basado en
capacitores. Las zonas más oscuras son las capacitancias fijas del circuito.
Fuente: Propia
13
FERNÁNDEZ, Rubén. Sistema de adquisición de posicionamiento geográfico. Trabajo de grado.
Ingeniería técnica de telecomunicaciones. España. Universidad Politécnica de Cataluña. Facultad
de Ingeniería. 2007. P. 22.
39
Figura 22. Capacitancias iguales Ca = Cb
Fuente: Propia
Fuente: Propia
40
Acelerómetros microelectromecánicos (MEMS). Los avances en la
tecnología micro mecánica, ha permitido que estos dispositivos puedan ser usados
en gran variedad de circuitos. Los acelerómetros están entre los primeros
productos de micro sistemas (MST/MEMS) desarrollados. Los sensores
micrómetro-clasificados tienen la capacidad de medir e interpretar los movimientos
tales como: aceleración, vibración, choque e inclinación. Actualmente se fabrican
un gran volumen y a un bajo costo. Los acelerómetros están en la mejor posición
para moverse con éxito hacia otras aplicaciones, tales como el área médica,
industrial y de transporte. Con relación a la tecnología básica, distinguimos tres
categorías principales de acelerómetros de MEMS: el capacitivo de silicio, el
piezoresistivo y, finalmente, los acelerómetros térmicos (ver Figura 24)
Los fabricantes que usan acelerómetros capacitivos son: DI, Bosch, Denso,
Freescale, Analog Devices, Colibrys, VTI.
Fuente: http://www.neoteo.com/aplicaciones-de-mems-para-telefono-movil.neo
41
4.1.1.3 Elección del sensor. Para la selección del acelerómetro que se usará, se
hace un cuadro comparativo con los tipos de acelerómetros existentes en el
mercado (Tabla 2). También se mostrará un cuadro comparativo de los diferentes
modelos de acelerómetros (Tabla 3), para así poder elegir el acelerómetro
adecuado.
42
Tabla 3. Diferentes modelos de acelerómetros.
Modelo Fabricante Aceleración Alimentación Sensibilidad
14
ADXL325 ANALOG ±5 g 2,4 V- 6 V 174 mV/g
ADXL210 ANALOG ±10 g 3V-6V 40mV /g
ADXL326 ANALOG ±3 g 1,8 V - 3,6V 300 mV/g
1.5g= 800mV/g
MMA7260QT Freescale15 1.5g/2g/4g/6g 2.2 V – 3.6 V 2 g= 600mV/g
4g= 300mV/g
6g= 200mV/g
MMA7361L Freescale ± 1,5 g/ ± 6g 2,2 V - 3,6 V 1.5g= 800mV/g
6g= 206mV/g
Fuente: Propia
14
Low g iMEMS Accelerometers. En: ANALOG DIVICES [en línea]. Disponible en Web:
<http://www.analog.com/en/sensors/inertial-sensors/products/index.html>.
15
Acelerometers Low g. En: Freescale [en línea]. Disponible en Web:
<http://www.freescale.com/webapp/sps/site/taxonomy.jsp?nodeId=01126911184209>.
43
entre cada electrodo y la masa sísmica forma un “capacitor mecánicamente
variable”. El cambio en la distancia entre las placas corresponde a los cambios en
la capacitancia. Estos acelerómetros incorporan circuitos micro-eléctricos que
usan puentes capacitivos para convertir el cambio de capacitancia a una señal de
voltaje útil proporcional a la aceleración.
16
±1.5g - 6g Three Axis Low-g Micromachined Accelerometer. En: Freescale [en linea]. Disponible
en Web: < http://www.freescale.com/files/sensors/doc/data_sheet/MMA7260QT.pdf>
44
Figura 26. MMA7260QT vista desde arriba con distribución de pines.
Fuente: Propia
17
VALDÉS, Fernando y PALLAS, Ramón. Componentes de un microcontrolador. En:
Microcontroladores: fundamentos y aplicaciones con PIC. España. 2007. P. 14-24.
46
microcomputador, como la unidad central de procesamiento (CPU), la memoria y
los recursos de entrada y salida, en un único circuito integrado (ver Figura 28).
Los microcontroladores tienen un oscilador que genera los pulsos que sincronizan
todas las operaciones internas. Aunque este puede ser de tipo RC, normalmente
se usa un cristal de cuarzo (XTAL), ya que este tiene una gran estabilidad de
frecuencia. La velocidad de ejecución de las instrucciones del programa está en
relación directa con la frecuencia del oscilador del microcontrolador.
47
realizar, el Registro de Estado (STATUS) que es el encargado de agrupar los bits
indicadores de las características del resultado de las operaciones aritméticas y
lógicas realizadas como el signo del resultado o si el resultado es c ero, el
Contador de Programa (CP) es el registro de la CPU donde se almacenan
direcciones de instrucciones y el Registro de Direcciones de Datos (RDD) que
almacena direcciones de datos situados en la memoria.
48
Harvard utiliza memorias separadas para instrucciones y datos. La memoria de
programa que almacena las instrucciones tiene un bus de direcciones, uno de
datos y un bus de control. La memoria de datos tiene sus buses independientes
también para direcciones, datos y control. La memoria de programa es de solo
lectura y la de datos es de lectura y escritura. La arquitectura Harvard tiene una
mayor velocidad de ejecución de los programas (Figura 29 b).
18
VALDÉS, Fernando y PALLAS, Ramón. Microcontroladores PIC. En: Microcontroladores:
fundamentos y aplicaciones con PIC. España. 2007. P. 29-51
49
pequeño de instrucciones: entre 33 y 77. Constan de un registro de trabajo
(registro W) y con registros de la memoria de datos. Para las operaciones
aritméticas y lógicas, uno de los operando debe estar en el registro W y el
resultado se da en W o en otro registro de la memoria de datos. Las transferencias
de datos se realizan entre un registro de la memoria de datos y el registro W. los
PIC usan la técnica de segmentado para la ejecución de las instrucciones, en dos
etapas, de forma que las instrucciones se ejecutan en un ciclo de instrucciones
que equivalen a 4 pulsos del oscilador principal del microcontrolador, exceptuando
las instrucciones de transferencia de control que toman dos ciclos de instrucción.
Los PIC tienen gran cantidad de dispositivos de entrada y salida. Puertos paralelos
de 8 bits, temporizadores, puertos serie sincrónicos y asincrónicos, convertidores
A/D de aproximaciones sucesivas de 8 y 10 bits, convertidores D/A, moduladores
de ancho de pulso PWM (Pulse With Modulation) entre otros.
Los microcontroladores PIC tiene la opción de elegir entre osciladores RC, cristal
de cuarzo y externo. Algunos tiene un oscilador RC interno de aproximadamente 4
MHz. Si se aumenta la frecuencia del oscilador principal, la duración de los ciclos
de maquina se acortan y así el tiempo de ejecución de las instrucciones
disminuye, pero con esto se aumenta el consumo de energía.
50
En la figura 30 se observa un oscilador de cristal, en el que los condensadores C1
y C2 tienen un valor que varía entre 15 pF y 68 pF para un cristal (XTAL) de 4
MHz. El oscilador RC de la figura 31 tiene una resistencia REXT cuyo valor está
entre 3 KΩ a 100 KΩ, y el condensador C EXT es mayor a 20 pF.
LC 2.5-6.0 V EPROM
51
LCR 2.5-6.0 V ROM
LF 2.0-6.0 V FLASH
Fuente: Propia.
52
4.1.2.2 Microcontrolador HC908 de Freescale. A continuación se mostraran
algunas características de esta familia de microcontroladores del fabricante
Freescale.
Los microcontroladores HC908 (figura 32) según Daniel Di Lella19, tienen ventajas
como: una velocidad máxima de bus de 8MHz en 5V, memoria de programación
de tipo Flash, Timers y conversores A/D flexibles, LVI (supervisión de baja tensión)
y tiene una gran posibilidades de comunicaciones con el exterior, ya que puede
usar el PWM, módulos analógicos, sensores de temperatura internos , etc.
Fuente: http://www.edudevices.com.ar/download/articulos/cursoMCUs/ParteII_Capitulo_2.pdf
19
DI LELLA, Daniel. En: Curso de Microcontroladores familia HC908 Flash [en línea]. Disponible
en Web:
<http://www.edudevices.com.ar/download/articulos/cursoMCUs/ParteII_Capitulo_1.pdf,
http://www.edudevices.com.ar/download/articulos/cursoMCUs/ParteII_Capitulo_3.pdf>.
53
binarias y los registros internos de la CPU, y el CONTROL UNIT (unidad de
control), la cual contiene la unidad de control y tiempo que controla la unidad de
ejecución (ver Figura 33).
Fuente: http://www.edudevices.com.ar/download/articulos/cursoMCUs/ParteII_Capitulo_3.pdf
20
DI LELLA, Daniel. En: Curso de Microcontroladores familia HC908 Flash [en línea]. Disponible
en Web: <http://www.edudevices.com.ar/download/articulos/cursoMCUs/ParteII_Capitulo_17.pdf>
54
4.1.2.3 Elección del microcontrolador PIC. En esta parte se mostraran las
características de algunos microcontroladores PIC de gama media, en especial de
la familia PIC16F87X (Figura 34), puesto que se determino que esta familia es la
mejor para trabajar, ya que se encuentra con mayor facilidad en el mercado, el
tamaño del encapsulado es el adecuado para esta aplicación, las funciones que
brinda son primordiales para la elaboración del proyecto y es muy económico.
21
Pic16F87X Data Sheet. En: Microchip [en línea]. Disponible en Web:
<http://ww1.microchip.com/downloads/en/devicedoc/30292c.pdf>
55
Figura 34. PIC con encapsulado de 28 pines.
Fuente: http://lc.fie.umich.mx/~ifranco/DATASHEET/uC/Manual_PIC16F87X.pdf
Fuente: http://lc.fie.umich.mx/~ifranco/DATASHEET/uC/Manual_PIC16F87X.pdf
56
Algunas diferencias entre los dos encapsulados son los siguientes: el PIC16F873
y el 876 son los modelos que tienen 28 pines y los 16F874 y 877 tienen 40 (Figura
35). Los encapsulados de 40 pines tienen 5 Puertos de E/S: A, B, C, D y E y los
de 28 tienen solo 3 Puertos: A, B y C. Los encapsulados de 40 pines tienen 8
canales de entrada al conversor A/D y los de 28 tienen 5 canales. Los PIC
16F87X de encapsulado de 40 pines son los únicos que poseen el puerto paralelo
esclavo (Ver Tabla 8).
57
Figura 36. Diagrama de bloques general de los PIC16F873 y PIC16F876.
Fuente: http://melabs.picbasic.com/devicedata/30292b.pdf
58
En la figura 37 se muestra la descripción de los pines de los PIC16F873 y 876.
En el Anexo A se muestran las especificaciones del PIC16F873.
Fuente: http://melabs.picbasic.com/devicedata/30292b.pdf
59
4.1.3 Transmisión. En esta parte del proyecto, se decidirá qué tipo de
comunicación se usara para la comunicación entre el control de mando y el
vehículo. También se mostrara el dispositivo que se usara para este propósito con
algunas de sus características.
60
Tabla 9. Tipos de comunicación
Canal Ventajas Desventajas
• Poca maniobrabilidad
Alámbrico para el vehículo.
• Necesita de repetidores
para aumentar la distancia
de comunicación.
• Necesidad de
manteniendo por posibles
fracturas de cableado.
• El canal es vulnerable a
interrupciones.
Fuente: Propia
61
Estos están categorizados, según Jordi Mayneen 22 en su publicación, en los que
tiene un protocolo estándar y los que no. Entre los que poseen un protocolo
estándar encontramos entre otros el WI-FI y el Bluetooth, y entre los que no tiene
un protocolo estándar encontramos el infrarrojo y el RF.
Ya que los que no poseen un protocolo estándar son más sencillos de usar que
los que poseen, se decidió usar este tipo de comunicación ya que el uso que se le
dará es muy sencillo y no necesita protocolos complicados.
Fuente: http://tec.upc.es/com/EstadoActual_WirelessRF_SILICA.pdf
22
MAYNE, Jordi. En: L’Electronica [en línea]. Disponible en Web: <
http://tec.upc.es/com/EstadoActual_WirelessRF_SILICA.pdf>.
62
La frecuencia se mide en hercios o ciclos por segundo y las frecuencias de radio
se miden en KHz, MHz y GHz.
Tabla 10. Características de los dos tipos de comunicación inalámbrica sin protocolo
Características IrDA RF
(infrarrojo)
Alcance 1 metro 50-100 metros
(direccional)
Sensibilidad de recepción (óptica) -114dbm
Fuente: propia
63
Tabla 11. Características de diferentes transmisores.
Modelo Fabricante Frecuencia Voltaje Velocidad Potencia de
salida
TLP315A LAIPAC TECH 315MHz 3-12V 8Kbps 8.8 dBm
TLP418A LAIPAC TECH 418MHz 3-12V 8Kbps 8.8 dBm
TLP434A LAIPAC TECH 433.92MHz 3-12V 8Kbps 8.8 dBm
TRF4400 TEXAS 450MHz 2.2-3.6V 7 dBm
INSTRUMENTS
TRF4900 TEXAS 950MHz 2.2-3.6V 7 dBm
INSTRUMENTS
TRF4903 TEXAS 928MHz 2.2-3.6V 8 dBm
INSTRUMENTS
Fuente: Propia
Fuente: http://www.sigmaelectronica.net/tlp434a-pi-670.html
23
TLP434A. En: LAIPAC TECH [en línea]. Disponible en Web:
<http://www.laipac.com/Downloads/Easy/tlp434a.pdf>.
64
El dispositivo transmisor tiene de cuatro pines; de izquierda a derecha el primer
pin correspondiente a GND, el siguiente es el pin de datos por donde ingresa la
señal que será transmitida, el tercer pin corresponde a Vcc, y por último está el pin
ANT correspondiente a la antena.
Fuente: http://www.textoscientificos.com/redes/modulacion/ask
65
En la figura 41 se muestra el circuito recomendado por el fabricante para la
utilización del módulo RF TLP 434A.
66
4.1.4 Circuito electrónico del control de mando. El acelerómetro MMA7260QT
sensa el movimiento de la mano con respecto a la gravedad de tierra en los ejes x
y y. Donde x representa el movimiento hacia adelante o hacia atrás y y representa
el movimiento de derecha o izquierda. Este dispositivo envía la señal al
microcontrolador PIC16F873A en donde se hace la conversión A/D. Del
microcontrolador sale la información digitalizada, hacia el codificador HT12-E
donde es modulada (ASK), antes de ser enviada al transmisor TLP434A. La
información enviada por el sensor se envía a una LCD para su visualización.
Fuente: Propia
67
En la figura 43 se muestra el diagrama de flujo del programa que se utilizo en el
microcontrolador para la transmisión. En este se puede ver la configuración de
cada una de las aplicaciones utilizadas en el microcontrolador como por ejemplo:
La configuración de los puertos de salida, entrada y A/D, se inicializa la
transmisión por RF, luego se esto se inicializa la LCD, luego de esto se toma la
señal que sale del acelerómetro y se inicializan las variables, se lee la posición y
datos de los ejes x y y, se inicializa la conversión A/D, se procesa la información
proporcionada por los ejes y se compara con el dato del offset, si el dato es mayor
se le da una dirección positiva (izquierda o hacia adelante) si no es mayor es
comparada con la menor, si es menor se le da una dirección negativa (derecha o
atrás). Y por último se realiza la transmisión y se visualiza la información en la
LCD.
68
Figura 43. Diagrama de flujo del programa del microcontrolador para la transmisión.
Fuente: Propia
69
4.2 VEHÍCULO
Esta es la segunda etapa del proyecto, en este parte se muestra el vehículo que
será controlado por el acelerómetro. Esta segunda etapa se divide en 3 partes:
Control y
Recepción Conversión D/A Actuadores
Fuente: Propia
70
transmisor y utilizando la misma frecuencia. LAIPAC TECH ofrece dos opciones
para recepción de la señal emitida por el transmisor TLP434A: el RLP343 y el
RPL343A. Estos dos dispositivos trabajan a una frecuencia de 433.92MHz. El
receptor RLP343A tiene gran inmunidad contra ruido y es mucho más costoso
que el RLP343. Por ello se estableció que se usara el receptor RLP343, ya que
cumple con especificaciones mínimas requeridas para la recepción de la señal
enviada desde el trasmisor.
Según la hoja de datos (datasheet) del RLP43424 (ver figura 45), este dispositivo
de recepción consta de 8 pines, de izquierda a derecha, el primero es GND, el
segundo es la salida digital, el siguiente es otra salida, el cuarto y quinto son VCC,
los dos siguientes (6 y 7) son GND y el octavo pin es ANT (antena).
Fuente: http://www.sigmaelectronica.net/rlp434-p-667.html
24
RLP434. En: LAIPAC TECH [en línea]. Disponible en Web:
<http://www.laipac.com/Downloads/Easy/rlp434.pdf>.
71
Según el fabricante, es recomendado usar en el circuito un decodificador HT12D
(Anexo A). Se realiza tres veces continuas una comparación de las direcciones
entregadas con sus direcciones locales, si se comprueba que no hay errores, la
información pasa a los pines de salida. En la figura 46 se puede observar una
aplicación de este receptor. En este se usa un microcontrolador de 8 bits, para una
determinada aplicación y se puede ver el decodificador H12D.
Figura 46. Circuito de aplicación del RLP343.
Rotor: esta es la parte móvil del motor, es el que proporciona el torque para
mover a la carga. Esta formado por, un eje que lo constituye una barra de acero.
Un núcleo que esta ubicado sobre el eje, formado por laminas de hacer y su
función es la de suministrar un trayecto magnético entre los polos para que circulo
el flujo magnético del devanado; el núcleo laminado tiene ranuras por toda su
superficie para contener el bobinado. Devanado, que consta de bobinas aisladas
entre si, están alojadas en las ranuras y están conectadas de forma eléctrica con
el colector. Colector, esta formado por laminas de material conductor separadas
entre si y del centro del eje por un aislante, esta ubicado sobre uno de los
extremos del eje del rotor y de ese modo gira con este logrando así contacto con
las bobinas; su función es la de recoger la tensión que se produce por el devanado
inducido y luego transmitiéndola al circuito promedio de las escobillas. En la figura
47 se muestra los componentes del rotor.
73
Figura 47. Rotor
Fuente: http://www.todorobot.com.ar/documentos/dc-motor.pdf
Estator: tiene como función suministrar el flujo magnético que será usado por
el bobinado del rotor para realizar el movimiento giratorio. Esta formado por un
armazón que tiene como función servir como soporte y suministrar una trayectoria
de retorno al flujo magnético del rotor y del imán permanente, y así completar el
circuito magnético. También esta formado por un imán permanente que tiene
como función otorgar un campo magnético uniforme al devanado del rotor,
logrando así que interactué con el campo formado por el bobinado y originando así
el movimiento del rotor como respuesta de la interacción de estos campo. En la
figura 48 se ve los componentes del estator.
Fuente: http://www.todorobot.com.ar/documentos/dc-motor.pdf
74
El funcionamiento básico del motor DC se basa en la ley de Lorentz , que dice que
cuando un conductor pasa por una corriente eléctrica se sumerge en un campo
magnético, el conductor sufre una fuerza perpendicular al plano formado por el
campo magnético y la corriente, siguiendo la regla de la mano derecha. En la
figura 49, se muestra el funcionamiento básico del motor DC.
Fuente: http://es.wikipedia.org/wiki/Motor_de_corriente_continua
75
Figura 50. Movimiento de un motor DC.
Fuente: http://es.wikipedia.org/wiki/Motor_de_corriente_continua
76
movimiento del motor se podrá ver como si fuera por pasos, esto quiere decir que
el motor generará movimiento cada vez que llegue un pulso.
D= Es el ciclo de trabajo
τ= Es el tiempo en que la función es positiva (ancho del pulso)
T= Es el período de la función
Fuente: http://www.dtic.upf.edu/~jlozano/interfaces/PWM.gif
77
un control del motor, si los transistores Q2 y Q5 están cerrados y los Q4 y Q3
abiertos, se aplica una tensión positiva en el motor, haciendo que gire en un
sentido. Abriendo los Q4 y Q3, y cerrando los Q2 y Q, el voltaje se invierte,
haciendo que el motor gire en sentido contrario.
Fuente: http://www.globu.net/pp/ES/circuito_puente.JPG
78
Figura 53. Diagrama circuital del vehículo (Microcontrolador, decodificador y receptor).
Fuente: Propia
79
Figura 54. Diagrama circuital del vehículo (Puente H, optoacopladores y motor)
Fuente: Propia
80
En la figura 55 se muestra el diagrama de flujo del programa del microcontrolador
para la recepción en donde encontramos la recepción, la configuración de los
puertos y el movimiento de los motores.
Inicialmente se configuran los puertos que se usaran, luego se pone en cero “0” la
salida hacia los motores para que estos estén apagados. Si llega algún dato este
pasa a ser comparado con el dato uno “1” (x=y=0) si es igual al dato “1” se apagan
los motores de lo contrario pasa a comparar con el dato dos “2” (x>0, y=0) si es
igual entonces el motor 1 va hacia adelante y el motor 2 está apagado; si no es
igual al dato “2” pasa a comparar con el dato tres “3” (x<0, y=0) si es igual el motor
1 va hacia atrás y el motor 2 se queda apagado. Si la comparación anterior no es
cierta pasa a ser comparada con el dato cuatro “4” (x=0, y>0) si es igual el motor 1
está apagado y el motor 2 va hacia la izquierda. Si la comparación no es cierta
esta se compara con el dato cinco “5” (x=0, y<0) si es igual el motor 1 permanece
apagado y el motor 2 va hacia la derecha. Si esta comparación no es cierta se
compara con el dato seis “6” (x>0, y>0) si es igual el motor 1 va hacia adelante y el
motor 2 va hacia la izquierda. Si esta comparación no es cierta se compara con el
dato siete “7” (x>0, y<0) si es igual el motor 1 va hacia adelante y el motor 2 va
hacia derecha. Si esta comparación no es cierta se compara con el dato ocho “8”
(x<0, y>0) si es igual el motor 1 va hacia atrás y el motor 2 va hacia la izquierda.
Por último si esta comparación no es cierta se compara con el dato nueve “9” (x<0,
y<0) si es igual el motor 1 va hacia atrás y el motor 2 va hacia la derecha.
Finalmente el ciclo es repetitivo desde la llegada del dato.
81
Figura 55. Diagrama de flujo del programa del microcontrolador para la recepción
Fuente: Propia
82
5. DESCRIPCIÓN Y ANÁLISIS DE RESULTADOS
83
Figura 56. Esquema general y pines de la LCM08002B.
Vehículo.
Los programas de los microcontroladores se pueden encontrar en el Anexo B.
Finalmente el vehículo funcionó como se esperaba teniendo éxito en cada uno de
nuestros objetivos.
84
Figura 57. Fotografía del vehículo y control de mando.
Fuente: Propia.
85
6. CONCLUSIONES
86
7. RECOMENDACIONES
87
BIBLIOGRAFÍA
DI LELLA, Daniel. En: Curso de Microcontroladores familia HC908 Flash [en línea].
Disponible en Web:
<.http://www.edudevices.com.ar/download/articulos/cursoMCUs/ParteII_Capitulo_1
7.pdf>
El boom de los acelerómetros. En: Wayerless [en línea]. 6 junio 2009. Disponible
en Web: <http://www.wayerless.com/2009/06/el-boom-de-los-acelerometros-w-
guia/>.
88
FERNÁNDEZ, Rubén. Sistema de adquisición de posicionamiento geográfico.
Trabajo de grado. Ingeniería técnica de telecomunicaciones. España. Universidad
Politécnica de Cataluña. Facultad de Ingeniería. 2007. P. 22
Japoneses diseñan robots para salvar vidas. En: PARITARIOS [en línea]. Chile.
Disponible en Web: <http://www.paritarios.cl/ciencia_robot_salva%20_vidas.htm>.
89
Mars Pathfinder. En: Wikipedia [en línea]. Abril 2010. Disponible en Web:
<http://es.wikipedia.org/wiki/Mars_Pathfinder>.
90
VALDÉS, Fernando y PALLAS, Ramón. Microcontroladores PIC. En:
Microcontroladores: fundamentos y aplicaciones con PIC. España. 2007. P. 29-51
91
ANEXO A
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
ANEXO B
LÍNEAS DE CÓDIGO
#include <16F873A.h>
#include <main.h>
#include <stdlib.h>
#include <math.h>
#include <lcd.h>
#include <laipac.h>
void main()
unsigned char c;
// Activar conversor ad
setup_adc_ports(AN0_AN1_AN3);
setup_adc(ADC_CLOCK_INTERNAL);
setup_spi(SPI_SS_DISABLED);
// Desactivar temporizadores
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
123
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);
// Configurar puertos
set_tris_a(0x0B);
set_tris_b(0x00);
set_tris_c(0x00);
output_a(0x00);
output_b(0x00);
output_c(0x00);
// Inicializar dispositivos
RF_init();
LCD_init();
// Retardo inicial
delay_ms(1000);
//
LCD_write(0x80, s);
LCD_write(0xC0, s);
124
// Leer valor X0
delay_ms(500);
set_adc_channel(0);
delay_us(20);
x0 = read_adc();
delay_ms(1000);
//
LCD_write(0x80, s);
LCD_write(0xC0, s);
// Leer valor Y0
delay_ms(500);
set_adc_channel(1);
delay_us(20);
y0 = read_adc();
delay_ms(1000);
//
LCD_write(0x80, s);
LCD_write(0xC0, s);
// ciclo de trabajo
c = 0;
125
antes_x = 0;
antes_y = 0;
dir_x = POSITIVO;
dir_y = POSITIVO;
dantes_x = dir_x;
dantes_y = dir_y;
while(TRUE)
/*
c++;
c = 1;
Transmitir(c);
*/
// Leer señal X
LCD_write(0x80 + 3, s);
set_adc_channel(0);
delay_us(20);
lectura = read_adc();
LCD_write(0x80 + 3, s);
if(dir_x == NEGATIVO)
126
strcpy(s, "-");
else
strcpy(s, "+");
LCD_write(0x80 + 2, s);
delay_ms(400);
// Leer señal Y
LCD_write(0xC0 + 3, s);
set_adc_channel(1);
delay_us(20);
lectura = read_adc();
LCD_write(0xC0 + 3, s);
if(dir_y == NEGATIVO)
strcpy(s, "-");
else
strcpy(s, "+");
LCD_write(0xC0 + 2, s);
delay_ms(400);
127
{
switch(eje)
vval = v;
offset = 0;
//
dir = 0;
dir = 1;
128
else
vval = 0;
if(eje == EJE_X)
vval = CalcularX(vval);
// parar
if(vval < 2)
Transmitir(0x01);
else
// aumenta la velocidad
Transmitir(0x0A);
// disminuye la velocidad
Transmitir(0x0B);
// dirección
if(dir == 0)
dir_x = POSITIVO;
Transmitir(0x02);
129
}
else
dir_x = NEGATIVO;
Transmitir(0x03);
dantes_x = dir_x;
antes_x = vval;
vval = CalcularY(vval);
if(vval > 0)
if(dir == 0)
dir_y = POSITIVO;
Transmitir(0x04);
else
dir_y = NEGATIVO;
Transmitir(0x05);
130
}
antes_y = vval;
dantes_y = dir_y;
return vval;
float valor;
valor = v * 5000.0;
return valor;
unsigned char i;
RF_send(0x00);
delay_ms(12);
RF_send(data);
delay_ms(12);
131
delay_ms(50);
if(x < 5)
return 0;
return 1;
return 2;
return 3;
return 4;
return 5;
return 6;
return 7;
return 8;
else
return 9;
132
}
return 0;
else
return 1;
#device adc=10
#use delay(clock=4000000)
#use fast_io(A)
#use fast_io(B)
#use fast_io(C)
#byte porta=5
#byte portb=6
#byte portc=7
#define EJE_X 1
#define EJE_Y 2
#define POSITIVO 1
133
#define NEGATIVO 2
134
Línea de código del receptor
#include <16F873A.h>
#include <main.h>
#include <laipac.h>
#int_RTCC
// Interrupcion cada 1 ms
void RTCC_isr(void)
cont_tmr0++;
if(cont_tmr0 > 1)
cont_tmr0 = 0;
if(rapidez > 0)
switch(pwm_state)
case PWM_LOW:
cont_pwm--;
if(cont_pwm == 0)
pwm_state = PWM_HIGH;
cont_pwm = pwm_hi;
135
if(state_motor_1 == MOTOR_AD)
output_high(M1_S1);
output_low(M1_S2);
if(state_motor_1 == MOTOR_AT)
output_high(M1_S2);
output_low(M1_S1);
break;
case PWM_HIGH:
cont_pwm--;
if(cont_pwm == 0)
pwm_state = PWM_LOW;
output_low(M1_S1);
output_low(M1_S2);
break;
136
}
if(cont_1 > 0)
cont_1--;
if(cont_1 < 1)
cont_1 = 0;
output_low(M2_S1);
output_low(M2_S2);
state_motor_2 = MOTOR_AD;
if(cont_2 > 0)
cont_2--;
if(cont_2 < 1)
cont_2 = 0;
output_low(M2_S1);
output_low(M2_S2);
state_motor_2 = MOTOR_AT;
137
}
//clear_interrupt(INT_RTCC);
#int_EXT
// Llego transmisión
void EXT_isr(void)
unsigned char c;
Procesar_RX(c);
//clear_interrupt(INT_EXT);
void main()
setup_adc_ports(NO_ANALOGS);
setup_adc(ADC_OFF);
setup_spi(SPI_SS_DISABLED);
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_4);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DIV_BY_16,255,1);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);
ext_int_edge( L_TO_H );
138
// Configurar puertos
set_tris_a(0x00);
set_tris_b(0x01);
set_tris_c(0x0F);
output_a(0x00);
output_b(0x00);
output_c(0x00);
//
rapidez = 1;
pwm_state = PWM_OFF;
cont_tmr0 = 0;
flag_m2 = 0;
cont_1 = 0;
cont_2 = 0;
//
Iniciar_PWM(MOTOR_1);
//
enable_interrupts(INT_RTCC);
enable_interrupts(INT_EXT);
enable_interrupts(GLOBAL);
for(;;)
if(flag_m2 == 1)
139
flag_m2 = 0;
output_high(M2_S1);
output_low(M2_S2);
/*
delay_ms(1000);
output_low(M2_S1);
output_low(M2_S2);
*/
cont_1 = 1000;
if(flag_m2 == 2)
flag_m2 = 0;
output_high(M2_S2);
output_low(M2_S1);
/*
delay_ms(1000);
output_low(M2_S1);
output_low(M2_S2);
*/
cont_2 = 1000;
140
void Iniciar_PWM(unsigned char motor)
cont_pwm = 0;
pwm_hi = 1;
pwm_state = PWM_LOW;
switch(data)
Detener(MOTOR_2);
Detener(MOTOR_1);
break;
Detener(MOTOR_2);
Adelante(MOTOR_1);
break;
141
{
Detener(MOTOR_2);
Atras(MOTOR_1);
break;
Detener(MOTOR_1);
Adelante(MOTOR_2);
break;
Detener(MOTOR_1);
Atras(MOTOR_2);
break;
Adelante(MOTOR_1);
Adelante(MOTOR_2);
break;
142
{
Adelante(MOTOR_1);
Atras(MOTOR_2);
break;
Atras(MOTOR_1);
Adelante(MOTOR_2);
break;
Atras(MOTOR_1);
Atras(MOTOR_2);
break;
case 0x0A:
Velocidad(MOTOR_1, 1);
break;
case 0x0B:
143
Velocidad(MOTOR_1, 2);
break;
case 0x0C:
Velocidad(MOTOR_1, 3);
break;
case 0x0D:
Velocidad(MOTOR_1, 4);
break;
case 0x0E:
Velocidad(MOTOR_1, 5);
break;
switch(motor)
144
{
case MOTOR_1:
output_low(M1_S1);
output_low(M1_S2);
pwm_state = PWM_OFF;
pwm_hi = 1;
state_motor_1 = MOTOR_OFF;
break;
case MOTOR_2:
output_low(M2_S1);
output_low(M2_S2);
state_motor_2 = MOTOR_OFF;
break;
switch(motor)
145
case MOTOR_1:
//output_high(M1_S1);
//output_low(M1_S2);
if(pwm_state == PWM_OFF)
Iniciar_PWM(motor);
state_motor_1 = MOTOR_AD;
break;
case MOTOR_2:
flag_m2 = 1;
break;
switch(motor)
146
case MOTOR_1:
//output_low(M1_S1);
//output_high(M1_S2);
if(pwm_state == PWM_OFF)
Iniciar_PWM(motor);
state_motor_1 = MOTOR_AT;
break;
case MOTOR_2:
flag_m2 = 2;
break;
switch(motor)
case MOTOR_1:
147
{
switch(data)
case 1:
pwm_hi++;
break;
case 2:
if(pwm_hi > 1)
pwm_hi--;
break;
break;
case MOTOR_2:
148
break;
#device adc=10
#use delay(clock=4000000)
#use fast_io(A)
#use fast_io(B)
#use fast_io(C)
#byte porta=5
#byte portb=6
#byte portc=7
#define MOTOR_1 1
#define MOTOR_2 2
149
#define PWM_MAX 16
#define PWM_HIGH 1
#define PWM_LOW 2
#define PWM_OFF 0
#define MOTOR_OFF 0
#define MOTOR_AD 1
#define MOTOR_AT 2
150
void Adelante(unsigned char motor);
151
ANEXO C
TARJETAS Y MONTAJES
152
Diagrama del circuito impreso del vehículo
153
Tarjeta armada vehículo (receptor).
154