Está en la página 1de 62

SECRETARIA DE EDUCACIN PBLICA

DIRECCIN GENERAL DE EDUCACIN SUPERIOR


TECNOLGICA
INSTITUTO TECNOLGICO DE MRIDA

AGV (Vehculo Automticamente Guiado).


Implementacin de Sistema de control Retroalimentado
utilizando sensores.

OPCIN
PROYECTO DE INVESTIGACIN

PARA LA MATERIA DE:


TALLER DE INVESTIGACION 2.

PRESENTA:
OJEDA ARANA JUAN ALBERTO.
PINEDA ESTRELLA JOSE GUADALUPE.

MRIDA YUCATN MXICO


2012

INDICE DE CONTENIDO

Introduccin: ----------------------------------------------------------------------------- 1
Objetivo general y especfico-------------------------------------------------------- 2
Hiptesis: --------------------------------------------------------------------------------- 2
Justificacin: ----------------------------------------------------------------------------- 2
Limitaciones y delimitaciones: ------------------------------------------------------ 3
Impacto econmico, social y ambiental: ----------------------------------------- 3
Cronograma de actividades: -------------------------------------------------------- 4
CAPITULO I
1.
1.1.
1.2.
1.3.
1.4.
1.5.
1.6.

Antecedentes tericos----------------------------------------------------------5
Sensores Ultrasnicos (SRF02):---------------------------------------------5
Sensores pticos (SHARPS): -----------------------------------------------7
Puente H (driver): ---------------------------------------------------------------9
Acelermetro:-------------------------------------------------------------------11
Brjula:----------------------------------------------------------------------------12
GPS: ------------------------------------------------------------------------------13

CAPITULO II
2. Antecedentes y causas del problema------------------------------------------16
CAPITULO III
3. Generalizadas---------------------------------------------------------------------------20
3.1 Tarjeta principal o maestra --------------------------------------------------------22
3.2 Sensores pticos --------------------------------------------------------------------25
3.3 Sensores ultrasnicos --------------------------------------------------------------26
3.4 Brjula y acelermetro --------------------------------------------------------------28
3.5 Etapa de potencia --------------------------------------------------------------------30
3.6 GPS --------------------------------------------------------------------------------------33
3.4 Software---------------------------------------------------------------------------------38
3.5 Comunicacin VOIP -----------------------------------------------------------------40
CAPITULO IV
4.1 Resultados------------------------------------------------------------------------------43
Conclusiones--------------------------------------------------------------------------------45
REFERENCIAS BIBLIOGRAFICAS--------------------------------------------------47
ANEXOS-------------------------------------------------------------------------------------48
Anexo 1: Programacin de la tarjeta principal--------------------------------------50

Anexo 2: Programacin de la tarjeta de potencia--------------------------------------56

NDICE DE GRFICAS, TABLAS Y FIGURAS.


Diagrama de gant. ---------------------------------------------------------------------4
CAPTULO I.
Figura 1.1: sensores ultrasnicos ------------------------------------------------5
Figura 1.2: modo difuso -------------------------------------------------------------6
Figura 1.3: sensores ultrasnicos ------------------------------------------------7
Figura 1.4: forma fsica del sensor Sharp --------------------------------------8
Figura 1.5:concepto de triangulacin --------------------------------------------8
Figura 1.6: puente H creado con relays ----------------------------------------10
Figura 1.7: puente H con transistores -------------------------------------------10
Figura 1.8: Conexin del H48C ---------------------------------------------------11
Figura 1.9: conexin del HM55B --------------------------------------------------12
Figura 1.10: Modulo GPS Receiver A1035-H ----------------------------------15
CAPTULO II
Figura 2.1: vehculos auto-guiados ----------------------------------------------16
Figura 2.2:Esquema general del NAVOT ---------------------------------------17
Figura 2.3: AGV`s diseados por BAMA ----------------------------------------18
Figura 2.4: AGV, Instituto Tecnolgico de Mrida-----------------------------19
CAPITULO III:
Figura 3.1: topologa bsica de hardware del AGV --------------------------20
3.1.2 La fuerza descendente sobre la cua-------------------------------------22
Figura 3.2: Diagrama de flujo del funcionamiento de la P.P.--------------23
Figura 3.3: Esquemtico de la tarjeta principal en Eagle -------------------25
Figura 3.4: PCB de la tarjeta principal en el software Eagle ---------------26

Figura 3.5: Ubicacin de los sensores pticos --------------------------------27


Figura 3.6: Esquema de conexin del sensor srf02 -------------------------28
Figura 3.7: Patrn de radiacin del sensor srf02 -----------------------------28
Figura 3.8: Seccin de registros del sensor SRF02 -------------------------29
Figura 3.9: Comandos de configuracion del sensor SRF02 --------------29
Figura 3.10: Diagrama de flujo de la etapa de potencia--------------------31
Figura 3.11: Puente H con relevadores y MOSFET -------------------------33
Figura 3.12: Esquemtico de la tarjeta de potencia -------------------------34
Figura 3.13: PCB de la etapa de potencia -------------------------------------34
Figura 3.14: Modulo GPS EVA1035-H ------------------------------------------35
Figura 3.15: Antena externa del GPS -------------------------------------------36
Figura 3.16: software GPSCockpit para el modulo GPS -------------------37
Figura 3.17: Comunicacin mediante GPSCockpit --------------------------38
Figura 3.18: DIP- Switchs ----------------------------------------------------------39
Figura 3.19: Configuracion de los Dip-switchs---------------------------------39
Figura 3.20: Algoritmo de procesamiento de datos---------------------------40
Figura 3.21: Interfaz del AGV ------------------------------------------------------41
Figura 3.22: Cuenta del AGV en SKYPE ---------------------------------------42
CAPITULO IV
Figura 4.1: Prototipo en fase de pruebas ---------------------------------------43
Figura 4.2: Visualizacin de los datos de los sensores ---------------------44
Figura 4.3: Bsqueda de la coordenada para el AGV------------------------44
Figura 4.4: Mapa de ubicacin del AGV en Google Heart------------------45

INTRODUCCIN.

En la actualidad, existen varias necesidades que el hombre debe


satisfacerse, pero esas necesidades van aumentando con el desarrollo de la
tecnologa. Ya que se brindan nuevos servicios, nuevas industrias, nuevos
mercados, entre otros, pero, todo orientado para la comodidad y seguridad del
ser humano, que vive con el afn de alcanzar su felicidad de conseguir sus
objetivos de la manera ms cmoda y rpida posible.
Por otra parte, la tecnologa ha ido aumentando de manera exponencial,
de tal manera que se ha logrado obtener conocimientos muy avanzados en la
materia y componentes integrados que son de mucha ayuda para equipos tanto
en fiabilidad como en tamao, mantenimiento y precio. Una vez dicho lo
anterior, es evidente que la electrnica ha sido de mucho impacto a nivel
mundial creando soluciones a los problemas que en su respectivo momento un
humano no poda resolver por su propia cuenta. A partir de la revolucin
industrial hubo un gran desarrollo de maquinarias y fue ese el punto de partido
en el desarrollo masivo de mquinas para la solucin de problemas. En la
actualidad se necesitan maquinas autnomas, las ms precisas posibles para
que puedan hacer tareas que representan mucho peligro para la integridad
humana y que puedan hacer procesos repetitivos de la manera ms eficiente.
En este trabajo se presentara la continuacin del proyecto denominado
AGV (en espaol: Vehculo Automticamente Guiado) y se mostraran de
manera especfica la conformacin del prototipo, etapas electrnicas,
programacin, y la manera en que todas estas se integran.

OBJETIVO GENERAL.
Continuacin del proyecto AGV con el prototipo del ingeniero Lancelot del
Carmen Rosas [1] e Integrar los elementos de hardware y software con que se
cuentan para que permita a un vehculo elctrico guiado automticamente
(AGV), ser capaz de utilizar tecnologa GPS para realizar tareas pre
programadas y diversos sensores para identificar y evadir obstculos dentro del
camino que ste tenga que recorrer para poder llegar a puntos deseados.

OBJETIVO ESPECFICOS.

Implementar algoritmos para la autonoma del AGV para evadir obstculos.

Utilizacin del GPS para que el AGV se dirija a un punto especfico.

Perfeccionamiento de la programacin de la brjula.

HIPTESIS.
Los sistemas de AGVs, de manera simplificada, representan un vehculo que
se mueve de manera automtica, sin conductor. Los sistemas de AGVs estn
concebidos para la realizacin del transporte de materiales, especialmente en
tareas repetitivas y con alta cadencia. Este sistema garantiza el transporte de
materiales en una ruta predeterminada, de manera ininterrumpida y sin la
intervencin directa del hombre.

JUSTIFICACIN.
El proceso que se utiliza en el mundo de la industria para realizar tareas como
el transporte de objetos pesados o la manipulacin y recoleccin de muestras
se realiza de manera manual, es decir con personas operando maquinas
especializadas para dicho proceso, esto conlleva a un alto riesgo a la integridad
del personal, de igual manera el riesgo del manejo de dichos objetos llegando a
ocasionar graves accidentes al personal. Los AGV`s han sido de mucha ayuda
a empresas de carga ya que aumenta la seguridad de los trabajadores y
optimizan el proceso de carga y descarga o la realizacin de tareas repetitivas
de manera ms eficiente que un operador humano.
2

LIMITACIONES Y DELIMITACIONES.
Limitaciones:

La mecnica del AGV no es eficiente y eso causa que se realice ms


trabajo y tenga menos ngulo de giro y por lo tanto consume ms
energa.

Los accesorios para hacer un buen diseo mecnico son muy caros y
as mismo la mano de obra, as que sin tener patrocinadores se tiene
que utilizar los accesorios y manos de obra ms econmicos.

El tiempo es otra limitacin porque se tiene que interpretar y redisear el


prototipo propuesto.
Delimitaciones.

Se limitara en realizar grandes modificaciones a la mecnica del AGV.


