3. Introducción a los microcontroladores.

Anuncio
DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA
GRADO
LICENCIATURA EN INGENIERÍA ELECTRÓNICA
PROYECTO DE INGENIERÍA ELECTRÓNICA
ROBOT MÓVIL AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR
Y
RF(RADIO FRECUENCIA)
ASESOR
DR. FAUSTO CASCO SÁNCHEZ
ALUMNOS
PÉREZ LÓPEZ JOEL
CASTRO VARGAS AMILCAR JAVIER
PROYECTO DE INGENIERÍA ELECTRÓNICA
FIFFFIGURA
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
INDICE
1. PLANTEMIENTO GENERAL ........................................................................... 5
1.1 Objetivo ................................................................................................... 5
1.2 Descripción .............................................................................................. 5
2. INTRODUCCION A LA ROBOTICA ................................................................ 6
2.1 Definición de Robot. .................................................................................. 6
2.4 Tipos de robot. ......................................................................................... 7
2.3 Robots Móviles. ....................................................................................... 10
3. INTRODUCCIÓN A LOS MICROCONTROLADORES. ..................................... 18
3.1 Controlador y microcontrolador. ................................................................ 18
3.2 Diferencia entre microprocesador y microcontrolador. .................................. 20
3.3 Aplicaciones de los microcontroladores. ..................................................... 22
3.4 El mercado de los microcontroladores. ....................................................... 23
3.5 ¿Qué microcontrolador emplear? ............................................................... 24
3.6 Recursos comunes a todos los microcontroladores. ...................................... 28
3.6.1 Arquitectura básica ......................................................................... 28
3.6.2 El procesador o CPU ........................................................................ 30
3.6.3 Memoria ........................................................................................ 31
3.6.4 Puertas de Entrada y Salida ............................................................. 34
3.6.5 Reloj principal ................................................................................ 34
3.7 Recursos especiales ................................................................................. 34
3.7.1 Temporizadores o “Timers” .............................................................. 35
3.7.2 Perro guardián o “Watchdog”............................................................ 36
3.7.3 Protección ante fallo de alimentación o “Brownout” ............................. 36
3.7.4 Estado de reposo ó de bajo consumo ................................................. 36
3.7.5 Conversor A/D (CAD) ...................................................................... 37
3.7.6 Conversor D/A (CDA) ..................................................................... 37
3.7.7 Comparador analógico ..................................................................... 37
3.7.8 Modulador de anchura de impulsos o PWM ......................................... 37
3.7.9 Puertas de E/S digitales ................................................................... 38
3.7.10 Puertas de comunicación ................................................................ 38
3.8 Herramientas para el desarrollo de aplicaciones. ............................................. 39
4. LA FAMILIA DE LOS PIC COMO ELECCIÓN. ................................................ 41
4.1 Características relevantes......................................................................... 42
2
PROYECTO DE INGENIERÍA ELECTRÓNICA
FIFFFIGURA
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
4.1.1 Arquitectura. .................................................................................. 42
4.1.2 Segmentación. ............................................................................... 42
4.1.3 Formato de las instrucciones. ........................................................... 43
4.1.4 Juego de instrucciones..................................................................... 43
4.1.5 Todas las instrucciones son ortogonales ............................................. 43
4.1.6 Arquitectura basada en un “banco de registros” .................................. 43
4.1.7 Diversidad de modelos de microcontroladores con prestaciones y recursos
diferentes............................................................................................... 43
4.1.8 Herramientas de soporte potentes y económicas................................. 44
4.2 Las gamas de PIC.................................................................................... 44
4.2.1 La gama enana: PIC12C(F)XXX de 8 pines ......................................... 45
4.2.2 Gama baja o básica: PIC16C5X con instrucciones de 12 bits................. 46
4.2.3 Gama media. PIC16CXXX con instrucciones de 14 bits ......................... 48
4.2.4 Gama alta: PIC17CXXX con instrucciones de 16 bits. ........................... 49
5. MOTORES .................................................................................................. 51
5.1 Concepto ............................................................................................... 51
5.2 Motores de C.A. ...................................................................................... 51
5.2.1 Concepto ....................................................................................... 51
5.2.2 Tipos de motores de C.A. ................................................................. 52
5.3 Motores CD ............................................................................................ 53
5.3.1 Concepto ....................................................................................... 53
5.3.2 Tipos de motores de CD ................................................................... 53
5.3.2 Motores convencionales de imán permanente ..................................... 54
5.3.3 Motores de paso ............................................................................. 56
5.3.3.1 Estructura ............................................................................. 56
5.3.3.2 Principio de operación ............................................................ 58
6. PUENTE H. ................................................................................................ 61
6.2 Características ........................................................................................ 61
6.3 Funcionamiento ...................................................................................... 62
6.4 Presentaciones de los Puentes H. .............................................................. 63
6.4 Configuraciones del L293. ........................................................................ 64
7. PLANIFICACIÓN Y DISEÑO DEL ROBOT MÓVIL AUTONOMO. ..................... 67
7.1 Descripción de niveles de un robot autónomo ............................................. 67
7.2 Nivel Físico ............................................................................................. 67
7.2.1 Motores de corriente continua ............................................................ 67
3
PROYECTO DE INGENIERÍA ELECTRÓNICA
FIFFFIGURA
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
7.2.2 Estructura ....................................................................................... 68
7.2.3 Movilidad de la estructura: Ruedas o llantas ........................................ 69
7.2.4 Etapa de potencia ............................................................................. 71
7.3 Nivel de Reacción y Control ...................................................................... 76
8. CONCLUSIONES ........................................................................................ 78
9. BIBLIOGRAFIA ......................................................................................... 80
ANEXOS ....................................................................................................... 82
4
PROYECTO DE INGENIERÍA ELECTRÓNICA
FIFFFIGURA
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
1. PLANTEMIENTO GENERAL.
1.1 Objetivo.
El análisis, diseño y construcción de un autómata de tipo ROVER, utilizando como medio de
comunicación la radio frecuencia y un microcontrolador para la lógica de control.
1.2 Descripción.
Nuestro diseño esta comprendido por dos grandes etapas, la primera comprende la codificación
de las instrucciones de movimiento, así como su envío a través de R. F., la segunda comprende tres
bloques los cuales son Recepción, Microcontrolador y Potencia, en esta última incluimos los motores.
TRANSMISOR
RECEPTOR
CODIFICADOR
DE
INSTRUCCIONES
MICROCONTROLADOR
POTENCIA
MOTORES
Figura 1.1 Diagrama a Bloques
5
PROYECTO DE INGENIERÍA ELECTRÓNICA
FIFFFIGURA
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
2. INTRODUCCION A LA ROBOTICA
2.1 Definición de Robot.
Un robot es un dispositivo electro-mecánico, que
desempeña tareas automáticamente, ya sea de acuerdo a
supervisión humana directa, a través de un programa predefinido
o siguiendo un conjunto de reglas generales, utilizando técnicas
de inteligencia artificial.
Generalmente estas tareas reemplazan, asemejan o
extienden el trabajo humano, como ensamble en líneas de
manufactura, manipulación de objetos pesados o peligrosos,
trabajo en el espacio, etc.
Un robot también se puede definir como una entidad
Figura 2.1 Robot tipo humano
(fabricado por Toyota)
hecha por el hombre con un cuerpo y una conexión de
retroalimentación inteligente entre el sentido y la acción – no
bajo la acción directa del control humano. Usualmente, la inteligencia es una computadora o un
microcontrolador ejecutando un programa. Sin embargo, se ha avanzado mucho en el campo de los
robots con inteligencia alámbrica. Las acciones de este tipo de robots son generalmente llevadas a cabo
por motores o actuadores que mueven extremidades o impulsan al robot.
Asimismo, el término robot ha sido utilizado como un término general que define a un hombre
mecánico o autómata, que imita a un animal ya sea real o imaginario, pero se ha venido aplicando a
muchas máquinas que reemplazan directamente a un humano o animal en el trabajo o el juego. Esta
definición podría implicar que un robot es una forma de biomimetismo.
“En la Tierra a menudo los robots asumen tareas repetitivas o cuando la salud humana puede correr
peligro. Son utilizados para ensamblar automóviles, desactivar bombas, soldar tubos en el fondo del
mar y trabajos en centrales nucleares”, comenta Gianfranco Visentin, Jefe de Automatización de la
Sección de Robótica de la ESA en el ESTEC, Holanda.
6
PROYECTO DE INGENIERÍA ELECTRÓNICA
FIFFFIGURA
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
Figura 2.2 Prototipo del Aramies/Escorpion
“En el espacio es aún más atractivo utilizar robots”, acentúa. “Pueden apoyar o sustituir a la gente
para realizar las tareas que son demasiado peligrosas, difíciles, repetitivas, que consumen mucho
tiempo o incluso imposibles para los astronautas. Pueden ser más rápidos y precisos que las
personas” En broma añade, “Pueden trabajar 24 horas al día y no se detienen para almorzar o
dormir”.
2.4 Tipos de robot.
Es complejo dar una clasificación exacta de estos, pues depende mucho del área de aplicación
para la cual se diseña y construye un robot, así como el software y el tipo de mecanismos que lo hacen
funcionar. Normalmente pueden ser clasificados de acuerdo a su generación, a su nivel de inteligencia,
a su nivel de control, y a su nivel de lenguaje de programación
La generación de un robot se determina por el orden histórico de desarrollos en la robótica.
Cinco generaciones son normalmente asignadas a los robots industriales. La tercera generación es
utilizada en la industria, la cuarta se desarrolla en los laboratorios de investigación, y la quinta
generación aún no existe.
7
PROYECTO DE INGENIERÍA ELECTRÓNICA
FIFFFIGURA
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
1. Robots Play-back, los cuales regeneran una secuencia de instrucciones grabadas, como un
robot utilizado en recubrimiento por spray o soldadura por arco. Estos robots comúnmente
tienen un control de lazo abierto.
2. Robots controlados por sensores, estos tienen un control en lazo cerrado de movimientos
manipulados, y hacen decisiones basados en datos obtenidos por sensores.
3. Robots controlados por visión, donde los robots pueden manipular un objeto al utilizar
información desde un sistema de visión.
4. Robots controlados adaptablemente, donde los robots pueden automáticamente reprogramar
sus acciones sobre la base de los datos obtenidos por los sensores.
5. Robots con inteligencia artificial, donde los robots utilizan las técnicas de inteligencia artificial
para hacer sus propias decisiones y resolver problemas.
6. Los robots médicos son fundamentalmente, prótesis que se adaptan al cuerpo y están dotados
de potentes sistemas de mando. Con ellos se logra igualar al cuerpo con precisión los
movimientos y funciones de los órganos o extremidades que suplen.
7. Los androides son robots que se parecen y actúan como seres humanos. Los robots de hoy día
vienen en todas las formas y tamaños, pero a excepción de los que aparecen en las ferias y
espectáculos, no se parecen a las personas y por tanto no son androides. Actualmente, los
androides reales sólo existen en la imaginación y en las películas de ficción.
8. Los robots móviles están provistos de patas, ruedas u orugas que los capacitan para desplazarse
de acuerdo a su programación. Elaboran la información que reciben a través de sus propios
sistemas de sensores y se emplean en determinado tipo de instalaciones industriales, sobre todo
para el transporte de mercancías en cadenas de producción y almacenes. También se utilizan
8
PROYECTO DE INGENIERÍA ELECTRÓNICA
FIFFFIGURA
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
robots de este tipo para la investigación en lugares de difícil acceso o muy distantes, como es
el caso de la exploración espacial y las investigaciones o rescates submarinos.
La Asociación de Robots Japonesa (JIRA) clasifica los robots dentro de seis clases tomando
como base su nivel de inteligencia:
1. Dispositivos de manejo manual, controlados por una persona.
2. Robots de secuencia arreglada.
3. Robots de secuencia variable, donde un operador puede modificar la secuencia fácilmente.
4. Robots regeneradores, donde el operador humano conduce el robot a través de la tarea.
5. Robots de control numérico, donde el operador alimenta la programación del movimiento,
hasta que se enseñe manualmente la tarea.
6. Robots inteligentes, los cuales pueden entender e interactuar con cambios en el medio
ambiente.
Los programas en el controlador del robot pueden ser agrupados de acuerdo al nivel de control
que realizan.
1. Nivel de inteligencia artificial, donde el programa aceptará un comando como "levantar el
producto" y descomponerlo dentro de una secuencia de comandos de bajo nivel basados en un
modelo estratégico de las tareas.
2. Nivel de modo de control, donde los movimientos del sistema son modelados, para lo que se
incluye la interacción dinámica entre los diferentes mecanismos, trayectorias planeadas, y los
puntos de asignación seleccionados.
3. Nivel de servo sistemas, donde los actuadores controlan los parámetros de los mecanismos con
el uso de una retroalimentación interna de los datos obtenidos por los sensores, y la ruta es
9
PROYECTO DE INGENIERÍA ELECTRÓNICA
FIFFFIGURA
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
modificada sobre la base de los datos que se obtienen de sensores externos. Todas las
detecciones de fallas y mecanismos de corrección son implementadas en este nivel.
En la clasificación final se considerara el nivel del lenguaje de programación. La clave para una
aplicación efectiva de los robots para una amplia variedad de tareas, es el desarrollo de lenguajes de
alto nivel. Existen muchos sistemas de programación de robots, aunque la mayoría del software más
avanzado se encuentra en los laboratorios de investigación. Los sistemas de programación de robots
caen dentro de tres clases:
1.- Sistemas guiados, en el cual el usuario conduce el robot a través de los movimientos a ser
realizados.
2.- Sistemas de programación de nivel-robot, en los cuales el usuario escribe un programa de
computadora al especificar el movimiento y el censado.
3.- Sistemas de programación de nivel-tarea, en el cual el usuario especifica la operación por
sus acciones sobre los objetos que el robot manipula.
2.3 Robots Móviles.
De acuerdo a la definición anterior podemos decir que en el campo de la Robótica se entiende
por Robot Móvil a todo robot que utiliza ruedas u orugas como sistema de locomoción.
Tradicionalmente a los robots móviles se les denomina ROVER o trotamundos.
Figura 2.3 Ejemplos de robots ROVER
10
FIFFFIGURA
PROYECTO DE INGENIERÍA ELECTRÓNICA
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
2.4 Niveles de Desarrollo.
Una posible organización para el diseño y construcción de robots es la propuesta por la empresa
Microbótica: dividir el proceso de creación de robots en seis niveles distintos. A esta técnica la han
llamado La TorreBOT.
La conclusión de cada una de estas etapas no permitirá tener robot móvil robusto y fiable en su
funcionamiento, así como mayor capacidad de independencia.
Nivel de cooperación
Nivel 6
Nivel 5
Nivel de comunidad
Nivel 4
Nivel de Inteligencia
Nivel 3
Nivel de Control
Nivel 2
Nivel de Reacción
Nivel 1
Nivel Físico
Figura 2.4 Niveles de desarrollo de un Micro robot
2.4.1 Nivel físico.
En este nivel, el primero de todos en el proceso de construcción, hay que: determinar cuál será la
estructura física del robot; qué y cuántos motores se van a utilizar y cómo se van a disponer en la
estructura; y qué y cuántas etapas de potencias se van a necesitar.
a) Estructuras.
Para la construcción de un robot se pueden utilizar muchos tipos de estructuras, que dependerán
de la función que se quiera realizar. La estructura es la encargada de darle forma al robot y sostener sus
componentes. Puede estar constituida por numerosos materiales, como plásticos, metales, etc. y tener
muchas formas diferentes. Así como en la naturaleza, los robots pueden ser del tipo "endoesqueleto",
donde la estructura es interna y los demás componentes externos, o "exoesqueleto", donde la
estructura es externa y cubre los demás elementos. Los medios de locomoción son sistemas que
permiten al robot desplazarse de un sitio a otro si éste debe hacerlo. El más utilizado y simple es el de
las ruedas, y le siguen en importancia las patas y las orugas. A la hora de diseñar la tracción del robot
utilizando ruedas, se puede optar por las siguientes estructuras generales:
11
PROYECTO DE INGENIERÍA ELECTRÓNICA

