Está en la página 1de 101

1

MICROCONTROLADORES EN
ROBTICA MVIL





AUTORES: NSTOR FERRER IMAAS
XAVIER PARLAD RIOS
JUAN ANTONIO JOS GIMENO

TITULACIN: INGENIERIA TCNICA EN ELECTRNICA INDUSTRIAL

DIRECTOR: PERE PONSA ASENSIO

DEPARTAMENTO: ESAII

FECHA: 26 de Mayo del 2003

2


MINIPROYECTO



RESUMEN

El miniproyecto esta enIocado al estudio de los Robots moviles y la
integracion de los microcontroladores en estos. Para no generalizar a la
hora de hablar de los microcontroladores y teniendo en cuenta su gran
variedad y diversas caracteristicas nos centramos en una Iamilia
concreta de la casa Microchip, como son los PICS 16F87X.

El proyecto esta dividido en tres partes:

La primera trata sobre la arquitectura de los PICS, es decir sus
caracteristicas generales y las especiales, la capacidad y posibilidad de
comunicacion y sus diIerentes metodos de Iuncionamiento.

En la segunda parte, podemos ver las distintas Iunciones que desempea
el PIC en su aplicacion a la Robotica movil, y los robots encontrados
que lo utilizan.

Y en la tercera, se habla de las partes mecanicas de importancia en el
robot, los distintos motores, sus estructuras, movilidad, construccion y
material necesario.





Palabras clave

Microcontroladores Servomotores Estructura
Robtica Hardware Timers
Mvil Software PWM










3




INDICE

1. OBJETIVOS ..........................................................................................................8
2. INTRODUCCION ................................................................................................9
2.1.Que es un microcontrolador?.......................................................................9

2.2.Caracteristicas de un Microcontrolador........................................................10

2.2.1.Arquitectura.....................................................................................10

2.2.2.Prestaciones.....................................................................................10

2.2.3.Tecnologia.......................................................................................10
2.3.DiIerencias entre Microcontrolador y Microprocesador.................................11
2.4. Criterios de seleccion..........................................................................................12
2.4.1. Requisitos y coste.............................................................................12
2.4.2. Herramientas de desarrollo................................................................12
2.4.3. Otros Iactores...................................................................................12

2.4.4.Tiempo de desarrollo.........................................................................12

3. La Iamilia PIC16F87X .......................................................................................14

3.1. Que es un PIC? Introduccion historica.....................................................14

3.2. Familia microcontrolador PIC....................................................................15
3.3. Caracteristicas generales de la Iamilia PIC16F87X. .................................16

3.4. Vision externa (encapsulado / pines)..........................................................17

3.5. Vision Interna.............................................................................................21

3.6. Sistema de memoria.................................................................................. 22

3.7 Caracteristicas especiales............................................................................ 24

4





3.7.1. ConIiguracion del oscilador....................................................................27
3.7.2. Modo bajo consumo (SLEEP).................................................................29

3.7.3. Reset. ...................................................................................................30

3.7.4. Temporizador Wacthdog (WDT).............................................................32

3.8. Puertos de Entrada/Salida..................................................................................33

3.9. Timers...............................................................................................................39

3.10. Modulos de captura comparacion y PWM ....................................................42

3.11. Interrupciones..................................................................................................46

3.12. Modulo conversor A/D...................................................................................48

3.13. USART...........................................................................................................49

4. APLICACIONES EN LA ROBOTICA MOVIL CON
EL PIC16F87X ..............................................................................................................50
4.1. XPLORER-DETECTOR de minas anti-personales ...........................50
4.1.1. Introduccion .........................................................................................50
4.1.2. Caracteristicas tecnicas Robot.................................................................50
4.1.3. Caracteristicas tecnicas Estacion de control..............................................51
4.1.4. Arquitectura hardware........................................................................51
4.1.5. Elementos motrices del robot Xplorer................................................52
4.1.6. Estructura mecanica............................................................................52
4.1.7. SoItware..............................................................................................53
4.1.7.1. Estrategia robot.......................................................................53

4.1.7.2. Estrategia Estacion de control..................................................53

5
4.1.7.3. Comunicacion Estacion de control Robot..........................................53
4.1.8. Alimentacion y consumo....................................................................54
4.1.9. Conclusiones.......................................................................................54

4.2. SCRATCHI..................................................................................................55
4.2.1. Introduccion.......................................................................................55
4.2.2. PlataIorma mecanica usada................................................................55
4.2.3. Arquitectura hardware........................................................................55

4.2.3.1. Sensores de ultrasonidos.........................................................55
4.2.3.2. Fuente de alimentacion...........................................................55

4.2.3.3. Control del hexapodo...............................................................56

4.2.4. SoItware y estrategias de control........................................................56
4.2.5. Caracteristicas Iisicas y electricas mas relevantes..............................57
4.2.6. Conclusiones.......................................................................................57
4.3. Robot Explorador Araa............................................................................58
4.3.1. Introduccion........................................................................................58
4.3.2. PlataIorma mecanica usada................................................................58
4.3.3. SoItware..............................................................................................58
4.3.4. Caracteristicas Iisicas y electricas......................................................58

4.3.5. Conclusion..........................................................................................59

4.4. PLATAFORMA ROBOTICA SUBACUATICA
CONTROLADA POR UN ALGORITMO GENETICO.........................60

4.4.1. Introduccion........................................................................................60

4.4.2. Sistema estructural..............................................................................60

4.4.3. Sistema mecanico...............................................................................61

4.4.4. Sistema electronico.............................................................................61

4.4.5. SoItware..............................................................................................62

4.4.6. Conclusiones.......................................................................................62

6



4.5. Robot Pionero 1B.................................................................................64
4.5.1. Introduccion........................................................................................64
4.5.2. Sistema mecanico...............................................................................64
4.5.3. Hardware............................................................................................65
4.5.4. SoItware...........................................................................................65
4.5.5. Sistema motriz y alimentacion............................................................66
4.5.6. Caracteristicas tecnicas.......................................................................66
4.5.7. Conclusion..........................................................................................67
4.6. Pualada amarilla........................................................................................68
4.6.1. Introduccion........................................................................................68
4.6.2. PlataIorma mecanica usada................................................................68
4.6.3. Hardware............................................................................................69
4.6.3.1. Control de motores Mediante el L293.......................................69
4.6.3.2. PIC 16F876.............................................................................69
4.6.4. SoItware y estrategias de control........................................................70
4.6.5. Caracteristicas Iisicas y electricas......................................................70
4.6.6. Conclusiones.......................................................................................70
4.7. GOS7 .............................................................................................................71
4.7.1. Introduccion........................................................................................71
4.7.1.1. Leyes Isaac Asimov ................................................................71
4.7.2. PlataIorma mecanica ..........................................................................71
4.7.3. Hardware del Robot GOS7.................................................................73
4.7.3.1. Sensores incorporados en el GOS7...........................................73
4.7.3.2. Actuadores..............................................................................73
4.7.4. SoItware..............................................................................................73

7
4.7.5. Caracteristicas tecnicas.......................................................................74
4.7.6. Conclusiones.......................................................................................74
4.8. MICRO ROBOT "Voyager"...............................................................75
4.8.1. Introduccion.........................................................................................75
4.8.2. Estructura mecanica............................................................................75
4.8.3. Hardware......................................................................................75
4.8.4. SoItware..........................................................................................76
4.8.5. Conclusion..........................................................................................76

4.9. Robot SUMO MAMPO.........................................................................77
4.9.1. Introduccion........................................................................................77
4.9.2. PlataIorma mecanica...........................................................................77
4.9.3. Hardware............................................................................................78
4.9.4. SoItware.............................................................................................78
4.9.5. Caracteristicas Iisicas y electricas......................................................78
5. Estructura de un robot
mvil...................................................................................................................................79

5.1. Evolucion del proceso de diseo y construccion..............................................79
5.2. Nivel Fisico......................................................................................................80

5.2.1. Motores y servomotores.......................................................................80

5.2.2. Estructura............................................................................................85

5.2.3. Movilidad de la estructura.....................................................................88

5.2.4. Proceso de construccion.........................................................................89

5.2.5. Relacion de material para la construccion de un determinado robot
movil.............................................................................................................92
6. Conclusiones...............................................................................................................97

BIBLIOGRAFIA..................................................................................................................98

SitiosWeb.............................................................................................................................99

8
1. Objetivos
Los objetivos de este miniproyecto consisten en poder ver la integracion del microcontrolador en la
robotica movil, haciendo una introduccion al microcontrolador y tras ella una descripcion concreta
de una Iamilia de microcontroladores de la casa Microchip como son la Iamilia PIC 16F87X. En
estas caracteristicas se nombran las caracteristicas generales y las cualidades especiales de estos pics.
En una segunda parte se quieren dar ejemplos concretos de robots moviles a los cuales en su
Iabricacion se alla implementado alguno de los dispositivos que Iorman esta Iamilia de
microcontroladores, explicando la Iuncion que realizan y las cualidades y especiIicaciones de los
diversos ejemplos que se citan. Por ultimo se quiere dar una vision general sobre la Iabricacion de
robots moviles, para ello se quiere citar diversos tipos de actuadores que puedan conseguir la
capacidad de movimiento de la estructura que Iorma el robot, tambien se quiere mostrar como se
puede Iabricar una estructura y los pasos a seguir y por ultimo se quiere dar a conocer el material
necesario para la Iabricacion de un determinada robot.
Como objetivo del grupo se ha buscado siempre el dar a conocer de Iorma generica las principales
caracteristicas de la robotica movil, para poder dar a conocer la importancia que va recibiendo cada
vez mas este campo de la robotica. Los que hemos realizado este proyecto hemos considerado que
como objetivo tambien ha sido la recerca de inIormacion ya que este tipo de inIormacion en muchas
ocasiones esta escondida o ocultada a causa del gran secretismo que conlleva los temas relacionados
con este campo de investigacion.



















9
2. INTRODUCCIN

2.1. Que es un microcontrolador?

Los microcontroladores son una evolucion de los primeros micros que aparecieron alla por el ao 1976. En
aquella epoca los microprocesadores no se podian utilizar en condiciones extremas (polvo, calor,
humedad,...) por lo que se decidio a integrar todo este potencial en chips mas pequeos. Fueron creados por
INTEL creo que en 1982, y han sido reintroducidos por Philips en el ambito de los electrodomesticos,
aunque SIEMENS , ATMEL, y otros han seguido sus pasos.
Actualmente podriamos decir que un microcontrolador es un sistema integrado totalmente en una sola
pastilla. Tenemos que entender que estos microprocesadores no alcanzan el nivel de procesamiento de por
ejemplo, un 8086, aunque poseen la ventaja de poder trabajar sin memoria externa. Veamos algunas de sus
principales caracteristicas

Capacidad de proceso 8 bits, aunque actualmente han aparecido microcontroladores de 16 e incluso
32 bits. Ver tabla de Iabricantes caracteristicas.
Circuito de reloj incorporado.
RAM interna de 128 bits como minimo.
ROM interna de 4KB minimos.
Frecuencias de reloj de hasta 30 Mhz.*
Multiples puertos de entrada/salida programables, incluso dependiendo de versiones poseen de
conversores digitales / analogicos.*
Bajo consumo (versiones en CHMOS).
Son muy inmutables al ruido electrico.
Su set de instrucciones posee gran potencial en cuanto al calculo de tablas, y adquisicion de datos.
Instrucciones de operacion especiIicas Bit a Bit.
Espacios de memoria de trabajo separados. Podemos separar la ROM interna RAM externa y usar
solo RAM externa.
Encriptacion de programas en la memoria ROM.
Posee un sistema que vigila el Iuncionamiento optimo de la CPU ("Perro Guardian " Watch Dog).
Posibilidad de comunicacion serie con otros sistemas, admite FULL-DUPLEX, RS232, RS432, etc.,
Posibilidad de salida en algunos de sus puertos de pulso PWM. *
2 o 3 temporizadores de 16 bits.
5 o 6 Interrupciones programables con niveles de prioridad.

Nota *: Cada vez que aparece, indica que la caracteristica no esta disponible en todos los
microcontroladores, dependera de la version del micro y de las caracteristicas que posea el Iabricante.






10
2.2. Caractersticas de un Microcontrolador

2.2.1. Arquitectura

Propsito general: Aplicables en muchos casos. Generalmente con bajas prestaciones
DSP (Digital Signal Processor): Especialmente optimizados para aplicaciones de tratamiento de seal
ASIP (Application Specific Integrated Processor): Diseado y optimizado para una aplicacion concreta
Otros: Cada dia, las Ironteras entre unos y otros tipos estan menos deIinidas

Ej: Qu es un Pentium? Se utiliza en muchas aplicaciones (proposito general?), aunque con
instrucciones especiIicas y orientacion a multimedia (ASIP?), y muy optimizado para dar altas prestaciones
en graIicos (DSP?).

2.2.2. Prestaciones

Gama baja: 4, 8 y 16 bits. Dedicados Iundamentalmente a tareas de control (electrodomesticos, cabinas
teleIonicas, smart cards, algunos periIericos de ordenadores, etc.).
Gama media: 16 y 32 bits. Tareas de control con cierto grado de procesamiento (control en automovil,
teleIonos moviles, PDA, etc.).
Gama alta: 32, 64, 128 bits. Fundamentalmente procesamiento (ordenadores, videoconsolas, etc.)

2.2.3. Tecnologa

Alimentacin: 5V, 3.3V, 2.5V, 1.V
Consumo: desde W a decenas de W
Frecuencia: desde KHz a GHz





11
2.3. Diferencias entre Microcontrolador y Microprocesador

-Microprocesador (P): circuito de computacion integrado en un chip.






-Microcontrolador (C): Dispositivo integrado que incluye un microprocesador, memoria y dispositivos
periIericos (dispositivos de ENTRADA/SALIDA, convertidores A/D, puerto
de comunicacion, etc.).











12
2.4. Criterios de seleccin
2.4.1. Requisitos y coste

-Prestaciones: Cumple especiIicaciones? Analisis del rendimiento medio o del peor
caso (en esto inIluye tanto el hardware como el soItware).
Ej: Control de inyeccion de un vehiculo versus servidor web.

- Tecnologa: alimentacion, consumo.

- Coste: (desde 150 pts a 50.000 pts o mas)

- Fiabilidad: Fundamental en aplicaciones de soporte vital
Ejs: El primer Airbus llevaba Z80 (8 bits, ~1970). El primer Pentium III era deIectuoso.

2.4.2. Herramientas de desarrollo
- Precio, complejidad, prestaciones
2.4.3. Otros factores

- Experiencia y soporte: (ReIerencias en paginas Web: Pentium -~ 3.500.000,
Sparc -~ 2.500.000, 8051 -~ 130.000, 68HC11 -~ 100.000, Z80 -~ 95.000)