Se limitara migrar el software a C#.
IMPACTOS.
Impacto Econmico.
Al implementar el AGV en procesos repetitivos durante grandes intervalos de
tiempo representan un ahorro de tiempo de trabajo que econmicamente son
benficos ya que puede hacer varios trabajos al da. As mismo el ahorro de
energa (gasolina por ejemplo). Esto resumira en grandes ahorros econmicos.
Impacto social.
Puede ser bueno y puede ser malo. Puede ser bueno ya que representa mayor
seguridad para los trabajadores y los trabajos que necesitan exactitud. Puede
ser malo, porque suplantara un puesto de trabajo y por lo tanto sera un factor
ms de desempleo.
Impacto ambiental.
Tiene un impacto ambiental negativo ya que para que un AGV pueda funcionar
necesita de una fuente de alimentacin, por ejemplo, las bateras, cuando el
tiempo de funcionamiento de las bateras termina, las mismas se deben
desechar representando un peligro ambiental grave. En manera general es un
gasto de energa ms si no se tiene un sistema de generacin de la misma.
3

CRONOGRAMA DE ACTIVIDADES.
Comienza el 10 de marzo: Configuracin de la brjula y buen funcionamiento
de la pc.
Comienza el 24 de marzo: Reprogramacin de la etapa de potencia.
Comienza el 2 de abril: Pruebas para calibracin de sensores.
Comienza el 16 de abril: Pruebas para calibracin de GPS.
Comienza el 30 de abril: Pruebas para la integracin de los sensores y el GPS.
Comienza el 15 de Mayo: Modificacin del software para el monitoreo del AGV.
Comienza el 30 de mayo: Pruebas finales.
4 de junio: Terminacin del proyecto.

DIAGRAMA DE GANT.
Actividad

Febrero

Marzo

Abril

Mayo

Junio

Conocimiento de algoritmos, lgica y


estructura del AGV.
Configuracin de la brjula y buen
funcionamiento de la pc.
Reprogramacin

de

la

etapa

de

potencia.
Pruebas para calibracin de sensores.
Pruebas para calibracin de GPS.
Pruebas para la integracin de los
sensores y el GPS.
Modificacin del software para el
monitoreo del AGV.
Pruebas finales.
Finalizacin y entrega.

CAPTULO 1.
1. ANTECEDENTES TEORICOS
Un vehculo guiado automticamente o AGV (Authomatic Guided Vehicle,
siglas en ingls) es un robot capacitado para moverse de forma autnoma en
un entorno determinado, realizando tareas como el transporte de objetos
pesados o la manipulacin y recoleccin de muestras, evitando la colisin con
los dems objetos que lo rodean. Un AGV consiste principalmente en una
plataforma con ruedas con un microprocesador incorporado y una fuente de
alimentacin propia, que es capaz de moverse por si misma, y recibe rdenes
de una unidad de control.
Los AGV pueden realizar diversos tipos de actividades como colocar
objetos en una superficie plana (cama), colocar y quitar objetos de una banda
movible, es posible adaptarle diferentes tipos de pinzas segn la conveniencia
del usuario, etc. en los hospitales resultan bastante tiles pues son ideales para
el transporte de documentacin o medicina. [1]
1.1 Sensores ultrasnicos (SRF02)
Principios de operacin: los sensores ultrasnicos funcionan emitiendo y
recibiendo ondas de sonido de alta frecuencia. La frecuencia generalmente es
de aproximadamente 40 a 200kHz, un valor demasiado alto para ser detectado
por el odo humano (fig 1.1).

Fig. 1.1: sensores Ultrasnicos [1]


Margen de deteccin: El rango de deteccin es la distancia dentro de la
cual el sensor ultrasnico detectara un objeto bajo fluctuaciones de
temperatura y voltaje.
5

Zona ciega: los sensores ultrasnicos tienen una zona ciega inherente
ubicada en la cara de deteccin. El tamao de la zona ciega depende de la
frecuencia del transductor. Los objetos ubicados dentro de la zona ciega no se
pueden detectar de manera confiable.
Modos de operacin: hay dos modos bsicos de operacin, el modo
opuesto y modo difuso (eco). En el modo opuesto, un sensor emite la onda de
sonido y otro, montado en posicin opuesta al emisor, recibe la onda de sonido.
En el modo difuso (Fig 1.2), el mismo sensor emite la onda de sonido y luego
escucha el eco que rebota de un objeto.

Figura 1.2: Modo difuso [1]


El mdulo SRF02 es un transductor ultrasnico medidor de distancia en
una pequea placa de circuito impreso. Tiene la caracterstica de operar en
ambos protocolos, I2C o serial. La interface serial maneja el nivel estndar TTL
a 9600 bauds, 1 inicio, 2 parada, sin paridad, haciendo posible la conexin
directamente por el puerto serie o I2C a cualquier micro controlador. El
dispositivo SRF02 (Fig. 1.3) puede ser conectado en un bus I2C o serial.
Nuevos comandos son incluidos con la caracterstica de enviar una seal falsa
sin ciclo de repeticin que permite auto calibrarse, este dispositivo ya viene
calibrado, cabe recalcar que no hay porque auto calibrarlo, si el usuario lo
desea puede hacer uso de dichos comandos. Esta implementacin ha sido una
caracterstica

requerida

en

nuestro

dispositivo

es

el

primero

en

implementarla.

El transductor SFR02 puede transmitir y recibir para realizar mediciones,


el mnimo rango para obtener la medicin es de 15cm, un rango bastante
pequeo comparado con otros medidores de distancia y como todos los
medidores de rangos este dispositivo puede dar la lectura en uS, cm o
pulgadas. [2]

Fig. 1.3. Sensores ultrasnicos [1]

1.2 Sensores pticos (SHARPS):


El sensor

2Y0A21 (Fig. 1.4) es un sensor medidor de distancias por

infrarrojos que indica mediante una salida analgica la distancia medida. La


tensin de salida vara de forma no lineal cuando se detecta un objeto en una
distancia de 10 y 80 cm. Normalmente se conecta esta salida a la entrada de
un convertidor analgico a digital el cual convierte la distancia en un nmero
que puede ser usado por el microprocesador. La salida tambin puede ser
usada directamente en un circuito analgico. Hay que tener en cuenta que la
salida no es lineal. El sensor utiliza solo una lnea de salida para comunicarse
con el procesador principal.
En las siguientes figuras podemos ver el propio 2Y0A21 y el conector de
tres pines. Mostramos a continuacin el detalle del conector del sensor. [1]

Figura 1.4: forma fsica del sensor SHARP [1].


Su modo de funcionamiento consiste en la emisin de un pulso de luz
infrarroja, que se transmite a travs de su campo de visin que se refleja contra
un objeto. Si no encuentra ningn obstculo, el haz de luz no refleja y en la
lectura que se hace indica que no hay ningn obstculo. En el caso de
encontrar un obstculo el haz de luz infrarroja se reflecta y crea un tringulo
formado por el emisor, el punto de reflexin (el obstculo) y el detector.
La informacin de la distancia se extrae midiendo el Angulo recibido. Si el
ngulo es grande, entonces el objeto est cerca (el tringulo es ancho). Si el
Angulo es pequeo significa que est lejos (el tringulo es largo, y por tanto,
delgado).

Figura 1.5: concepto de triangulacin [1]


8

Observemos ahora como se lleva a cabo la triangulacin (Fig. 1.5) en el


sensor. El LED infrarrojo emite el haz de luz a travs de una pequea lente
convergente que hace que el haz emisor llegue de forma paralela al objeto.
Cuando la luz choca con un objeto, una cierta cantidad de luz se refleja, si el
obstculo fuera un espejo perfecto todos los rayos del haz de luz pasaran y
seria imposible medir la distancia. Sin embrago casi todas las sustancias tienen
un grado bastante grande de rugosidad de la superficie que produce una
dispersin hemisfrica de la luz (reflexin no terica). Algunos de estos haces
de esta luz rebota hacia el sensor que es recibida por la lente.
Le lente receptora tambin es una lente convexa, pero ahora sirve para
un propsito diferente, acta para convertir el Angulo de posicin. Si un objeto
se pone en el plano focal de una lente convexa y los otros rayos de luz
paralelos en otro lado, el rayo que pasa por el centro de la lente atraviesa
inalterado o marca el lugar focal. Los rayos restantes tambin enfocan a este
punto.
En el plano focal hay un sensor detector de posicin (PSD). Este
dispositivo semiconductor entrega una salida cuya intensidad es proporcional a
la posicin respecto al centro (eficaz) de la luz que incide en el. El rendimiento
del PSD en la salida es proporcional a la posicin del punto focal. Esta seal
analgica tratada es la que se obtiene a la salida del sensor. [1]
1.3 Puente H (driver):
Puente H. circuito para controlar motores de corriente continua. El nombre
se refiere a la posicin en que quedan los transistores o RELAYs en el
diagrama del circuito. El trmino puente H proviene de la tpica representacin
grfica del circuito. Esto se construye con cuatro interruptores (mecnicos
figura 1.6, o transistores figura 1.7). Cuando los interruptores S1 y S4 estn
cerrados y S2 y S3 abiertos, se aplica una tensin positiva en el motor,
hacindolo girar en un sentido y viceversa.
El problema de aplicar una corriente directa, radica en que se aplica una
tensin continua, esto genera que la potencia aplicada en el motor se la
mxima, para poder controlar la velocidad del motor, existe una solucin

electrnica que se llama control por regulacin de ancho de pulso (PWM, Pulse
Width Modulated en ingls). [3]

Figura 1.6: puente H creado con Relays [1]

Figura 1.7: puente H creado con transistores y proteccin de diodos [1]

En lugar de aplicar una corriente directa continua, se produce un corte de


la seal en pulsos, a los que se les regula el ancho, permitiendo as, que el flujo
de la corriente sea solo por intervalos de tiempo, obteniendo de esta manera, la
regulacin de la velocidad de un motor DC por medio de una modulacin por
ancho de pulso.

10

1.4 Acelermetro (Hitachi H48C 3-Axis Accelerometer Module):


El Hitachi H48C acelermetro de 3-ejes, es un mdulo integrado que
puede detectar la fuerza de gravedad (g) 3g en tres ejes (X, Y y Z), (Fig. 1.8).
El mdulo tiene integrado un regulador de voltaje para proporcionar
alimentacin de 3,3 voltios al H48C, a la etapa de acondicionamiento de la
seal analgica, y al convertidor analgico a digital MCP3204 (de cuatro
canales, 12-bit) que sirve para leer las salidas de tensin H48C. Todos los
componentes estn montados sobre una placa PCB, de 0,7 por 0,8 pulgadas.
Para adquirir las mediciones del mdulo, se ha simplificado a una interfaz en
serie sncrona SPI [4].
A) Caractersticas:

Medir 3 g en cualquier eje.