FIFFFIGURA
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
Estructura con dirección diferencial, formada por dos ruedas de tracción independientes y una
rueda loca (rueda capaz de rodar y pivotar sobre si misma).

Estructura de triciclo, formada por dos ruedas de tracción y una de dirección independientes.

Estructura similar a los coches tradicionales, formada por dos ruedas tractoras con control de
la dirección y dos ruedas sin tracción.
b) Motores.
A la hora de elegir un motor, se debe tener en cuenta que existen varios factores como
son: la velocidad, el par de arranque, el frenado, la inercia y el modo de control. Los motores
que se emplean con más frecuencia en los robots para producir movimiento son los motores
eléctricos y los servomotores, aunque también existen los hidráulicos y los neumáticos. Ya
dedicaremos el capítulo 5 para describir la teoría relacionada con este tema.
c) Etapas de potencia.
La fuente de alimentación de los robots depende de la aplicación que se les dé a los
mismos. Así, si el robot se tiene que desplazar autónomamente, se alimentará seguramente con
baterías eléctricas recargables, mientras que si no requiere desplazarse, o sólo lo debe hacer
mínimamente, se puede alimentar mediante corriente alterna a través de un convertidor. En los
robots de juguete o didácticos se pueden emplear baterías comunes o pilas, y en los de muy
bajo consumo celdas solares.
2.4.2 Nivel de reacción.
En este nivel se agrupan los transductores, sensores y los sistemas básicos para el manejo de
variables externas que determinan una cierta respuesta o comportamiento, además le dan mayor grado
de independencia a un robot.
12
FIFFFIGURA
PROYECTO DE INGENIERÍA ELECTRÓNICA
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
Los diagramas de respuestas a estímulos se utilizan para la representación gráfica de
comportamientos específicos. Cada comportamiento se representa como una respuesta a un
estímulo dado:
Figura 2.5 Diagrama de respuesta a estímulos
Al igual que los diagramas de respuestas a estímulos, cada comportamiento se representa
como una respuesta a un estímulo dado, pero utilizando notación matemática:
c (e) = r
donde: c es un comportamiento determinado, e es un estímulo y r es una respuesta.
El diagrama de respuestas a estímulos es la metodología más intuitiva para expresar el
comportamiento.
2.4.2.1 Transductores y sensores.
Un transductor es un dispositivo que transforma un tipo de variable física (por ejemplo,
fuerza, presión, temperatura, velocidad, etc.) en otro. Un sensor es un transductor que se
utiliza para medir una variable física de interés. Cualquier sensor o transductor necesita esta
calibrado para ser útil como dispositivos de medida. La calibración es el procedimiento
mediante el cual se establece la relación entre la variable medida y la señal de salida
convertida.
Los transductores y los sensores pueden clasificarse en dos tipos básicos,
13
PROYECTO DE INGENIERÍA ELECTRÓNICA
FIFFFIGURA
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
dependiendo de la forma de la señal convertida. Los dos tipos son: transductores analógicos,
transductores digitales
Los transductores analógicos proporcionan una señal analógica continua, por ejemplo
voltaje o corriente eléctrica. Esta señal puede ser tomada como el valor de la variable física
que se mide. Las señales eléctricas suministradas pueden ser manipuladas por circuitos
electrónicos, cuantificadas por conversores A/D y analizadas por microcontroladores.
Los transductores digitales producen una señal de salida digital, en la forma de un
conjunto de bits de estado en paralelo o formando una serie de pulsaciones que pueden ser
contadas. En una u otra forma, las señales digitales representan el valor de la variable
medida. Los transductores digitales suelen ofrecer la ventaja de ser más compatibles con las
computadoras digitales que los sensores analógicos en la automatización y en el control de
procesos.
Un sensor es un dispositivo capaz de transformar magnitudes físicas o químicas,
llamadas variables de instrumentación, en magnitudes eléctricas. Las variables de
instrumentación dependen del tipo de sensor y pueden ser por ejemplo temperatura, intensidad
luminosa, distancia, aceleración, inclinación, desplazamiento, presión, fuerza, torsión,
humedad, pH, etc. Una magnitud eléctrica obtenida puede ser una resistencia eléctrica (como
en una RTD), una capacidad eléctrica (como en un sensor de humedad), una tensión eléctrica
(como en un termopar), una corriente eléctrica (como un fototransistor), etc. Un sensor se
diferencia de un transductor en que el sensor está siempre en contacto con la variable a medir
o a controlar. Recordando que la señal que nos entrega el sensor no solo sirve para medir la
variable, si no también para convertirla mediante circuitos electrónicos en una señal estándar
(4 a 20 mA, o 1 a 5V DC) para tener una relación lineal con los cambios de la variable sensada
dentro de un rango (span), para fines de control de dicha variable en un proceso.

Sensores de fuerza: micro-interruptores, “bigotes”, acelerómetros, sensores de
curvatura.
14
PROYECTO DE INGENIERÍA ELECTRÓNICA
FIFFFIGURA
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.

Sensores de sonido: micrófonos, sensores de películas piezoeléctricas, sonar.

Sensores de posición y orientación: encoders, giroscopios, sensores de inclinación,
acelerómetros, brújulas.

Sensores de proximidad: infrarrojos, sonar, láser.

Sensores de contacto: bumpers, materiales que cambian la resistencia o capacitancia al
acercarse a un obstáculo, “bigotes”, sensores de curvatura, medidores de corriente.

Sensores internos (permiten al robot conocer su estado interno en cada momento):
encoders, brújulas, giroscopios, acelerómetros, GPS, medidores de energía, medidores
de corriente, medidores de temperatura.
2.4.3 Nivel de control.
Esta etapa incluye los circuitos electrónicos desde los más básicos como compuertas básicas
digitales, flip-flop´s, PAL´s y GAL´s, hasta los más complejos como microprocesadores y/o
microcontroladores o FPGA´s. Los microcontroladores con más éxito son los PIC, fabricados por la
empresa americana Arizona Microchip. Son microcontroladores que, por su bajo costo y sus altas
prestaciones, pueden ser utilizados en pequeños y grandes proyectos. Todos sus circuitos comparten la
misma arquitectura interna y disponen de recursos similares, aunque poseen diferentes tamaños de
memoria, distinto número de puertos de E / S, etc. Sus características principales las analizaremos en el
capítulo 4.
2.4.4 Nivel de inteligencia.
En
esta
etapa
debemos
considerar el funcionamiento del robot
a través de algoritmos programados
con
cierta
independencia
de
los
sensores. Esta etapa es una de las más
complejas
autómatas.
Figura 2.6 Algoritmo de visión a través de un FPGA.
15
.
dentro
del
diseño
de
PROYECTO DE INGENIERÍA ELECTRÓNICA
FIFFFIGURA
16
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
PROYECTO DE INGENIERÍA ELECTRÓNICA
FIFFFIGURA
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
2.4.5 Nivel de comunidad
Este
nivel
comprende
el
funcionamiento de varios robots sin
que ninguno tenga conocimiento
explícito de la existencia de otros
robots en el mismo entorno.
Figura 2.7 Comunidad de robots cooperativos.
2.4.6 Nivel de cooperación
Los programadores buscaran que su diseño sea capaz de reconocer a otros robots dentro de su
entorno o escenario. Los robots pueden compartir datos y buscar el desarrollo de un trabajo o tarea de
principio a fin.
Figura 2.8 Cooperación entre robots.
17
FIFFFIGURA
PROYECTO DE INGENIERÍA ELECTRÓNICA
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
3. INTRODUCCIÓN A LOS MICROCONTROLADORES.
Los
microcontroladores
están
conquistando el mundo. Están presentes en
nuestro trabajo, en nuestra casa y en nuestra
vida,
en
general.
Se
pueden
encontrar
controlando el funcionamiento de los ratones y
teclados de los computadores, en los teléfonos,
en los hornos microondas y los televisores de
nuestro hogar. Pero la invasión acaba de
comenzar y el nacimiento del siglo XXI será
3.1 Microcontroladores
testigo de la conquista masiva de estos
diminutos dispositivos, que gobernarán la
mayor parte de los aparatos que fabricaremos y usaremos los humanos.
3.1 Controlador y microcontrolador.
Recibe el nombre de controlador el dispositivo que se emplea para el gobierno de uno o varios
procesos. Por ejemplo, el controlador que regula el funcionamiento de un horno dispone de un sensor
que mide constantemente su temperatura interna y, cuando traspasa los límites prefijados, genera las
señales adecuadas que accionan los efectores que intentan llevar el valor de la temperatura dentro del
rango estipulado.
Aunque el concepto de controlador ha permanecido invariable a través del tiempo, su
implementación física ha variado frecuentemente. Hace tres décadas, los controladores se construían
exclusivamente
con
componentes
de
lógica
discreta,
posteriormente
se
emplearon
los
microprocesadores, que se rodeaban con chips de memoria y E/S sobre una tarjeta de circuito impreso.
En la actualidad, todos los elementos del controlador se han podido incluir en un chip, el cual recibe el
nombre de microcontrolador. Realmente consiste en un sencillo pero completo computador contenido
en el corazón (chip) de un circuito integrado.
18
PROYECTO DE INGENIERÍA ELECTRÓNICA
FIFFFIGURA
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
Figura 3.2 Microcontrolador
Un microcontrolador es un circuito integrado de alta escala de integración que incorpora la
mayor parte de los elementos que configuran un controlador.
Un microcontrolador dispone normalmente de los siguientes componentes:

Procesador o UCP (Unidad Central de Proceso).

Memoria RAM para Contener los datos.

Memoria para el programa tipo ROM/PROM/EPROM.

Líneas de E/S para comunicarse con el exterior.

Diversos módulos para el control de periféricos (temporizadores, Puertas Serie y Paralelo,
CAD: Conversores Analógico/Digital, CDA: Conversores Digital/Analógico, etc.).

Generador de impulsos de reloj que sincronizan el funcionamiento de todo el sistema.
19
PROYECTO DE INGENIERÍA ELECTRÓNICA
FIFFFIGURA
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
Los productos que para su regulación incorporan un microcontrolador disponen de las siguientes
ventajas:

Aumento de prestaciones: un mayor control sobre un determinado elemento representa una
mejora considerable en el mismo.

Aumento de la fiabilidad: al reemplazar el microcontrolador por un elevado número de
elementos disminuye el riesgo de averías y se precisan menos ajustes.

Reducción del tamaño en el producto acabado: La integración del microcontrolador en un chip
disminuye el volumen, la mano de obra y los stocks.