- Compatibilidad: 8086 -~ 80186 -~ 80386 -~ 80486 -~ Pentium
6802 -~ 6809 -~ 6811 -~ 6812

- Disponibilidad y segundas fuentes: La evolucion tecnologica y el mercado hacen obsoletos los productos
de Iorma muy rapida. Siempre conviene tener una segunda Iuente
que garantice el suministro.


2.4.4. Tiempo de desarrollo

- Repercusin del tiempo de desarrollo sobre los beneficios: Pequeos retrasos en el tiempo de puesta en
el mercado pueden producir grandes perdidas.







13


- Vida media de un producto: La vida media de los productos tecnologicos es cada vez mas corta (hoy en
dia, en torno a 2 aos).

- Obsolescencia de la tecnologa: La rapida evolucion de la tecnologia hace que los tiempos de desarrollo
deban ser cortos para mantener competitividad.
Ej: Hacemos un diseo de una agenda electronica, que hoy es competitivo (con
un ARM, a 100MHz, y un consumo de 10mW/MHz), pero tardamos dos
aos. Cuando salga al mercado puede no ser competitivo (podria haber
ARMs a 300 Mhz y 5mW/MHz).











































14
3. La familia PIC16F87X

3.1. Qu es un PIC? Introduccin histrica.

Qu es un PIC?
Un PIC es un microcontrolador basado en memoria EPROM/FLASH desarrollado por Microchip
Technology.
Introduccin histrica
En 1965 GI Iormo una division de microelectronica, destinada a generar las primeras arquitecturas viables de
memoria EPROM y EEPROM. De Iorma complementaria GI Microelectronics Division Iue tambien
responsable de desarrollar una amplia variedad de Iunciones digitales y analogicas en las Iamilias AY3-xxxx
y AY5-xxxx.
GI tambien creo un microprocesador de 16 bit, denominado CP1600, a principios de los 70. Este Iue un
microprocesador razonable, pero no particularmente bueno manejando puertos de E/S. Para algunas
aplicaciones muy especiIicas GI diseo un Controlador de InterIace PeriIerico (PIC) entorno a 1975. Fue
diseado para ser muy rapido, ademas de ser un controlador de E/S para una maquina de 16 bits pero sin
necesitar una gran cantidad de Iuncionalidades, por lo que su lista de instrucciones Iue pequeo.
No es de extraar que la estructura diseada en 1975 es, sustancialmente, la arquitectura del actual
PIC16C5x. Ademas, la version de 1975 Iue Iabricada con tecnologia NMOS y solo estaba disponible en
versiones de ROM de mascara, pero seguia siendo un buen pequeo microcontrolador. El mercado, no
obstante, no penso asi y el PIC quedo reducido a ser empleado por grandes Iabricantes unicamente.
Durante los 80, GI renovo su apariencia y se reestructuro, centrando su trabajo en sus principales actividades,
semiconductores de potencia esencialmente, lo cual siguen haciendo actualmente con bastante exito. GI
Microelectronics Division cambio a GI Microelectronics Inc (una especie de subsidiaria), la cual Iue
Iinalmente vendida en 1985 a Venture Capital Investors, incluyendo la Iabrica en Chandler, Arizona. La
gente de Ventura realizo una proIunda revision de los productos en la compaia, desechando la mayoria de
los componentes AY3, AY5 y otra serie de cosas, dejando solo el negocio de los PIC y de las memorias
EEPROM y EPROM. Se tomo la decision de comenzar una nueva compaia, denominada Arizona
Microchip Technology, tomando como elemento diIerenciador sus controladores integrados.
Como parte de esta estrategia, la Iamilia NMOS PIC165x Iue rediseada para emplear algo que la misma
compaia Iabricaba bastante bien, memoria EPROM. De esta Iorma nacion el concepto de basarse en
tecnologia CMOS, OTP y memoria de programacion EPROM, naciendo la Iamilia PIC16C5x.
Actualmente Microchip ha realizado un gran numero de mejoras a la arquitectura original, adaptandola a las
actuales tecnologias y al bajo costo de los semiconductores.






15
3.2. Familia microcontrolador PIC.

PIC12CXXX: 8-pin 12-bit/14-bit program word
PICmicro RISC architecture en 8-pin DIP y SOIC hasta 4Mhz. 12-bit o 14-bit de instruccion, 1024
palabras de programa. Bajo voltaje de operacion: 2.5V. Manejo de interrupciones y pila por
hardware. 33 Instrucciones. 128 bytes EEPROM y 64 bytes RAM.

PIC16C5X Family: 12-bit program word
PICmicro RISC architecture en 14-, 18-, 20- y 28-pin SOIC y SSOP. 12- bit de instruccion hasta
20Mhz y hasta 2k programa Bajo voltaje de operacion: 2.0V para los OTP
Hasta 128 bytes de RAM.

PIC16CXXX Family: 14-bit program word
PICmicro RISC architecture con encapsulados de 18- y 68-pin. 14- bit de instruccion
hasta 20Mhz, hasta 8k programa. Manejo de interrupciones y 8-niveles de pila. 35
Instrucciones. Conversor: Analogico -a-Digital a 12-bits. Hasta 368 bytes de RAM y 256
bytes de EEPROM.