Utiliza tecnologa MEMS (Micro Electro-Mechanical System) con


una compensacin para funcionar sin calibracin.

Regulador de voltaje a bordo y ADC de alta resolucin para una


conexin sencilla para albergar un micro controlador compatible
con los comandos SHIFTOUT y SHIFTIN.

Pequeo PCB de: 0.7 "x 0.8" (17,8 mm x 20,3 mm)

Amplio rango de funcionamiento: -25 a 75 C

Figura 1.8: Conexin del H48C [1]

11

1.5 Brjula (Hitachi HM55B Compass Module):

El mdulo de brjula Hitachi HM55B (Fig. 1.9) es un sensor de doble eje


del campo magntico. El dispositivo de deteccin en el mdulo de la brjula es
el chip Hitachi HM55B. Un regulador integrado y un resistor de proteccin,
hacen que el chip de 3 voltios HM55B sea compatible con 5 voltios, compatible
con cualquier micro controlador, operando en sus niveles lgicos de seal. La
adquisicin de las mediciones del mdulo se realizan en el compilador
PICBASIC Stamp 2 con los comandos SHIFTIN y SHIFTOUT, que estn
diseados para una comunicacin serie sncrona (SPI). [1]
A) Caractersticas:

Sensible a variaciones de micro teslas (uT) en la intensidad del


campo magntico.

Simplifica la direccin mediante la resolucin de las mediciones del


campo magntico en dos ejes.

Resolucin de mediciones de 6 bits despus de una calibracin


por software.

Slo requiere de 30 a 40 ms entre la medicin inicial y el


arrojamiento de datos.

A) Aplicaciones:

Robot mvil con sensor de direccin.

Brjula electrnica para Automvil.

Figura 1.9: Conexin del HM55B [1]

12

1.6 GPS A1035-H (Global Positioning System):


El Global Positioning System (GPS) o Sistema de Posicionamiento Global
es un Sistema Global de Navegacin por Satlite que permite determinar en
todo el mundo la posicin de un objeto, una persona, un vehculo o una nave,
con una precisin hasta de centmetros, usando GPS diferencial, aunque lo
habitual son unos pocos metros [5].
Este sistema funciona mediante una red de 27 satlites, de los cuales 24
son operativos y otros 3 son de respaldo en rbita sobre el globo terrqueo, a
una distancia de 20,000 km, con trayectorias sincronizadas para cubrir toda la
superficie de la Tierra. Para determinar una posicin establecida, el receptor
localiza de manera automtica por lo menos 3 satlites de la red, los cuales
envan seales para indicar la posicin y el reloj de cada uno de ellos. Con
base en estas seales, el mdulo sincroniza el reloj del GPS y calcula el tiempo
de retraso de las seales, y con esto, la distancia del GPS al satlite. El
dispositivo se encarga de los procesos de triangulacin para determinar la
posicin de ste. Esta triangulacin consiste en averiguar el ngulo respecto de
puntos conocidos, se basa en determinar la distancia de cada satlite respecto
al punto de medicin.
El principio matemtico de la triangulacin permite establecer el punto
sobre la Tierra sobre el cual estamos situados. Para ello ser necesario
conocer la distancia que nos separa de tres puntos de ubicacin conocida y
trazar tres crculos, cuyos radios (r) se corresponden con esas distancias.
Supongamos que nos encontramos situados en un punto desconocido, cerca
de otro al que llamaremos A, cuyo radio es (r); al doble de esa distancia (2r)
est situado el punto B y al triple de la distancia (3r) el punto C. Si trazamos
sobre un mapa de la zona tres circunferencias, tomando como centro los
puntos A, B y C, como valor de sus radios las distancias a escala reducida que
nos separa del centro de cada crculo, el punto donde se cortan las
circunferencias ser el lugar donde nos encontramos situados. Por supuesto,
esta explicacin slo constituye una demostracin matemtica del principio de
la triangulacin, porque no sera lgico conocer dnde estn situados esos tres
puntos de referencia e incluso la distancia que nos separa de ellos y no
conocer realmente el punto donde nos encontramos situados. Sin embargo, si
13

contramos con un dispositivo capaz de calcular por s mismo la distancia que


nos separa de A, B y C, entonces s sera posible ubicar nuestra posicin. Es
en ese principio en el que se basa, precisamente, el funcionamiento de los
receptores GPS.
Conocidas las distancias, se determina fcilmente la propia posicin
relativa respecto a los tres satlites. Conociendo adems las coordenadas o
posicin de cada uno de ellos por la seal que emiten, se obtiene la posicin
absoluta o las coordenadas reales del punto de medicin. Tambin se consigue
una exactitud extrema en el reloj del GPS, similar a la de los relojes atmicos
que llevan a bordo cada uno de los satlites.
El Sistema Global de Navegacin por Satlite lo componen:
A) Sistema de satlites. Est formado por 24 unidades con trayectorias
sincronizadas para cubrir toda la superficie del globo terrqueo. Ms
concretamente, repartidos en 6 planos orbitales de 4 satlites cada
uno. La energa elctrica que requieren para su funcionamiento la
adquieren a partir de dos paneles compuestos de celdas solares
adosados a sus costados.
B) Estaciones terrestres. Envan informacin de control a los satlites
para controlar las rbitas y realizar el mantenimiento de toda la
constelacin.
C) Terminales receptores: Indican la posicin en la que estn; conocidas
tambin como Unidades GPS, son las que podemos adquirir en las
tiendas especializadas.
D) El Segmento espacial:

Satlites en la constelacin: 24 (4 X 6 rbitas)

E) Altitud: 20.200 km
F) Perodo: 11 h 56 min
G) Inclinacin: 55 grados (respecto al ecuador terrestre).
H) Vida til: 7,5 aos
I) Seal RF [23] Frecuencia portadora:
14

Civil - 1575.42 MHz (L1). Utiliza el Cdigo de Adquisicin


Aproximativa (C/A)

Militar 1227.60 MHz (L2). Utiliza el Cdigo de Precisin (P).

J) Nivel de potencia de la seal: -160 dBW (en superficie tierra)


K) Exactitud

Posicin: aproximadamente 15 m (el 95%)

L) Hora: 1 ns
M) Cobertura: mundial
N) Capacidad de usuarios: ilimitada
O) Sistema de coordenadas:

Sistema Geodsico Mundial 1984 (WGS84)

P) Centrado en la Tierra, fijo.

Figura 1.10: Mdulo GPS Receiver A1035-H [1]

15

CAPITULO II. ANTECEDENTES Y CAUSAS DEL PROBLEMA.


Los AGV pueden realizar diversos tipos de actividades como colocar
objetos en una superficie plana (cama), colocar y quitar objetos de una banda
movible, es posible adaptarle diferentes tipos de pinzas segn la conveniencia
del usuario, etc. En los hospitales resultan bastante tiles, pues son ideales
para el transporte de documentacin o medicinas.
Un AGV tambin es llamado LGV (laser guided vehicle), o SGV (selfguided vehicle), segn la manera en que las instrucciones le sean dadas de las
rutas que queremos que tome.
El primer AGV en el Mercado fue en los 1950s por Barret Electronics of
Northbrook, Illinois, y era una simple camioneta-remolque que segua un cable
en el piso en vez de una riel. Con el transcurso del tiempo la tecnologa se ha
ido sofisticando y hoy los AGV pueden ser guiados por medio de lser, GPS,
cintas magnticas, entre otros.
Una de las grandes ventajas que tienen dichos sistemas es la
intercomunicacin entre estos equipos, el poder intercomunicar los AVGs
permite asegurar que los procesos se estn llevando a cabo a la perfeccin, y
se mejore la calidad de produccin en una empresa ahorrando problemas con
todo lo que implica tener ms personas empleadas realizando el mismo trabajo.
Hoy por hoy, la implementacin de los AGVs en la industria es de vital
importancia, como lo es en la empresa ARTISTERIL [6] en colaboracin con
DS AUTOMOTION, realiz el transporte interior de contenedores para el
proceso productivo del nuevo Audi Q3, implementando un sistema de
transporte

robotizado

mediante

una

flota

de

vehculos

guiados

automticamente tipo AGV.

Figura 2.1: vehculos auto guiados ARTISTERIL [6]


16

Los vehculos auto guiados tambin llamados Robots AGVs

tienen

actualmente gran importancia en el desarrollo tecnolgico lo que ha suscitado


la atencin de muchos estudiantes, hobbistas e investigadores. Estos robots se
han creado con el objetivo de facilitar al ser humano tareas difciles de llevar a
cabo, aquellas que conllevan un riesgo o que son casi imposibles de realizar
por un humano. Son muchos los proyectos desarrollados en este campo y
tambin la profundidad con que se han abordado.
Desde los concursos universitarios hasta los complicados vehculos
espaciales capaces de recorrer y explorar la superficie de otros planetas. Un
robot AGV tiene como objetivo principal poder navegar de manera autnoma
en un ambiente no controlado, esto quiere decir que deber saber su
orientacin, posicin, detectar obstculos y contar con un mecanismo que le
permita desplazarse en el mundo real. Al respecto del diseo existen
numerosos trabajos en los que se describen el diseo y el hardware de control
utilizado para diferentes AGVs, por ejemplo en [7] se describe un entorno
didctico basado en un microbot capaz de realizar tareas sencillas y una
aplicacin que puede controlar sus movimientos de manera remota, de manera
que es posible definir trayectorias complejas y controlar el vehculo en funcin
de la informacin de sus sensores.

Figura 2.2: Esquema general del NAVOT [21]

17

En [8] se describe el diseo y construccin de un AGV diseado para funcionar


como ayudante en un laboratorio, en [8] se desarrolla un vehculo autnomo
que se mueve entre un cultivo de maz siguiendo las lneas de cultivo mediante
una cmara integrada y utilizando algoritmos de visin artificial.
En [9] se describe el diseo de un AGV pensado en cubrir los
requerimientos de flexibilidad y bajo costo, se describe su alimentacin, drivers,
sistema de control basado en un PLC y una laptop, su sistema de
comunicacin, de navegacin y de seguridad. En [10] se muestra el diseo de
un AGV cuyo control se basa en una computadora, su sistema sensorial incluye
nicamente 3 sensores ultrasnicos y su objetivo es exclusivamente didctico,
en [11] se presenta la concepcin de un AGV, como parte de un Sistema
Flexible de Manufactura y propone una metodologa de diseo Mecatrnico
apoyada en herramientas CAD y CAE. Finalmente en [12] se muestran
opciones comerciales de AGVs industriales de uno de varios fabricante que
actualmente ofrecen este servicio,