Mayor flexibilidad: las características de control están programadas por lo que su modificación
sólo necesita cambios en el programa de instrucciones.
El microcontrolador es en definitiva un circuito integrado que incluye todos los componentes de
un computador. Debido a su reducido tamaño es posible montar el controlador en el propio dispositivo
al que gobierna. En este caso el controlador recibe el nombre de controlador empotrado (embedded
controller).
3.2 Diferencia entre microprocesador y microcontrolador.
El microprocesador es un circuito integrado que contiene la Unidad Central de Proceso (CPU),
también llamada procesador, de un computador. El CPU está formado por la Unidad de Control, que
interpreta las instrucciones, y el Camino de Datos, que las ejecuta. Las pines de un microprocesador
sacan al exterior las líneas de sus buses de direcciones, datos y control, para permitir conectarle con la
Memoria y los Módulos de E/S y configurar un computador implementado por varios circuitos
integrados. Se dice que un microprocesador es un sistema abierto porque su configuración es variable
de acuerdo con la aplicación a la que se destine. (Figura 3.3)
20
PROYECTO DE INGENIERÍA ELECTRÓNICA
FIFFFIGURA
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
Figura 3.3 Estructura de un sistema abierto basado en un microprocesador. La disponibilidad de los buses en el
exterior permite que se configure a la medida de la aplicación.
Si sólo se dispusiese de un modelo de microcontrolador, éste debería tener muy potenciados
todos sus recursos para poderse adaptar a las exigencias de las diferentes aplicaciones. Esta
potenciación supondría en muchos casos un despilfarro. En la práctica cada fabricante de
microcontroladores oferta un elevado número de modelos diferentes, desde los más sencillos hasta los
más poderosos. Es posible seleccionar la capacidad de las memorias, el número de líneas de E/S, la
cantidad y potencia de los elementos auxiliares, la velocidad de funcionamiento, etc. Por todo ello, un
aspecto muy destacado del diseño es la selección del microcontrolador a utilizar.
21
PROYECTO DE INGENIERÍA ELECTRÓNICA
FIFFFIGURA
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
Figura 3.4 El Microcontrolador es un sistema cerrado. Todas las partes están contenidas en su interior y sólo
salen al exterior las líneas que gobiernan los periféricos.
3.3 Aplicaciones de los microcontroladores.
Cada vez existen más productos que incorporan un microcontrolador con el fin de aumentar
sustancialmente sus prestaciones, reducir su tamaño y costo, mejorar su fiabilidad y disminuir el
consumo. Algunos fabricantes de microcontroladores superan el millón de unidades de un modelo
determinado producidas en una semana. Este dato puede dar una idea de la masiva utilización de estos
componentes.
Los microcontroladores están siendo empleados en multitud de sistemas presentes en nuestra vida
diaria, como pueden ser juguetes, horno microondas, frigoríficos, televisores, computadoras,
impresoras, módems, el sistema de arranque de nuestro coche, etc. Y otras aplicaciones con las que
seguramente no estaremos tan familiarizados como instrumentación electrónica, control de sistemas en
una nave espacial, etc. Una aplicación típica podría emplear varios microcontroladores para controlar
pequeñas partes del sistema.
22
PROYECTO DE INGENIERÍA ELECTRÓNICA
FIFFFIGURA
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
Estos pequeños controladores podrían comunicarse entre ellos y con un procesador central,
probablemente más potente, para compartir la información y coordinar sus acciones, como, de hecho,
ocurre ya habitualmente en cualquier PC.
3.4 El mercado de los microcontroladores.
Aunque en el mercado de la microinformática la mayor atención la acaparan los desarrollos de
los microprocesadores, lo cierto es que se venden cientos de microcontroladores por cada uno de
aquéllos.
Existe una gran diversidad de microcontroladores. Quizá la clasificación más importante sea
entre microcontroladores de 4, 8, 16 ó 32 bits. Aunque las prestaciones de los microcontroladores de 16
y 32 bits son superiores a los de 4 y 8 bits, la realidad es que los microcontroladores de 8 bits dominan
el mercado y los de 4 bits se resisten a desaparecer. La razón de esta tendencia es que los
microcontroladores de 4 y 8 bits son apropiados para la gran mayoría de las aplicaciones, lo que hace
absurdo emplear micros más potentes y consecuentemente más caros. Uno de los sectores que más tira
del mercado del microcontrolador es el mercado automovilístico. De hecho, algunas de las familias de
microcontroladores actuales se desarrollaron pensando en este sector, siendo modificadas
posteriormente para adaptarse a sistemas más genéricos. El mercado del automóvil es además uno de
los más exigentes: los componentes electrónicos deben operar bajo condiciones extremas de
vibraciones, choques, ruido, etc. y seguir siendo fiables. El fallo de cualquier componente en un
automóvil puede ser el origen de un accidente.
En cuanto a las técnicas de fabricación, cabe decir que prácticamente la totalidad de los
microcontroladores actuales se fabrican con tecnología CMOS 4 (Complementary Metal Oxide
Semiconductor). Esta tecnología supera a las técnicas anteriores por su bajo consumo y alta inmunidad
al ruido.
23
PROYECTO DE INGENIERÍA ELECTRÓNICA
FIFFFIGURA
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
La distribución de las ventas según su aplicación es la siguiente:

Una tercera parte se absorbe en las aplicaciones relacionadas con los computadores y sus
periféricos.

La cuarta parte se utiliza en las aplicaciones de consumo (electrodomésticos, juegos, TV, vídeo,
etc.)

El 16% de las ventas mundiales se destinó al área de las comunicaciones.

Otro 16% fue empleado en aplicaciones industriales.