PIC17CXXX Family: 16-bit program word
PICmicro MCU`s RISC con arquitectura extendida. 16-bit instruction word hasta 33Mhz y
16384 palabras de programa. Conjunto de instrucciones ampliado a 58 instrucciones. Pila
de 16 niveles. Interrupciones vectorizadas. Hasta 902 bytes de RAM y 256 bytes de
EEPROM.

PIC18CXXX Family: 16-bit program word
Arquitectura RISC avanzada Harvard: 16-bit con 8-bit de datos. 77 instrucciones y hasta
64K bytes de programa y 40Mhz, hasta 2 Mbytes en ROMless. Pila de 32 niveles. Multiples
Iuentes de interrupcion Hasta 1536 bytes de RAM y 1024 bytes de EEPROM




























16
3.3. Caractersticas generales de la familia PIC16F87X.

Dispositivos: PIC16F873, PIC16F874, PIC16F876 y PIC16F877

Caracteristicas basicas:

Caractersticas 16F873 16F874 16F876 16F877
Frecuencia Maxima DC-20Mhz DX-20Mhz DX-20Mhz DX-20Mhz
Memoria de programa FLASH
Palabra de 14 bits
4KB 4KB 8KB 8KB
Posiciones RAM de datos 192 192 368 368
Posiciones EEPROM de datos 128 128 256 256
Puertos E/S A, B y C A, B, C y D A, B y C A, B, C y D
N de Pines 28 40 28 40
Interrupciones 13 14 13 14
Timers 3 3 3 3
Modulos CCP 2 2 2 2
Comunicaciones Serie MSSP, USART MSSP,USART MSSP,USART MSSP, USART
Comunicacion Paralelo - PSP - PSP
Lineas de entrada en
Convertidor A/D de 10 bits
5 8 5 8
Juego de Instrucciones 35 instrucciones 35 instrucciones 35 instrucciones 35 instrucciones
Longitud de la instruccion 14 bits 14 bits 14 bits 14 bits
Resets (y retrasos) POR, BOR
(PWRT, OST)
POR, BOR
(PWRT, OST)
POR, BOR
(PWRT, OST)
POR, BOR
(PWRT, OST)








17
3.4. Visin externa (encapsulado / pines).





18












19
Pines del 16F873/76.


PIN

DIP
PIN#
SOIC
PIN#
I/O/P
Tipo
BuIIer
Tipo

Descripcion
OSC1/CLKIN 9 9 I ST/
CMOS
Entrada del oscilador-cristal / Entrada seal de reloj
externa.
OSC2/CLKOUT 10 10 O ----- Salida del cristal del oscilador en modo oscilador.
En modo RC, el pin OSC2 Iunciona como CLKOUT, y la
salida es una seal de Irecuencia / de la seal OSC1, y
coincide con la velocidad de ejecucion de instrucciones

MCLR/VPP
1 1 I/P ST Pin de reset (Master Clear Reset) activo a nivel bajo.
Pin de entrada del voltaje para la programacion.
Puerto APuerto bidireccional de I/O
RA0/AN0 2 2 I/O TTL Entrada analogica 0.
RA1/AN1 3 3 I/O TTL Entrada analogica 1.
RA2/AN2/VreI- 4 4 I/O TTL Entrada analogica 2/Voltaje de reIerencia negativo.
RA3/AN3/VreI 5 5 I/O TTL Entrada analogica 3/Voltaje de reIerencia positivo.
RA4/TOCKI 6 6 I/O ST Salida en colector abierto / Entrada de reloj para el
Timer0

RA5/SS/AN4
7 7 I/O TTL Entrada analogica 4/Seleccion del esclavo para el puerto
serie sincrono.
Puerto BPuerto bidireccional de I/O
RB0/INT 21 21 I/O TTL/
ST
Pin de interrupcion externa
RB1 22 22 I/O TTL
RB2 23 23 I/O TTL
RB3/PGM 24 24 I/O TTL Entrada con voltaje bajo de programacion
RB4 25 25 I/O TTL Pin de interrupcion por cambio de nivel de tension
RB5 26 26 I/O TTL Pin de interrupcion por cambio de nivel de tension
RB6/PGC 27 27 I/O TTL/
ST
Pin de interrupcion por cambio de nivel de tension/ Seal
de reloj del circuito de testeo
RB7/PGD 28 28 I/O TTL/
ST
Pin de interrupcion por cambio de nivel de tension/ Seal
de datos del circuito de testeo
Puerto CPuerto bidireccional de I/O
RC0/T1OSO/
T1CKI
11 11 I/O ST Salida del oscilador del Timer1/ Entrada de reloj del
Timer1
RC1/T1OSCI/
CCP2
12 12 I/O ST Entrada del oscilador del Timer1/ Entrada Capture2/
Salida Compare2/ Salida PWM2
RC2/CCP1 13 13 I/O ST Entrada Capture1/ Salida Compare1/ Salida PWM1
RC3/SCK/SCL 14 14 I/O ST Seal de reloj de la entrada sincrona serie/ Salida para
SPI e IC.
RC4/SDI/SDA 15 15 I/O ST Entrada de datos para SPI y entrada-salida de datos para
IC.

20
RC5/SDO 16 16 I/O ST Salida de datos para SPI
RC6/TX/CK 17 17 I/O ST Salida de transmision asincrona de la USART/ Seal de
reloj sincrona
RC7/RX/DT 18 18 I/O ST Entrada de recepcion asincrona de la USART/ Seal de
datos sincrona.
Vss 8,19 8,19 P --- Tierra
Vdd 20 20 P --- Alimentacion

IEntrada OSalida I/O Entrada/Salida PPotencia
----- No usado TTLEntrada TTL STEntrada con trigger de Schmitt
Entrada con trigger de Schmitt cuando Iunciona como interrupcion externa, en modo de
Programacion Serie o en modo oscilador RC y entrada CMOS en cualquier otro caso.





















21
3.5. Visin Interna.

PIC16F873/876






















PIC16F874/877





























22
3.6. Sistema de memoria.

Tienen arquitectura Harvard, separa la memoria de datos y la memoria de programa,
y se accede a ellas mediante buses distintos.
Al acceder mediante buses distintos el ancho de palabra de la memoria de datos y
por tanto del bus de datos, puede ser distinto del ancho de palabra y el bus de
memoria de programa.

En los PIC16F87X:

1. Ancho del bus v la memoria de datos 8bits.
2. Ancho del bus v la memora de programa 14bits.

Las instrucciones presentan un Iormato que ocupa una unica palabra de la memoria
de programa. Cada posicion de memoria de programa contiene una unica instruccion.












Mapa de memoria. Programa.



























23
Mapa de memoria para Datos en 16F877/876

























Mapa de memoria para Datos en 16F874/873


























24
3.7 Caractersticas especiales

Todos los PIC16F87X tienen una serie de elementos integrados, pensados para minimizar
el coste de un diseo al eliminar componentes externos discretos.
Estos elementos permiten ademas ahorrar energia y proteger el codigo Irente a copia.

Los elementos que integra son:

1. Oscilador con seleccion entre cuatro tipos distintos.

2. Diversos tipos de RESET, entre ellos:
1. Por conexion de la alimentacion. (Power on reset, POR).
2. Por caida de tension. (Brown-out reset, BOR), con:
Power-up timer (PWRT).
Oscillator start-up timer (OST).
3. Varios niveles de interrupcion.
4. Temporizador Watchdog WDT).
5. Instruccion SLEEP, modo de bajo consumo.
6. Proteccion de codigo.
7. Posiciones de identiIicacion ID (2000h-2003h).
8. Circuiteria de programacion serie.
9. Circuiteria de programacion serie, de bajo voltaje.
10.Modo depurador en Circuito, para utilizar junto con el MPLAB-ICD.

Todas estas caracteristicas se habilitan en la palabra de conIiguracion, que se
escribe al programar el dispositivo y no es accesible desde el programa. La direccion
que ocupa es la 2007h.


Registro: Palabra de conIiguracion (ADDRESS 2007H)




bit 13-12, CP1:CP0:FLASH Bits de proteccion del codigo de la memoria de programa

bit 11, DEBUG: Modo depurador en circuito
1 Modo debugger en circuito deshabilitado, RB6 y RB7 se usan como I/O
pins
0 Modo debugger en circuito habilitado, RB6 y RB7 estan dedicados al
debugger

bit 10, No implementado se lee como 1

bit 9, WRT: FLASH Habilitacion de escritura en memoria de programa
1 La memoria de programa no protegida se puede escribir con el control de
EECON
0 La memoria de programa no protegida no se puede escribir con el control de
EECON

bit 8, CPD: Codigo de proteccion de la memoria EEPROM de datos
1 Proteccion deshabilitada.
0 Proteccion habilitada.




25
bit 7, LVP: Habilitacion de la programacion serie con bajo voltaje
1 RB3/PGM pin tiene la Iuncion PGM Iunction, habilita la programacion.
0 RB3 es digital I/O, HV en MCLR debe ser usado para la programacion.
bit 6, BODEN: Bit de habilitacion del Brown-out Reset
1 BOR habilitado
0 BOR deshabilitado

bit 5-4, 11 Proteccion deshabilitada
10 1F00h a 1FFFh codigo protegido (PIC16F877, 876)
10 0F00h a 0FFFh codigo protegido (PIC16F874, 873)
01 1000h a 1FFFh codigo protegido (PIC16F877, 876)
01 0800h a 0FFFh codigo protegido (PIC16F874, 873)
00 0000h a 1FFFh codigo protegido (PIC16F877, 876)
00 0000h a 0FFFh codigo protegido (PIC16F874, 873)

bit 3, PWRTE: Bit de habilitacion del Power-up Timer
1 PWRT habilitado
0 PWRT deshabilitado

bit 2, WDTE: Bit de habilitacion del Watchdog
1 WDT habilitado
0 WDT deshabilitado

bit 1-0, FOSC1:FOSC0: Bits de seleccion del oscilador
11 RC oscilador
10 HS oscilador
01 XT oscilador
00 LP oscilador

El valor del dispositivo borrado (no programada) de la palabra de conIiguracion es 3FFFh.
Todas las parejas CP1:CP0 junto a la zona de memoria estan protegidas
Al habilitar el Brown-out Reset automaticamente habilita el Power-up Timer (PWRT), sin importar el bit
PWRTE

Registro: STATUS REGISTER (ADDRESS 03h, 83h, 103h, 183h)





bit 7, IRP: Bit de seleccion de banco de registros (usado en direccionamiento
indirecto)
1 Bank 2, 3 (100h 1FFh)
0 Bank 0, 1 (00h FFh)

bit 6-5, RP1:RP0: Bits de seleccion de banco de registros (usado en
direccionamiento directo)
11 Bank 3 (180h 1FFh)
10 Bank 2 (100h 17Fh)
01 Bank 1 (80h FFh)
00 Bank 0 (00h 7Fh)
Cada banco tiene 128 bytes

bit 4, TO: Se ha producido un desbordamiento
1 Despues de power-up, o de las instrucciones CLRWDT o SEP
0 A ocurrido un WDT time-out


26

bit 3, PD: Power-down bit
1 Despues de power-up o por la instruccion CLRWDT
0 Por la ejecucion de la instruccion SLEEP

bit 2, Z: Bit de cero
1 El resultado de la ultima operacion aritmetica o logica es cero
0 El resultado de la ultima operacion aritmetica o logica no es cero

bit 1 DC: Bit de carry en el cuarto bit (instrucciones ADDWF, ADDLW, SUBLW,
SUBWF)(Dependiendo de si es una suma o una resta el signiIicado cambia)
1 Se produce un acarreo en el cuarto bit menos signiIicativo
0 No se produce acarreo

bit 0, C: Bit de carry ( instrucciones ADDWF, ADDLW, SUBLW, SUBWF)
1 Se produce acarreo en el bit mas signiIicativo
0 No se produce acarreo en el bit mas signiIicativo

Para la resta la polaridad esta invertida. La resta se realiza mediante una suma en complemento a 2 del
segundo operando. En las instrucciones (RRF, RLF) este bit se carga con el mas signiIicativo o el menos del
registro rotado.



















27
3.7.1. Configuracin del oscilador

El oscilador interno de los PIC16F87X puede operar en cuatro modos:

1. LP- Cristal o oscilador ceramico en modo de baja potencia.
2. XT- Cristal o oscilador ceramico en modo estandar.
3. HS- Cristal o oscilador ceramico en modo alta velocidad.
4. RC-Modo resistencia-condensador.

Hay que tener en cuenta en los 3 primeros modos:

1. Condensadores mayores permiten mas estabilidad pero incrementan el tiempo de arranque.
2. Los valores de los condensadores son estimativos pero segun el Iabricante pueden cambiar.
3. La resistencia Rs puede ser necesaria en modo HS y XT si el cristal no admite
mucha corriente.



















En el modo RC debido a variaciones de temperatura, diIerentes tolerancias y encapsulados, los valores de R
y C pueden variar y con ellos la Irecuencia de Iuncionamiento.


28






























29
3.7.2. Modo bajo consumo (SLEEP).

El micro entra en modo bajo consumo ejecutando la instruccion SLEEP.
En este modo el oscilador se para y el micro deja de ejecutar instrucciones.
Los puertos y la memoria RAM mantienen sus valores, algunos dispositivos
periIericos se paran. ModiIica los bits del registro STATUS: TD1 y PD0.

Se sale del modo bajo consumo mediante:

1. Reset externo (#MCLR).
2. Desbordamiento del WDT.
3. Interrupciones si estan habilitadas, aunque GIE no este activo:
1. Interrupcion externa pin INT.
2. Interrupcion por cambio de los bits altos de PORTB.
3. Interrupcion PPS.
4. Interrupcion TMR1, operando en modo contador asincrono.
5. Interrupcion CCP modo captura.
6. Interrupcion SSP deteccion de bits de START, STOP.
7. Interrupcion SSP trasmision o recepcion en modo esclavo.
8. Interrupcion USART trans. /recepcion modo esclavo sincrono.
9. Interrupcion conversion A/D cuando usa como reloj un RC.
10. Interrupcion escritura en EEPROM.

La primera condicion causa un Reset del dispositivo las demas despiertan al
dispositivo y continuan la ejecucion donde se habia parado.

































30
3.7.3. Reset.

Podemos distinguir entre varios tipos de RESET:

1. Por conexion de alimentacion (Power on reset, POR). Se produce un impulso de
reset cuando el valor de la tension de alimentacion sube de 1,2 a 1,7v. Evita tener circuiteria
de reset externa para controlar la conexion de alimentacion.

2. Activacion del pin de reset (#MCLR), durante la operacion normal. La activacion
se realiza poniendo el pin a nivel bajo.

3. Activacion del pin de reset (#MCLR), durante SLEEP. La activacion se realiza
poniendo el pin a nivel bajo.

4. Reset provocado por el watchdog (WDT) durante una operacion normal.

5. Reset provocado por el watchdog (WDT) durante SLEEP.

6. Reset provocado por una caida del voltaje de alimentacion (Brown-out-reset ,BOR) Vdd baja entre 3,8v y
4,2v durante unos 100microseg.

A continuacion se muestra los bits de estado que inIorman de que tipo de reset se ha
producido.



































31



























Al habilitar el temporizador (Power-up Timer, PWRT), despues de producirse un POR o BOR, mantiene el
reset durante un tiempo Iijo de 72ms, para garantizar la estabilidad de Vdd.

Existe un segundo temporizador (Oscillator start-up Timer, OST), que produce otro retardo despues del
PWRT( si ha sido habilitado) manteniendo el reset durante los
primeros 1024 ciclos de la seal de reloj, para asegurar que esta seal es estable al
empezar la ejecucion de instrucciones. Se invoca despues de un POR, BOR o vuelta desde el estado SLEEP.
















32
3.7.4. Temporizador Wacthdog (WDT).

El temporizador watchdog recibe los impulsos de un circuito de oscilacion RC interno
y no requiere componentes externos y no se deshabilita en modo SLEEP.

En operacion normal cuando el WDT se desborda genera un RESET.

Si el dispositivo esta en SLEEP, al desbordar el WDT lo despierta y continua la
ejecucion de instrucciones justo en la posicion despues de la instruccion SLEEP.

Puede habilitarse mediante el bit de la palabra de conIiguracion WDTE.

Puede utilizarse el pot-divisor (compartido con TMR0) para dividir la Irecuencia de
generacion de pulsos proveniente de los desbordamientos del WDT.

Las instrucciones CLRWDT y SLEEP ponen a cero la cuenta del WDT y el post-divisor.










































33
3.8. Puertos de Entrada/Salida.

Puerto A

El Puerto A tiene 6 bits y es bidireccional.
La Iuncion (entrada/salida) correspondiente del Puerto A se indica con TRISA:
1. Con un 1` en un bit de TRISA el pin correspondiente del puerto es de entrada.
2. Con un 0` en un bit de TRISA el pin correspondiente del puerto es de salida.
Al leer de PORTA se lee el valor presente en el pin.
Y escribiendo en PORTA se modiIica el latch de datos. Las escrituras son read-modifv-write






















Algunos registros estan multiplexados entre pin de proposito general y Iunciones alternas.
Cuando se utiliza un periIerico el pin correspondiente no debe usarse como pin de proposito general.





















La conIiguracion de los pines del puerto A:


34


























































35
Puerto B

El Puerto B tiene 8 bits y es bidireccional.
Al igual que en el puerto A existe el registro TRISB para controlar la direccion.
Cada pin del puerto B tiene un pull-up interno. La habilitacion de todos ellos se realiza mediante el bit del
registro OPTIOREG7~ (#RBPU). El pull-up se deshabilita automaticamente cuando el puerto se programa
como salida.
Los bits mas altos del puerto B RB7:RB4~, cuando estan conIigurados como entradas, pueden causar una
interrupcion por cambio del valor de entrada. Esta interrupcion puede despertar al PIC del modo SLEEP.
La condicion de la interrupcion se cancela leyendo el puerto (PORTB) y limpiando el Ilag RBIF.



















Los registros y la Iuncion de los pines del puerto B son:




























36
Puerto C

El Puerto C tiene 8 bits y es bidireccional.
Al igual que en los casos anteriores el puerto C tiene el registro TRISC para indicar el sentido de los datos
(entrada o salida).
Si se habilitan los periIericos correspondientes los bits del registro TRISC deben programarse de Iorma
correspondiente.























La doble Iuncion de cada uno de los pines del puerto C es:



























37
Puerto D

El Puerto D tiene 8 bits y es bidireccional.
Contiene el registro de conIiguracion TRISD.
Puede conIigurarse como puerto de I/O o como puerto esclavo paralelo PSP, mediante el bit PSPMODE del
registro TRISE (bit 4). En este ultimo modo las entradas son TTL.
























La Iuncion de cada uno de los pines del puerto D es:



























38
Puerto E

El Puerto E tiene 3 bits y es bidireccional.
Se puede controlar la direccion con TRISE.
Pueden ser entradas analogicas conIiguracion del registro ADCON1. Deben conIigurarse como entra.
Pueden actuar como pines de control del PSP, activado mediante PSPMODE en TRISE. En este caso deben
ser entradas digitales.






















La Iuncion de cada uno de los pines del puerto E es:




























39
3.9. Timers

Timer 0

Estructura Interna

Tiene las siguientes caracteristicas basicas:
1. Es de 8 bits.
2. Puede actuar como temporizador o como contador bit (TOCS).
3. Se puede leer y escribir en el. Al escribir pasan dos ciclos de instruccion hasta que puede volver a
incrementarse.
4. La instruccion SLEEP lo apaga.
5. Tiene un pre-divisor programable bits (PSA,PS2,PS0), compartido con el watchdog.





















Modo temporizador (TOCS0):
La seal de reloj es interna (Fosc/4). (Se incrementa cada ciclo de inst.).
La Irecuencia de incremento se puede modiIica con el pre-divisor.

Modo contador (TOCS1):
La seal de reloj es externa.(RA4/TOCK1).
Seleccion de Ilanco para la seal de reloj externa mediante bit (TOSE).
La Irecuencia de incremento se puede modiIicar con el pre-divisor.
Al usarlo como contador la seal externa de reloj se sincroniza con la Iase del reloj
interno, siendo necesario que la seal externa este a nivel alto y a nivel bajo un
periodo de tiempo mayor que 2 Tosc.













40
Timer 1

Estructura Interna

Tiene las siguientes caracteristicas basicas:
1. Es de 16 bits.
2. Puede actuar como temporizador o como contador bit (TMR1CS).
3. Se puede leer y escribir en los registros TMR1H, TMR1L.
4. Puede pararse o habilitarse mediante el bit TMR1ON.
5. Tiene un pre-divisor programable por soItware.























Modo temporizador (TMR1CS0):
La seal de reloj es interna igual a la Irecuencia de ejecucion de instrucciones (Fosc/4).

Modo contador (TMR1CS 1):
1. La seal de reloj es externa.
2. Existe un oscilador interno habilitado cuando T1OSCEN1.
Si T1OSCEN1 se incrementa por impulsos de subida en el pin
RC1/T1OSCI/CCP2.
Si T1OSCEN0 el oscilador esta deshabilitado y se incrementa por impulsos de
subida en RC0/T1OSO/T1CKI.
3. La seal de reloj externa puede sincronizarse con la seal de reloj interna: bit
(T1SYNC0).
Si se sincronizan (T1SYNC0) al ejecutar la instruccion SLEEP se para la cuenta
pues esta inst. para el sincronizador.
Si es asincrono (T1SYNC1) no se para mediante SLEEP y un desbordamiento
podra generar interrupcion y despertar la CPU.









41
Timer 2

Estructura Interna

Tiene las siguientes caracteristicas basicas:
1. Es de 8 bits.
2. Se puede leer y escribir en los registros TMR2.
3. Puede pararse o habilitarse mediante el bit TMR2ON.
4. Tiene un pre-divisor y un post-divisor programable por soItware
5. Solo tiene modo temporizador.
6. Tiene un registro que puede leerse y escribirse PR2 con el cual compara su valor:
Si los valores de TMR2 y PR2 se igualan, TMR2 pasa a cero.

















Al igualarse TMR2 y PR2 se produce la interrupcion TMR2:
1. El bit de interrupcion del timer2 es TMR2IF (Registro PIR1(1)).
2. Hay un post-divisor a la salida del comparador.

Los registros de pre-divisor y post-divisor se limpian al:
1. Escribir en TMR2.
2. Escribir en el registro T2CON.
3. Cualquier tipo de RESET.
TMR2 no se limpia al escribir en T2CON.




















42
3.10. Mdulos de captura, comparacin y PWM.

Hay dos modulos CCP, cada uno de ellos contiene un registro de 16-bits que puede
Iuncionar como:
1. Registro de captura de 16 bits.
2. Registro de comparacion de 16 bits.
3. Registro maestro/esclavo del ciclo en PWM, modulacion por anchura de pulsos.

Los modulos CCP1 y CCP2 son identicos con excepcion del disparo especial (special event trigger). Los
registros asociados son:
1. Cada uno de ellos contiene un registro de 16 bits, separable en dos de 8bits:
CCPR1-~CCPR1L:CCPR1H / CCPR2-~ CCPR2L:CCPR2H
2. Un registro de control: CCP1CON control de CCP1 / CCP2CON control de CCP2






bit 7-6: No implementado: Se lee como 0`
bit 5-4: CCPxX:CCPxY:PWM bits menos signiIicativos
Modo captura: No se usan
Modo comparacion: No se usan
Modo PWM: Estos bits son los dos menos signiIicativos en el ciclo activo de
modulacion por anchura de pulso PWM.
bit 3-0: CCPxM3:CCPxM0: Bits de seleccion de modo CCPx.
0000 Deshabilitado Captura/Comparacion/PWM (resetea el modulo CCPx).
0100 Modo Captura, cada Ilanco de bajada.
0101 Modo Captura, cada Ilanco de subida.
0110 Modo Captura, cada 4 Ilancos de subida.
0111 Modo captura, cada 16 Ilancos de subida.
1000 Modo comparacion, activa la salida CCPx pin (CCPxIF el bit de
interrupcion se activa)
1001 Modo comparacion, desactiva la salida CCPx pin (CCPxIF el bit de
interrupcion se activa)
1010 Modo Comparacion, genera solo interrupcion (CCPxIF el bit de
interrupcion se activa, CCPx pin no se ve aIectado)
1011 Modo comparacion, disparo especial, (CCPxIF el bit de interrupcion
se activa, CCPx no se modiIica) CCP1 resetea TMR1; CCP2 resetea
TMR1 y comienza una conversion A/D (si el modulo A/D esta habilitado)
11xx PWM modo

