Figura 2.3: AGVs diseados y fabricados por BAMA [12]

Aunque el diseo electromecnico del vehculo es de gran importancia,


actualmente se est dando un gran nfasis a la solucin algortmica de
controlar un sistema basado en AGVs, por ejemplo en [13] y [14] se muestran
algoritmos aplicados a estaciones portuarias de contenedores, [15] plantea una
solucin al problema empleando un sistema multi agente, [16] y [17] trabajan
con algoritmos para mejorar el funcionamiento de robots AGVs en sistemas

18

flexibles de manufactura, incluso investigadores dentro de nuestro sistema


tecnolgico han presentado propuestas de solucin al problema como en [18].
Existen tambin investigaciones que se enfocan a resolver problemas
especficos, por ejemplo en [19] y [20] tratan sobre problemas que surgen al
integrar un sistema de visin como parte del sistema de guiado del vehculo.
En [1] se describe el diseo un hardware que controle a un robot de
dimensiones intermedias con capacidad de mnimo 3 Kg de carga til, al que se
le puedan programar tareas simples, y en el que se incluyan y prueben en
ambientes

no

controlados

tecnologas

como

el

GPS

(sistema

de

posicionamiento por coordenadas globales), sensores de ultrasonido, sensores


pticos. El sistema electrnico consta de tres partes: control, adquisicin de
datos y locomocin. Las variables de distancia, orientacin y posicin son
adquiridas mediante sensores que estn conectados a un micro controlador
con conectividad USB.

Figura 2.4: AGV, Instituto Tecnolgico de Mrida [1]

19

CAPTULO III.
3. GENERALIDADES.
Como se menciono en el capitulo II el diseo del AGV en [1] consta de
sistemas electrnicos a las cuales se le puedan programar tareas simples con
el fin de controlar el movimiento del robot de manera autnoma, con
tecnologas como el GPS, sensores ultrasnicos y sensores pticos.
En base a este diseo, se procede en el reconocimiento fsico del
prototipo ya avanzado por el ingeniero Lacenlot [1], y posteriormente se
prueban los sensores, motores, hardware y software para poder comprender y
analizar los objetivos ya logrados en el prototipo que se nos entreg y poder
tener un punto de partida para poder mejorar el prototipo y hacerle un sistema
de control ms eficaz utilizando los sensores.
Para comprender mejor la estructura de conexin del AGV se determin
especificar las conexiones de modulo a modulo del hardware. La topologa
bsica de conexin del AGV es la siguiente:

d)

Modulo GPS.

b) Computadora
Tarjeta Principal.
e)
f)
Etapa de
potencia.

a) Bateria de 12V

Sensores

g)

c)

Motores

Figura 3.1:Topologa bsica de hardware del AGV.

20

En la figura 3.1 se muestra la topologa bsica donde, las flechas indican el


sentido de la informacin de entrada o salida y conexiones.
a) Baterias
Las bateras son de 12 volts a 7 Ampers; La batera alimenta la etapa de
potencia para hacer funcionar los motores. Este tipo de bateras de cido
plomo, son buenas, fiables y cuando se usa correctamente, el plomo-cido es
durable y ofrece un servicio confiable.
b) Computadora
La computadora energizara la placa principal y tambin ser utilizada para
comunicar y procesar la informacin del GPS, tarjeta principal y determinar una
posicin. As mismo la computadora servir para comunicar visualmente a la
persona con el entorno del AGV.
c) Motores
Con las pruebas realizadas al AGV, en cuanto al desplazamiento de este en
diversas superficies se encontraron los siguientes inconvenientes en la
estructura de las llantas y los motores del AGV:

Las llantas del AGV resbalan en superficies muy lisas.

La vibracin afecta a la CPU.

Le hace falta tornillos.

Las llantas no estn ajustadas adecuadamente a los ejes del


motor.

Se comenz por darle solucin al primer punto, ya que el AGV trabajara en


superficies lisas. Las llantas del AGV fueron recubiertas con recamara para
bicicleta, y de esa manera, las llantas tendrn mayor agarre en superficies
planas y lisas. En cuanto a la vibracin se observo que los movimientos
bruscos afectan el funcionamiento de la placa principal, y de las posibles
soluciones, como por ejemplo poner amortiguadores a cada base de la llanta o
tratar de disminuir la vibracin en la placa poniendo en su base una base que
absorba la vibracin, se procedi por el segundo. Posteriormente se desmonto
toda la estructura del AGV para poder ver qu tipo de tornillos le haca falta y
complementrselo y por ltimo, se ajustaron las llantas de la siguiente manera:
21

En el eje del motor se le perforo a una profundidad de 1/3 cm, para que se le
haga una especie de cua como se logra apreciar en la figura 3.2:

Figura 3.1.2 La fuerza descendente sobre la cua


producese
una
fuerza horizontal
sobre
el objeto..
De esa manera,
ajustaron
las llantasmucho
con losmayor
ejes de
los motores
para que al
momento de arranque o conmutacin de un lado para el otro de los motores, el
torque no haga que el eje del motor resbale con el cojinete de las llantas.
d) GPS
Como se observa en la imagen 3.1el GPS es un mdulo de la marca vincotech,
a este mdulo se le coloca una antena externa para que pueda captar la
informacin de los satlites. De la informacin existente del GPS se encontr
que se puede hacer una comunicacin del ordenador al modulo GPS sin la
necesidad de tener una tarjeta esclavo para la comunicacin de datos. De esta
forma se excluye la placa esclava de comunicaciones GPS que en el prototipo
del ingeniero Lancelot [1] utiliz. A continuacin se hablar ms a detalle cmo
funciona cada mdulo.

3.1 Tarjeta Principal o Maestra.


La tarjeta maestra, es el dispositivo encargado de enviarle a la unidad
central de procesamiento (en este caso a la computadora porttil) toda la
informacin recaudada por los dispositivos externos, como lo es el
acelermetro, brjula y el envo de rdenes a la tarjeta de potencia. Tambin
para recibir rdenes de la computadora, esos datos son procesados en el
computador para obtener las coordenadas recibidas por el GPS. A continuacin
se muestra un diagrama de flujo que muestra la forma en que opera:

22

Inicio

Configuracin del
microcontrolador

Se enva la orden
STOP al mdulo de
potencia.

Se inicializa el mdulo de
comunicacin HID USB de la tarjeta
principal de control hacia el
ordenador.

Lectura de sensores
pticos.

Envo de datos a la
etapa de potencia.

Lectura de sensores
ultrasnicos.

Recepcin de rdenes del


ordenador.

Lectura de datos de orientacin


de la brjula.

Envi de datos al ordenador


va USB.

Lectura del

Ordenamiento de los datos


obtenidos de los

acelermetro.

dispositivos.

Figura 3.2:Diagrama de flujo del funcionamiento de la placa principal.

23

En el diseo de esta tarjeta, se tuvo en cuenta cubrir desde los principales


protocolos de comunicacin, hasta circuitos reguladores de voltaje que
seleccionan la fuente que energiza la tarjeta. En lo que respecta a las
comunicaciones, por facilidad e integridad de los datos, se opt por usar los
protocolos seriales SPI, I2C y el USB. En lo que respecta al selector que
energiza a dicha tarjeta, esta cuenta con un jumper que, de manera manual se
puede elegir si el ordenador es el que va a abastecer la potencia o si se va a
proveer de la batera seleccionada.
El objetivo principal de esta tarjeta es monitorear y controlar a todos los
dispositivos y/o tarjetas que estn acoplados en este mdulo, realizndolo de la
siguiente manera.
A) Configuracin del microcontrolador:
En esta parte, el micro del mdulo configura sus registros, que va
desde las patas del dispositivo, oscilador, temporizadores, hasta los
protocolos de comunicacin que se van a utilizar que son el SPI, I 2C y
USB. Esta tarea solo es realizada una vez y ocurre cuando se inicia el
sistema en general.
Por condiciones de seguridad, se enva el comando STOP a la tarjeta
esclava de potencia por el protocolo I2C, asegurando que, el AGV no
se mueva a menos que sea requerido por el ordenador.
Por ltimo, se inicializa el perifrico de comunicaciones USB, el modo
a utilizar es el Dispositivo de Interfaz Humana (HID), este protocolo fue
elegido

por

su

gran

compatibilidad

poca

complejidad

de

configuracin y uso.
B) Lectura de mdulos externos:
En esta parte, el micro entra en una rutina ciclada, lo primero que hace
es obtener las mediciones de distancia de los sensores pticos y
ultrasnicos, mencionados anteriormente en el captulo 1, en este
proceso, el micro tiene un retardo bastante considerable, ya que
requiere de unos 100 mili segundos para realizar dicho algoritmo.

24

Lo siguiente es ejecutar los comandos de lectura de datos hacia los


mdulos de la brjula y el acelermetro, para obtener la orientacin
que tiene en ese momento el AGV.
C) Comunicacin con el ordenador:
Una vez obtenidos los parmetros requeridos, en esta seccin, el
micro ordena y arregla los datos y los manda hacia el ordenador por el
protocolo USB, despus de haber realizado dicha tarea, el ordenador
procesa los datos y enva los comandos que operan el AGV. En esta
seccin son recibidas las instrucciones que debe ejecutar la tarjeta
esclava de potencia. A continuacin se presenta el esquemtico de la
tarjeta principal:

Figura 3.3: Esquemtico de la tarjeta principal en el software Eagle [1].


25

Figura 3.4: PCB de la tarjeta principal en el software Eagle [1].

3.2 Sensores pticos.


Los sensores pticos se utilizaron para detectar presencia de objetos a
corta distancia, el objetivo de estos sensores en el programa general, es saber
con exactitud o lo ms exacto posible, a qu distancia se encuentra el
obstculo y a su vez, buscar si no hay ms obstculos en otra direccin. Estos
sensores son los que ms se usan durante el monitoreo, ya que, ellos brindan
al sistema en general una mayor seguridad e integridad en las mediciones de
distancia y deteccin de obstculos cercanos, evitando que este colisione con
alguno de ellos. Los sensores pticos de la marca SHARP son el modelo
GP2Y0A21YK0F, este cuenta con un rango de medicin de 10 a 80 cm, su
salida es tipo analgica, por lo que su lectura es posible gracias al convertidor
analgico digital del micro controlador de la tarjeta maestra.
El proceso es el siguiente, se toman las muestras aproximadamente cada
100 mS por medio del convertidor analgico digital, esos datos son procesador