El resto de los microcontroladores vendidos en el mundo, aproximadamente un 10% fueron
adquiridos por las industrias de automoción.
También los modernos microcontroladores de 32 bits van afianzando sus posiciones en el
mercado, siendo las áreas de más interés el procesamiento de imágenes, las comunicaciones, las
aplicaciones militares, los procesos industriales y el control de los dispositivos de almacenamiento
masivo de datos.
3.5 ¿Qué microcontrolador emplear?
A la hora de escoger el microcontrolador a emplear en un diseño concreto hay que tener en
cuenta multitud de factores, como la documentación y herramientas de desarrollo disponibles y su
precio, la cantidad de fabricantes que lo producen y por supuesto las características del
microcontrolador (tipo de memoria de programa, número de temporizadores, interrupciones, etc.):
Costos. Como es lógico, los fabricantes de microcontroladores compiten fuertemente para
vender sus productos. Y no les va demasiado mal ya que sin hacer demasiado ruido venden 10 veces
más microcontroladores que microprocesadores.
Para que nos hagamos una idea, para el fabricante que usa el microcontrolador en su producto
una diferencia de precio en el microcontrolador de algunas pesetas es importante (el consumidor
deberá pagar además el costo del empaquetado, el de los otros componentes, el diseño del hardware y
el desarrollo del software). Si el fabricante desea reducir costos debe tener en cuenta las herramientas
de apoyo con que va a contar: emuladores, simuladores, ensambladores, compiladores, etc. Es habitual
que muchos de ellos siempre se decanten por microcontroladores pertenecientes a una única familia.
24
PROYECTO DE INGENIERÍA ELECTRÓNICA
FIFFFIGURA
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
Aplicación. Antes de seleccionar un microcontrolador es imprescindible analizar los requisitos
de la aplicación:
• Procesamiento de datos: puede ser necesario que el microcontrolador realice cálculos críticos en
un tiempo limitado. En ese caso debemos asegurarnos de seleccionar un dispositivo
suficientemente rápido para ello. Por otro lado, habrá que tener en cuenta la precisión de los
datos a manejar: si no es suficiente con un microcontrolador de 8 bits, puede ser necesario acudir
a microcontroladores de 16 ó 32 bits, o incluso a hardware de coma flotante. Una alternativa más
barata y quizá suficiente es usar librerías para manejar los datos de alta precisión. • Entrada Salida: para determinar las necesidades de Entrada/Salida del sistema es conveniente
dibujar un diagrama de bloques del mismo, de tal forma que sea sencillo identificar la cantidad y
tipo de señales a controlar. Una vez realizado este análisis puede ser necesario añadir periféricos
hardware externos o cambiar a otro microcontrolador más adecuado a ese sistema.
• Consumo: algunos productos que incorporan microcontroladores están alimentados con baterías y
su funcionamiento puede ser tan vital como activar una alarma antirrobo. Lo más conveniente en
un caso como éste puede ser que el microcontrolador esté en estado de bajo consumo pero que
despierte ante la activación de una señal (una interrupción) y ejecute el programa adecuado para
procesarla.
• Memoria: para detectar las necesidades de memoria de nuestra aplicación debemos separarla en
memoria volátil (RAM), memoria no volátil (ROM, EPROM, etc.) y memoria no volátil
modificable (EEPROM). Este último tipo de memoria puede ser útil para incluir información
específica de la aplicación como un número de serie o parámetros de calibración.
El tipo de memoria a emplear vendrá determinado por el volumen de ventas previsto del
producto: de menor a mayor volumen será conveniente emplear EPROM, OTP y ROM. En
cuanto a la cantidad de memoria necesaria puede ser imprescindible realizar una versión
preliminar, aunque sea en pseudo-código, de la aplicación y a partir de ella hacer una estimación
de cuánta memoria volátil y no volátil es necesaria y si es conveniente disponer de memoria no
volátil modificable.
25
PROYECTO DE INGENIERÍA ELECTRÓNICA
FIFFFIGURA
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
• Ancho de palabra: el criterio de diseño debe ser seleccionar el microcontrolador de menor ancho
de palabra que satisfaga los requerimientos de la aplicación. Usar un microcontrolador de 4 bits
supondrá una reducción en los costos importante, mientras que uno de 8 bits puede ser el más
adecuado si el ancho de los datos es de un byte. Los microcontroladores de 16 y 32 bits, debido a
su elevado costo, deben reservarse para aplicaciones que requieran sus altas prestaciones
(Entrada/Salida potente o espacio de direccionamiento muy elevado).
• Diseño de la placa: la selección de un microcontrolador concreto condicionará el diseño de la
placa de circuitos. Debe tenerse en cuenta que quizá usar un microcontrolador barato encarezca el
resto de componentes del diseño.
Los microcontroladores más populares se encuentran, sin duda, entre las mejores elecciones:
8048 (Intel). Es el padre de los microcontroladores actuales, el primero de todos. Su precio,
disponibilidad y herramientas de desarrollo hacen que todavía sea muy popular.
8051 (Intel y otros). Es sin duda el microcontrolador más popular. Fácil de programar, pero potente.
Está bien documentado y posee cientos de variantes e incontables herramientas de desarrollo.
80186, 80188 y 80386 EX (Intel). Versiones en microcontrolador de los populares microprocesadores
8086 y 8088. Su principal ventaja es que permiten aprovechar las herramientas de desarrollo para PC.
68HC11 (Motorola y Toshiba). Es un microcontrolador de 8 bits potente y popular con gran cantidad
de variantes.
683xx (Motorola). Surgido a partir de la popular familia 68k, a la que se incorporan algunos
periféricos. Son microcontroladores de altísimas prestaciones.
PIC (MicroChip). Familia de microcontroladores que gana popularidad día a día. Fueron los primeros
microcontroladores RISC.
26
PROYECTO DE INGENIERÍA ELECTRÓNICA
FIFFFIGURA
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
Es preciso resaltar en este punto que existen innumerables familias de microcontroladores, cada
una de las cuales posee un gran número de variantes.
27
FIFFFIGURA
PROYECTO DE INGENIERÍA ELECTRÓNICA
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
3.6 Recursos comunes a todos los microcontroladores.
Al estar todos los microcontroladores integrados en un chip, su estructura fundamental y sus
características básicas son muy parecidas. Todos deben disponer de los bloques esenciales Procesador,
memoria de datos y de instrucciones, líneas de E/S, oscilador de reloj y módulos controladores de
periféricos. Sin embargo, cada fabricante intenta enfatizar los recursos más idóneos para las
aplicaciones a las que se destinan preferentemente.
En este apartado se hace un recorrido de todos los recursos que se hallan en todos los
microcontroladores describiendo las diversas alternativas y opciones que pueden encontrarse según el
modelo seleccionado.
3.6.1 Arquitectura básica
MEMORIA DE
INSTRUCCIONES
DATOS
CONTROL
INSTRUCCIONES
MEMORIA DE
CPU
UNIDAD
CONTROL
DIRECCIONES DE
INSTRUCCIONES
CONTROL
DIRECCIONES DE
DATOS
INSTRUCCIONES
UNIDAD
DATOS
DE
OPERATIVA
DATOS
Figura 3.5 Arquitectura Harvard
Aunque inicialmente todos los microcontroladores adoptaron la arquitectura clásica de von
Neumann, en el presente se impone la arquitectura Harvard. La arquitectura de von Neumann se
caracteriza por disponer de una sola memoria principal donde se almacenan datos e instrucciones de
forma indistinta. A dicha memoria se accede a través de un sistema de buses único (direcciones, datos
y control). La arquitectura Harvard dispone de dos memorias independientes una, que contiene sólo
instrucciones y otra, sólo datos. Ambas disponen de sus respectivos sistemas de buses de acceso y es
28
PROYECTO DE INGENIERÍA ELECTRÓNICA
FIFFFIGURA
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
posible realizar operaciones de acceso (lectura o escritura) simultáneamente en ambas memorias. La
arquitectura Harvard dispone de dos memorias independientes para datos y para instrucciones,
permitiendo accesos simultáneos. Los microcontroladores PIC responden a la arquitectura Harvard.
29
FIFFFIGURA
PROYECTO DE INGENIERÍA ELECTRÓNICA
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
3.6.2 El procesador o CPU.
Es el elemento más importante del microcontrolador y determina sus principales características,
tanto a nivel hardware como software.
Se encarga de direccionar la memoria de instrucciones, recibir el código OP de la instrucción en
curso, su decodificación y la ejecución de la operación que implica la instrucción, así como la
búsqueda de los operandos y el almacenamiento del resultado.
Existen tres orientaciones en cuanto a la arquitectura y funcionalidad de los procesadores
actuales.
CISC: Un gran número de procesadores usados en los microcontroladores están basados en la
filosofía CISC (Computadoras con conjunto de Instrucciones Complejo). Disponen de más de 80
instrucciones máquina en su repertorio, algunas de las cuales son muy sofisticadas y potentes,
requiriendo muchos ciclos para su ejecución. Una ventaja de los procesadores CISC es que ofrecen
al programador instrucciones complejas que actúan como macros. Algunos dispositivos
representativos
son
por
parte
de
Intel:
8086,
8088,
80286,
80386,
80486.
y por parte de Motorola: 68000, 68010, 68020, 68030, 6840.
RISC: Tanto la industria de los computadores comerciales como la de los microcontroladores están
decantándose hacia la filosofía RISC (Computadoras con conjunto de Instrucciones Reducido). En
estos procesadores el repertorio de instrucciones máquina es muy reducido y las instrucciones son
simples y, generalmente, se ejecutan en un ciclo. La sencillez y rapidez de las instrucciones permiten
optimizar el hardware y el software del procesador.
SISC: En los microcontroladores destinados a aplicaciones muy concretas, el juego de instrucciones,
además de ser reducido, es “específico”, o sea, las instrucciones se adaptan a las necesidades de la
aplicación prevista. Esta filosofía se ha nombrado como SISC (Computadoras con conjunto de
Instrucciones Específico).
30
PROYECTO DE INGENIERÍA ELECTRÓNICA
FIFFFIGURA
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
3.6.3 Memoria.
En los microcontroladores la memoria de instrucciones y datos está integrada en el propio chip.
Una parte debe ser no volátil, tipo ROM, y se destina a contener el programa de instrucciones que
gobierna la aplicación. Otra parte de memoria será tipo RAM, volátil, y se destina a guardar las
variables y los datos.
Hay dos peculiaridades que diferencian a los microcontroladores de los computadores
personales:
1.
No existen sistemas de almacenamiento masivo como disco duro o disquetes.
2.
Como el microcontrolador sólo se destina a una tarea en la memoria ROM,
sólo hay que almacenar un único programa de trabajo.
La RAM en estos dispositivos es de poca capacidad pues sólo debe contener las variables y los
cambios de información que se produzcan en el transcurso del programa. Por otra parte, como sólo
existe un programa activo, no se requiere guardar una copia del mismo en la RAM pues se ejecuta
directamente desde la ROM.
Los usuarios de computadores personales están habituados a manejar Megabytes de memoria,
pero, los diseñadores con microcontroladores trabajan con capacidades de ROM comprendidas entre
512 bytes y 8 k bytes y de RAM comprendidas entre 20 y 512 bytes.
Según el tipo de memoria ROM que dispongan los microcontroladores, la aplicación y
utilización de los mismos es diferente. Se describen las cinco versiones de memoria no volátil que se
pueden encontrar en los microcontroladores del mercado.
1º. ROM con máscara
Es una memoria no volátil de sólo lectura cuyo contenido se graba durante la fabricación del
chip. El elevado costo del diseño de la máscara sólo hace aconsejable el empleo de los
microcontroladores con este tipo de memoria cuando se precisan cantidades superiores a varios miles
de unidades.
31
PROYECTO DE INGENIERÍA ELECTRÓNICA
FIFFFIGURA
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
2ª. OTP
El microcontrolador contiene una memoria no volátil de sólo lectura “programable una sola vez”
por el usuario. OTP (One Time Programmable). Es el usuario quien puede escribir el programa en el
chip mediante un sencillo grabador controlado por un programa desde un PC. La versión OTP es
recomendable cuando es muy corto el ciclo de diseño del producto, o bien, en la construcción de
prototipos y series muy pequeñas.
Tanto en este tipo de memoria como en la EPROM, se suele usar la encriptación mediante fusibles
para proteger el código contenido.
3ª EPROM
Los microcontroladores que disponen de memoria EPROM (Erasable Programmable Read OnIy
Memory) pueden borrarse y grabarse muchas veces. La grabación se realiza, como en el caso de los
OTP, con un grabador gobernado desde un PC. Si, posteriormente, se desea borrar el contenido,
disponen de una ventana de cristal en su superficie por la que se somete a la EPROM a rayos
ultravioleta durante varios minutos. Las cápsulas son de material cerámico y son más caros que los
microcontroladores con memoria OTP que están hechos con material plástico.
4ª EEPROM
Se trata de memorias de sólo lectura, programables y borrables eléctricamente EEPROM
(Electrical Erasable Programmable Read OnIy Memory). Tanto la programación como el borrado, se
realizan eléctricamente desde el propio grabador y bajo el control programado de un PC. Es muy
cómoda y rápida la operación de grabado y la de borrado. No disponen de ventana de cristal en la
superficie.
32
PROYECTO DE INGENIERÍA ELECTRÓNICA
FIFFFIGURA
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
Los microcontroladores dotados de memoria EEPROM una vez instalados en el circuito, pueden
grabarse y borrarse cuantas veces se quiera sin ser retirados de dicho circuito. Para ello se usan
“grabadores en circuito” que confieren una gran flexibilidad y rapidez a la hora de realizar
modificaciones en el programa de trabajo.
El número de veces que puede grabarse y borrarse una memoria EEPROM es finito, por lo que no
es recomendable una reprogramación continúa. Son muy idóneos para la enseñanza y la Ingeniería de
diseño.
Se va extendiendo en los fabricantes la tendencia de incluir una pequeña zona de memoria
EEPROM en los circuitos programables para guardar y modificar cómodamente una serie de
parámetros que adecuan el dispositivo a las condiciones del entorno. Este tipo de memoria es
relativamente lenta.
5ª FLASH
Se trata de una memoria no volátil, de bajo consumo, que se puede escribir y borrar. Funciona
como una ROM y una RAM pero consume menos y es más pequeña.
A diferencia de la ROM, la memoria FLASH es programable en el circuito. Es más rápida y de
mayor densidad que la EEPROM.
La alternativa FLASH está recomendada frente a la EEPROM cuando se precisa gran cantidad de
memoria de programa no volátil. Es más veloz y tolera más ciclos de escritura/borrado.
Las memorias EEPROM y FLASH son muy útiles al permitir que los microcontroladores que las
incorporan puedan ser reprogramados “en circuito”, es decir, sin tener que sacar el circuito integrado
de la tarjeta. Así, un dispositivo con este tipo de memoria incorporado al control del motor de un
automóvil permite que pueda modificarse el programa durante la rutina de mantenimiento periódico,
compensando los desgastes y otros factores tales como la compresión, la instalación de nuevas piezas,
etc. La reprogramación del microcontrolador puede convertirse en una labor rutinaria dentro de la
puesta a punto.
33
PROYECTO DE INGENIERÍA ELECTRÓNICA
FIFFFIGURA
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
3.6.4 Puertas de Entrada y Salida.
La principal utilidad de las pines que posee la cápsula que contiene un microcontrolador es
soportar las líneas de E/S que comunican al computador interno con los periféricos exteriores.
Según los controladores de periféricos que posea cada modelo de microcontrolador, las líneas de
E/S se destinan a proporcionar el soporte a las señales de entrada, salida y control.
3.6.5 Reloj principal.
Todos los microcontroladores disponen de un circuito oscilador que genera una onda cuadrada
de alta frecuencia, que configura los impulsos de reloj usados en la sincronización de todas las
operaciones del sistema.
Generalmente, el circuito de reloj está incorporado en el microcontrolador y sólo se necesitan
unos pocos componentes exteriores para seleccionar y estabilizar la frecuencia de trabajo. Dichos
componentes suelen consistir en un cristal de cuarzo junto a elementos pasivos o bien un resonador
cerámico o una red R-C.
Aumentar la frecuencia de reloj supone disminuir el tiempo en que se ejecutan las instrucciones
pero lleva aparejado un incremento del consumo de energía.
3.7 Recursos especiales.
Cada fabricante oferta numerosas versiones de una arquitectura básica de microcontrolador. En
algunas amplía las capacidades de las memorias, en otras incorpora nuevos recursos, en otras reduce
las prestaciones al mínimo para aplicaciones muy simples, etc. La labor del diseñador es encontrar el
modelo mínimo que satisfaga todos los requerimientos de su aplicación. De esta forma, minimizará el
costo, el hardware y el software.
34
PROYECTO DE INGENIERÍA ELECTRÓNICA
FIFFFIGURA
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
Los principales recursos específicos que incorporan los microcontroladores son:
• Temporizadores o “Timers”.
• Perro guardián o “Watchdog”.
• Protección ante fallo de alimentación o “Brownout”.
• Estado de reposo o de bajo consumo.
• Conversor A/D.
• Conversor D/A.
• Comparador analógico.
• Modulador de anchura de impulsos o PWM.
• Puertas de E/S digitales.
• Puertas de comunicación.
3.7.1 Temporizadores o “Timers”.
Se emplean para controlar periodos de tiempo (temporizadores) y para llevar la cuenta de
acontecimientos que suceden en el exterior (contadores).
Para la medida de tiempos se carga un registro con el valor adecuado y a continuación dicho
valor se va incrementando o decrementando al ritmo de los impulsos de reloj o algún múltiplo hasta
que se desborde y llegue a 0, momento en el que se produce un aviso.
35
PROYECTO DE INGENIERÍA ELECTRÓNICA
FIFFFIGURA
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
Cuando se desean contar acontecimientos que se materializan por cambios de nivel o flancos en
alguna de las pines del microcontrolador, el mencionado registro se va incrementando o
decrementando al ritmo de dichos impulsos.
3.7.2 Perro guardián o “Watchdog”.
Cuando el computador personal se bloquea por un fallo del software u otra causa, se pulsa el
botón del reset y se reinicializa el sistema. Pero un microcontrolador funciona sin el control de un
supervisor y de forma continuada las 24 horas del día. El Perro guardián consiste en un temporizador
que, cuando se desborda y pasa por 0, provoca un reset automáticamente en el sistema.
Se debe diseñar el programa de trabajo que controla la tarea de forma que refresque o inicialice
al Perro guardián antes de que provoque el reset. Si falla el programa o se bloquea, no se refrescará al
Perro guardián y, al completar su temporización, “ladrará y ladrará” hasta provocar el reset.
3.7.3 Protección ante fallo de alimentación o “Brownout”.
Se trata de un circuito que resetea al microcontrolador cuando el voltaje de alimentación (VDD)
es inferior a un voltaje mínimo (“brownout”). Mientras el voltaje de alimentación sea inferior al de
brownout el dispositivo se mantiene reseteado, comenzando a funcionar normalmente cuando
sobrepasa dicho valor.
3.7.4 Estado de reposo ó de bajo consumo.
Son abundantes las situaciones reales de trabajo en que el microcontrolador debe esperar, sin
hacer nada, a que se produzca algún acontecimiento externo que le ponga de nuevo en funcionamiento.
Para ahorrar energía, (factor clave en los aparatos portátiles), los microcontroladores disponen de una
instrucción especial (SLEEP en los PIC), que les pasa al estado de reposo o de bajo consumo, en el
cual los requerimientos de potencia son mínimos. En dicho estado se detiene el reloj principal y se
“congelan” sus circuitos asociados, quedando sumido en un profundo “sueño” el microcontrolador. Al
activarse una interrupción ocasionada por el acontecimiento esperado, el microcontrolador se despierta
y reanuda su trabajo.
36
PROYECTO DE INGENIERÍA ELECTRÓNICA
FIFFFIGURA
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
3.7.5 Conversor A/D (CAD).
Los microcontroladores que incorporan un Conversor A/D (Analógico/Digital) pueden procesar
señales analógicas, tan abundantes en las aplicaciones. Suelen disponer de un multiplexor que permite
aplicar a la entrada del CAD diversas señales analógicas desde las pines del circuito integrado.
3.7.6 Conversor D/A (CDA).
Transforma los datos digitales obtenidos del procesamiento del computador en su
correspondiente señal analógica que saca al exterior por una de las pines de la cápsula. Existen muchos
efectores que trabajan con señales analógicas.
3.7.7 Comparador analógico.
Algunos modelos de microcontroladores disponen internamente de un Amplificador Operacional
que actúa como comparador entre una señal fija de referencia y otra variable que se aplica por una de
las pines de la cápsula. La salida del comparador proporciona un nivel lógico 1 ó 0 según una señal sea
mayor o menor que la otra.
También hay modelos de microcontroladores con un módulo de tensión de referencia que
proporciona diversas tensiones de referencia que se pueden aplicar en los comparadores.
3.7.8 Modulador de anchura de impulsos o PWM.
Son circuitos que proporcionan en su salida impulsos de anchura variable, que se ofrecen al
exterior a través de las pines del encapsulado.
37
PROYECTO DE INGENIERÍA ELECTRÓNICA
FIFFFIGURA
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
3.7.9 Puertas de E/S digitales.
Todos los microcontroladores destinan algunas de sus pines a soportar líneas de E/S digitales.
Por lo general, estas líneas se agrupan de ocho en ocho formando Puertas.
Las líneas digitales de las Puertas pueden configurarse como Entrada o como Salida cargando un
1 ó un 0 en el bit correspondiente de un registro destinado a su configuración.
3.7.10 Puertas de comunicación.
Con objeto de dotar al microcontrolador de la posibilidad de comunicarse con otros dispositivos
externos, otros buses de microprocesadores, buses de sistemas, buses de redes y poder adaptarlos con
otros elementos bajo otras normas y protocolos. Algunos modelos disponen de recursos que permiten
directamente esta tarea, entre los que destacan:

UART, adaptador de comunicación serie asíncrona.

USART, adaptador de comunicación serie síncrona y asíncrona

Puerta paralela esclava para poder conectarse con los buses de otros microprocesadores.

USB (Universal Serial Bus), que es un moderno bus serie para los PC.

Bus I2C, que es un interfaz serie de dos hilos desarrollado por Philips.