43
Modo captura.

En este modo CCP1 y CCP2 Iuncionan de Iorma identica.( en los nombres de
registros a continuacion x1,2)
En este modo la pareja de registros CCPRxH:CCPRxL captura el valor de 16 bits
que contiene TMR1 cuando sucede un evento en la pata RCy/CCPx del PORTC
(estos pines deben conIigurarse como entradas con un 1 en TRISC).
Los eventos son los conIigurados en CCPxM3:CCPxM0 del registro de control
CCPxCON, para el modo Captura.
Al realizar la captura se activa el bit de interrupcion CCPxIF y si la interrupcion esta
habilitada mediante CCPxIE, se genera un interrupcion al cargar el CCPRxH:CCPRxL con TMR1.
TMR1 en este modo debe estar conIigurado como temporizador o contador sincrono,
nunca en modo asincrono.
Al cambiar las condiciones de Iuncionamiento dentro del modo captura conviene
desactivar el modulo primero.











































44
Modo comparacin.

En este modo la pareja de registros CCPRxH:CCPRxL compara su valor de Iorma
continuada con el valor de TMR1. Cuando coinciden el pin RCy/CCPx del PORTC
(conIigurado como salida) suIre un evento.
Los eventos son los conIigurados en CCPxM3:CCPxM0 del registro de control
CCPxCON para el modo Comparacion.
Al coincidir CCPRxH:CCPRxL y TMR1 se activa el bit de interrupcion CCPxIF y
si la interrupcion esta habilitada mediante CCPxIE, se genera un interrupcion.
TMR1 en este modo debe estar conIigurado como temporizador o contador sincrono, nunca en modo
asincrono.
Si se ha seleccionado el modo disparo especial, el modulo CCP1 y CCP2 realizan
tareas distintas. El CCP1 pone a 0 el TMR1 y el CCPR1 Iunciona como un Registro
de Periodo capaz de generar periodicamente interrupciones. El CCP2 pone a 0 el
TMR1 y ademas inicia una conversion del A/D, con lo que se pueden realizar
conversiones periodicas. Aunque TMR10 no se genera interrupcion del timer1.










































45
Modo PWM.

Con este modo se consiguen impulsos, cuya anchura de nivel alto es de duracion
variable y sirven para control de motores y generacion de seales.
Se utiliza un modulo CCP, el timer2 y un pin RCy/CCPx de salida.
El comparador entre el valor PR2 y TMR2 cuando detecta la igualdad:
1. Activa 1` el Ilip-Ilop de salida.
2. Resetea TMR2.
3. El valor de CCPRxL se carga en CCPRxH.
El periodo de la seal se calcula como:

Periodo|(PR2)1|*4*Tosc*(Valor predivisor TMR2)

Se comparan los valores de 10 bits (|CCPRxH:CCP1CON(5:4)|) y TMR2 concatenado con los dos bits de
menor peso del reloj interno) cuando son iguales:
1. Desactiva 0` el Ilip-Ilop de salida.
2. No resetea TMR2
El ciclo activo es:

Ancho pulso(CCPRxL:CCP1CON(5:4))*Tosc*(V. predivisor TMR2)

Pasos para conIigurar el PWM:
1. Asignar PR2.
2. Asignar CCPRxL y CCPxCON(5:4).
3. ConIigurar RCy/CCPx de salida.
4. Asignar Pre-divisor en T2CON.
5. Activar TMR2 en T2CON.
6. ConIigurar CCPx en modo PWM.






























46

3.11. Interrupciones

Los PIC16F873/76 tienen 13 Iuentes de interrupcion, mientras que los PIC16F874/77 tienen 14 . Las Iuentes
son:
1. Desbordamiento del TMR0.
2. Activacion del pin RB0/INT. (por Ilanco subida si INTDEG1, bajada si INDEG0,
OPTIONREG(6)).
3. Cambio de estado en alguno de los pines PORTB(4:7).
4. Finalizacion de escritura en EEPROM.
5. Desbordamiento del TMR1.
6. Desbordamiento del TMR2.
7. Captura o comparacion CCP1.
8. Captura o comparacion CCP2.
9. TransIerencia de la puerta serie sincrona.
10. Colision de la puerta serie sincrona.
11. Fin de la transmision en la USART.
12. Fin de la recepcion en la USART.
13. Fin de la conversion A/D.
14. TransIerencia de la puerta paralela esclava. (PIC16F74/77).

Los registros donde se activan las solicitudes de interrupcion son el INTCON, el
PIR1 y PIR2. Y los bits de habilitacion estan en INTCON, PIE1 y PIE2.
Existe un bit de habilitacion general de las interrupciones, GIE en el registro
INTCON(7). A parte de los bits de habilitacion individuales de cada interrupcion.

































47
Procesamiento de la interrupcin.

Al producirse la interrupcion solo el registro PC se salva en la pila.
Ademas puede ser necesario salvar el STATUS, PCLATH y W por soItware.
Para implementar el cambio del contexto se deIinen de 3 posiciones:

1. WTEMP
2. STATUSTEMP
3. WTEMP

Estas tres posiciones deIinidas en posiciones de datos en la RAM se deben situar en
las siguientes posiciones dependiendo del dispositivo.

PIC16I873/74:
1. WTEMP en posicion 0x20, 0xA0, deIinidas en banco 0 y banco 1
2. STATUSTEMP en cualquier pos. banco 0
3. WTEMP en cualquier pos. banco 0

PIC16I876/77:
1. WTEMP en cualquier posicion dentro de los 16 bytes mas altos
2. STATUSTEMP en cualquier posicion dentro de los 16 bytes mas altos
3. WTEMP en cualquier posicion dentro de los 16 bytes mas altos




































48
3.12. Mdulo conversor A/D

El modulo conversor A/D para PIC16F87X, tiene una resolucion de 10bits con 5 canales para el 16F873/76 y
8 canales para 16F874/77.























La resolucion en la conversion depende de la VreI((VreI)-(VreI-)):
resolucion((VreI)-(VreI-))/1024VreI/1024.
(VreI) y (VreI-) determinan los limites maximo y minimo de la tension analogica
que se puede convertir. El VreI minimo es de 2V.
La (VreI) y (VreI-) puede ser interna (VDD) y (GND) o externa a traves de los pines
RA3-~(VreI) y RA2-~(VreI-).
El modulo tiene 4 registros: ADRESH:ADRESL, ADCON0, ADCON1.

Operacin de conversin A/D

1 ConIigurar el modulo:
Pines como entradas (TRISA) analogicas (ADCON1).
Seleccionar el canal (ADCON0).
Seleccionar la velocidad de conversion TAD (ADCON0)
Encender el modulo (ADCON0)
2 ConIigurar interrupciones:
Limpiar bit ADIF
Activar ADIE
Activar GIE y PEIE.
3 Esperar tiempo de carga del condensador.
4 Comenzar la conversion:
Activar bit GO/#DONE (ADCON0)
5 Esperar a que termine:
Polling GO/#DONE0` o ADIF1`.
Esperar interrupcion
6 Leer el resultado en la pareja de registros ADRESH:ADRESL.
7 Nueva conversion ir a 1 o 2.




49
3.13. USART

El USART (universal svnchronous asvnchronous receiver transmitter) es uno de los dos puertos series de los
que dispone los PIC16F87X.
Puede Iuncionar de Iorma sincrona (half duplex) o asincrona (full duplex).
Modo asincrono:
1. Modo full-duplex (bidireccional).
2. Utiliza los pines:
RC6/TX/CK: transmision (salida).
RC7/RX/CK: recepcion (entrada).
3. Los datos enviados tienen tamao de byte.
4. En el Iormato de la trama se aade un bit de Start0 y un bit de Stop1, y puede
aadirse un noveno bit de datos (ejemplo bit de paridad) a los 8 bits del dato:






5. Esta Iorma de comunicar serie usa la norma RS-232 / RS-485.
6. Los bits se transmiten a una Irecuencia Iija y normalizada.
7. Los bloques que conIiguran la USART en modo asincrono son:
Circuito de muestreo.
Generador de baudios.
Transmisor asincrono.
Receptor asincrono.
8. La USART no soporta la generacion de paridad por hardware.
9. En modo asincrono la USART se para al entrar el micro en modo SLEEP.



























50
4. APLICACIONES EN LA ROBTICA MVIL CON EL PIC16F87X
4.1. XPLORER-DETECTOR DE MINAS ANTIPERSONALES
El presente proyecto enmarca un pequeo robot movil que gracias a sus caracteristicas, es de multiples
aplicaciones (exploracion de zonas peligrosas o inaccesibles para el hombre, como tuberias, conductos de
aire, minas, cuevas, zonas radioactivas...).
En este caso la aplicacion del robot XPLORER se ha diseado un robot explorador para la deteccion de
minas antipersonales.