26

por el micro controlador de gama alta, son ordenados y enviados por el


protocolo USB HID hacia la unidad central de procesamiento.
En total son 4 sensores y el objetivo de este es exclusivamente detectar si
hay algn objeto cuando est en movimiento o de reversa el AGV.Los primeros
tres sensores se utilizan para detectar objetos a cortas distancias, el sensor de
en medio es el que tiene la mayor carga de trabajo, ya que si detecta un objeto,
se auxilia de los sensores laterales para determinar si se evade dicho objeto
girando hacia la derecha o hacia la izquierda.

Figura 3.5: Ubicacin De Los Sensores pticos [1].

3.3 sensores ultrasnicos.


El objetivo de usar los sensores ultrasnicos del tipo difuso, emana de la
necesidad de detectar obstculos a una distancia lejana. Estos sensores tienen
un rango de medicin que va desde los 25 cm hasta los 249 cm.El tipo de
comunicacin usada en los sensores ultrasnicos fue la I 2C, el dispositivo
cuenta con dos modos de operacin, que es tanto el RS232 como el I 2C, dada
la velocidad y latencia del procesamiento de datos, se opt por utilizar la I 2C.

27

Figura 3.6: Esquema de conexin del sensor srf02.

Una de las limitantes en el uso de este tipo de sensores fueron los lbulos del
ngulo de deteccin, ya que en los primeros 50 cm no se tiene ningn
problema, pero al alejarse, se empiezan a tener lecturas de tipo falso positivo,
ya que se requieren objetos bastante grandes para que puedan ser detectados
con certeza. A continuacin se muestran los angulos en la cual opera este
sensor:

Figura 3.7: Patrn de radiacin del sensor SRF02.


En el modo I2C, como se ve en la figura 3.8, se tienen varios registros de
lectura y uno de escritura, como se ve en la figura 3.9. En este caso en
especfico, dados los requerimientos del diseo del software, se requiere que la
lectura sea en Cm como se ve en la figura 3.7 y para realizar la medicin,
primero se escribe un 81 en la localizacin 0 y se realiza una pausa de una
duracin de 65 mS, despus de que pase dicho tiempo se leen las secciones 2
y 3 del sensor SRF02, siendo la 2 la parte ms significativa y la 3 la menos
significativa. El valor devuelto es de una extensin de 16 bits

28

Figura 3.8: Seccin de registros del Sensor SRF02.

Figura3.8:Seccin de registros del Sensor SRF02.

Figura 3.9: Comandos de configuracin del Sensor SRF02


3.4 brjula y acelermetro.
La brjula electrnica utilizada en prototipo AGV, cuenta con un protocolo
de comunicacin SPI. El objetivo de dicho dispositivo es, saber en qu ngulo
se encuentra el AGV con respecto al norte, para as, con la informacin que
brinda el GPS, posicionar con una mayor precisin y orientacin, la ubicacin
del AGV, ya que el GPS nos da las coordenadas, sin embargo, no se puede
saber con solo esa informacin que referencia tiene respecto al norte.
Este problema, fue solucionado con la brjula, en el programa principal, al
establecer las coordenadas a donde se debe ir, con la ayuda de dicho

29

dispositivo se puede orientar hacia las nuevas coordenadas a las que se desea
llegar.
La obtencin de datos de la brjula, se hace con una conversin de datos
en el ordenador, como la operacin es de punto flotante, el resultado obtenido
es de gran exactitud. La operacin es la siguiente:
D) El micro controlador obtiene los datos de la brjula por medio del
protocolo SPI.
E) Los datos se ordenan en el micro controlador y se envan hacia el
ordenador por el protocolo USB.
F) Los datos recibidos se guardan en variables de una extensin LONG
(Punto flotante) en el software del ordenador.
G) Se convierten los datos en radianes para obtener una medicin
correcta.
H) Se aplica la funcin ARCTAN (Y/X).
Una vez obtenida la posicin respecto al norte, se despliegan en el
software los grados y la orientacin a la cual se encuentra el robot, esta puede
ser norte, sur, este u oeste. Este dato es de vital importancia, ya que con eso,
se puede saber la orientacin respecto al norte de las coordenadas que brinda
el GPS con el objetivo de saber en dnde se encuentra el AGV en ese
momento. Al obtener las coordenadas anteriores y la orientacin del robot, es
posible dirigir el AGV haca las nuevas coordenadas.
El acelermetro en esta investigacin, fue utilizado como un inclinmetro,
con el objetivo de que el ordenador obtenga la posicin que tiene el AGV
respecto a los ejes X, Y y Z. Con esta informacin se puede saber si el robot
est subiendo una pendiente, si se encuentra en declive o si el robot est en un
terreno plano. Con este elemento es viable saber, si el AGV se encuentra en
una zona en donde puede voltearse, la referencia a la que se encuentra el
robot con respecto al eje Z, es el dato que determina si el AGV est en un
terreno inestable. Cabe recalcar que esta rutina no fue implementada,
simplemente se muestra la posicin que tiene el AGV en los respectivos ejes.

30

La funcin principal de este mdulo, es medir la aceleracin del AGV,


rutina que requiere de un microprocesador ms poderoso porque requiere
clculos matemticos que, si se implementara en este prototipo, el sistema
operara de una manera inestable debido al tiempo que requieren dichas
operaciones, razn por la cual, no se ha efectuado en esta investigacin, sin
embargo esta medicin se implementar a futuro.

3.5. Etapa de potencia.


Este mdulo es el encargado de controlar los movimientos del robot a
travs de los motores y la potencia asignada a dichos elementos. El protocolo
de comunicacin que utiliza es el I2C, el algoritmo que realiza es el siguiente
(Fig. 3.10):

Figura 3.10. Diagrama de flujo de la programacin de la etapa de potencia.


Para poder realizar los movimientos de transportacin del AGV, fue diseada
una estructura con ocho motores DC. Tanto del lado derecho como del lado
izquierdo se cuenta con 4 motores por lado, que son los que hacen posible el
giro, la regulacin de velocidad, la traccin hacia adelante y hacia atrs, lo cual
gener recurrir a un diseo especial de puente H (Fig. 3.11).
31

Este fue construido con cuatro relevadores, cuatro transistores pequeos,


ocho diodos rectificadores de potencia y dos transistores MOSFET canal N.
Los parmetros del diseo son los siguientes:
I) Diodos (1N4007 y FR303).
Estos semiconductores fueron utilizados para evitar la corriente de
retorno que generan tanto las bobinas de los relevadores como la
corriente que retornan los ocho motores DC. Los diodos utilizados en
la activacin de los relevadores, fueron los 1N4007, la corriente que
soporta esta en el orden de 1 ampere mximo, parmetro que est
dentro de los requerimientos del diseo ya que cada relevador
requiere de 72 mA.
Los diodos utilizados en la parte de potencia, fueron los FR303, estos
soportan corrientes en el orden de 3 ~ 5 amperes, lo cual est dentro
de los requerimientos, ya que el AGV en movimiento, consume segn
las mediciones, 2 amperes continuos y 5 amperes pico en el arranque.
J) Transistores (BC547 y NTP45N06L).
Los transistores BJT (BC547) fueron utilizados para activar los
relevadores, estos soportan hasta una corriente continua de 100 mA,
lo cual est dentro del rango requerido que demanda el relevador.
Los MOSFET canal N (NTP45N06L) fueron utilizados para conmutar
los motores. Se requirieron dos, uno para manipular el puente H
derecho y el segundo manipula el puente H izquierdo. Con este
semiconductor es posible controlar la velocidad del AGV por medio de
una modulacin por ancho de pulso (PWM), con ayuda de los diodos
FR303 (Fig. 3.11).

32

Figura 3.11. Puente H con relevadores y


MOSFET.
El control de movimientos, los realiza el microcontrolador PIC16F873a, este
recive los comandos de la tarjeta maestra por el protocolo I 2C, su direccin
asignada es la 06 Hexadecimal.
El primer comando que recibe de la tarjeta maestra es el control de los
LEDs, el segundo es la activacin de los relevadores y por ltimo recibe el
ancho de pulso que le va a asignar a los transistores de potencia. Los PCBs y
esquemticos son mostrados en las figuras 3.12 y 3.13.

33

Figura 3.12:Esquemtico de la tarjeta de potencia en el programa Eagle.

Figura 3.13: PCB de la etapa de potencia.


34

En el anexo 2 se muestra la programacin del microcontrolador de la


tarjeta de potencia, cuyo software (microcode) utiliza la programacin Basic
para microcontroladores.

3.6. Modulo GPS

El

kit

de

evaluacin

de GPS Maestro del

GPS

EVA1035-H

receptor / mdulo

de

permite una fcil


antena

evaluacin

inteligente A1035-H,

ofreciendo un rpido acceso a los puertos del mdulo.


El EVA1035-H tiene tres propsitos principales:
Como un paquete de demostracin de las caractersticas del mdulo activar el
mdulo receptor GPS a travs del conector USB con suficiente vista hacia el
cielo, resultar en una salida NMEA con informacin de posicin.

El EVA1035-H especialmente puede demostrar que la activacin de la


antena del mdulo GPS y la activacin del GPS a una antena externa
conectados a la entrada antena externa resultara en un excelente rendimiento
del GPS. El usuario puede alternar entre las dos antenas con la seal
de ANT_SW proporcionada por el interruptor DIP.

Figura 3.14: Modulo GPS EVA1035-H


35

Se conect la tarjeta GPS EVA1035-H a la PC mediante un cable USB. Se


instal los drivers del dispositivo

que vienen incluidos en un CD que

proporciona el fabricante necesarios para la comunicacin va usb del mdulo y


la computadora. Luego de la instalacin se aseguro tener la antena del modulo
GPS con una buena vista al cielo. Se conecto la antena externa incluida en el
kit GPS EVA1035-H a travs del conector para antena externa del modulo.

Figura 3.15: Antena externa y antena del mdulo GPS