CAN (Controller Area Network), para permitir la adaptación con redes de conexionado
multiplexado desarrollado conjuntamente por Bosch e Intel para el cableado de dispositivos en
automóviles. En EE.UU. se usa el J185O.
38
PROYECTO DE INGENIERÍA ELECTRÓNICA
FIFFFIGURA
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
3.8 Herramientas para el desarrollo de aplicaciones.
Uno de los factores que más importancia tiene a la hora de seleccionar un microcontrolador entre
todos los demás es el soporte tanto software como hardware de que dispone. Un buen conjunto de
herramientas de desarrollo puede ser decisivo en la elección, ya que pueden suponer una ayuda
inestimable en el desarrollo del proyecto. Las principales herramientas de ayuda al desarrollo de
sistemas basados en microcontroladores son:
 Desarrollo del software:
Ensamblador. La programación en lenguaje ensamblador puede resultar un tanto ardua para el
principiante, pero permite desarrollar programas muy eficientes, ya que otorga al programador el
dominio absoluto del sistema. Los fabricantes suelen proporcionar el programa ensamblador de forma
gratuita y en cualquier caso siempre se puede encontrar una versión gratuita para los
microcontroladores más populares.
Compilador. La programación en un lenguaje de alto nivel (como el C) permite disminuir el
tiempo de desarrollo de un producto. No obstante, si no se programa con cuidado, el código resultante
puede ser mucho más ineficiente que el programado en ensamblador. Las versiones más potentes
suelen ser muy caras, aunque para los microcontroladores más populares pueden encontrarse versiones
demo limitadas e incluso compiladores gratuitos.
 Depuración: debido a que los microcontroladores van a controlar dispositivos
físicos, los desarrolladores necesitan herramientas que les permitan comprobar el buen
funcionamiento del microcontrolador cuando es conectado al resto de circuitos.
Simulador. Son capaces de ejecutar en un PC programas realizados para el microcontrolador.
Los simuladores permiten tener un control absoluto sobre la ejecución de un programa, siendo ideales
para la depuración de los mismos. Su gran inconveniente es que es difícil simular la entrada y salida de
datos del microcontrolador. Tampoco cuentan con los posibles ruidos en las entradas, pero, al menos,
permiten el paso físico de la implementación de un modo más seguro y menos costoso, puesto que
ahorraremos en grabaciones de chips para la prueba in-situ.
39
PROYECTO DE INGENIERÍA ELECTRÓNICA
FIFFFIGURA
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
Placas de evaluación. Se trata de pequeños sistemas con un microcontrolador ya montado y que
suelen conectarse a un PC desde el que se cargan los programas que se ejecutan en el
microcontrolador. Las placas suelen incluir visualizadores LCD, teclados, LED´s, fácil acceso a los
pines de E/S, etc. El sistema operativo de la placa recibe el nombre de programa monitor. El programa
monitor de algunas placas de evaluación, aparte de permitir cargar programas y datos en la memoria
del microcontrolador, puede permitir en cualquier momento realizar ejecución paso a paso, monitorizar
el estado del microcontrolador o modificar los valores almacenados los registros o en la memoria.
Emuladores en circuito. Se trata de un instrumento que se coloca entre el PC anfitrión y el zócalo
de la tarjeta de circuito impreso donde se alojará el microcontrolador definitivo. El programa es
ejecutado desde el PC, pero para la tarjeta de aplicación es como si lo hiciese el mismo
microcontrolador que luego irá en el zócalo. Presenta en pantalla toda la información tal y como luego
sucederá cuando se coloque la cápsula.
40
PROYECTO DE INGENIERÍA ELECTRÓNICA
FIFFFIGURA
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
4. LA FAMILIA DE LOS PIC COMO ELECCIÓN.
¿Qué es lo que ocurre con los PIC?, ¿Por qué están en boca de todos?. Hemos buscado en
multitud de bibliografía y realmente nadie da una respuesta concreta, pero una aproximación a la
realidad puede ser esta:
Los PIC tienen “algo” que fascina a los diseñadores, puede ser la velocidad, el precio, la
facilidad de uso, la información, las herramientas de apoyo. Quizás un poco de todo eso es lo que
produce esa imagen de sencillez y utilidad. Es probable que en un futuro próximo otra familia de
microcontroladores le arrebate ese “algo”.
Queremos
constatar
que
para
las
aplicaciones más habituales (casi un 90%) la
elección de una versión adecuada de PIC es la
mejor solución; sin embargo, dado su carácter
general, otras familias de microcontroladores son
más
eficaces
especialmente
en
si
aplicaciones
en
ellas
específicas,
predomina
una
característica concreta, que puede estar muy
desarrollada en otra familia.
Figura 4.1 Tipos de Microcontroladores
Los detalles más importantes que convencen a los profesionales de la microelectrónica y
microinformática y las razones de la excelente acogida que tienen los PIC son los siguientes:
-
Sencillez de manejo: Tienen un juego de instrucciones reducido; 35 en la gama media.
-
Buena información, fácil de conseguir y económica.
-
Precio: Su costo es comparativamente inferior al de sus competidores.
-
Poseen una elevada velocidad de funcionamiento. Buen promedio de parámetros:
velocidad, consumo, tamaño, alimentación, código compacto, etc.
-
Herramientas de desarrollo fáciles y baratas. Muchas herramientas software se pueden
recoger libremente a través de Internet desde Microchip (www.microchip.com).
-
Existe una gran variedad de herramientas hardware que permiten grabar, depurar,
borrar y comprobar el comportamiento de los PIC.
41
PROYECTO DE INGENIERÍA ELECTRÓNICA
FIFFFIGURA
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
-
Diseño rápido.
-
La gran variedad de modelos de PIC permite elegir el que mejor responde a los
requerimientos de la aplicación.
Una de las razones del éxito de los PIC se basa en su utilización. Cuando se aprende a
manejar uno de ellos, conociendo su arquitectura y su repertorio de instrucciones, es muy fácil
emplear otro modelo.
4.1 Características relevantes.
Descripción de las características más representativas de los PIC:
4.1.1 Arquitectura.
La arquitectura del procesador sigue el modelo Harvard. En esta arquitectura, la CPU se conecta
de forma independiente y con buses distintos con la memoria de instrucciones y con la de datos.
La arquitectura Harvard permite a la CPU acceder simultáneamente a las dos memorias.
Además, propicia numerosas ventajas al funcionamiento del sistema como se irán describiendo.
4.1.2 Segmentación.
Se aplica la técnica de segmentación (“pipe-line”) en la ejecución de las instrucciones.
La segmentación permite al procesador realizar al mismo tiempo la ejecución de una instrucción
y la búsqueda del código de la siguiente. De esta forma se puede ejecutar cada instrucción en un ciclo
(un ciclo de instrucción equivale a cuatro ciclos de reloj).
Las instrucciones de salto ocupan dos ciclos al no conocer la dirección de la siguiente
instrucción hasta que no se haya completado la de bifurcación.
42
PROYECTO DE INGENIERÍA ELECTRÓNICA
FIFFFIGURA
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
4.1.3 Formato de las instrucciones.
El formato de todas las instrucciones es de la misma longitud
Todas las instrucciones de los microcontroladores de la gama baja tienen una longitud de 12 bits.
Las de la gama media tienen 14 bits y más las de la gama alta. Esta característica es muy ventajosa en
la optimización de la memoria de instrucciones y facilita enormemente la construcción de
ensambladores y compiladores.
4.1.4 Juego de instrucciones.
Procesador RISC (Computador de Juego de Instrucciones Reducido).
Los modelos de la gama baja disponen de un repertorio de 33 instrucciones, 35 los de la gama
media y casi 60 los de la alta.
4.1.5 Todas las instrucciones son ortogonales.
Cualquier instrucción puede manejar cualquier elemento de la arquitectura como fuente
o como destino.
4.1.6 Arquitectura basada en un “banco de registros”.
Esto significa que todos los objetos del sistema (puertas de E/S, temporizadores, posiciones de
memoria, etc.) están implementados físicamente como registros.
4.1.7 Diversidad de modelos de microcontroladores con prestaciones y
recursos diferentes.
La gran variedad de modelos de microcontroladores PIC permite que el usuario pueda
seleccionar el más conveniente para su proyecto.
43
PROYECTO DE INGENIERÍA ELECTRÓNICA
FIFFFIGURA
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
4.1.8 Herramientas de soporte potentes y económicas.
La empresa Microchip y otras que utilizan los PIC ponen a disposición de los usuarios
numerosas herramientas para desarrollar hardware y software. Son muy abundantes los programadores,
los simuladores software, los emuladores en tiempo real, Ensambladores, Compiladores C, Intérpretes
y Compiladores BASIC, etc.
La arquitectura Harvard y la técnica de segmentación son los principales recursos en los que se
apoya el elevado rendimiento que caracteriza estos dispositivos programables, mejorando dos
características esenciales:
1. Velocidad de ejecución.
2. Eficiencia en la compactación del código.
4.2 Las gamas de PIC.
Una de las labores más importantes del ingeniero de diseño es la elección del microcontrolador
que mejor satisfaga las necesidades del proyecto con el mínimo presupuesto.
Para resolver aplicaciones sencillas se precisan pocos recursos, en cambio, las aplicaciones
grandes requieren numerosos y potentes. Siguiendo esta filosofía Microchip construye diversos
modelos de microcontroladores orientados a cubrir, de forma óptima, las necesidades de cada proyecto.
Así, hay disponibles microcontroladores sencillos y baratos para atender las aplicaciones simples y
otros complejos y más costosos para las de mucha envergadura.
Microchip dispone de cuatro familias de microcontroladores de 8 bits para adaptarse a las
necesidades de la mayoría de los clientes potenciales.
En la mayor parte de la bibliografía encontrareis tan solo tres familias de microcontroladores,
con lo que habrán despreciado la llamada gama enana, que es en realidad una subfamilia formada por
componentes pertenecientes a las otras gamas. En nuestro caso hemos preferido comentarla dado que
los PIC enanos son muy apreciados en las aplicaciones de control de personal, en sistemas de seguridad
44
PROYECTO DE INGENIERÍA ELECTRÓNICA
FIFFFIGURA
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
y en dispositivos de bajo consumo que gestionan receptores y transmisores de señales. Su pequeño
tamaño los hace ideales en muchos proyectos donde esta cualidad es fundamental.
4.2.1 La gama enana: PIC12C(F)XXX de 8 pines.
Se trata de un grupo de PIC de reciente aparición que ha acaparado la atención del mercado. Su
principal característica es su reducido tamaño, al disponer todos sus componentes de 8 pines. Se
alimentan con un voltaje de corriente continua comprendido entre 2,5 V y 5,5 V, y consumen menos de
2 mA cuando trabajan a 5 V y 4 MHz. El formato de sus instrucciones puede ser de 12 o de 14 bits y su
repertorio es de 33 o 35 instrucciones, respectivamente. En la Figura 2.1 se muestra el diagrama de
conexionado de uno de estos PIC.
Figura 4.2 Diagrama de conexiones de los PIC12Cxxx de la gama enana.
Aunque los PIC enanos sólo tienen 8 pines, pueden destinar hasta 6 como líneas de E/S para los
periféricos porque disponen de un oscilador interno R-C. En la Tabla 4.1 se presentan las principales
características de los modelos de esta subfamilia, que el fabricante tiene la intención de potenciar en un
futuro próximo. Los modelos 12C5xx pertenecen a la gama baja, siendo el tamaño de las instrucciones
de 12 bits; mientras que los 12C6xx son de la gama media y sus instrucciones tienen 14 bits. Los
modelos 12F6xx poseen memoria Flash para el programa y EEPROM para los datos.
MODELO
MEMORIA
PROGRAMA
MEMORIA DATOS
512x12
25x8
PIC12C508
1024x12
41x8
PIC12C509
512x14
80x8
PIC12C670
1024x14
128x8
PIC12C671
2048x14
128x8
PIC12C672
PIC12C680 512X12 FLASH 80x8 16x8 EEPROM
PIC12C681 1024x14 FLASH 80x8 16x8 EEPROM
FRECUENCIA
MAXIMA
LINEAS
E/S
4 MHz
4 MHz
4 MHz
4 MHz
4 MHz
4 MHz
4 MHz
6
6
6
6
6
6
6
ADC
8BITS
2
4
4
TEMPORIZADORE
S
PINES
TMR0 + WDT
TMR0 + WDT
TMR0 + WDT
TMR0 + WDT
TMR0 + WDT
TMR0 + WDT
TMR0 + WDT
8
8
8
8
8
8
8
Tabla 4.1 Características de los modelos PIC12C(F)XXX de la gama enana.
45
PROYECTO DE INGENIERÍA ELECTRÓNICA
FIFFFIGURA
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
4.2.2 Gama baja o básica: PIC16C5X con instrucciones de 12 bits.
Se trata de una serie de PIC de recursos limitados, pero con una de la mejores relaciones
costo/prestaciones. Sus versiones están encapsuladas con 18 y 28 pines y pueden alimentarse a partir
de una tensión de 2,5 V, lo que les hace ideales en las aplicaciones que funcionan con pilas teniendo en
cuenta su bajo consumo (menos de 2 mA a 5 V y 4 MHz). Tienen un repertorio de 33 instrucciones
cuyo formato consta de 12 bits. No admiten ningún tipo de interrupción y la Pila sólo dispone de dos
niveles. En la Figura 2.2 se muestra el diagrama de conexionado de uno de estos PIC.
Figura 4.2 Diagrama de pines de los PIC de la gama baja que responden a la nomenclatura PIC16C54/56.
Al igual que todos los miembros de la familia PIC16/17, los componentes de la gama baja se
caracterizan por poseer los siguientes recursos: (en la Tabla 4.2 se presentan las principales
características de los modelos de esta familia).
1. Sistema POR (“Power On Reset”)
Todos los PIC tienen la facultad de generar una autoreinicialización o autoreset al conectarles la
alimentación.
2. Perro guardián (Watchdog o WDT)
Existe un temporizador que produce un reset automáticamente si no es recargado antes que pase
un tiempo prefijado. Así se evita que el sistema quede “colgado” dado en esa situación el programa no
recarga dicho temporizador y se genera un reset.
3. Código de protección
46
FIFFFIGURA
PROYECTO DE INGENIERÍA ELECTRÓNICA
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
Cuando se procede a realizar la grabación del programa, puede protegerse para evitar su lectura.
También disponen los PIC de posiciones reservadas para registrar números de serie, códigos de
identificación, prueba, etc.
Memoria
Memoria
Programa
Frecuencia
Datos
(x12 Bits)
Máxima
(bytes)
EPROM ROM
Modelo
PIC16C52
PIC16C54
PIC16C54A
PIC16CR54A
PIC16C55
PIC16C56
PIC16C57
PIC16CR57B
PIC16C58A
PIC16CR58A
384
512
512
512
512
1K
2K
2K
2K
2K
25
25
25
25
24
25
72
72
73
73
04 MHz
20 MHz
20 MHz
20MHz
20MHz
20MHz
20MHz
20MHz
20MHz
20MHz
Líneas
E/S
4
12
12
12
20
12
20
20
12
12
Temporizadores Pines
TMR0+WDT
TMR0+WDT
TMR0+WDT
TMR0+WDT
TMR0+WDT
TMR0+WDT
TMR0+WDT
TMR0+WDT
TMR0+WDT
TMR0+WDT
18
18
18
18
28
18
28
28
18
18
Tabla 4.3 Características de los modelos PIC16C(R)5X de la gama baja
4. Líneas de E/S de alta corriente
Las líneas de E/S de los PIC pueden proporcionar o absorber una corriente de salida
comprendida entre 20 y 25 mA, capaz de excitar directamente ciertos periféricos.
5. Modo de reposo (Bajo consumo o “sleep”)
Ejecutando una instrucción (SLEEP), la CPU y el oscilador principal se detienen y se reduce
notablemente el consumo.
Para terminar el comentario introductorio sobre los componentes de la gama baja conviene
nombrar dos restricciones importantes:

La pila o “stack” sólo dispone de dos niveles lo que supone no poder encadenar más de
dos subrutinas.

Los microcontroladores de la gama baja no admiten interrupciones.
47
PROYECTO DE INGENIERÍA ELECTRÓNICA
FIFFFIGURA
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
4.2.3 Gama media. PIC16CXXX con instrucciones de 14 bits.
Figura 4.3 Diagrama de pines del PIC16C74, uno de los modelos más representativos de la gama media.
Es la gama más variada y completa de los PIC. Abarca modelos con encapsulado desde 18 pines
hasta 68, cubriendo varias opciones que integran abundantes periféricos. Dentro de esta gama se halla
el «fabuloso PIC16X84» y sus variantes. En la Figura 4.3 se muestra el diagrama de conexionado de
uno de estos PIC.
En esta gama sus componentes añaden nuevas prestaciones a las que poseían los de la gama
baja, haciéndoles más adecuados en las aplicaciones complejas. Admiten interrupciones, poseen
comparadores de magnitudes analógicas, convertidores A/D, puertos serie y diversos temporizadores.
El repertorio de instrucciones es de 35, de 14 bits cada una y compatible con el de la gama baja.
Sus distintos modelos contienen todos los recursos que se precisan en las aplicaciones de los
microcontroladores de 8 bits. También dispone de interrupciones y una Pila de 8 niveles que permite el
anidamiento de subrutinas. En la Tabla 2.3 se presentan las principales características de los modelos
de esta familia.
48
FIFFFIGURA
PROYECTO DE INGENIERÍA ELECTRÓNICA
Modelo
PIC16C84
PIC16F84
PIC16F83
PIC16CR84
PIC16CR83
Memoria
Programa
Memoria Datos
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
Interrupciones
E/S
EEPROM
Registros
Específicos
Temporizadores
RAM
1KX14
EEPROM
36
64
11
TMR0+WDT
4
13
1KX14 FLASH
68
64
11
TMR0+WDT
4
13
512X14
FLASH
36
64
11
TMR0+WDT
4
13
1KX14 ROM
68
64
11
TMR0+WDT
4
13
512X14 ROM
36
64
11
TMR0+WDT
4
13
Rango
Voltaje
2-6
volts
2-6
volts
2-6
volts
2-6
volts
2-6
volts
Pines
18
18
18
18
18
Tabla 4.4 Características relevantes de los modelos PIC16X8X de la gama media.
Encuadrado en la gama media también se halla la versión PIC14C000, que soporta el diseño de
controladores inteligentes para cargadores de baterías, pilas pequeñas, fuentes de alimentación
ininterrumpibles y cualquier sistema de adquisición y procesamiento de señales que requiera gestión de
la energía de alimentación. Los PIC 14C000 admiten cualquier tecnología de las baterías como Li-Ion,
NiMH, NiCd, Ph y Zinc.
El temporizador TMR1 que hay en esta gama tiene un circuito oscilador que puede trabajar
asíncronamente y que puede incrementarse aunque el microcontrolador se halle en el modo de reposo
(“sleep”), posibilitando la implementación de un reloj en tiempo real.
Las líneas de E/S presentan una carga “pull-up” activada por software.
4.2.4 Gama alta: PIC17CXXX con instrucciones de 16 bits.
Se alcanzan las 58 instrucciones de 16 bits en el repertorio y sus modelos disponen de un sistema
de gestión de interrupciones vectorizadas muy potente. También incluyen variados controladores de
periféricos, puertas de comunicación serie y paralelo con elementos externos, un multiplicador
hardware de gran velocidad y mayores capacidades de memoria, que alcanza los 8 k palabras en la
memoria de instrucciones y 454 bytes en la memoria de datos.
49
PROYECTO DE INGENIERÍA ELECTRÓNICA
FIFFFIGURA
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
Quizás la característica más destacable de los componentes de esta gama es su arquitectura
abierta, que consiste en la posibilidad de ampliación del microcontrolador con elementos externos. Para
este fin, las pines sacan al exterior las líneas de los buses de datos, direcciones y control, a las que se
conectan memorias o controladores de periféricos. Esta facultad obliga a estos componentes a tener un
elevado número de pines comprendido entre 40 y 44. Esta filosofía de construcción del sistema es la
que se empleaba en los microprocesadores y no suele ser una práctica habitual cuando se emplean
microcontroladores. En la tabla 4.4 se muestran las características más relevantes de los modelos de
esta gama, que sólo se utilizan en aplicaciones muy especiales con grandes requerimientos.
50
PROYECTO DE INGENIERÍA ELECTRÓNICA
FIFFFIGURA
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
5. MOTORES
5.1 Concepto
Con frecuencia se usa un motor como el dispositivo corrector final de un sistema de control
industrial. En una de tales aplicaciones el motor maneja un servomecanismo y logra el posicionamiento
de un objeto en el lugar deseado.
Cuando una fuente eléctrica es conectado a un motor, el motor gira su eje, entonces, el motor
convierte la energía eléctrica en energía mecánica.
Otras aplicaciones pueden ser: La apertura y cierre de válvulas, la variación de la velocidad de
una bomba para ajustar la razón de flujo de un líquido y la variación de la velocidad de un ventilador
para ajustar el flujo de aire, Taxímetros, Disk-drive, Impresoras, Plotters., Movimiento de Brazo y
Robots, Patrón mecánico de velocidad angular, Registradores XY, Relojes Eléctricos, Casetes
Digitales, Control Remoto, Máquinas de escribir electrónicas, Manipuladores, Posicionamiento de
piezas en general, Bombas impelentes en aplicaciones de electromedicina . Los motores pueden
dividirse en dos clases generales de cd y de ca.
5.2 Motores de CA
5.2.1 Concepto
Uno de los atractivos principales de los motores de ca es que no necesitan un proceso
de conmutación para poder operar y de no requerir de un suministro de potencia rectificado de
cd. Su desventaja principal es que su velocidad no es fácilmente ajustable, ya que esta
relacionada fuertemente a la frecuencia de la línea de ca.
51
FIFFFIGURA
PROYECTO DE INGENIERÍA ELECTRÓNICA
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
5.2.2 Tipos de motores de C.A.
Figura 5.1 Subclases de los motores de CA
De las subclases de c.a, los motores de inducción son los más importantes para el control
industrial. Los motores síncronos ciertamente se utilizan en la industria, pero generalmente son grandes
máquinas trifásicas usadas para propósito de operación en estado estable no de control, por ejemplo,
para operar compresores de aire. Los de tipo síncrono, pequeños, de una fase, es decir los motores de
reluctancia y los motores de histéresis, son usados principalmente en equipos de audio y en relojes
cronómetros. Los motores universales solo se ven ocasionalmente en los sistemas de control; su uso
principal ocurre en las herramientas manuales de velocidad variable.
52
PROYECTO DE INGENIERÍA ELECTRÓNICA
FIFFFIGURA
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
5.3 Motores C.D.
5.3.1 Concepto.
Un motor de cd recibe potencia eléctrica de cd y produce una rotación mecánica de su eje. La
misma máquina es perfectamente capaz de invertir ese proceso de conversión de energía, recibiendo
una rotación mecánica de una maquina externa y produciendo una potencia eléctrica de CD.
El atractivo de los motores de CD esta en que su velocidad es fácilmente ajustable. La mayoría
de los motores de CD aceleran o frenan a medida que se varía el voltaje aplicado. Los motores de paso
a paso son diferentes en este sentido (los motores de paso están dentro de los motores de CD) cambian
de velocidad a medida que se varía la frecuencia de pulso de paso, mediante técnicas digitales.
Sin embargo la característica común entre todos los motores de CD es que el control de
velocidad es fácil. La desventaja de los motores de CD es que requieren de un proceso de conmutación.
5.3.2 Tipos de motores de CD.
En los motores de rotor devanado, convencional de imán permanente y sin núcleo la
conmutación se lleva acabo en forma mecánica y en los motores de CD paso a paso y sin escobillas la
conmutación se efectúa electrónicamente. En la figura 5.2 se muestran los tipos de motores de CD.
53
PROYECTO DE INGENIERÍA ELECTRÓNICA
FIFFFIGURA
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
Figura 5.2 Subclases de los motores de CD
Enfocaremos nuestra atención en la subclase Imán permanente (IP), concentrándonos en el tipo IP
convencional.
5.3.2 Motores convencionales de imán permanente.
Un motor de cd convencional de imán permanente su ensamble es con un núcleo laminado de
hierro, devanados de armadura colocados en ranuras del rotor, un conmutador, un montaje de
escobillas y el campo magnético es estable por imanes permanentes.
En su forma más sencilla, el motor contiene imanes permanentes que están magnetizados
radialmente, como se muestra en la figura 5.3. El flujo magnético emerge de la cara del polvo norte a la
izquierda de la figura 5.3-a. El flujo pasa a través del entre hierro (air gap), a través del núcleo
convencional del rotor, y vuelve a entrar por la cara del polo sur a la derecha. La superficie externa del
54
PROYECTO DE INGENIERÍA ELECTRÓNICA
FIFFFIGURA
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
imán del lado derecho es norte; la superficie externa del imán del lado izquierdo es sur. La trayectoria
del flujo magnético se completa a través del armazón de acero de motor, igual que lo haría en una
máquina de campo devanado.
Figura 5.3(a).- Dos polos
Figura 5.3 (b).- Cuatro polos
Figura 5.3.- Cortes Transversales de dos motores convencionales de imán permanente con polos magnetizados radialmente.
También hay disponibles diseño de cuatro y seis polos. Cuando se aumenta el número de polos
de campo, l devanado de la armadura debe rediseñarse para que las bobinas individuales de la
armadura tengan el mismo espaciamiento mecánico que los polos adyacentes. Por ejemplo la estructura
de campo de cuatro polos mostrada en la figura 5.3-b, con 90 mecánicos entre los polos adyacentes,
requerirá que las bobinas de armadura tengan sus lados colocados en ranuras del rotor que también esté
a espaciamiento de 90 mecánicos (aproximadamente). Por lo general también hay cuatro escobillas de
conmutación. Estos hechos en relación con la armadura de un motor multipolos son ciertos tanto las
máquinas de cd de campo devanado como para las máquinas de imán permanente.
55
PROYECTO DE INGENIERÍA ELECTRÓNICA
FIFFFIGURA
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
5.3.3 Motores de paso
Los motores paso a paso son fundamentalmente diferente
a los demás motores de cd: no tienen escobillas ni conmutador
mecánico. En su lugar, la acción de conmutación necesaria para la
función del motor de paso a paso es lograda por transistores
externos, y el rotor es una colección de imanes permanentes
salientes.
Figura 5.4 Motor de paso
5.3.3.1 Estructura
Los cuatro devanados de los polos del estator y sus
transistores controladores se etiquetan A, B, C y D. Cuando el
circuito de control enciende un transistor en particular, hay un
flujo de corriente de alimentación de cd + Vs, a través de ese
devanado en particular, a través del transistor a tierra.
Figura 5.5 Devanado de motor de
pasos.
Cuando un solo devanado es energizado, está enrollado de
tal manera que su polo se vuelve norte magnético. Su flujo emerge
de la cara del polo, pasa a través del rotor, entonces completa su trayectoria entrando en la cara del
polo directamente opuesto a él.
56
PROYECTO DE INGENIERÍA ELECTRÓNICA
FIFFFIGURA
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
Figura 5.6 Con cuatro polos de estator y seis polos de rotor, este motor paso a paso tiene un ángulo de paso
natural de 30.El rotor se muestra en la posición 0 (flecha de posición imaginaria apuntando hacia arriba a la
posición de las 12 en punto).
Por ejemplo, si el transistor A energiza el polo A de la figura 5.5, el flujo creado por ese polo
completa su trayectoria a través del polo C y a través del armazón del motor. Por tanto, C
automáticamente se vuelve un polo sur, aun cuando su devanado no lleva corriente.
En la figura 5.5 los polos permanentes del rotor están etiquetados del 1 al 6, siendo sur los
polos 1, 3 y 5. Los polos alternos, números 2,4 y 6, son norte.
57
PROYECTO DE INGENIERÍA ELECTRÓNICA
FIFFFIGURA
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
5.3.3.2 Principio de operación.
El principio de operación de un motor de paso a paso de imán permanente es el siguiente:
El polo del estator energizado que se vuelve norte magnético activo atrae el polo sur más
cercano del rotor para alinearlo con él. Esta acción de producción de par es ayudada por el polo sur
pasivo del estator (del lado opuesto del estator), atrayendo el rotor norte opuesto para alinearlo con él.
Por ejemplo, en la figura 5, si el transistor A es encendido, el polo A del estator que esta en la
posición de las 12 en punto es el norte activo. En el instante mostrado, ya ha atraído el polo sur 1 del
rotor para alinearlo con él. También, el polo C del estator que apunta a las 6 es el sur pasivo. Ha atraído
el polo norte 4 del rotor para alinearlo con él.
Definamos la posición del rotor mostrada en la figura 5 como la posición de 0. Hemos
mostrado una flecha imaginaria de posición en el eje que apunta hacia arriba, a las 12 en punto. A
medida que gira el eje del rotor, podemos describir su nueva posición dando la dirección en la que
apunta la flecha imaginaria.
El circuito de control apaga ahora el transistor A y enciende simultáneamente en transistor B.
El polo B del estator se convierte en el norte activo; el polo D del estator se vuelve el sur pasivo. Los
polos A y C se vuelven neutrales, se desmagnetizan. El polo B del estator atrae el polo sur 5 del rotor.
El polo D del estator atrae el polo norte 2 del rotor. El rotor se mueve en dirección de las manecillas
del reloj 30, por lo que los polos del rotor se alinean con los polos del estator. Decimos que el motor
toma un paso de 30. La flecha imaginaria de posición ahora apunta hacia la 1 en punto.
Una vez que se a dado el paso de 30, el controlador puede apagar el transistor B si la carga
mecánica no causa el movimiento del rotor más allá de la posición destino, que es la 1 en punto. Si la
carga tiende a causar este problema, el transistor B debe permanecer encendido para permitir que el
motor de paso a paso mantenga su posición. El primer paso de 30 se registra en la tabla 1, pasando del
renglón superior al segundo renglón.
58
FIFFFIGURA
PROYECTO DE INGENIERÍA ELECTRÓNICA
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
En seguida, el circuito de control apaga el transistor B y simultáneamente enciende el transistor
C. Esto hace que el polo C del estator se vuelva el norte y el polo A se vuelva el sur pasivo. El polo sur
3 esta apenas a 30 de distancia en este momento, por lo que se mueve para alinearse con él. El motor
ha tomado otro paso de 30 en direcciones de las manecillas del reloj, como se indica en la tabla 1. La
flecha imaginaria de posición apunta a las 2 en punto, a 60 de su posición inicial. Y así en adelante,
con el controlador disparando los transistores en la secuencia repetida ABCD, mostrada en la tabla 1.
Deberá seguir los pasos del motor durante una rotación de 360, hasta la parte inferior de la tabla 1.
Observe que el polo del estator se ha vuelto norte y cual polo sur del rotor esta a 30 de él.
Posición del
eje en grados
Transistor
encendido
0°
30°
60°
90°
A
B
C
D
120°
150°
180°
210°
A
B
C
D
240°
270°
300°
330°
A
B
C
D
360°
A
Tabla 5.1: Secuencia de conmutación de los transistores para tomar
pasos completos en la dirección de las manecillas del reloj.
La inversión de un motor de paso a paso para que su giro sea en dirección contraria a las manecillas del
reloj es sencilla, conceptualmente. Solo disponga que el circuito de control encienda los transistores de
conmutación en la secuencia inversa, DCBA. Esto se muestra en la tabla 2.
59
FIFFFIGURA
PROYECTO DE INGENIERÍA ELECTRÓNICA
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
POSICIÓN
TRANSISTOR
DEL EJE EN
ENCENDIDO
(GRADOS)
0
A
-30
D
-60
C
-90
B
-120
A
-150
D
-180
C
-210
B
Tabla 5.2 Secuencia de conmutación de transistores para lograr que el
motor de paso a paso tome pasos completos en la dirección contraria a
las manecillas del reloj.
Comenzando por la posición de giro de 0, la posición de restablecimiento de encendido ( RE )
[power-on reset (POR)] que ha encendido A, el controlador conmuta primero al transistor D. En la
figura 5, esto hace que el polo sur 3 del rotor se mueva 30 en dirección contraria a las manecillas del
reloj para alinearse con el polo norte D del estator y, por supuesto, alineando el polo norte 6 del rotor
con el polo sur B pasivo del estator. Siga la rotación contraria a las manecillas del reloj del motor de
paso a paso haciendo referencia la tabla 2 y a la figura 5.
Figura 5: Con cuatro polos de estator y seis polos de rotor, este motor de paso a paso tiene un ángulo
de paso natural de 30. El rotor se muestra en la posición de 0 (flecha de posición imaginaria
apuntando hacia arriba, a la posición de las 12 en punto).
60
PROYECTO DE INGENIERÍA ELECTRÓNICA
FIFFFIGURA
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
6. PUENTE H.
6.1 Concepto.
La interfaz de potencia para motores de corriente
continúa o CD, PUENTE H, es un sistema que permite
controlar motores en rangos entre 12 y 30 voltios y con
consumos de hasta 2.5 amperios por medio de señales de
baja potencia provenientes de un circuito digital.
En general cualquier tipo de sistema digital puede
adquirir fácilmente la capacidad para activar motores de
CD haciéndolos girar en uno o en otro sentido usando la
Figura 6.1 Muestra de un circuito puente h
con transistores.
interfaz Puente H como puente entre el sistema digital y el
motor de CD.
Las principales características de la interfaz Puente H se enumeran a continuación:

Activación de motores en un rango entre 9 y 30 voltios DC.

Capacidad para entregar hasta 2.5 Amperios a la carga.

Capacidad para activar el giro del motor en cualquiera de los dos sentidos.

Fácil y rápida conexión gracias a sus borneras de tornillo.

Reducido tamaño

Excelente calidad.
6.2 Características
Las principales características de la interfaz Puente H se enumeran a continuación:

Activación de motores en un rango entre 9 y 30 voltios DC.

Capacidad para entregar hasta 2.5 Amperios a la carga.

Capacidad para activar el giro del motor en cualquiera de los dos sentidos.

Fácil y rápida conexión gracias a sus borneras de tornillo.

Reducido tamaño

Excelente calidad
61
PROYECTO DE INGENIERÍA ELECTRÓNICA
FIFFFIGURA
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
6.3 Funcionamiento
El término “puente H” se deriva de la
representación gráfica típica de tal circuito. Un Puente
H se construye con cuatro interruptores (de estado
sólido o mecánico). Cuando los interruptores S1 y S4
(según la primera figura) están cerrados (y S2 y S3
están abiertos) un voltaje positivo será aplicado a
través del motor. Abriendo S1 y S4 y cerrando S2 y
S3 este voltaje es invertido, permitiendo la operación
del motor en sentido contrario.
Los interruptores S1 y S2 nunca se deben de cerrar al
mismo tiempo, pues causaría un cortocircuito en la
fuente del voltaje de entrada. Igual se aplica a los
Figura. 6.2 Diagrama funcional
Puente H.
de un
interruptores S3 y S4. Esta condición se conoce como
“shoot-through”.
Un puente H de estado sólido se
construye típicamente usando
los dispositivos reversos de la
polaridad (es decir, BJTs pnp o
MOSFETs
de
canal
P
conectados al bus positivo y
BJTs npn o MOSFETs del
canal N conectados con el bus
negativo).
Figura. 6.3 Diagrama eléctrico con transistores de un Puente H.
Los diseños
más
eficientes
MOSFET,
utilizan
los
MOSFET´s de canal N en el
lado de voltaje alto y de bajo voltaje debido a que tienen una resistencia de encendido que es
típicamente un tercio de la resistencia de encendido de los MOSFET´s de canal P. Esto requiere un
diseño más complejo puesto que requiere de circuitos de “bomba de carga” para manejarlas puertas de
62
PROYECTO DE INGENIERÍA ELECTRÓNICA
FIFFFIGURA
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
los MOSFETs que van conectados al lado de alto voltaje. Sin embargo, se puede encontrar circuitos
integrados de MOSFETS como el semiconductor HIP4081A de Harris, lo cual hace esto fácil.
6.4 Presentaciones de los Puentes H.
Debido a que la implementación de un puente H con transistores ocupa mucho espacio físico,
se pueden encontrar en el mercado dispositivos de baja integración que ocupan menos espacio.
(a) L298N puente H 2A.
(b) L293D puente H 1A.
Figura 6.4 Diferentes encapsulados de circuitos integrados para puentes H
63
FIFFFIGURA
PROYECTO DE INGENIERÍA ELECTRÓNICA
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
El funcionamiento del L293 se basa en la siguiente tabla;
VIN
VOUT
VEN
H
H
H
L
L
H
H
Z
L
L
Z
L
Tabla 7.1 Voltajes del L293.
H = Nivel alto “1”
L = Nivel bajo “0”
Z = Alta Impedancia
Configuración interna del L293;
IN- Entradas
EN- Entradas
OUT – Salidas
Vs- Fuente de voltaje
Vss – Fuente de voltaje lógico
6.4 Configuraciones del L293.
Con un L293B podemos tener control bidireccional con 2 motores o control unidireccional con
4 motores, a continuación vamos a ver como se han de conectar los motores.
Control Unidireccional: En la siguiente figura vemos las dos formas de conectar un motor
para control unidireccional, M1 se activa al poner la entrada del driver conectado a este, a nivel bajo
"0", mientras que M2 se activa al poner la entrada del driver a nivel alto "1" y se para al ponerla a nivel
bajo "0". La entrada enable es como un interruptor general y deberá ponerse a nivel alto "1" para poder
operar con los drivers que controla, o a nivel bajo "0" si se quiere desconectar el control de estos. "Vs"
será la tensión de alimentación necesaria para los motores. Los diodos modelo 1N4007 son para
proteger el circuito de los picos de arranque y parada de los motores debido a la corriente inversa
inducida por estos
64
FIFFFIGURA
PROYECTO DE INGENIERÍA ELECTRÓNICA
Vinh
A
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
M1
B
M2
H
H
Rápida parada
del motor
H
Girar
H
L
Gira
L
Rápida parada
del motor
L
X
Libre parada
del motor en
funcionamiento
X
Libre parada
del motor en
funcionamiento
L - Low
H-High
X -Condiciones “no importa”
Figura 6.5 Diagrama de una aplicación del L293
Control Bidireccional: En el siguiente circuito vemos el modo de conectar un motor para permitir
controlarlo tanto hacia delante como hacia atrás. Para tener el control de dos direcciones o
bidireccional se usan dos de drivers del l293b conectando sus salidas a los polos del motor, entonces
podremos cambiar la polaridad de alimentación del motor con tan solo cambiar de estado las entradas
de los drivers. Por ejemplo, para que el motor gire hacia la derecha pondremos la entrada "A" a nivel
alto "1" y "B" a nivel bajo "0" y para hacer girar el motor a la izquierda tendremos que invertir las
65
FIFFFIGURA
PROYECTO DE INGENIERÍA ELECTRÓNICA
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
señales de entrada de tal manera que la entrada "A" a nivel bajo "0" y "B" a nivel alto "1". Los diodos
son como en el caso anterior para proteger el integrado de corrientes inversas.
Entradas
Vinh = H
Vinh = L
H = High
Función
C = H; D= L
C = L; D = H
C=D
C = X; D= X
Vuelta derecha
Vuelta izquierda
Paro rápido de motor
Corrida libre de parada de
motor
L = Low
X = Condiciones “no importa”
Figura 6.6 Segundo diagrama de aplicación del L293
66
PROYECTO DE INGENIERÍA ELECTRÓNICA
FIFFFIGURA
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
7. PLANIFICACIÓN Y DISEÑO DEL ROBOT MÓVIL AUTONOMO.
7.1 Descripción de niveles de un robot autónomo
Para cumplir los objetivos planteados en este proyecto nuestro proyecto sólo incluirá los
siguientes niveles.
Figura 7.1 Niveles propuestos para proyecto
7.2 Nivel Físico.
7.2.1 Motores de corriente continúa.
Para nuestro proyecto decidimos utilizar motores de corriente continua de pequeña potencia, ya que
estos motores son idóneos cuando no disponemos de una fuente de voltaje potente, o su utilización se
vuelve inmanejable para los propósitos prácticos del proyecto.
67
FIFFFIGURA
PROYECTO DE INGENIERÍA ELECTRÓNICA
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
Otra característica que buscamos en los motores es la de que
estos tuvieran una micro-caja de engranes reductora, la cual
proporcionaría a nuestro robot una velocidad manejable, pues la
velocidad normal de un motor de corriente directa es muy rápida,
además proporciona mayor tracción ó par de arranque en el
momento del arranque.
Figura 7.2 Motores C.D. con caja
reductora.
Como ya explicamos anteriormente los motores recibirán
voltaje y corriente del puente H.
7.2.2 Estructura del robot móvil.
Para la estructura de nuestro robot móvil decidimos que esta debía ser muy ligera, con el
espacio necesario para contener los módulos operativos de control, decodificación y potencia, así como
las llantas y la batería para alimentar a todo el robot. El material utilizado fue madera para las
plataformas, unidas por tornillos de cuerda infinita, los cuales proporcionaban un soporte muy sólido.
68
PROYECTO DE INGENIERÍA ELECTRÓNICA
FIFFFIGURA
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
Figura 7.3 Estructura del robot móvil de tipo rover
7.2.3 Movilidad de la estructura: Ruedas o llantas.
Un robot móvil necesita un sistema de desplazamiento para cumplir sus objetivos de
exploración y avance. En nuestro diseño utilizamos llantas de goma para la tracción total del sistema
situadas en la parte posterior y una rueda sólida de acción libre en la parte delantera como se observa
en la figura 7.3.
A través de los movimientos “hacia delante” y “hacia atrás” o “giro en el sentido de las
manecillas del reloj” y “giro en sentido contrario a las manecillas del reloj”, sobre las ruedas de
tracción en la parte posterior del robot móvil se puedo controlar la dirección de avance.
69
PROYECTO DE INGENIERÍA ELECTRÓNICA
FIFFFIGURA
Figura 7.4 (a)
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
Figura 7.4 (c)
Movimiento “Hacia delante”
Movimiento “Giro a la izquierda”
Figura 7.4 (b)
Figura 7.4 (d)
Movimiento “Hacia atrás”
Movimiento “Giro a la derecha”
En la figura 7.4 (a) se muestra como se realiza un movimiento hacia delante. Se hacen girar los
dos motores en la misma dirección hacia delante, por lo cual se produce un movimiento rectilíneo.
En la figura 7.4 (b) se muestra como se realiza un movimiento hacia atrás. Se hacen girar los dos
motores en la misma dirección hacia atrás generando el movimiento rectilíneo deseado.
Para el movimiento lateral de girar hacia la derecha figura 7.4(c), se hace girar el motor
izquierdo hacia delante y el motor de la derecha hacia atrás.
Para el movimiento lateral de girar hacia la izquierda figura 7.4(d), se hace girar el motor
izquierdo hacia atrás y el motor de la derecha hacia delante.
70
FIFFFIGURA
PROYECTO DE INGENIERÍA ELECTRÓNICA
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
7.2.4 Etapa de potencia
El objetivo de esta etapa es la de suministrar el voltaje y corriente necesarios para mover
nuestros motores anteriormente descritos. Elegimos el dispositivo L293, del cual existen diferentes
versiones de acuerdo al control que queremos tener en el motor.
Figura 7.5 –Distribución de pines del L293.
Pines
Descripción
1,9
Estos pines sirven para habilitar el movimiento del motor, si estos pines están en 0, el motor
correspondiente no funcionará, en cambio, si está en uno, el motor funcionará. Estos pines también
sirven para el PWM, (pulse width modulator), que consiste en controlar el tiempo en que el pin
esté en 1 o en 0, eso quiere decir que si mandas 0 y 1 en intervalos de tiempo iguales, el motor
funcionará a la mitad de velocidad, mientras mayor sea el intervalo de uno, mayor es la velocidad
y viceversa.
4, 5, 12, 13 Tierra de controlador y del motor, son 4 porque también son disipadores de calor.
16
Alimentación del controlador, mínimo 4,5v, máximo 36v.
8
Alimentación del motor, máximo 36v.
Pines de entrada, sirven para controlar el sentido de giro de los motores, la entrada 1 y la 2 sirven
para el motor 1, y la 3 y la 4 con el motor 2. Si se manda un 0 a la entrada 1 y 2, el motor estará
apagado, en cambio, si se manda un 1 a la entrada 1 y un 0 a la entrada 2, girada en un sentido, si
2, 7, 10, 15
se hace al revez, un 0 al 1 y un 1 al 2, girará en el otro sentido. Si se ponen los dos pines en 1,
habrá un cortocircuito, lo que hará que se gaste la pila o incluso que se queme algo. Lo
anteriormente dicho vale también para el motor 2, con sus entradas 3 y 4.
3, 6, 11, 14
Pines de salida hacia los motores, el 3 y 6 corresponden al motor 1, y el 11 y 14 al motor 2.
71
FIFFFIGURA
PROYECTO DE INGENIERÍA ELECTRÓNICA
Habilitador Entrada 1
0
0/1
1
0
Entrada 2
0/1
0
1
1
1
1
1
0
1
0
1
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
Motor
Apagado
Apagado
Apagado
(Cortocircuitando)
Gira en un sentido
Gira en el otro
sentido
Ahora viene lo que puede ocasionar diferencias respecto al modelo del L293, indistintamente
el modelo que sea, debe llevar unos diodos de protección, que protejan al controlador de los picos de
voltaje que pueda producir el motor.