Ilustracin 1: XPLORER
4.1.1. Introduccin
El robot es dirigido mediante radio Irecuencia desde una estacion de control ordenador personal (PC) la cual
procesa las imagenes enviadas por el robot (micro-camara C-MOS), y monitoriza el estado del sensor de
minas asi como otros elementos, como la temperatura y el estado de las baterias del robot. El operario dirige
remotamente al robot, examinado el terreno.
Cuando el robot detecta una mina, se deshabilita el control remoto, y el robot se detiene automaticamente,
activandose una alarma ('mina detectada!), tanto en el panel de control del ordenador como en el robot. El
robot deja a una distancia calculada de la mina un pequeo arteIacto (podria tratarse de un detonador), y acto
seguido se aleja de la mina.
Posteriormente el operario activaria el detonador desde la estacion de control, haciendo estallar la mina sin
ningun peligro. El robot se puede desplazar sobre 3 ejes X,Y y uno de rotacin sobre si mismo.
4.1.2. Caractersticas tcnicas Robot
Microcontrolador:
PIC 16F873
Sistema motor:
Dos servomotores.
Lanzador detonador:
Motor (vibrador de movil).
Sensores:
Camara C-MOS B/N.

51
Sensor de temperatura: LM335.
Detector de metales.
Voltaje bateria motores.
Voltaje bateria logica.
Control remoto:
Modulo FM Aurel.
Modulo Video Aurel.
4.1.3. Caractersticas tcnicas Estacin de control
PC con OS WIN 95, WIN 98 o WIN NT.
SoItware de control y monitorizacion del robot.
Tarjeta capturadora de video.
Modulo FM Aurel.
4.1.4. Arquitectura hardware
En la Estacion de control (ordenador) reside el programa InterIaz (realizado en Visual Basic) que nos
permite teledirigir el robot y ademas nos muestra los datos y las imagenes de video que el robot capta.
El programa recibe y envia datos a traves del puerto serie mediante un modulo de radio Irecuencia (RF)
montado en la siguiente tarjeta como se aprecia en la ilustracion 2.


Ilustracin 2: Tarjeta de comunicacin
El robot escucha las ordenes que recibe de la estacion de control y actua en consecuencia, y ademas lee sus
sensores (temperatura, estado baterias, detector de minas, camara de video) y envia los valores leidos a la
interIaz.
El robot esta gobernado por un microcontrolador (PIC16F873), el cual se encarga de gobernar motores,
sensores, modulo de RF...


52
4.1.5. Elementos motrices del robot Xplorer
Como elemento tractor el robot dispone de dos servomotores modiIicados para rotacion libre.

Ilustracin 3: Servomotores
Asi, mediante seal PWM (generada por el Microprocesador), podemos dirigir tanto el sentido, como la
velocidad de giro para cada servomotor.

Ilustracin 4: Seal PWM


En la parte trasera del vehiculo hay situado un pequeo motor (vibrador de movil) el cual lanza el detonador
de la mina. Este motor es controlado mediante un driver de motores (L293B).
4.1.6. Estructura mecnica
Objetivo: Conseguir una plataIorma de Iabricacion propia, en la cual quepan en su interior todos los
elementos del robot, dando a su vez, solidez en el minimo espacio y peso.
Chasis: Formado por una plataIorma de Nylon de 10 x 10 x 0,5 cm.
Traccin: Sistema motor omnidireccional con traccion a las cuatro ruedas (Ilustracion 5).

Ilustracin 5: Traccin
En la ilustracion 6 no permite observar como los 2 servomotores realizan el movimiento de rotacion, el cual
se realiza mediante un servo gira hacia delante y el servo opuesto gira hacia atras.

53

Ilustracin 6: Ejemplo del movimiento de rotacin
Las ruedas (de goma espuma, de esta Iorma ahorramos peso en el conjunto del robot) estan accionadas por
unas poleas que son movidas por los servomotores
EL detector de metales (Ierrita bobinada) esta situado en la parte delantera del robot, y se mantiene a 2 cm.
del suelo y a 4 cm. de la parte Irontal del robot. Detecta metales hasta una distancia de 6 cm.
4.1.7. Software
4.1.7.1. Estrategia robot:
El programa esta a la escucha de la estacion de control, y procesa las ordenes de la misma, que incluyen el
sentido y velocidad de giro de los servomotores y luces encendidas o apagadas. Cada 2 segundos el robot
hace una lectura del sensor de temperatura y del estado de las baterias, y acto seguido envia estos datos a la
estacion de control.
El detector de minas (detector de metales) esta siempre rastreando el terreno, y cuando detecta una mina
inmediatamente detiene el robot, y anula el control remoto, tomando el mando microprocesador del robot.
Una alarma (luz roja) se activa indicando la deteccion de la mina, y se hace saber la estacion de control que
se ha encontrado una mina. El robot gira 180 sobre si mismo, y activa un pequeo motor que deja caer un
pequeo objeto (detonador) cerca de la mina. Una vez hecho esto, se aleja de la mina, pudiendose retomar el
control del robot desde la estacion de control.
4.1.7.2. Estrategia Estacion de control.
El programa atiende los cambios hechos por el usuario en sus controles, como el control del movimiento del
robot, o un control para encender o apagar las luces del robot.
Ademas muestra en pantalla en tiempo real las imagenes captadas por la camara de video que lleva el robot,
y muestra la temperatura y voltaje de las baterias.
Cuando el robot detecta una mina, en la estacion de control se activa un panel luminoso.
4.1.7.3. Comunicacion Estacion de control Robot
La comunicacion se establece mediante ondas de radio. Se ha desarrollado un protocolo de comunicacion
para obtener una transmision de datos certera y sin errores (para evitar los problemas derivados de las
interIerencias).
4.1.8. Alimentacin y consumo
Para evitar las interIerencias se ha optado por tener dos alimentaciones independientes, asi tenemos una
bateria de 5V/750mA para alimentacion motores y otra bateria 9V/300mA para alimentacion de la logica del
robot.


54
Con un regulador de tension obtenemos los 5V necesarios para la logica del robot, para los cuales tenemos
los siguientes consumos:
Placa base
o Sensor temperatura............2mA
o Led alta luminosidad(x2)....10mA
o Micro...................................4mA
o Modulo TX-RX...................15mA
o Led minas............................2mA
o Detector metales.................10mA
o TOTAL placa base.............33mA
Modulo camara video......................75mA
Motor(x2).............................200mA

Dimensiones 18x12x12 cm
Peso 300 g
Velocidad 10 cm/s
Batera motores 5V/750mA
Autonoma 1 hora
Batera lgica 9V/300mA
Autonoma 2 horas
Profundidad detector metales 6 cm
Alcance transmisin RF 100m
4.1.9. Conclusiones
El robot Xplorer ha realizado con exito las pruebas de detectar metales enterrados no obstante no se ha
podido realizar con minas reales por motivos obvios.
Nuestra conclusion una vez observado este robot es que vemos el robot restringido en lo reIerente a
autonomia ya que de las dos baterias que incorpora el robot la bateria restrictiva es la de los motores que es
de 1 hora. Consideramos que en una circunstancia real un posible campo de minas tendra una extension de
varias hectareas con lo que con una hora no hay suIiciente tiempo para poder rastrear todo el terreno en una
sesion de trabajo.
Por lo que respecta desde nuestro punto de vista este tipo de robot puede ser muy util ya que aleja la
posibilidad de que una persona deba desactivar Iisicamente una mina i asi evitar altos riesgos.




55
4.2. SCRATCHI
Nuestro microbot consiste en un hexapodo el cual sera capaz de sortear diIerentes obstaculos mediante unos
sensores que lleva instalado.
4.2.1. Introduccin
El robot SCRATCHI esta Iormado por una placa de circuito impreso sobre la cual va acoplado un
PIC16F873 que recibe inIormacion del exterior gracias a los sensores y que esta programado para dar las
ordenes necesarias de movimiento a los servomotores en cada momento. Para Iuncionar se alimenta
mediante una bateria de 12 voltios.

Ilustracin 7: Hexpodo SCRATCHI
4.2.2. Plataforma mecnica usada
La base del robot es una placa de circuito impreso. Sobre ella estan soldados los diIerentes componentes
necesarios para obtener los resultados esperados.
La placa va colocada sobre una base de metacrilato para dejar un hueco entre ambas suIiciente para colocar
la bateria (12V).
El hexapodo consta de 4 servomotores: Los servos delanteros se encargaran de transmitir el avance de las
patas tanto delanteras como traseras, para lo cual se han unido dichas patas entre si. Los servos centrales
seran los encargados de elevar el hexpodo para poder mover las patas delanteras con total libertad.
4.2.3. Arquitectura hardware
4.2.3.1. Sensores de ultrasonidos:
El vehiculo consta de un emisor y un receptor de ultrasonidos, que se encargara de detectar un obstaculo,
mediante la emision de una seal de 28 Khz que rebotara sobre este, y siendo recibida dicha seal con un
pequeo retardo por el receptor. El receptor consta de un circuito PLL, gracias al cual, podemos obtener un
nivel logico a su salida cuando la seal recibida coincide con la ajustada en el circuito PLL mediante un
circuito resonante R-C.
4.2.3.2. Fuente de alimentacion:
Proporciona 5 o 12 voltios. Gracias a esto podremos dar mayor o menor velocidad al vehiculo mediante un
interruptor.
Permite que el microbot Iuncione de Iorma autonoma tanto conectado a la red como por medio de la bateria
(12 voltios y 0,8 amperios).

56
La bateria se puede recargar conectando el cargador a un transIormador de 12 voltios sin desmontarla del
equipo.
4.2.3.3. Control del hexapodo.
Para controlar los movimientos del hexapodo disponemos de los siguientes componentes:
Puertas logicas Trigger Schmitt (40106) Su Iuncion en el circuito es la de evitar interIerencias y ruidos no
deseados que puedan interIerir en el normal Iuncionamiento del microbot.
Modulacion de Anchura de Impulsos: Con este modo de trabajo se consiguen impulsos logicos cuya anchura
del nivel alto es de duracion variable, que son de gran aplicacion en el control de dispositivos tales como
motores y servos.

Ilustracin 8: Control del seal de pulsos
PIC16F873: Este microcontrolador es el principal integrado puesto que este es el que ordena al vehiculo
todos sus movimientos. A este le llega la inIormacion directa desde los sensores y segun sea esta ordena que
se realice un movimiento u otro. Se a implementado con este PIC ya que utiliza la modulacion de anchura de
impulsos indispensable para el Iuncionamiento con servomotores.
Ademas el PIC16F873 tiene la posibilidad de que su programacion puede ser cambiada o modiIicada
Iacilmente mediante un programador y un ordenador personal.
Conviene sealar que la implementacion se ha realizado sobre circuito impreso.

Ilustracin 9: Placa del circuito impreso
4.2.4. Software y estrategias de control
La Iorma de obtener un correcto Iuncionamiento ha sido la colocacion de dos bumpers (sensores antena) en
los laterales de la parte delantera del hexapodo los cuales serviran para detectar paredes a ambos lados, asi
como un sensor de ultrasonidos en la parte central delantera. Asi, el PIC16F873 se ha programado para,
segun sea la inIormacion que le llegue por el puerto B procedente de los sensores, dar diIerentes ordenes para
que el microbot actue en consecuencia, ya sea girando hacia un lado u otro.

57
Para programar el PIC se ha utilizado el programa MPLAB, ordenador y la placa de desarrollo
PICTRAINER.
Aqui se indicaran los criterios de control establecidos, asi como la Iorma en que se ha realizado la
programacion de los elementos de proceso.
4.2.5. Caractersticas fsicas y elctricas ms relevantes
Se pueden dividir en Iisicas (velocidad maxima alcanzable, peso y dimensiones, etc.) y electricas (tension de
alimentacion, consumo, etc.).



Ilustracin 10: Caractersticas fsicas




Ilustracin 11: Caractersticas elctricas
4.2.6. Conclusiones
Las mejoras que se pueden realizar en este microrobot es a lo reIerente a la parte mecanica de las
articulaciones. Como se pude observar en la ilustracion 7 las articulaciones tienen un nivel de acabado
bastante simple. Una posible mejora seria dotar de unas articulaciones mejores en lo reIerente a la traccion,
ya que, sobre puntas lisas la patas de metal sin ningun tipo de goma para mejorar la traccion y asi mejorar el
rendimiento del hexapodo.
Otras mejoras solo servirian para encarecer el producto ya que este robot no tiene ninguna Iinalidad
especiIica.

58
4.3. Robot Explorador Araa
4.3.1. Introduccin
La Araa no consta de ningun tipo de sensor que envie caracteristicas del entorno al microprocesador. La
camara CCD que se le ha incorporado es para que transmita las imagenes y asi las personas puedan ver lo
que 've el robot, para explorar. Una de las aplicaciones del robot podria ser en ambientes donde las
personas no puedan acceder, por ejemplo: un recinto donde el aire no es respirable, un tunel por donde una
persona no pueda pasar, etc. El robot envia las imagenes por radioIrecuencia a un monitor donde nosotros
observamos el entorno y tomamos decisiones.
4.3.2. Plataforma mecnica usada
El robot se sostiene sobre seis patas. Esta programado con una posicion inicial de las patas (todas
perpendiculares al tronco del robot) para que cada vez que se le da a la alimentacion se posicione para
empezar a andar. La estructura es de aluminio y plastico. Las placas controladoras tambien Iorman parte de
la misma estructura.
La camara esta situada encima de una superIicie de carton pluma sostenida con tornillos a la estructura del
robot. Se ha escogido el carton pluma por su ligereza y rigidez suIiciente para aguantar la camara y las
baterias.

Ilustracin 12: Robot Aranya
4.3.3. Sofware
Para el control de las patas hace servir 4 placas controladoras. Cada una tiene un PIC 1F873-4/SP.
Hay un pic master y tres slaves. El master controla a los slaves y cada uno de los slaves dos de las patas.
A la hora de programar el soItware su tuvo en cuenta un movimiento de patas organizado. Unas avanzan
hacia delante mientras otras van hacia atras y se recogen. Tambien lleva incorporado un control PID para
asegurar un mejor control y sincronizacion del movimiento de las patas.
4.3.4. Caractersticas fsicas y elctricas
La camara CCD de la casa AURAL, envia las imagenes al monitor mediante radioIrecuencia. La Irecuencia
es de 233MHz.
La imagen es en blanco y negro y bastante nitida. La camara detecta el inIrarrojo, y por eso se han
implementado a la estructura de la Araa una serie de leds de ese tipo, para que en la oscuridad nosotros
podamos ver los objetos que el robot se encuentra a su paso.
La camara se alimenta con dos pilas de 9V alcalinas y los Iocos de leds con otra. Las placas de control
utilizan una bateria de petaca de 12V.

59

4.3.5. Conclusin
Este tipo de robot podemos observar como un PIC hace master y los oros hacen de esclavo.
Este robot tiene un potencial muy elevado ya que hasta ahora solo se ha probado programarlo para que haga
un recorrido especiIico y conocido. Si tuviera que recorrer una zona desconocida a parte de la camara que
solo da inIormacion a los usuarios se deberia instalar unos sensores de navegacion para que el mismo robot
tomara las propias decisiones despues de havar sido evaluadas por el soItware.

















60
4.4. PLATAFORMA ROBTICA SUBACUTICA CONTROLADA POR UN ALGORITMO
GENTICO.
Se realiza el diseo, construccion y estudio de desempeo de una plataIorma robotica subacuatica con un
cuerpo rigido y una aleta Ilexible oscilante. Un Algoritmo Genetico es utilizado para encontrar secuencias
basicas de movimiento que permitan a la plataIorma la realizacion de giros cerrados, procurando un consumo
bajo de energia. Sus ejes de movilidad son X y Y.
4.4.1. Introduccin
Existe una tendencia creciente por emular las caracteristicas de los animales para mejorar la eIiciencia de los
sistemas de robots actuales. Esta mentalidad asume que la naturaleza, a traves de la seleccion natural y la
evolucion, ha perIeccionado las caracteristicas de las especies para obtener diseos completamente adaptados
a su entorno. El area de vehiculos subacuaticos hace incursion en esta tendencia imitando Iormas de animales
acuaticos y recientemente, imitando su Iorma de propulsion.

La plataIorma robotica desarrollada tiene una apariencia similar a la de una raya, pez marino del orden de los
selacios, con un cuerpo rigido y una aleta Ilexible que le permite propulsarse para avanzar y girar. Esta
conIormada por los siguientes sistemas:
Sistema estructural
Sistema mecanico
Sistema de sujecion
Sistema electronico
4.4.2. Sistema estructural
El sistema estructural hace reIerencia a la recamara impermeable (que contiene los demas sistemas) y a la
estructura externa de la plataIorma, es decir su Iorma hidrodinamica y el lastre que posibilita su inmersion.
Se construye la recamara impermeable a partir de un recipiente para alimentos Tupperware. El recipiente
conIorma la parte rigida de la recamara, mientras que un guante de cirugia es la seccion Ilexible a la que se le
acopla la cola.

Ilustracin 13: Vista superior de la plataforma
La estabilidad de la plataIorma se obtiene al usar unas aletas laterales que aumentan la resistencia de la
plataIorma a los movimientos indeseados. Las aletas se Iabrican en una lamina de poliestireno recubierta de
plastilina, a la que se agregan monedas para aumentar la Iuerza descendente que sumerge parcialmente a la
plataIorma. Al conservar un poco de su parte superior a Ilote, utiliza la Iuerza ascendente para garantizar su
estabilidad.

61
4.4.3. Sistema mecnico
El sistema mecanico es el encargado de generar el movimiento de la aleta Ilexible.
Consiste en dos motores DC y un arreglo de piones que reducen su velocidad y aumentan su Iuerza.
Mientras el motor de propulsion gira, causando el aleteo de la cola, el de giro toma una posicion que deIine
la orientacion de aleteo. La pieza del motor de giro sirve como punto de apoyo a una palanca hecha por el
motor de propulsion por medio de un alambre.

Ilustracin 14: Vista motriz de la plataforma
4.4.4. Sistema electrnico
Se compone de un microcontrolador PIC16F873, dos acelerometros ADXL202, dos drivers TEA3717 para
los motores, y un arreglo de pares emisor-receptor de inIrarrojo.
El arreglo de inIrarrojos permite conocer la orientacion de la cola y el numero de aleteos realizados.
Los 2 acelerometros miden la aceleracion experimentada por la plataIorma en los extremos laterales de la
recamara impermeable. Esta inIormacion diIerencial de aceleracion permite saber si la plataIorma avanza en
linea recta, si realiza un giro o si permanece en reposo.

Ilustracin 15: Vista superior con el circuito integrado

Los drivers se utilizan para manejar los motores de propulsion y de giro. El microcontrolador recibe en sus
puertos, la inIormacion proveniente de los acelerometros y de los inIrarrojos. Recibe tambien inIormacion
sobre el consumo de cada uno de los motores. La inIormacion recopilada por los diversos sensores se envia
al PC haciendo uso del modulo USART del microcontrolador. Este modulo es conIigurado para operar
asincronicamente a una velocidad de 38400 bps de acuerdo con el Iormato RS- 232 sin bit de paridad. Este
modulo de comunicacion es usado tambien para recibir la inIormacion proveniente del PC que deIine los
individuos y que es almacenada en la memoria del microcontrolador.
Adicionalmente el microcontrolador, por medio de 2 PWM`s genera las seales de control necesarias para
manejar los motores.

62
4.4.5. Software
El algoritmo esta encargado de realizar pruebas sucesivas de diIerentes secuencias de movimiento en la
plataIorma, para encontrar aquellas que permitan la realizacion de giros y el desplazamiento en linea recta,
procurando un consumo bajo de energia. El Ilujo de inIormacion se realiza en los siguientes pasos:

Ilustracin 16: Diagrama de flujo
1. El PC envia a la plataIorma un individuo en Iorma de vector. De Iorma inmediata la plataIorma lo
interpreta como una secuencia de movimientos, comienza su ejecucion e inicia la transmision de los datos
capturados por los sensores.
2. El algoritmo espera 90 segundos mientras la plataIorma ejecuta el individuo, transmite los datos, y regresa
a su posicion inicial de pruebas, gracias al sistema de recuperacion.
3. Al terminar este tiempo predeterminado el algoritmo lee los datos capturados del puerto y evalua el
desempeo del individuo.
4. Este proceso se repite hasta que se termine de ejecutar una poblacion (n individuos).
5. La inIormacion apareada individuo-fitness se utiliza para dar origen a la siguiente poblacion por medio de
las Iunciones de copiado elitista, cruce o recombinacion y mutacion.
6. Una vez creada la siguiente generacion se da inicio a un nuevo ciclo de ejecucion, recepcion de datos,
espera y evaluacion de fitness.
7. El proceso se repite hasta ejecutar el numero de generaciones preestablecidas.
4.4.6. Conclusiones
Teniendo la sencillez por principio, la plataIorma intenta incorporar la menor cantidad de actuadores y
reducir la complejidad de todos y cada uno de los sistemas que la componen. El motor DC es usado en su
modo de Iuncionamiento natural con un giro continuo, pues se parte del supuesto que cambiar la direccion
para imitar la oscilacion del aleteo implica un mayor consumo de energia: se debe vencer la inercia que se
traia en una direccion y entregar de nuevo energia para cambiar la direccion del giro y asi eIectuar un aleteo.
Otra seccion que incorpora el principio de simplicidad es la aleta o cola. Este diseo es consecuente con el
concepto mecanico de un actuador que transmite la Iuerza a un punto. Esta Iuerza es ejercida sobre la base de
la cola, la cual reduce su tamao y grosor de manera gradual hasta terminar en una punta, como la cola de un
renacuajo. Utilizando este diseo se emula el Iuncionamiento de una cola mas compleja compuesta de varias
secciones.
La Iorma de la seccion rigida imita la de una raya, con una Iorma aplanada que logra un buen corte
hidrodinamico para el avance y baja resistencia para el giro.
En su parte superior la plataIorma tiene una gran area que en un Iuturo podria aprovecharse para incorporar
celdas solares que le brinden la energia necesaria para desplazarse.
La hidrodinamica de la plataIorma incide de manera Iuerte en su capacidad para realizar maniobras.
La aleta Ilexible oscilante junto con el sistema mecanico propuesto, permiten una alta maniobrabilidad de la
plataIorma.

63
El adaptar componentes ya existentes simpliIica la construccion de la plataIorma, convirtiendose en una
buena alternativa para la consecucion de un diseo Iuncional.
La seleccin del microcontrolador fue acertada, ya que tiene un tamao reducido y cuenta con una
variedad de perifricos. La capacidad y recursos del microcontrolador coinciden con los
requerimientos del proyecto.
El uso de sensores internos es una solucion interesante ya que en un Iuturo puede ser parte de una plataIorma
autonoma.
La resolucion de los acelerometros los hace una herramienta valiosa, en proyectos de robotica, pues permiten
detectar desplazamientos con bajas aceleraciones.
La alternativa de deteccion de giro mediante la medicion diIerencial de aceleraciones, es viable, practica y
tiene muchas aplicaciones posibles.






















64
4.5. Robot Pionero 1B
El objetivo de este trabajo de grado es el de disear y construir un robot con caracteristicas de
autonomia, programabilidad y disparo de objetos.
4.5.1. Introduccin
El robot Pionero 1B que una vez situado dentro de un espacio predeterminado (cancha entorno de 3 x 3 m),
autonomamente se ubicara en cinco puntos negros dentro del mismo, y mediante un mecanismo de
disparo encestara una bola de ping pong en una canasta de un metro de altura desde cada uno de estos,
en un tiempo no mayor de 20 minutos desde el momento de la partida.

Ilustracin 17: rea de trabajo del Pionero 1B
Se determinaron los objetivos especiIicos del trabajo:
Diseo y construccion de un sistema mecanico con motores a pasos que permita al robot ubicarse en
los cinco puntos predeterminados en el plano XY.
Desarrollar un sistema de disparo de bolas de ping - pong controlado electronicamente.
Desarrollar la sensorica asociada al posicionamiento del robot.
Desarrollar el soItware necesario para programar el control general del sistema.
Elaboracion del manual pertinente para uso y mantenimiento del dispositivo.
4.5.2. Sistema mecnico
Sistema articulado mecanico (AMS): corresponde al conjunto de brazos, uniones y/o terminales
encargados de eIectuar trabajos mecanicos especiIicos con unos grados de libertad determinados.
Sistemas de transmision: son los medios a traves de los cuales se transmite cualquier tipo de
movimiento generado por elementos capaces de producir trabajo mecanico.
Todos los elementos que conIorman el robot, se encuentran montados en una plataIorma de
aluminio de Iorma rectangular, en la siguiente disposicion:

Sistema de caon: estructura de aluminio ubicada en la parte delantera del robot.
Esta dotado de dos motores DC para elevacion del tubo caon y accionamiento de la aguja de disparo
de las bolas de ping pong.

65

Ilustracin 18: Pionero 1B
4.5.3. Hardware
Circuito electronico: tarjeta donde se integra toda la circuiteria del robot, ubicada en la parte
trasera-arriba de la plataIorma. En el se ubica la pantalla de visualizacion numerica y el
microcontrolador PIC 16F877 de Microchip, que trabaja como sistema de control del robot
Sensores de tacto: par de interruptores ubicados en la parte delantera-abajo del robot, los cuales
indican al sistema de control el momento en el cual el robot se encuentra tocando alguna de las paredes del
entorno.

Ilustracin 19: Sensores del Pionero 1B
Sistema de sensores inIrarrojos: circuito conIormado por tres diodos emisores y tres Iototransistores
de recepcion inIrarroja, ubicado en la parte centro-abajo de la plataIorma, los cuales indican al sistema de
control el momento y Iorma como se detecta cada punto negro.
4.5.4. Software
Sistema de control: permite controlar las Iunciones de los actuadores y recibir las seales de los
sensores. Constituye el cerebro del robot y lo habilita para que regule autonomamente todas las Iunciones
necesarias para cumplir los trabajos especiIicos.

66

Ilustracin 20: Trayectoria programada
4.5.5. Sistema motriz y alimentacin
Sistema de motores a pasos: dos estructuras de porta-piones y motor a pasos, ubicadas a lado y
lado en la seccion centro-abajo de la plataIorma. De estas dos estructuras salen los dos ejes de las llantas
de movimiento del robot.
Banco de baterias: grupo de dos porta baterias cuadruples para baterias tipo AA y un porta bateria
sencillo para bateria de 9 voltios, contenidos en una caja plastica ubicada en la seccion trasera-abajo
de la plataIorma.

Ilustracin 21: Esquema de la alimentacin
4.5.6. Caractersticas tcnicas
Las especiIicaciones mas importantes del diseo Iinal son:
Dimensiones: Largo 31.5 cm
Ancho 25 cm.
Altura 34 cm.
Peso con baterias: 1561 gramos.
Alimentacion: 8 baterias estandar tipo AA y 1 bateria estandar tipo 9 voltios.

67
Duracion promedio de las baterias a temperatura ambiente (25 grados centigrados): 1 hora 40
minutos en operacion continua.
Velocidad de avance: 4.8 cm/seg.
Maximo alcance horizontal de disparo: 3.50 m.
Tipo de indicador visual: pantalla LED de 7 segmentos para 1 digito de visualizacion.
Consumo promedio de energia electrica: 365 mA
Grados de libertad: 3.
Material base de construccion: aluminio.
4.5.7. Conclusin
Encontramos la aplicacion interesante en el campo del deporte.
Creemos que el peso total del robot se podria mejorar cambiando las baterias para ahorrar peso.
Otra mejora que podemos ver es la proteccion Iisica del circuito integrado el cual se podria cubrir con un
tapa pero teniendo encuenta la ventilacion del circuito.
Utilizar el criterio de bajo consumo y poco peso de los elementos, para Iuturos proyectos roboticos.





























68
4.6. Pualada amarilla
El robot Pualada amarilla ha sido diseado para la participacion en la tercera edicion de Alcabot que se
inscribira en la modalidad de velocistas para lo cual seguira el rastro de una linea negra sobre Iondo blanco
por medio de dos sensores que lleva en la parte delantera.
4.6.1. Introduccin
Este robot consiste en una estructura realizada en planchas de PVC en Iorma de bala a la que va atornillada
la placa base en la que se aloja el PIC 16F876 y los diversos conectores para la colocacion de los sensores
que distinguen el blanco y el negro los cuales van a ras desuelo. Se alimenta con una bateria de 12 V, que
proporciona a traves del regulador LM7805 una tension de 5 V, para alimentar a todos los dispositivos, a
excepcion de los motores que trabajan a 12 V.

Ilustracin 22: Vista del robot
4.6.2. Plataforma mecnica usada
El montaje del robot esta sobre dos plataIormas de PVC amarillas en Iorma de bala con unos agujeros en los
laterales para meter las ruedas y se atornillan entre si con una separacion de 6 cm. para la colocacion de la
bateria de doce voltios.
En el panel superior de la estructura, se Iija la placa base, que es la que lleva toda la electronica de control
que realiza los movimiento esperados.
El robot lleva 3 ruedas, dos motrices que son Cd`s a los que se les ha colocado una cubierta y que van giran
solidarias con los 2 servomotores FS100 y una rueda loca que apoya la parte trasera del robot y que se ha
Iijado sobre la plancha inIerior de PVC (ilustracion 22).

Ilustracin 23: Vista de la estructura

69
4.6.3. Hardware
El robot Puala amarilla lleva 4 sensores de inIrarrojos, aunque para este tipo de prueba solo se utilizan los
dos centrales. Estan Iormados por un Iotodiodo y un transistor. El Iotodiodo emite luz por inIrarrojos que
reIleja sobre el color blanco de la pista mientras que con color negro no se produce reIlexion . De esta Iorma,
se puede saber por donde va en la linea.
4.6.3.1. Control de motores Mediante el L293
Es un circuito integrado, que utilizando la inIormacion que recibe del microcontrolador, realiza el giro del
motor en un sentido o en el otro, mediante un puente de transistores que lleva en su interior y a traves de la
patilla de enable se pueden hacer los giros mas lentos parando una rueda o utilizando modulacion PWM.
Para que la seal llegue mas estabilizada se recomienda la utilizacion de una puerta Tigger Schmitt para
evitar asi la Iiltracion de ruidos

Ilustracin 24: Esquema del control del motor
4.6.3.2. PIC 16F876
Este es el microcontrolador que se a usado para la construccion del microbot se trata de un micro con muchas
posibilidades de las cuales solo usamos unas pocas como, dos modulos PWM, el convertidor A/D los
distintos puertos de salidas, etc. Dependiendo de la programacion que se meta al PIC por el programador
TO20 (tambien incluido en la propia placa) se ordena al vehiculo los distintos movimientos que el coche
puede hacer, asi dependiendo de la inIormacion obtenida por los sensores se mueve de una u otra manera.

Ilustracin 25: PIC 16f876


70
4.6.4. Software y estrategias de control
Para la realizacion correcta de la prueba se han colocado en la parte delantera del robot cuatro sensores para
los cuales en la prueba del velocista solo se usan los dos centrales al no haber biIurcaciones,
Los dos sensores van unidos y van siguiendo recto y a maxima anchura de impulsos cuando los dos sensores
detectan negro, en el momento que uno de los dos sensores detecta blanco es que el camino deja de ser recto,
entonces la anchura de impulso positivo disminuye y la rueda opuesta al sensor gira en sentido contrario al
que iba con lo cual el coche girara hacia esa direccion.
Los sensores meten la inIormacion al micro a traves del puerto B y la inIormacion que va del micro a los
motores se realiza a traves del puerto C.
La programacion se ha realizado en lenguaje ensamblador y por medio del programa ICEPROG se programa
directamente el micro sin necesidad de quitarlo de la placa.
4.6.5. Caractersticas fsicas y elctricas
Se pueden dividir en Iisicas (velocidad maxima alcanzable, peso y dimensiones, etc.) y electricas (tension de
alimentacion, consumo, etc.).

Ilustracin 26: Caractersticas fsicas y elctricas
4.6.6. Conclusiones
La aplicacion de este robot a sido diseada para competir en un campeonato de velocistas y lo que se busca
en un diseo de estas caracteristicas es la sencillez del montaje, poco peso, rapidez en el movimiento y
economico por lo tanto este las cumple.








71
4.7. GOS7
La Iorma de GOSSET es una copia biomimetica de un pequeo perro y su comportamiento se inspira en el
comportamiento canino.
Dispone de cuatro patas articuladas para desplazarse y de una cabeza con boca articulada. Ademas dispone
de una cola movil para Iomentar la interaccion emocional con las personas.
4.7.1. Introduccin

Nivel 1 de Inteligencia ArtiIicial. El comportamiento de GOSSET se basa en la arquitectura sub-sumptiom
con respuestas reactivas a las interacciones que detectan los sensores del robot.
Nivel 3 de Comportamiento Subconsciente. El comportamiento de GOSSET cumple a nivel Subconsciente
con las tres leyes basicas de la robotica enunciadas por Isaac Asimov.
4.7.1.1. Leves Isaac Asimov
Un robot no puede lesionar a un ser humano, ni siquiera por inaccion.
Un robot debe obedecer siempre a los seres humanos, a menos que con ello incumpla la primera ley.
Un robot debe proteger su propia existencia, excepto cuando esto suponga un incumplimiento de la primera o
segunda ley.
4.7.2. Plataforma mecnica

Ilustracin 27: Representacin 3D del Robot GOS7
El diseo de la pierna tiene dos grados de libertad: la rodilla es de rotacion libre aunque tiene un tope en la
parte delantera mientras que la rotacion de la cadera se controla mediante un servo.

72


Ilustracin 28: Vista superior del movimiento de las patas

Ilustracin 29: Vista lateral de la pata del GOS7


Ilustracin 30: Vistas superiores del movimiento del robot GOS7








73
Secuencia del movimiento del robot GOS7:


4.7.3. Hardware del Robot GOS7
PIC 16F876 (20MHz, 368b RAM, 256b Data EEPROM, 8Kb Program EEPROM) .
Este microcontrolador tiene el control del moviento del GOS7
4.7.3.1. Sensores incorporados en el GOS7
Sensores de proximidad por inIrarrojos
.Sensores de movimiento basados en inIrarrojo.
Sensores de contacto (electormagneticos).
Sensores de Iuerza.
4.7.3.2. Actuadores
El robot utiliza como actuadores siete servos de diIerente tamao y par, suministrados por la empresa
leridana Taleia.

Ilustracin 31: Servo
4.7.4. Software
El robot GOS7 esta programado para que responda delante ciertas perturbaciones, como presion o contacto
sobre la zona donde esta el sensor para haga ciertos movimientos. Los sensores de inIrarrojos dona
inIormacion del entorno por donde se mueve el robot y el microcontrolador determinara segun la
programacion que halla sido instalada que movimiento debe seguir.
En este cuadrupedo un nuevo metodo de control de la estabilidad basado en la modiIicacion de la
distribucion de masas dentro del cuerpo ha sido propuesto. El metodo ha sido veriIicado experimentalmente
obteniendose una amplitud de paso de 50 mm (limitada por la rodilla), algo superior a la predicha
experimentalmente (40 mm). Nueve DOF han permitido obtener un movimiento basico de avance utilizando

74
una rodilla libre y una cadera motorizada por un servo de radio control. Sin embargo, el diseo estatico solo
permite una velocidad media de 170 mm/min
El PIC esta comunicado con un PC una interIase serie RS-232 el cual nos permite una supervision del robot
asi como una modiIicacion del programa si lo deseamos.
4.7.5. Caractersticas tcnicas
Bateria de 4,8V (1.300 mAh) NiCd.
Robot: 1.100 gramos.
Baterias: 190 gramos.
4.7.6. Conclusiones
Ha sido creado un nuevo robot caminante. El robot ha sido diseado para aplicaciones de entretenimiento
con Interaccion entre Robots y Humanos. El comportamiento de este pequeo robot con Iorma de animal de
compaia ha sido diseado para ser reactivo; el robot ejecuta acciones y movimientos dependiendo de la
inIormacion de sus sensores.
La Ialta de simetria en el accionamiento de los actuadores ha provocado que en determinados momentos un
unico servo soportase todo el peso del robot, obteniendose como resultado la rotura de los engranajes de la
reductora de dicho servo.
La velocidad de los servos provoca comportamientos dinamicos no deseados que pueden provocar la caida
del robot.
Los sensores de tacto instalados en el robot se han mostrado muy sensibles a las interIerencias
electromagneticas, lo que ha provocado, a veces, comportamientos erraticos del robot.
El uso de servos ha simpliIicado la tarea de control. Un microcontrolador de bajo coste ha sido utilizado
como elemento de control permitiendo un gran nmero de comportamientos reactivos.












75
4.8. MICRO ROBOT "Voyager"
4.8.1. Introduccin
EL micro robot Voyager esta diseado para seguir una linea marcada en el suelo y recorrer esta misma con el
menor tiempo posible.

Ilustracin 32: Vista del robot Voyager
4.8.2. Estructura mecnica
La base mecanica del robot, consiste en una lamina de circuito impreso de 3 mm de grosor. La Iibra de vidrio
que compone un circuito impreso es resistente a la vez que permite ser modelada sin diIicultad. La gran
ventaja que supone usar dicha placa es la posibilidad de insolarla como si de un circuito impreso se tratase.
El Iotolito usado para el diseo de la base incluye marcas que indican la posicion exacta de los motores asi
como del punto de apoyo, permitiendo una mayor exactitud. Por otro lado hemos dispuesto los sensores
sobre la misma base, que incluye las pistas para la distribucion de las seales asi como un conector de salida
para cable plano. Esto nos permite una mayor Iiabilidad puesto que la misma base es la placa de sensores.
Las ruedas usadas son ruedas de coche teledirigido de gasolina (Kyosho 260/40ZR18). Dichas ruedas
proporcionan un gran agarre. Las ruedas se acoplan al eje del motor mediante una pieza hexagonal, lo que
permite una gran Iijacion al eje.
4.8.3. Hardware
El hardware del robot se encuentra en dos placa de circuito impreso de dimensiones 11x8 cm y 11x14cm. En
la placa pequea esta el hardware interIace de los sensores. En la placa grande encontramos el hardware de
control de los motores y la CPU del sistema.
Los sensores que detectan la linea negra, estan dispuestos en conIiguracion de semi-elipse con un radio
menor de 4cm y mayor de 5 cm, de modo que su centro coincide con el eje de giro del robot, esto permite al
robot girar sobre si mismo, actuando los sensores como si de un transportador de angulos se tratase. La
disposicion no en Lina recta de los sensores nos da inIormacion en 2 dimensiones en lugar de 1 dimension
(caso sensores Lina recta).
El robot es controlado por dos motores de continua. Para la realizacion del robot hemos usado motores de
jugueteria (Tamiya Planetary Gear Box Set.). Estos motores tienen la particularidad que permiten una
reductora conIigurable por el usuario, desde 16:1 hasta 400:1. De este modo, la velocidad del motor puede
ser ajustada segun la velocidad de respuesta del algoritmo. Cabe destacar el economico precio de dichos
motores (sobre 24t la unidad).

76
El robot tambien tiene un sensor de contacto en la parte Irontal, que permitira detener los motores al chocar
contra algun obstaculo.
El robot es controlado por un microcontrolador PIC16F874 de la Iamilia Microchip |1|. Dicho
microcontrolador tiene un core a 8 bits y Iunciona a 20MHz. Cuenta con 4Kbytes de memoria Flash,
192bytes de RAM y 256Bytes de EEPROM, suIicientes para nuestra aplicacion. La Iamilia de
microcontroladores 16F87x cuenta con un sistema de programacion y debugado en sistema. Con tal Iin, se ha
dispuesto un conector externo que permite conectar el robot a una placa externa que, conectada al PC,
permite la programacion del microcontrolador sin sacarlo.
Los motores son controlados por dos drivers L298|2| en paralelo. Dicha conIiguracion se debe a la
resistencia de conductividad del driver, aproximadamente 1 O, que presenta un orden de magnitud similar a
la impedancia interna del motor, lo que nos hace perder aproximadamente un 40 de la potencia en el driver
en lugar del motor. Al disponer dos L298 en paralelo conseguimos dividir por 2 las perdidas en el driver y
logramos reducir las perdidas hasta 15. Los drivers cuentan con disipadores.
Los sensores que permiten la deteccion de la linea negra usados son los CNY-70 |3|, que integran emisor y
receptor en un mismo encapsulado. Dicho sensor cuenta con un Iiltro optico en el receptor, que bloquea la
luz ambiental.
Esto nos proporciona un sistema de deteccion robusto y de Iacil montaje. Los sensores se han polarizado
mediante una resistencia de 220O. El receptor esta conectado a un ampliIicador operacional en modo
comparador. En la otra pata del comparador se dispone una tension de valor variable, que nos permite
establecer el umbral de decision entre blanco / negro. La salida del comparador va directamente conectada a
un pin de I/O del micro. Este sencillo circuito es muy robusto y nos proporciona una precision y ajuste
suIiciente.
4.8.4. Software
El bucle principal del programa realiza una inspeccion del valor de los sensores y realiza correcciones sobre
la velocidad de los motores en Iuncion de la posicion detectada de la Lina negra. Los sensores se han
dispuesto con una separacion tal que permita haber uno o dos sensores detectando la Lina simultaneamente.
Esto nos otorga 14 niveles de deteccion usando tan solo 7 sensores. El control realizado es pues una version
del algoritmo 'proporcional y derivado. Corregimos la velocidad de los motores de Iorma proporcional a la
derivada del error detectado en los sensores. El error es una simple resta entre el valor actual de los sensores
y el valor de estos cuando el robot va recto. Con el Iin de realizar correcciones suaves cuando la desviacion
del robot es poca y abruptas cuando la desviacion aumenta, usamos la derivada del error. Dado que realizar
la derivada en un microcontrolador de 8 bits es muy costoso, se opta por usar una tabla de valores.
Dada la gran velocidad del robot, es posible que la reaccion de los motores sea tan lenta que la linea ya haya
desaparecido antes de realizar la correccion pertinente.
Para mejorar dicho aspecto, se dota al robot de memoria.
De este modo el robot se acuerda de todo lo que ha pasado (en cierta ventana temporal) y retoma el camino
correcto, aunque ya haya perdido la Lina.
El sistema de traccion es controlado mediante un PWM (Pulse-Width Modulated) y un bit de direccion por
motor.
El PWM es generado via hardware por el microcontrolador, su ciclo de trabajo es conIigurado por el
programa de control.
4.8.5. Conclusin
Podemos observar que el diseo del hardware ha estado bien realizado teniendo en cuenta las perdidas que
da los drivers. Lo unico que podemos ver que se puede modiIicar es la estructura exterior para proteger la
parte donde esta la placa board pero siempre teniendo en cuenta el peso del robot ya que para la competicion
de recorrer un circuito el tiempo es primordial y el peso aIecta en ello directamente.

77
4.9. Robot SUMO MAMPO
4.9.1. Introduccin
El microbot 'Mampo ha sido pensado y diseado para participar en la prueba de sumo. La robusta
estructura de este movil va montada sobre una base de aluminio de 3mm cuyas dimensiones son 19 x 19 cm.
En la parte inIerior de la base se aloja el sistema motriz compuesto por 6 motores de continua con las
respectivas reductoras.
Una caracteristica importante a destacar en la construccion de las ruedas es la traccion, de tipo 'oruga
como un tanque. En la parte superior va dispuesta la bateria, de 6V y 4,5A, la placa de control gobernada por
dos PIC, un 16F876, y otro 16F872. Desde la base se desplaza una rampa delantera y otra trasera una vez
iniciado el combate.

Ilustracin 33: Vista lateral
La plataIorma utilizada lo dota de una Iorma personal y sencilla que a la vez permite la perIecta ubicacion de
todos los elementos sin problemas de sujecion, cableado, etc. Las ruedas centradas permitiran realizar giros
de hasta 360 sin desplazarse de su centro. El movil obtiene una gran estabilidad bajando todo lo posible su
centro de gravedad y colocando la mayor parte del peso en su parte media.
De esta Iorma queda claro que los objetivos que se persiguen son los de dotar al microbot de gran
estabilidad, agilidad y una gran capacidad de giro.
4.9.2. Plataforma mecnica
Ya se han comentado varias cuestiones respecto a la plataIorma utilizada para nuestro microbot, con mas
detalle podemos observar en la ilustracion 33 la disposicion de los elementos en la parte inIerior, se pueden
apreciar los 6 motores y las 2 orugas. Las limitaciones del concurso nos han hecho decidirnos por un diseo propio
basado en una plataIorma cuadrangular de 19cm de lado a unos 5cm del suelo.

Ilustracin 34: Vista inferior
Bajo de la misma se han situado los motores en cuyos ejes se han atornillado las ruedas de 4,5 cm. de
diametro y tambien de 4,5 cm. ancho. La sujecion de los motores se realiza mediante tornilleria M3, de

78
manera que sean Iacilmente desmontables en caso de ser necesario sustituirlos. Los sensores de deteccion de
borde estan situados debajo del chasis, no debiendo ser su distancia al suelo superior a 0,2 cm.
Los laterales estan protegidos por plataIormas de aluminio que van casi rozando el suelo, de esta Iorma
evitamos los ataques con algun tipo de plancha, en la parte Irontal se ha dispuesto una placa que hace de
pala, para esta Iuncion se ha instalado un motor reductor mas.
La placa de control tiene unas dimensiones de 7 x cm., con ello deja lugar para alojar debajo de ella a la
bateria (10 x 7 x cm.) perIectamente a la vez que permite el Iacil acceso a todos los elementos y el cableado.
4.9.3. Hardware
El hardware implementado ha sido realizado en dos placas de circuito impreso |3|: una pequea situada en la
parte lateral para gobernar un motor paso a paso, cuya Iuncion es direccionar una camara para buscar al
oponente, y otra que contiene todo el sistema de control situada encima de la bateria.
Para los sensores opticos se ha utilizado el conocido CNY70 para detectar el borde y para buscar al
adversario se ha incluido un GP2D2 tambien de inIrarrojos.
Como elemento de control del sistema se ha elegido el microcontrolador |4| 16F876 de Microchip por su
sencillez de programacion y versatilidad, trabajando en paralelo con su compaero el 16F872 |5|, este esta
en modo esclavo. Esta pareja es mas que suIiciente para gobernar el microbot.
4.9.4. Software
El algoritmo de control esta jerarquizado de Iorma que cada sensor tiene una preIerencia, los de mayor peso
son los CNY70 luego estan los pulsadores y por ultimo tenemos el GP2D02, es decir mientras no estemos en
el borde de la pista o tocando al contrincante entonces haremos caso al GP2D2, el robot rotara en giros
progresivos de 360 y en caso de no encontrar ningun objeto este avanza unos centimetros y repite la
operacion.
El robot siempre intentara buscar rapidamente al contrincante y atacarle sin mas. Tambien se ha incluido un
motor paso a paso el cual sujeta un CCD de 128*128 pixeles para la localizacion de objetos pero en esta
ocasion esta deshabilitado.
4.9.5. Caractersticas fsicas y elctricas

Ilustracin 35: caractersticas fsicas

Ilustracin 36: caractersticas elctricas




79
5.Estructura de un robot mvil.
5.1. Evolucin del proceso de diseo y construccin.
Para analizar la estructura de un robot movil utilizaremos la siguiente clasiIicacion, en la cual desde el nivel
1 al 6 se especiIica un grado en la evolucion del proceso de diseo y construccion de un robot.
1- Nivel Iisico:
Comprende la estructura Iisica, las unidades motoras, y las etapas de potencia. Es posible encontrar desde
sistemas sumamente sencillos basados en un unico motor, hasta estructuras sumamente complejas que
buscan emular las capacidades mecanicas de algunos insectos.
2- Nivel de reaccion:
Esta Iormado por el conjunto de sensores, asi como los sistemas basicos para su manejo (circuitos de
polarizacion). Estos transductores cubren un amplio margen de posibilidades, asi podemos encontrar desde
simples bumpers (Iinales de carrera) hasta microcamaras digitales con sistemas de reconocimiento.
Un robot que haya superado en cuanto a su construccion tanto el nivel Iisico como el de reaccion, se
denomina robot reactivo. Este tipo de unidades trabajan cumpliendo el principio de accion reaccion. En
este caso, los sensores son los propios controladores de las unidades motoras, sin ningun tipo de control
intermedio, cada evento en los sensores provoca una respuesta por parte del robot, sin ningun tipo de
procesamiento adicional.
3- Nivel de Control:
Incluye los circuitos mas basicos que relacionan las salidas de los sensores con las restantes unidades.
Partiendo de una simple logica digital hasta potentes microcontroladores, se busca dotar al robot de la
capacidad para procesar la inIormacion obtenida por los sensores, asi como actuar de una manera controlada
sobre las unidades motoras.
4- Nivel de Inteligencia:
Abarca la planiIicacion a largo plazo. En este nivel se introducen los objetivos del robot que tienen relativa
independencia de los sensores. Este es el mas alto nivel de inteligencia que puede alcanzar un robot como
una unidad individual.
5- Nivel de Comunidad:
Se trata de la puesta en Iuncionamiento de mas de un robot dentro de un mismo entorno de Iorma simultanea
y sin que ninguno de ellos tenga conocimientos explicitos de la existencia de otros en su mismo entorno A
estos recintos se los denomina granjas.
Los centros de investigacion utilizan las granjas como entornos de observacion de los robots. Dichos
establecimientos pueden contar con sistemas soIisticados que permitan a un operario monitorizar el
comportamiento de la comunidad asi como alterar las condiciones externas del sistema (agregar obstaculos,
cambiar la temperatura, etc.).
6- Nivel de Cooperacion:
Comprende los sistemas donde, a partir de un nivel de comunidad, se planiIican o programan los robots para
que tengan conocimiento de la existencia de otros, de manera que posean la capacidad de cooperar para el
buen desarrollo de una tarea.
Una vez deIinidos estos puntos nosotros nos centraremos exclusivamente en el Aivel Fisico centrandonos
sobre todo en los motores y servomotores utilizados.

80
5.2. Nivel Fsico
5.2.1. Motores y servomotores
Dentro del nivel Iisico comenzaremos con los motores. A la hora de elegir un motor para aplicaciones de
robotica movil, debemos tener en cuenta que existen varios Iactores como son la velocidad, el par, el
Irenado, la inercia y el modo de control.
Si lo que queremos es utilizar un motor de corriente continua existen varias posibilidades en el mercado.

Motores de corriente continua.
Dentro de la gran variedad de tipos existentes en el mercado, los mas economicos son los que se utilizan en
algunos juguetes, pero tienen el inconveniente de que su numero de revoluciones por segundo (RPS) es muy
elevado, lo que no les hace muy apropiados para la construcion de un robot que, por ejemplo siga una linea,
si no se utilizan reductores adicionales o un sistema de regulacion electronico.


Motor de corriente continua del tipo de los utilizados en los dispositivos de cinta magntica


81

Motor de corriente continua del tipo de los que se utilizan en los juguetes

Motores de corriente continua con reductores.
En los juguetes del tipo Mecano o Lego. Podemos encontrar motores con reductores o sistemas reductores
para acoplar a los motores. Esta es una buena opcion si se dispone de ellos, en caso contrario, existen en el
mercado motores reductores (como el que se representa a continuacion) que ademas de disminuir la
velocidad le dan mas potencia al robot para moverse, dada su estructura y la bateria (que proporcionalmente
pesa mucho) y otros objetos para lo cual se necesita disponer de motores con buen par de arranque.



Motor reductor de relacin 194:1 con doble eje
dimetro 2.4 x mm

82

Motor reductor de relacin 23:1 con doble eje
dimetro 4 x 4 mm, tensin de trabajo entre
1.5J y 12J




Motor con reductor de relacin 17:1 con doble eje
de dimetro 4 x 2 mm, tensin de trabajo entre
1.5J y 12 J





83

Motor reductor de relacin 1:1 con doble eje de
dimetro 2 x 2 mm, tensin de trabajo entre
1.5J y 4.5J

Servomotores.
De los utilizados en modelismo y radiocontrol, se trata de unos motores con un circuito electronico. Estos
servomotores cumplen una caracteristica que les hacen idoneos para la construccion de nuestros robots, tales
como un buen par de salida, potencia suIiciente para trasladar objetos o una bateria, baja inercia, son capaces
de mover 3,5 Kg/cm, incluyen multitud de accesorios para poder Iijar a una estructura plana, al ir dentro de
una carcasa de plastico rectangular con soportes para Iijar los tornillos.
Pero tienen un pequeo inconveniente y es que hay que trucarlos para que el eje del motor pueda girar los
360, ya que normalmente no giran mas de 180 por motivos de seguridad en las aplicaciones para las que
estan diseados. A continuacion se muestran los pasos a realizar para convertir los servomotores en motores
con desmultiplicadores, es decir, para trucarlos. El modelo que vamos a trucar es de la casa Hitec y el
modelo es el HS-300BB.







84
Los servomotores de origen son tan solo capaces de girar como mucho 180 como es requerido para las
aplicaciones para los que estan pensados inicialmente, esta restriccion viene impuesta por unos topes
mecanicos que limitan el giro a 180 y un circuito electronico. Si eliminamos las dos cosas podemos
conseguir el giro de 360 y por lo tanto que se comporte como un motor DC con caja reductora.



Se quitan los cuatro tornillos de la tapa posterior y al quitarla se pueden ver un circuito electronico, que esta
metido a presion, para poder quitarlo hay quitar el tornillo que sujeta el eje potenciometro por la parte de los
engranajes que estan en la cara opuesta a la que hemos abierto





Quitamos el tornillo que sujeta el soporte de la rueda tractora al eje que es su estriado, por lo que habra que
sacarla despues a presion.





85


Desmontar las ruedas dentadas, teniendo mucho cuidado de no perder ninguna de ellas, prestar atencion al
pequeo eje que hay entre las ruedas intermedias, en algunos modelos de servomotor es movil, en este caso
esta Iijado a la carcasa. Con unos alicates de punta plana podemos quitar ahora la tuerca que sujeta el
potenciometro.

5.2.2. Estructura

Para la construccion de un robot movil podemos utilizar muchos tipos de estructuras, que dependeran de la
Iuncion que queramos realizar, no es lo mismo disear un robot bipedo que un rastreador.
Una de las estructuras mas utilizadas es la de los juegos de Lego, Mecano o Eitech interesantes por su
Ilexibilidad, y de Iorma un poco mas proIesional las estructuras de los Fischertechnik que Iueron diseadas
originariamente para aplicaciones tecnicas tanto estaticas como de estructuras mecanicas con movimiento.




Robot con estructura Fischertechnik

86




Robot con estructura Mecano


A la hora de disear la traccion del robot utilizando ruedas, podemos pensar en varias opciones que podemos
utilizar dependiendo de la aplicacion que se le quiera dar al robot. Asi pues podemos optar por una estructura
Iormada por dos ruedas a traccion independientes y una rueda loca como la que se muestra en la Iigura
siguiente:




87
o por una estructura de triciclo como muestra la Iigura siguiente Iormada por dos ruedas de taccion y una de
direccion independientes:





o por una estructura similar a los coches tradicionales Iormada por dos ruedas tractoras con control de la
direccion y dos ruedas sin traccion como la que se muestra a continuacion.




Finalmente tenemos una estructura Iormada por dos ruedas controladas cada una por un motor y una rueda
loca:

88


Los siguientes pasos a seguir a la hora de construir un robot movil se realizaran a partir de esta ultima
estructura que nos servira de base para la construccion del robot.


5.2.3. Movilidad de la estructura
La estructura que hemos elegido para seguir desarrollando la construccion de un robot movil os permitira
realizar movimientos hacia adelante, hacia atras, giro a la derecha, giro a la izquierda y por supuesto realizar
un giro sobre si mismo, tal y como puede verse en las siguientes Iiguras:





89
Figura A: Movimiento hacia atras, se hacen girar los dos motores en la misma direccion hacia atras (sentido
contrario a las agujas del reloj). Esto provoca un movimiento rectilineo suponiendo que los dos motores son
exactamente iguales.

Figura B: Movimiento hacia delante, se hacen girar los dos motores en la misma direccion hacia delante
(sentido horario). Esto provoca un movimiento rectilineo suponiendo que los dos motores son exactamente
iguales.

Figura C: Movimiento de giro a la izquierda, se hacen girar el motor izquierdo en sentido antihorario (hacia
atras) y el motor de la derecha en sentido horario (hacia adelante). Esto provoca un movimiento de giro a la
izquierda de la estructura.

Figura D: Movimiento de giro a la derecha, se hacen girar el motor izquierdo en sentido horario (hacia
delante) y el motor de la derecha en sentido antihorario (hacia atras). Este provoca un movimiento de giro a
la derecha de la estructura.
5.2.4. Proceso de construccin
En primer lugar se marcan las placas (por ejemplo de poliestireno) con un rotulador para poder luego taladrar
a 10 mm. de cada esquina. Esto lo haremos sin quitar el plastico protector contra araazos que llevan
pegadas por encima las placas de poliestireno, de esta manera, despues quedaran totalmente limpias y sin
araazos.
Paso 1: Trazado de las placas de poliestireno. Una vez marcadas las placas pasaremos a taladrar cada una de
las placas utilizando un taladro. Utilizaremos una broca para metal de 3mm. ya que estos taladros son para
Iijar posteriormente unos separadores metalicos de los utilizados para Iijar las placas de circuito impreso a
los chasis o cajas.




Paso 2: Taladro de las placas utilizando un taladro de sobremesa. Estos motores tienen la ventaja de su bajo
precio pero el inconveniente de que la velocidad que alcanzan es grande y por lo tanto son mas diIiciles de
controlar.
Antes de realizar el montaje, se recomienda soldar unos cables Ilexibles a los terminales del motor, ya que
ahora era mas Iacil que cuando este montado.


90



Paso 3: Motor con reductor de doble eje sobre el que se han realizado taladros para su anclaje con tornillos a
la estructura del robot.
Como tercer punto de apoyo de nuestra estructura vamos a utilizar una 'rueda loca de las que se pueden
encontrar en cualquier Ierreteria. Como rueda loca puede incluso utilizarse un rolon de desodorante con la
oportuna adaptacion para Iijarla en la estructura.




Paso 4: Ruedas locas. El siguiente paso es Iijar los motores y la rueda loca a nuestra estructura utilizando
tornillos, es recomendable que todos los tornillos sean del mismo paso, por ejemplo de metrica 3, de esa
Iorma podremos intercambiarlos y ademas de esta Iorma con una sola broca podremos hacer todos los
taladros.
Estamos ya preparados para montar el piso superior.


91


Paso 5: Motores con sus ruedas y la rueda loca Iijadas a la estructura inIerior del robot. Para montar el piso
superior hemos utilizado separadores de los utilizados por los circuitos impresos para Iijarlos a los chasis
metalicos. Para conseguir una separacion de 30 mm. hemos utilizado cuatro separadores de 20 mm. y otros
cuatro de 10 mm. y los correspondientes tornillos de 20 y 10 mm.




Paso 6: Las dos plataIormas montadas y preparadas para soportar la bateria o baterias del robot y su
circuiteria electronica.





92
5.2.5. Relacin de material para la construccin de un determinado robot mvil

Para dar idea de los materiales necesarios para la construccion de un robot movil dejaremos el robot descrito
en el apartado anterior y utilizaremos uno de los robots moviles mas caracteristicos: el HEXAPODO.




Sin proIundizar mucho en este robot (ya que hay trabajos especiIicos sobre este) realizaremos una relacion
de todos los materiales necesarios para construirlo (sin tener en cuenta la parte electronica).










93
Proceso a seguir
La estructura la podemos realizar con PVC de 3mm. Una vez tenemos la plantilla con la estructura del
hexapodo pasaremos a cortar la plancha de PVC.


Corte de la estructura del hexpodo utilizando una fresadora de control numrico

Para realizar el corte de la plancha lo mas comodo es utilizar un programa CAD y una maquina de control
numerico, pero tambien se puede utilizar una segueta o una maquina caladora con motor electrico para
realizar los cortes y un taladro de sobremesa para hacer los taladros. Una vez cortadas las piezas, se puede
pasar al ensamblaje de las mismas.









94
Ensamblaje paso a paso
En esta Ioto se puede apreciar por la parte inIerior como se han Iijado los servomotores de radiocontrol por la
parte inIerior de la estructura del hexapodo.





A continuacion pueden verse los servomotores por la parte superior de la estructura como se han Iijado los
separadores en los que se sujetaran las patas sin traccion propia. Estas patas deben tener un movimiento libre,
por lo que no deben apretarse los tornillos o bien como se puede ver en la Ioto siguiente, se mete la cabeza
del tornillo por la parte inIerior y utilizamos una tuerca antiblocante para Iijar la pata, esto tiene la ventaja de
que el tornillo no se desenroscara.




95
Seguidamente se procedera a la Iijacion de las patas centrales al servomotor, hay que procurar que el motor
este en el centro del recorrido y que las dos patas en esta posicion apoyen en el suelo.




Se puede apreciar como se han Iijado las patas motoras a las patas sin servomotor con la varilla de hierro.







96
Despues de una pequea descripcion de como poder montar un robot hexapodo podemos ya realizar la
relacion de material para su construccion:





























Relacin de material para la construccin de la
estructura del hexpodo


Plancha de PVC de 3mm. de espesor y 210x297 mm.

4 Tornillos metrica 3 de 20 mm.

2 Tornillos metrica 3 de 15 mm.

16 Tornillos metrica 3 de 10 mm.

24 Tuercas metrica 3

4 tuercas metrica 3 autoblocantes

28 arandelas para los tornillos de metrica 3

1 m de arilla de hierro de 1.5 mm de diametro

8 clemas de circuito impreso

2 pletinas de aluminio de 60x18 mm. (aprox.)

97
6. Conclusiones
Con este trababjo o miniproyecto hemos visto el amplio campo de la robotica movil y las vertientes
mas importantes de esta. Hemos visto que igual que paso con la Iamilia de microcontroladores 16F84X ahora
esta sucediendo poco a poco con la Iamilia 16F87X y por tanto una nueva Iamilia de micros empieza a coger
importancia en el mercado, esta Iamilia es la 18FXXX. Hay que decir que hemos podido observar la
importancia que tiene el micro en estos montajes, ya que desempea las principales Iunciones que tienen que
ver con el movimiento y decision. Seria interesante poder introducir algo de esta materia en el temario ya que
el estudio de robots moviles nos aportaria a los electronicos un mayor numero de conocimientos mecanicos.
Este trabajo tambien nos ha servido para ver el gran numero de actuadores, reductores, estructuras pero lo
mas importante ha sido la relacion que debe tener entre los diversos elementos para la estabilidad y buen
Iuncionamiento del mecanismo.
























98
BIBLIOGRAFIA

Escuela Politcnica de Matar.

An Introduction to Robot Technology
Philippe CoiIIet y Michel Chirouze
Editorial Mc Graw Hill.
Primera edicion
1983.
Principios de Electrnica.
Albert Paul Malvino.
Editorial Mc Graw Hill.
Quinta edicion 1996.

PIC 16/17 MICROCONTRO-LLER DATA
BOOK 1995/1996.

Revista Resistor. numeros 184, 185, 186, 188, 190, 193













99
Sitios Web

Programador del pic16f87x

http://www.geocities.com/pic800/

http://www.todoelectronica.8k.com/esquemapic.htm


Data sheets

http://www.x-robotics.com/soItware.htm

http://tapec.uv.es/edupic/manual.html


Caractersticas especiales

http://autric.com/Microbotica20y20Mecatronica/Isr.htm


Informacin general

http://www.microchip.com/index.asp


Informacin sobrte robots

http://lorca.umh.es/isa/es/temas/micros/doc/doc.html


100
http://www.robotstore.com

http://www.legomindstorms.com

http://www.world.sony.com/aibo

http://www.personalrobots.com/main.html

http://www.domotique.org


Aplicacions

http://www.microcontroladores.com/microbotica.asp

http://kim.ece.buap.mx/robocatepetl/espanol/jgx.htm#jg1

http://kim.ece.buap.mx/robocatepetl/espanol/inIormac.htm

http://www.sec.upm.es/agustin/actividades/championbot/champion.html

http://venus.javeriana.edu.co/tgrado/index.html

http://venus.javeriana.edu.co/tgrado/2002-1/platarobot.pdI

http://robotica.udl.es

http://lorca.umh.es/isa/es/temas/micros/doc/doc.html

http://perso.wanadoo.es/litriss/Pages/Ieature.html

101

www.euss.es

http://www.yahoo.com

www.terra.es/personal/Iremiro

www.microbotica.es

http://www.microcontroladores.com/microbotica.asp

También podría gustarte