Al igual se aseguro con esta antena tener una buena recepcin. Al usar la
antena externa incluida se aseguro la activacin de esta mediante el
establecimiento del DIP ANT_SW a la posicin de ON.
Para iniciar el software de Cockpit GPS, que permite visualizar los datos de
salida NMEA procedentes del receptor GPS, Se copio los archivos incluidos en
el CD-ROM. En una carpeta en nuestra PC, en estos archivos se encuentra el
archivo GPSCockpit.exe solamente tenemos que abrir este archivo para iniciar
el software sin requerir de una instalacin.

36

Figura 3.16: software GPS Cockpit para el modulo GPS

GPS cockpit de vincotech es un programa interpretador de cdigos NMEA de


facil uso para operar en un sistema de Windows. Permite un rpido vistazo
a los datos del GPS, Los monitores y los registros de estos datos los
muestra de forma grfica e incluso se ofrece informacin estadstica. Cockpit
GPS entiende las siguientes sentencias NMEA:
RMC - Datos especficos mnimos recomendados GPS.
GGA - Posicionamiento Global de Datos Fijos del Sistema
GSV - Satlites GPS en VTG Vista - Curso sobre tierra y la velocidad
terrestre.
Cockpit GPS funciona mejor con los productos de posicionamiento Vincotech y
tambin se puede utilizar con cualquier otro mdulo GPS que proporcionen
informacin NMEA. Incluso sin una conexin en serie (rs232 o usb) GPS
Cockpit pueden trabajar en los datos capturados como si fuesen un receptor
GPS.

37

Ahora se necesita activar el puerto correcto mediante GPS Cockpit por lo que
en el software se selecciona COM port conections.

Figura 3.17: Comunicacin mediante GPS Cockpit

Se activ la terminal 1 y a continuacin el puerto COM en el cual se conect el


modulo GPS (se verifica en propiedades de sistema- administrador de
dispositivos).
Para ver las salidas de los cdigos NMA en el programa GPS Cockpit se da
click al botn de Windows NMA Terminal aparecer una ventana con los
cdigos NMA las cuales contienen informacin de tiempo, posicin, latitud y
longitud

38

Figura 3.18: Terminal NMA del GPS cockpit con datos NMA

Para la operacin atreves del USB se necesita la configuracin del DIP-switch


del mdulo GPS EVA1035-H, en la siguiente imagen se puede apreciar los
DIP-switch a configurar. El switch s1 BOOTSEL y el switch s6 ANT_SW se
pone en estado de ON, mientras que los switch 2, 3, 4, 5,7 y 8 en estado OFF.
En la imagen 3.19 se puede apreciar las configuraciones de los switches para
modo de operacin usb y operacin terminal block.

Figura 3.19: Configuraciones de los dip- Switches

39

3.7. Software.
En esta seccin, se muestra como son utilizados los datos obtenidos de
todos los mdulos (brjula, acelermetro, GPS y mdulos esclavos) que tiene
integrado el AGV, El algoritmo es el siguiente:

Inicio

Configuracin del modulo USB


(vendor id, product id, etc)

Inicializacin del protocolo USB


HID

Se inicializa el mdulo de
comunicacin HID USB de la
tarjeta principal de control hacia el
ordenador.

Se reciben los datos de la tarjeta


principal.

Se reciben los datos de la tarjeta


GPS

Se muestran los datos en la


pantalla.

Se envan los comandos hacia la


tarjeta maestra

Se Procesan los datos obtenidos

Figura 3.20: algoritmo del procesamiento de datos.

Lo primero que realiza el software de monitoreo y control general del


robot, es inicializar los mdulos de comunicacin, en este caso el protocolo
40

USB HID, configurando la informacin del producto y el fabricante, se define el


nmero de endpoints que se van a utilizar, estos deben ser idnticos a los que
enva la tarjeta maestra
Lo segundo es recibir todos los datos (endpoints) que manda la tarjeta
maestra, son procesados y analizados para realizar las tareas especficas
programadas, mencionadas en las secciones anteriores.
Por ltimo, el ordenador despliega los datos procesados en pantalla,
mostrando las coordenadas, orientacin, distancias y enva una serie de
comandos hacia la tarjeta maestra para que sean ejecutados por dicho mdulo,
adems de servir como interface para poner las coordenadas destino del AGV.

Figura 3.21: Interfaz del AGV.


Como se muestra en la figura 18, hay una opcin, un botn que se llama
consultar donde nosotros buscamos la coordenada destino para le AGV. Al
presionar el botn se abre el software google earth donde podemos navegar y

41

consultar la coordenada. Una vez puesta la coordenada destino el AGV


comienza su trayecto.
3.8 Comunicacin Voip.
En este prototipo se deicidio que el destinatario tenga interaccin con el que
envi el mensaje y tambin si el que envo al AGV a una coordenada no pierda
del trayecto desde su computadora. Aprovechando que el AGV estar
funcionando con una CPU en este caso una lap top se decidi utilizar skype, un
programa para comunicacin voip. As desde un inicio el AGV iniciar su sesin
en su cuenta y mientras avanza a su destino el que envi al AGV puede hacer
una video llamada y ver por donde est pasando el AGV o cuando llegue a su
destino poder platicar con la persona que recibi el paquete.

Figura 3.22: Cuenta del AGV en SKYPE

42

CAPITULO IV
RESULTADOS.
A Continuacin se mostraran los resultados una vez que se ha integrado tanto
el software como hardware al AGV. El prototipo se muestra en la figura 16,
muestra que cuenta con su etapa de potencia, GPS, tarjeta principal y el
ordenador

Figura 4. 1: Prototipo en fase de pruebas


Al ejecutar la interfaz en el programa, se observa que los sensores Sharp, la
brjula, el acelermetro y GPS funcionan correctamente:

43

c)

d)

Figura: 4.2: Visualizacin de los datos proporcionados por los sensores. a) La


brjula apunta al oeste. b) La brjula apunta al este. c) al norte. d) al Sur.

Se puso la coordenada que se busc en Google earth:

Figura 4.3: Bsqueda de la coordenada y enviar la coordenada al AGV.

Como se visualiza en la figura 18 se procede a buscar el destino del AGV, eso


se logr presionando el botn consultar donde nos abre el software google
earth y buscamos la coordenada, luego se escirbe la coordenada en el texto de
la interfaz y por ultimo pulsamos el botn enviar. Una vez enviado los datos el
AGV ira al destino.

44

Figura 4.4: Mapa de ubicacin del AGV en Google heart

CONCLUSIONES.
En la realizacin de este proyecto se busc un control ptimo de la velocidad
del AGV y la de evadir obstculos, pero, al hacer pruebas observamos que
algunos sensores no funcionan ptimamente, algunos motores tienen desviado
el eje e incluso algunas soldaduras con la llanta no funcionan y de esa manera
nos topamos con la variable que no podemos controlar del todo, que es el
gasto econmico. Con muy poco presupuesto se trat compensar los
desperfectos del prototipo tal y como se nos dio.
De lo planteado por el ingeniero [1], se le agrego la comunicacin va skype,
hay que mencionar que el ordenador debe estar conectado siempre a la
internet para que la comunicacin se logre va skype. Tambin se ancl a la
interface el programa google earth, donde el usuario busca la coordenada que
se quiera llevar al AGV, pero aun se falta integrar de manera ptima el google
earth con la interface donde con unos simples clics se anexen las coordenadas
a donde se enviara el AGV. As mismo se planea a un futuro, desarrollar en la
interface la comunicacin con los plug-in de skype, donde podamos controlar el
AGV desde skype. En los anexos a futuro del ingeniero[1], plantea la
incorporacin de un mdulo bluetooth, pero consideramos que en esta fase del
45

prototipo no es necesario, consideramos necesario primero tratar de interactuar


el agv con la internet, una poderosa herramienta, en este caso va skype para
que uno pueda interactuar con el AGV y de esa forma incorporar de alguna
manera a futuro el AGV con la nube como Windows zure, google, entre otros.

46

REFERENCIAS BIBLIOGRAFICAS

[1]

Lancelot del Carmen Rosas AGV (Vehculo Automticamente

guiado), etapa de potencia y actuadores. Proyecto de investigacin, Instituto


Tecnolgico de Mrida, Mrida, Yucatn, Mxico 2011
[2]

http://pishrobot.com/files/products/datasheets/srf02.pdf

Robotic

activities of Hushmand Afzar Co. 25 de septiembre de 2010.


[3]

http://robots-argentina.com.ar/MotorCC_puenteH.htm

Robots

argentina. 30 de octubre de 2010


[4]
http://www.parallax.com/dl/docs/prod/acc/HitachiH48C3AxisAccelerometer.pdf.
Parallax Inc. 25 de Septiembre de 2010.
[5]

www.vincotech.com/gps. Vincotech GmbH. 30 de octubre del 2010.

[6]

http://www.artisteril.com/transporte-robotizado-AGV-industrial.html.

ARTISTERIL Sector Industrial con aplicaciones con AGVs. 28 de agosto del


2010.
[7]

Josep Fernndez Ruzafa, Josep Escoda Herrando, Navot: robot

autnomo educacional, XXII Jornadas de Automtica, Comit Espaol de


Automtica. Barcelona Espaa, 12 al 14 de Septiembre de 2001
[8]

Richard

Gottschalk,

lvaro

Snchez

Miralles,

ngela

Ribeiro,

Desarrollo de un vehculo autnomo de inspeccin de campos de cultivo,


Proyectos Fin de Carrera de la Escuela Tcnico Superior de Ingeniera de la
Universidad Pontificia Comillas, Madrid. Curso 2007 2008, Ingeniera
Industrial (Rama electronica).
[9]

R. G. Rosandich, R. R. Lindeke, and J. Berg, "Developing an Automated

Guided Vehicle for Small to Medium Sized Enterprises," in Progress in Material


Handling Research: 2002, pp. 461-470, R. Meller, M. K. Ogle, B. A. Peters, G.
D. Taylor, and J. Usher, eds. (June 2002)
[10]

lvaro Snchez Miralles, Gonzalo Alonso de Ozalla Borras

Diseo de un vehculo autoguiado controlado mediante un ordenador

47

personal Anales de mecnica y electricidad. Volumen LXXVII. Nmero VI.


Noviembre-Diciembre 2000. Universidad Pontificia Comillas, Madrid. Pp 25-32
[11]

Max Suell Dutra, John Faber Archila, Omar Lengerke, "Diseo

Mecatrnico De Un Robot Tipo Agv, UIS Ingenieras, Volumen 7, No. 1, pgs.