L293: Se deben agregar los diodos protectores

L293D: Diodos incorporados, las salidas se conectan directo al motor.

L293NE: Se deben agregar los diodos protectores.
Existen más, pero esos son los más comunes, para saber si alguno necesita o no diodos, se puede ver
en la hoja de especificaciones.
Nuestra implementación con el L293 fue la siguiente:
Figura 7.6 – Diagrama funcional con L293
72
PROYECTO DE INGENIERÍA ELECTRÓNICA
FIFFFIGURA
Figura 7.7 – Diagrama eléctrico con el L293.
73
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
FIFFFIGURA
PROYECTO DE INGENIERÍA ELECTRÓNICA
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
Figura 7.8 PCB del L293
Al momento de conectar este dispositivo a nuestros motores, funcionaban perfectamente, por
unos dos minutos, pero si el funcionamiento continuaba, el circuito integrado L293 se calentaba
demasiado. Por tanto buscamos otra solución basada en puente H, pero que no elevara su temperatura
tan fácilmente al poco tiempo de funcionar.
Nuestra segunda opción es un dispositivo semiconductor del mismo tipo que el anterior con la
diferencia que este puede resistir una mayor temperatura de trabajo. Este dispositivo es el L298, tiene 8
transistores de potencia situados en su interior. Este circuito integrado, puede entregar una corriente
máxima de 2 amperes en sus salidas. La configuración que vemos consta de las siguientes etapas:
74
PROYECTO DE INGENIERÍA ELECTRÓNICA
FIFFFIGURA
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
Figura 7.9 Interfaz de potencia con puente H L298.
Etapa de entrada: formada por cuatro optoacopladores, estos dispositivos aíslan el circuito de
control, en nuestro caso el circuito con el PIC, de la interfaz de potencia, este aislamiento es necesario
debido al ruido introducido por la puesta en marcha de los motores.
Etapa Puente H: Consiste en un circuito integrado como el de la figura 6.4 (b), el cual es
capaz de proporcionar hasta 4 ampers de potencia.
Etapa de protección de salida: esta etapa esta diseñada con 8 diodos de tipo schottky, dos por
cada salida, que cumplen con la función de proteger al circuito integrado contra corrientes parásitas
que pudiesen generarse debido al accionamiento de los motores.
75
PROYECTO DE INGENIERÍA ELECTRÓNICA
FIFFFIGURA
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
7.3 Nivel de Reacción y Control.
Como habíamos mencionado anteriormente este nivel se refiere a los sistemas electrónicos,
sensoriales, así como el programa ó software para controlar la parte electrónica. En este nivel el primer
punto es el diseño de un algoritmo que definirá el funcionamiento de nuestro robot móvil.
Los movimientos básicos que necesitamos controlar son:
a) Marcha
b) Paro
c) Giro a la derecha
d) Giro a la izquierda
Para poner en marcha a nuestro robot sólo necesitamos de un bit “1” ó “0”, lo mismo sucede con el
paro del robot. En cuanto a los giros y su sentido, debemos tomar más bits para representarlos.
Figura 7.10 Diagrama de flujo que muestra el comportamiento que queremos que siga
nuestro robot móvil.
Para este proyecto después de haber analizado las soluciones existentes en el mercado, optamos por
utilizar un microcontrolador PIC16F874, ó también el PIC18F4550, como cerebro de nuestro robot.
76
PROYECTO DE INGENIERÍA ELECTRÓNICA
FIFFFIGURA
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
Figura 7.11 Circuito de control con el PIC18F4550
Usaremos un puerto de los cuatro posibles que tiene el PIC para introducir las señales de
control provenientes de la etapa anterior.
77
FIFFFIGURA
PROYECTO DE INGENIERÍA ELECTRÓNICA
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
Figura 7.12 Diagrama de flujo con los movimientos y las señales necesarias en el puerto A
del PIC18F4550.
A continuación mostramos el código ensamblador correspondiente a nuestro algoritmo
de control.
ORG 0
Inicio
bsf
STATUS,RP0
bsf
EntradaAvance
bsf
SenialSentido
clrf
PORTB
bcf
STATUS,RP0
;Configura las líneas de entrada.
;Las líneas del Puerto B configuradas como salida.
RutinaPrincipal
clrw
;Con esta combinación se detiene el motor.
btfsc
EntradaAvance
;Comprueba el estado de la señal de marcha.
goto
Salida
movlw
b'00010010'
btfsc
SenialSentido
; Comprueba el sentido de giro deseado.
movlw
b'00010001'
; Gira en el otro sentido.
; Gira en un sentido.
ActivaSalida
movwf
PORTB
goto
RutinaPrincipal
END
78
PROYECTO DE INGENIERÍA ELECTRÓNICA
FIFFFIGURA
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
8. CONCLUSIONES.
Alcances:
En este proyecto se enfocaron los conocimientos de electrónica vistos a lo largo de la licenciatura,
tanto en electrónica analógica como digital y de control. En el desarrollo de este proyecto se analizaron
y desarrollaron los sistemas de potencia y control para el funcionamiento de un sistema autónomo
controlado por radio frecuencia. Los medios físicos que se utilizaron para la elaboración de la
estructura del sistema autónomo fueron llantas de uso didáctico, diseños en madera y tornillería.
Nuestro diseño es pionero dentro de la UAM-Iztapalapa en cuanto al diseño de robots tipo rover
completos dentro de un rango de movilidad básica.
Limitaciones:
Los inconvenientes encontrados para el diseño del proyecto fueron los siguientes; encontrar una
batería que proporcionara a los motores la suficiente cantidad de amperaje por hora dentro de un rango
de voltaje aceptable para los circuitos de control y potencia electrónicos , otra dificultad que
enfrentamos fue la de encontrar un diseño físico para la colocación de motores y tarjetas electrónicas.
Mejoras:
Se puede mejorar el algoritmo de funcionamiento de nuestro robot, para esto necesitaríamos un
microcontrolador ó microprocesador más poderoso, es decir con mayor cantidad de memoria y de
puertos para ampliar la funcionalidad de nuestro robot, en cuanto al manejo de sensores como pueden
ser ultrasónicos, de movimiento, infrarrojos, de presión y temperatura, etc.También se puede mejorar la
movilidad, colocando más llantas y de mejor calidad de tal manera que nuestro robot pueda operarse en
terrenos de difícil acceso; como pueden ser desiertos, zonas montañosas o boscosas.
79
PROYECTO DE INGENIERÍA ELECTRÓNICA
FIFFFIGURA
9. BIBLIOGRAFIA.
[1]
Microcontrolador PIC16F84
Desarrollo de proyectos
Enrique Palacios
Fernando Remiro
Lucas J. López
[2]
Advance Electronic Comunications Systems,
Tomasi Wayne
Editorial Prentice-Hall.
[3]
Tratamiento Digital de Imágenes
Rafael C. González, Richard E. Woods
Ed. Addison Wesley/Díaz de Sant
[4]
Turbo C/C++ Manual de Referencia
Herbert Schildt
Ed. Mc. Graw Hill
[5]
Practical computer vision using C
J.R. Parker.
Wiley
[6]
C++ Builder 3
Francisco Charte Ojeda
Anaya Multimedia
[7]
Aprendiendo Borland C++ builder 3 en 21 dias
Kent Reisdorph
Prentice Hall
[8]
Electrónica: Teoría de Circuitos.
Robert L. Boylestad, Louis Nashelsky.
Prentice Hall.
[9]
Manual ECG.
[10]
www.motorola.com
[11]
www.national.com
[12]
http://robotec11.tripod.com/
[13]
http://www.astroseti.org
80
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
PROYECTO DE INGENIERÍA ELECTRÓNICA
FIFFFIGURA
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
[14]
www.robodacta.com
En este sitio venden circuitos, sensores, motores, libros, partes mecánicas para hacer robots, y
aún robots completos. Es muy recomendable. Aún no he probado que tán diligentes son con el
envío de compras.
[15]
www.ag-electronica.com
Tienda virtual de dispositivos y equipos electrónicos. (Venden el sensor optoreflejante
CNY70)
[16]
www.superrobotica.com
Tienda virtual que vende lo necesario para construir robots. Electrónica, motores, sensores,
ideas, tutoriales y mucho mas. (Al parecer esta tienda no está ubicada en América).
[17]
www.creaturoides.com
Sitio con varias ideas muy creativas para la fabricación de robots con forma de creaturas.
(Matrimonio de Monterrey).
[18]
www.cursoderobotica.com.ar
Sitio que incluye ideas, tutoriales y equipos de robótica.
[19]
http://www.eis.uva.es/amuva/
Asosciación de Microbótica de la Universidad de Valladolid, España.
81
PROYECTO DE INGENIERÍA ELECTRÓNICA
FIFFFIGURA
Anexos
82
ROBOT AUTÓNOMO CONTROLADO
POR UN MICROCONTROLADOR Y R. F.
Descargar