65- 76, Junio 2008; Facultad de Ingenieras Fisicomecnicas, Universidad
Industrial de Santander, Colombia
[12]

www.bama.es. Bama S.L. Electrnica y Mantenimiento. 25 de

Agosto de 2010.
[13]

Yong-Leong Cheng, Hock-Chan Sen, Karthik Natarajan, Chung-

Piaw Teo and Kok-Choon Tan, Dispatching Automated Guided Vehicles in a


Container Terminal, Supply Chain Optimization, Applied Optimization, 2005,
Volume 98, chapter 11, pp. 355-389, DOI: 10.1007/0-387-26281-4_11.
[14]

Ewgenij Gawrilow, Ekkehard Khler, Rolf H. Mhring, Bjrn

Stenzel, Dynamic Routing of Automated Guided Vehicles in Real-time,


Mathematics Key Technology for the Future, SpringerLink, 2008, Part 5, pp.
165-177, DOI: 10.1007/978-3-540-77203-3_12
[15]

Danny

Weyns1,

Kurt

Schelfthout1,

and

Tom

Holvoet1,

Architecture-Centric Development of an AGV Transportation System, MultiAgent Systems and Applications IV, Volume 3690/2005, ISBN 978-3-54029046-9, pp. 640-644.
[16]

D.

Herrero-Perez

and

H.

Martinez-Barbera,

Decentralized

Coordination of Automated Guided Vehicles, Proc. of 7th Int. Conf. on


Autonomous Agents and Multiagent Systems (AAMAS 2008), Padgham,
Parkes, Mller and Parsons (eds.), May, 12-16., 2008, Estoril, Portugal, pp.
1195-1198.
[17]

Rizauddin Ramli, Hidehiko Yamamoto, Abu Bakar Sulong,

Dzuraidah Abdul Wahab and Jaber Abu Qudeiri, Real-time AGV Action
Decision in AD-FMS by Hypothetical Reasoning, European Journal of Scientific
Research, ISSN 1450-216X, Vol.25, No.2 (2009), pp.310-324
[18]

Alejandro Pedrza Reyes, Carlos Snchez Lpez, Hctor

Rodrguez Marmolejo, Control de un Vehculo Guiado Automticamente

48

(AGV), Conciencia Tecnolgica, Nmero 34, Julio Diciembre de 2007,


Instituto Tecnolgico de Aguascalientes, ISSN 1405-5597, pp. 10-15.
[19]

M.Asif, M.R.Arshad, and P.A.Wilson, AGV Guidance System: An

Application of Simple Active Contour for Visual Tracking, Proceedings of World


Academy of Science, Engineering and Technology, Volume 6, June 2005 ISSN
1307-6884, pp. 74-77
[20]

R.V. Bostelman, T.H. Hong, and R. Madhavan, Towards AGV

Safety and Navigation Advancement - Obstacle Detection using a TOF Range


Camera, International Conf. On Advanced Robotics (ICAR) 2005, July 18-20,
2005 Seattle, WA, USA
[21]http://www.ceautomatica.es/old/actividades/jornadas/XXII/documentos
/D_01_D.pdf CEA comit espaol de Automtica. 15 de marzo de 2012.

49

ANEXOS
Anexo 1: Programacion de la tarjeta principal
'*
*
'* ***************************************************************************
INCLUDE "modedefs.bas"
' Definiciones de los modos usados en los comandos
' SHIFTHIN Y SHIFTOUT
DEFINE OSC 48
' Velocidad del CPU a 48 MHZ
DEFINE LOADER_USED 1
' Para el uso de Bootloader
DEFINE RESET_ORG 0x001000 ' Vector de reset para usar el Bootloader
DEFINE INTERRUPT_ORG 0x001018 ' Vector de reset para usar el Bootloader
DEFINE I2C_HOLD 1
' Vector de Interrupcion para usar el Bootloader
DEFINE I2C_SLOW 1
' Velocidad estandar 100 Kbps
DEFINE ADC_BITS 8
' Resolucion del ADC a 8 bits
'*****************************************************************************
'CONSTANTES
RESET
CON %0000
MEDICION
CON %1000
REPORTE
CON %1100
LISTO
CON %1100
MASCARA_NEGATIVA
CON %1111100000000000
CONVERTIDOR
CON 14418
VREF
CON 3
'*****************************************************************************
'VARIABLES
USB
VAR BYTE[30]
CONTADOR_USB
VAR BYTE
ESTADO_BRUJULA
VAR BYTE
EJE_ACELEROMETRO
VAR BYTE
GPS_LATITUD
VAR WORD
GPS_LONGITUD
VAR WORD
VOLTAJE_INFRARROJO
VAR WORD
INFRARROJO_1
VAR byte
INFRARROJO_2
VAR byte
INFRARROJO_3
VAR byte
INFRARROJO_4
VAR byte
INFRARROJO_5
VAR byte
EJE_X_BRUJULA
VAR WORD
EJE_Y_BRUJULA
VAR WORD
ULTRASONICO_1
VAR WORD
ULTRASONICO_2
VAR WORD
ULTRASONICO_3
VAR WORD
ULTRASONICO_4
VAR WORD
ULTRASONICO_5
VAR WORD
EJE_X_ACELEROMETRO
VAR WORD
EJE_Y_ACELEROMETRO
VAR WORD
EJE_Z_ACELEROMETRO
VAR WORD
REFERANCIA_ACELEROMETRO
VAR WORD
VOLTAJE_EJE_ACELEROMETRO
VAR WORD
FUERZA_GRAVEDAD_ACELEROMETRO VAR WORD
'*****************************************************************************
50

' ALIAS
IN_UNO
IN_DOS
SDA
SCL
DIO
CL
CS
DINDOUT
CLK
EN
LED1
LED2
PUSH_BOTON

VAR PORTA.0
VAR PORTA.0
VAR PORTB.0
VAR PORTB.1
VAR PORTB.3
VAR PORTB.4
VAR PORTB.2
VAR PORTB.7
VAR PORTB.5
VAR PORTB.6
VAR PORTC.1
VAR PORTC.2
VAR PORTA.4

'*****************************************************************************
' CONFIGURACION DE ENTRADAS Y SALIDAS
OUTPUT
OUTPUT
OUTPUT
OUTPUT
OUTPUT
OUTPUT
OUTPUT
INPUT
INPUT
INPUT

SCL
CL
CS
CLK
EN
LED1
LED2
IN_UNO
IN_DOS
PUSH_BOTON

'*****************************************************************************
ADCON1 = %00001010
' PUERTO A como entradas analogicas
'ADCON2.7 = 0
' Justificacion hacia la izquierda
'T0CON = %11001000
' TIMER 0 habilitado a 8 bits y sin preescaler
'INTCON = %10100000
' Interrupciones globales y del Timer 0
'****************************AT THE BEGINING**********************************
I2CWRITE SDA,SCL,$06,[%0,%0,0]
while (PUSH_BOTON == 1)
HIGH LED1
high LED2
wend
LOW LED1
low LED2
'*****************************************************************************************************
**
' PROGRAMA DE LA COMUNICACION USB
COMUNICACION_USB:
USBINIT
PROGRAMA_USB:

' Iniciliza el puerto USB para enumerarlo

GOSUB LEER_SENSORES_INFRARROJOS ' Subrutina para obtener las lecturas


GOSUB LEER_SENSORES_ULTRASONICOS
GOSUB LEER_BRUJULA
GOSUB LEER_ACELEROMETRO

51

gosub LEER_GPS
GOSUB CONTROL_DE_MOTORES
GOSUB RECIBIR_DATOS
' Recibe datos por USB desde el Ordenador
IF USB[3]=255 THEN
high led1
else
low led1
endif
USB[1] = INFRARROJO_1
' Vector de valores para ser enviados
USB[2] = INFRARROJO_2
USB[3] = INFRARROJO_3
USB[4] = INFRARROJO_4
USB[6] = ULTRASONICO_1.byte1
USB[7] = ULTRASONICO_1.byte0
USB[8] = ULTRASONICO_2.byte1
USB[9] = ULTRASONICO_2.byte0
USB[10] = ULTRASONICO_3.byte1
USB[11] = ULTRASONICO_3.byte0
USB[12] = ULTRASONICO_4.byte1
USB[13] = ULTRASONICO_4.byte0
USB[14] = ULTRASONICO_5.byte1
USB[15] = ULTRASONICO_5.byte0
USB[16] = EJE_Y_BRUJULA.BYTE1
USB[17] = EJE_Y_BRUJULA.BYTE0
USB[18] = EJE_X_BRUJULA.BYTE1
USB[19] = EJE_X_BRUJULA.BYTE0
USB[20] = EJE_X_ACELEROMETRO.byte1
USB[21] = EJE_X_ACELEROMETRO.byte0
USB[22] = EJE_Y_ACELEROMETRO.byte1
USB[23] = EJE_Y_ACELEROMETRO.byte0
USB[24] = EJE_Z_ACELEROMETRO.byte1
USB[25] = EJE_Z_ACELEROMETRO.byte0
USB[26] = GPS_LATITUD.byte1
USB[27] = GPS_LATITUD.byte0
USB[28] = GPS_LONGITUD.byte1
USB[29] = GPS_LONGITUD.byte0
GOSUB ENVIAR_DATOS
' Envia datos por USB Hacia el Ordenador
GOTO PROGRAMA_USB
'*****************************************************************************************************
***
LEER_SENSORES_INFRARROJOS:
' Subrutina que mide la distancia de los
sensores infrarrojos
' Se lee el voltaje en el AN0 y se guarda en
VOLTAJE_INFRARROJO
'INFRARROJO_1=6787/(VOLTAJE_INFRARROJO-3) ' Se hace una linealizacion para
una medicion mas confiable
ADCIN 0, INFRARROJO_1
' Se lee el voltaje en el AN1 y se guarda en
VOLTAJE_INFRARROJO
ADCIN 1, INFRARROJO_2
ADCIN 2, INFRARROJO_3
ADCIN 3, INFRARROJO_4
RETURN

LEER_SENSORES_ULTRASONICOS:
sensores ultrasonicos

'Subrutina que mide la distancia de los

52

I2CWRITE SDA,SCL,$E2,0,[81] ' Se escribe un 81 en el sector 0 del sensor con


direccion $E2 a traves del bus I2C para solicitar una medicion de la distancia
pause 65
I2CREAD SDA,SCL,$E2,2,[ULTRASONICO_2.Byte1] ' Se lee el resultado de la
distancia medida que se encuentra en el sector 3 del sensor con direccion $E2 a traves del bus
I2C y se guarda en ULTRASONICO_2.BYTE1
I2CREAD SDA,SCL,$E2,3,[ULTRASONICO_2.Byte0] ' Se lee el resultado de la
distancia medida que se encuentra en el sector 3 del sensor con direccion $E2 a traves del bus
I2C y se guarda en ULTRASONICO_2.BYTE0
' I2CWRITE SDA,SCL,$XX,0,[$A0] 'RUTINA PARA CAMBIAR LAS DIRECCIONES DEL
' PAUSE 65
'
SENSOR ULTRASONICO
' I2CWRITE SDA,SCL,$XX,0,[$AA]
' PAUSE 65
' I2CWRITE SDA,SCL,$XX,0,[$A5]
' PAUSE 65
' I2CWRITE SDA,SCL,$XX,0,[$E0]
' end
return
RECIBIR_DATOS:

' Subrutina que recibe datos desde el USB

CONTADOR_USB = 30
' Numero de datos a leer
USBService
' Se verifica si el puerto esta disponible
USBIn 1, USB, CONTADOR_USB, RECIBIR_DATOS
' Leer datos del USB con
endpoint 1 y guardarlos en la variable USB correspondiente
RETURN
' Subrutina que envia datos hacia el USB
ENVIAR_DATOS:
CONTADOR_USB = 30
' Numero de datos a enviar
USBService
' Se verifica si el puerto esta disponible
USBOut 1, USB, CONTADOR_USB, ENVIAR_DATOS ' Escribir datos al USB con
endpoint 1 contenidos en la variable USB correspondiente
RETURN
CONTROL_DE_MOTORES:
if (INFRARROJO_2 >= 200) then
I2CWRITE SDA,SCL,$06,[ 128,%0101,%0101] 'Puerto A,B,C T.Exclava
else
I2CWRITE SDA,SCL,$06,[0,%0101,%0101] 'Puerto A,B,C T.Exclava
ENDIF
return
LEER_ACELEROMETRO:
FOR EJE_ACELEROMETRO = 0 TO 2
LOW CS
SHIFTOUT Dio, Cl, MSBFIRST, [%11\2, VRef\3]
SHIFTIN Dio, Cl, MSBPOST, [REFERANCIA_ACELEROMETRO\13]
HIGH CS
PAUSE 1
LOW CS
SHIFTOUT Dio, Cl, MSBFIRST, [%11\2, EJE_ACELEROMETRO\3]

53

SHIFTIN Dio, Cl, MSBPOST, [VOLTAJE_EJE_ACELEROMETRO\13]


HIGH CS
IF (VOLTAJE_EJE_ACELEROMETRO >= REFERANCIA_ACELEROMETRO) THEN
FUERZA_GRAVEDAD_ACELEROMETRO = (VOLTAJE_EJE_ACELEROMETRO REFERANCIA_ACELEROMETRO) ** CONVERTIDOR
ELSE
FUERZA_GRAVEDAD_ACELEROMETRO = -((REFERANCIA_ACELEROMETRO
- VOLTAJE_EJE_ACELEROMETRO) ** CONVERTIDOR)
ENDIF
IF
EJE_ACELEROMETRO
=
FUERZA_GRAVEDAD_ACELEROMETRO
IF
EJE_ACELEROMETRO
=
FUERZA_GRAVEDAD_ACELEROMETRO
IF
EJE_ACELEROMETRO
=
FUERZA_GRAVEDAD_ACELEROMETRO
NEXT
RETURN

THEN

EJE_X_ACELEROMETRO

THEN

EJE_Y_ACELEROMETRO

THEN

EJE_Z_ACELEROMETRO

LEER_BRUJULA:
HIGH EN:LOW EN
SHIFTOUT DinDout,CLK,MSBFIRST,[Reset\4]
HIGH EN:LOW EN
SHIFTOUT DinDout,CLK,MSBFIRST,[MEDICION\4]
ESTADO_BRUJULA = 0
While LISTO != ESTADO_BRUJULA
HIGH EN:LOW EN
SHIFTOUT DinDout,CLK,MSBFIRST,[REPORTE\4]
SHIFTIN DinDout,CLk,MSBPOST,[ESTADO_BRUJULA\4]
WEND
SHIFTIN DinDout,CLK,MSBPOST,[EJE_X_BRUJULA\11,EJE_Y_BRUJULA\11]
HIGH EN
IF (EJE_X_BRUJULA.10
MASCARA_NEGATIVA
IF (EJE_Y_BRUJULA.10
MASCARA_NEGATIVA
RETURN

1)

THEN

EJE_X_BRUJULA=EJE_X_BRUJULA

1)

THEN

EJE_Y_BRUJULA=EJE_Y_BRUJULA

LEER_GPS:
I2CREAD
SDA,SCL,$05,[gps_latitud.byte1,gps_latitud.byte0,gps_longitud.byte1,gps_longitud.byte0]
return
'*****************************************************************************************************
**
end
'DISABLE
'INTERRUPCION:

' Desabilita las interrupciones del handler


' Subrutina de interrucion del Timer 0

'IF PUSH_BOTON=0 THEN


' Si se presiona el Push Boton pasara del PROGRAMA
ROBOTICO al de COMUNICACION USB

54

'INTCON=$80
' Se desabilitan las interrupciones globales
'LED1=0
' se apaga el led
'GOTO COMUNICACION_USB
'ENDIF
'INTCON.2=0
'RESUME
'ENABLE

' Se apaga la bandera de interrupcion del timer 0


' Se restauran los registros y regresa al PROGRAMA ROBOTICO
' Habilita las interrupciones del handler

55

Anexo 2: Programacin de la tarjeta de potencia.


'****************************************************************
'* Name : UNTITLED.BAS
*
'* Author : [select VIEW...EDITOR OPTIONS]
*
'* Notice : Copyright (c) 2010 [select VIEW...EDITOR OPTIONS] *
'*
: All Rights Reserved
*
'* Date : 06/01/2010
*
'* Version : 1.0
*
'* Notes :
*
'*
:
*
'****************************************************************
DEFINE OSC 4
DEFINE CCP1_REG PORTC 'Hpwm 1 pin port
DEFINE CCP1_BIT 2 'Hpwm 1 pin bit
DEFINE CCP2_REG PORTC 'Hpwm 2 pin port
DEFINE CCP2_BIT 1 'Hpwm 2 pin bit
DEFINE I2C_HOLD 1
DEFINE I2C_SLOW 1
Symbol SSPIF = PIR1.3
Symbol BF
=
Symbol R_W
=
Symbol D_A
=
Symbol CKP
=
Symbol SSPEN =
Symbol SSPOV =
Symbol WCOL =

' SSP (I2C) interrupt flag


SSPSTAT.0
' SSP (I2C) Buffer Full
SSPSTAT.2
' SSP (I2C) Read/Write
SSPSTAT.5
' SSP (I2C) Data/Address
SSPCON.4
' SSP (I2C) SCK Release Control
SSPCON.5
' SSP (I2C) Enable
SSPCON.6
' SSP (I2C) Receive Overflow Indicator
SSPCON.7
' SSP (I2C) Write Collision Detect

Datain var Byte


Readcnt VAR BYTE
Current var byte
Writecnt VAR BYTE
X
var byte
Y
var word
Dataout VAR BYTE[8]
SCL
SDA

VAR
VAR

PORTC.3
PORTC.4

on interrupt goto VaRvEl


x=0
y=0
curRent = 0
ADCON1 = 6
TRISA = 0
TRISB = 0
SSPADD = $06
' Direccin de la tarjeta Exclava
SSPCON2 = 0
SSPCON = $36
PORTA = 0
PORTB = 0
TMR0 = 6
' Valor calculado en el registro TMR0 para 2mS
OPTION_REG = %011
' Configuramos el preescalador a 8
INTCON = %11100000
' Enable global and peripheral interupts
HPWM 1,0,500
' Send a 50% duty cycle PWM signal at 500 Hz
HPWM 2,0,500
' Send a 50% duty cycle PWM signal at 500 Hz
CALL TEST

56

Again:
IF SSPIF = 1 Then
call i2cslave
endif
Goto Again
i2cslave:
SSPIF = 0
IF R_W = 1 Then i2crd
IF BF = 0 Then i2cexit
IF D_A = 1 Then i2cwr
IF SSPBUF != 6 Then i2cexit
readcnt = 0
writecnt = 0
GoTo i2cexit

'(1) LEE
'(1) ESCRIBE

i2cwr:
datain = SSPBUF
writecnt = writecnt + 1
if writecnt = 1 then current = DATAIN 'MOSFET
if writecnt = 2 then PORTB = DATAIN 'DIRECCION DE RELAYS
if writecnt = 3 then PORTA = datain 'LEDS
GoTo i2cexit
i2crd:
IF D_A = 0 Then
readcnt = 0
EndIF
SSPBUF = dataout[readcnt]
CKP = 1
readcnt = readcnt + 1
GoTo i2cexit
i2cexit:
Return
TEST:
pause 1000
PORTB = %1010
PORTA = PORTB
cUrRent = 160
y=0
while (Y != 1000)
wend
current = 0
y=0
while (Y != 10)
wend
PORTB = %0101
PORTA = PORTB
current = 160
y=0
while (Y != 1000)
wend
current = 0
y=0
while (Y != 10)
wend

57

PORTB = %1001
PORTA = PORTB
current = 196
y=0
while (Y != 1000)
wend
current = 0
y=0
while (Y != 10)
wend
PORTB = %0110
PORTA = PORTB
current = 196
y=0
while (Y != 1000)
wend
current = 0
y=0
while (Y != 10)
wend
PORTB = %0000
PORTA = PORTB
return
DISABLE
VARVEL:
intcon.2 = 0
' Apagamos el TOIF
y=y+1
if (current == 0) then
HPWM 1,0,500
' Send a 50% duty cycle PWM signal at 500 Hz
HPWM 2,0,500
' Send a 50% duty cycle PWM signal at 500 Hz
x=0
else
if (current > x) then x = x + 1
if (current < x) then x = x - 1
HPWM 1,x,500 ' Send a 50% duty cycle PWM signal at 500 Hz
HPWM 2,x,500 ' Send a 50% duty cycle PWM signal at 500 Hz
endif
resume
ENABLE

58

También podría gustarte