Diseño de un entrenador de microcontroladores PIC para el

Transcription

Diseño de un entrenador de microcontroladores PIC para el
UNIVERSIDAD SIMÓN BOLÍVAR
Decanato de Estudios Profesionales
Coordinación de Ingeniería Electrónica
DISEÑO DE UN ENTRENADOR DE MICROCONTROLADORES PIC
PARA EL LABORATORIO DE MICROCONTROLADORES DEL
INSTITUTO UNIVERSITARIO JESÚS OBRERO
Por
Marco Dujmovic
Informe Final Cursos en Cooperación Técnica y Desarrollo Social
Sartenejas, 11 de Diciembre de 2006
1
UNIVERSIDAD SIMÓN BOLÍVAR
Decanato de Estudios Profesionales
Coordinación de Ingeniería Electrónica
DISEÑO DE UN ENTRENADOR DE MICROCONTROLADORES PIC
PARA EL LABORATORIO DE MICROCONTROLADORES DEL
INSTITUTO UNIVERSITARIO JESÚS OBRERO
Por
Marco Dujmovic
Tutor Académico
Mónica Parada
Sartenejas, 11 de Diciembre de 2006
2
UNIVERSIDAD SIMÓN BOLÍVAR
Decanato de Estudios Profesionales
Coordinación de Ingeniería Electrónica
DISEÑO DE UN ENTRENADOR DE MICROCONTROLADORES PIC
PARA EL LABORATORIO DE MICROCONTROLADORES DEL
INSTITUTO UNIVERSITARIO JESÚS OBRERO
Proyecto de grado presentado por Marco Dujmovic
Tutor académico: Mónica Parada
RESUMEN
Se presenta el diseño de un Sistema de Desarrollo para microcontroladores
PIC de carácter didáctico cuya función principal es facilitar el entrenamiento
en el diseño de aplicaciones basadas en microcontroladores tanto a nivel de
software como de hardware. Dispone de periféricos utilizados en aplicaciones
reales, donde ninguno de ellos esta conectado de forma predeterminada a
las líneas de E/S del microcontrolador. El Sistema diseñado permite
programar los microcontroladores de la familia 16FXXX. El entrenador
permitirá al estudiante contar con una herramienta sencilla, confiable, flexible
y potente, a la vez que el docente podrá evaluar de forma cómoda y rápida
las aplicaciones desarrolladas en el laboratorio.
Palabras clave: Sistema, desarrollo, microcontroladores, didáctico, modular,
programar.
Sartenejas, 11 de Diciembre de 2006
3
Dedicado a las personas más
importantes en mi vida:
Mis padres:
Eva Castellanos
Antonio Dujmovic
Mi abuelo:
Marco Dujmovic
Mi novia:
Mayra Ramírez
4
Agradecimientos
A mi madre, por darme todo su amor sin pedir nada a cambio. Por
estar ahí cada vez que la necesito. Por ser esa luz especial en mi vida.
A mi padre, quien siempre desea lo mejor para mí, quien siempre me
ha enseñado a hacer bien las cosas y que ha sido un apoyo constante en mi
vida.
A Mayra, mi gran amor, quien ha estado conmigo en las buenas y las
malas, siempre dispuesta a escucharme, a apoyarme, a reír conmigo, a llorar
conmigo, a levantarme cada vez que tropiezo, a crecer juntos como persona.
A mis compañeros y amigos del Jesús Obrero. Ustedes contribuyeron
en mi formación y siempre he recibido su cariño y apoyo. Pero quiero hacer
un reconocimiento especial a un grupo de personas que me han brindado un
apoyo incondicional durante mis años de estudio, siempre me orientaron por
el camino correcto y me dijeron palabras sabias en mis momentos de
dificultad. A ellos les debo mucho y sin su ayuda tal vez no hubiese
terminado mis estudios:
Julio Hernández
Wilfredo Hernández
María del Pilar Loyo
Ricardo Contreras
Peer Reitmaier
Manuel Aristorena
A Olivers, Eduardo, Marta y Yarilde, excelentes amigos, siempre
pendientes de mi. Su apoyo persistente contribuyó para que culminara esta
meta.
Al los profesores Orlando Sucre, Mónica Parada y Juan Regidor, por
toda la ayuda que me prestaron en los últimos años de mi carrera.
5
Índice
Capítulo I.
1.1 Introducción
1.2 Justificación
Capítulo II. Marco Teórico
2.1 Microcontrolador
2.1.1 Procesador
2.1.2 Almacenamiento y ejecución del programa
2.1.3 Memoria de programa
2.1.4 Memoria de datos
2.1.5 Líneas de E/S para los controladores de periféricos
2.1.6 Recursos Auxiliares
2.2 La familia de los PIC como elección
2.3 Características relevantes
2.3.1 Las gamas de PIC
2.4 PROTEUS VSM
2.4.1 ISIS
2.4.2 ARES
2.5 La pantalla de cristal líquido de texto
2.5.1 Aspecto físico
2.5.2 Representación de Caracteres
2.5.3 Interfaz de la pantalla con el mundo exterior
2.5.4 El bus de datos
2.5.5 El bus de control
Capítulo III. Marco Metodológico
3.1 Objetivos
3.2 El entrenador
3.2.1 Fuente de alimentación: +5V, +12V
3.2.2 Zócalo para el microcontrolador y cristal de 4MHz
para aplicaciones generales
3.2.3 Pantalla LCD de texto de 2x16 caracteres
3.2.4 Teclado matricial de 4x4 teclas de propósito general
3.2.5 Dos displays de 7 segmentos con drivers
3.2.6 Ocho salidas digitales monitoreadas mediante LEDs
3.2.7 Interfaz serial estándar RS232 con conector DB9
hembra y acceso para la gestión de las señales RX,
TX.
3.2.8 Módulo salida de audio
3.2.9 Módulo de dos relés con driver
3.2.10 Módulo de 8 transistores de potencia
3.2.11 Módulo emisor-detector de infrarrojo
3.2.12 16 entradas digitales formadas por 8 interruptores y
8 pulsadores activos por transición 1-0-1
6
1
1
2
4
4
7
8
10
11
11
12
12
13
16
17
18
20
22
22
22
24
25
26
26
27
28
31
33
34
35
37
38
39
40
41
42
44
45
3.2.13 Módulo de entradas analógicas
3.2.14 Módulo para el montaje sin soldadura
3.2.15 Programador de PICs serie 16
3.2.16 La placa de circuito impreso
Capítulo IV
4.1 Maquetas
4.2 Prácticas de laboratorio
Capítulo V
5.1 Conclusiones
5.2 Recomendaciones
5.3 Bibliografía
Anexos
7
46
47
48
49
55
55
57
58
58
60
61
62
Índice de figuras
2.1 Estructura de buses de la arquitectura Von Neumann
2.2 Arquitectura Harvard
2.3 Diagrama en bloques de PIC16F84A, microcontrolador
más popular de Microchip
2.4 Formato general para las instrucciones del PIC16F84A
2.5 Vista de la herramienta ISIS
2.6 Vista de la herramienta ARES
2.7 Vista de la pantalla de cristal líquido de texto
2.8 Matriz de representación de caracteres
2.9 Lista de caracteres que imprime la pantalla de cristal
líquido de texto
2.10 Interfaz de pantalla de cristal líquido de texto con un
sistema de control
2.11 Conexión de la pantalla de cristal líquido de texto
utilizando un bus de 8 bits y de 4 bits
3.1 Vista completa del entrenador de PIC
3.2 Esquema eléctrico de la fuente de alimentación
3.3 Ubicación en la placa de la fuente de alimentación
3.4 Vista del zócalo para PIC
3.5 Esquema eléctrico del zócalo para PIC
3.6 Esquema eléctrico de la pantalla LCD de texto
3.7 Vista de la pantalla LCD de texto
3.8 Esquema eléctrico del teclado matricial
3.9 Vista del teclado matricial y el buffer bidireccional
3.10 (a) Vista de los displays de 7 segmentos y sus drivers.
(b) Esquema eléctrico
3.11 (a) Esquema eléctrico de los LEDs. (b) Vista en la placa
3.12 Esquema eléctrico del módulo de comunicación serial
RS232
3.13 Vista del módulo de comunicación serial
3.14 Vista del circuito amplificador de audio
3.15 Vista de las cornetas
3.16 Esquema eléctrico del amplificador de audio
3.17 (a) Vista del módulo de relés. (b) Esquema eléctrico
3.18 Vista del módulo de transistores de potencia
3.19 Esquema eléctrico del módulo de transistores de
potencia
3.20 Esquema eléctrico del módulo infrarrojo
3.21 Vista del módulo infrarrojo en la placa
3.22 (a) Esquema eléctrico del DIP-Switch.
(b) Esquema eléctrico de los pulsadores.
3.23 (a) Vista del DIP-Switch. (b) Vista de los pulsadores
8
6
7
14
15
19
21
22
23
23
24
25
31
32
32
33
34
34
35
36
37
37
38
39
40
40
41
41
42
43
43
44
44
45
45
3.24 Esquema eléctrico del módulo analógico
3.25 Esquema eléctrico del conversor analógico-digital
3.26 (a) Vista del ADC. (b) Vista del módulo analógico
3.27 Protoboard
3.28 Vista del programador JDM
3.29 Esquema eléctrico del programador JDM
3.30 Circuito esquemático en ISIS
3.31 Componente con modelo esquemático y modelo PCB
asociado
3.32 Distribución de los componentes en la placa
3.33 Ventana de configuración del Auto Router
3.34 Ventana de edición de las estrategias a usar para el Auto
Router
3.35 Vista de las pistas de la cara superior de la placa
3.36 Vista de las pistas de la cara inferior de la placa
3.37 Circuito impreso del Entrenador de Microcontroladores
4.1 Estructura interna del puente H BA6219B
4.2 Estructura mecánica del ratón utilizada
4.3 Acople del motor con el medidor de pulsos
4.4 Vista interna de los componentes de la incubadora
9
46
46
47
47
48
49
50
50
51
52
52
53
53
54
55
56
56
57
CAPÍTULO I
1.1 Introducción
Los
dispositivos
programables
integrados,
sean
éstos
microcontroladores, microprocesadores, DSP, FPGA, etc., cobran cada vez
más importancia en todos los campos de la industria. Esta situación tiene
como consecuencia que en las instituciones educativas en donde se
pretenda formar un joven técnicamente competente en el área de la
electrónica, se hace sumamente necesario que su plan de estudios incluya
asignaturas cuyos contenidos planteen el estudio sistemático de estos
dispositivos, principalmente de los microcontroladores, por su bajo costo y
versatilidad. Para ello se hace necesario contar con laboratorios que
permitan el entrenamiento adecuado de los estudiantes de una manera
eficiente, económica, versátil, fácil de evaluar y que vincule de manera
directa no solo los contenidos teóricos, sino las aplicaciones del mundo real.
Una de las principales ventajas de los sistemas programables es su
flexibilidad, lo que permite actualizar el funcionamiento de un sistema tan
sólo mediante la modificación del programa sin tener que volver a diseñar el
hardware. Es aquí donde los microcontroladores cobran cada vez más
importancia, porque representan una solución asequible frente a un problema
de envergadura.
Debido a que la programación de los microcontroladores puede llegar
a ser muy compleja, es importante, cuando se está aprendiendo a programar,
disponer de un sistema de desarrollo confiable, de manera de poder
descartar errores de montaje o de diseño. Por estas razones se consideró la
posibilidad de diseñar un sistema de desarrollo para Microcontroladores PIC
de Microchip, de manera que se simplifique el estudio de la asignatura
10
Microcontroladores para los estudiantes de TSU en Electrónica del Quinto
Semestre en el Instituto Universitario Jesús Obrero.
1.2 Justificación
El Instituto Universitario Jesús Obrero de Fe y Alegría, es una
institución de educación superior de servicio público y gestión privada, sin
fines de lucro, cuya acción se dirige a estudiantes de sectores de escasos
recursos para potenciar su desarrollo personal y participación social.
La sede principal está ubicada en Los Flores de Catia, y también tiene
presencia en Barquisimeto, Guasdualito, Maracaibo y Petare. Una de las
carreras que ofrece es la de Técnico Superior en Electrónica, pero en
ninguna de las sedes se cuenta con un equipamiento adecuado en los
laboratorios para la enseñanza en el área de microcontroladores, a pesar de
que la asignatura está contemplada en el plan de estudios, específicamente
en el quinto semestre. El desarrollo de los proyectos se hace en ProtoBoard
y con los escasos recursos con los que cuentan los estudiantes.
Es por ello que surge la necesidad de crear un laboratorio de
microcontroladores que permita incrementar el nivel de aprendizaje de la
asignatura y minimizar el gasto que hacen los estudiantes.
Al hacer un estudio de mercado sobre los entrenadores disponibles, es
notorio el hecho de conseguirlos sólo en tiendas fuera de Venezuela. Son
concebidos para un modelo de microcontrolador en particular con
aplicaciones limitadas. Por esta razón se decide diseñar un sistema de
desarrollo
de
microcontroladores
PIC
didáctico,
adaptado
a
los
requerimientos de la asignatura, con componentes de fácil adquisición en el
11
país y que represente una herramienta importante tanto para el docente
como para el estudiante.
12
CAPÍTULO II
Marco Teórico
2.1 Microcontrolador
Un microcontrolador (o MCU) es un circuito integrado comúnmente utilizado
para controlar dispositivos. La necesidad de optimizar costos en aplicaciones
de control basadas en microprocesadores y poner a disposición del
diseñador un dispositivo que sea autosuficiente en lo relativo a manejo de
E/S y memoria para datos y programa, tuvo como respuesta la aparición de
los microcontroladores. Un microcontrolador típico contiene toda la memoria
e interfaces necesarias para una aplicación sencilla, mientras que un
microprocesador
de
adicionales
proporcionen
que
propósito
general
estas
requiere
funciones.
circuitos
Un
integrados
microcontrolador
comúnmente incluye los siguientes componentes:
Unidad central de procesamiento o CPU, en un rango que se extiende
de procesadores pequeños y simples de 4 bits a procesadores
sofisticados de 32 o 64-bits
Interfaces de la entrada-salida tales como puertos seriales, paralelos,
usb, etc.
Periféricos tales como temporizadores, circuitos de “perro guardián” y
conversores D/A y A/D
Memoria volátil para el almacenamiento de datos. ROM, EPROM,
EEPROM o memoria tipo FLASH para almacenar el programa y
algunos datos, si es el caso.
13
El número de productos que funcionan en base a uno o varios
microcontroladores aumenta de forma exponencial. Ofrecen una solución
práctica a muchos problemas de diversos campos: Casi todos los periféricos
de un computador personal (ratón, teclado, impresora, etc.) son regulados
por el programa de un microcontrolador. Los electrodomésticos de línea
blanca (lavadoras, hornos, etc.) y de línea marrón (televisores, videos,
aparatos de música, etc.) incorporan numerosos microcontroladores.
Igualmente, los sistemas de supervisión, vigilancia y alarma en los edificios
utilizan estos chips para optimizar el rendimiento de ascensores, calefacción,
alarmas de incendio, robo, etc.
Para interconectar los componentes de un microcontrolador existen
estructuras de interconexión llamadas buses. Un bus es un camino de
comunicación entre dos o más dispositivos. Una característica clave de un
bus es que se trata de un medio de transmisión compartido. Al bus se
conectan varios dispositivos y cualquier señal transmitida por uno de esos
dispositivos está disponible para que los otros dispositivos conectados al bus
puedan acceder a ella. Si dos o más dispositivos transmiten durante el
mismo periodo de tiempo, sus señales pueden solaparse y distorsionarse.
Consiguientemente, solo un dispositivo puede transmitir con éxito en un
momento dado.
Los computadores poseen distintos tipos de buses que proporcionan
comunicación entre sus componentes a distintos niveles de la jerarquía del
sistema. El bus que conecta los principales componentes del computador
(procesador, memoria y E/S) se denomina bus del sistema (system bus).
El bus del sistema está constituido, usualmente, por entre 50 y 100
líneas. A cada línea se le asigna un significado o una función particular.
Aunque existen diseños de buses muy diversos, se pueden clasificar en tres
14
grupos funcionales, bus de datos, de direcciones y de control. La Figura 2.1
muestra la estructura de buses de un sistema típico.
Figura 2.1 Estructura de buses de la arquitectura Von Neumann
Bus de datos. Se emplea para transferir datos. El número de líneas
de este bus suele ser igual a la longitud de palabra del dispositivo.
Bus de direcciones. Permite direccionar el espacio de memoria. El
número de líneas en el bus de direcciones determina el número de
posiciones de memoria que el procesador puede especificar. Un bus
de direcciones de 8 líneas sería capaz de posicionar sólo 28 (256)
direcciones.
Bus de control. Permite transferir señales de control.
Por ejemplo, si el procesador necesitara almacenar una palabra de
datos en una ubicación de memoria particular, colocaría los datos en el bus
de datos, la dirección en la que se van a almacenar los datos en el bus de
direcciones y diversas señales de control para sincronizar la operación de
almacenamiento en el bus de control.
15
2.1.1 Procesador.
Es el elemento más importante del microcontrolador tanto a nivel
hardware como software. Se encarga de direccionar la memoria de
instrucciones, recibir el código de operación (opcode) de la instrucción en
curso, su decodificación y la ejecución de la operación aritmética o lógica que
implica la instrucción, así como la búsqueda de los operandos y el
almacenamiento del resultado.
La necesidad de mejorar el rendimiento en el procesamiento de las
instrucciones ha desembocado en el empleo generalizado de procesadores
de arquitectura Harvard, frente a los tradicionales que seguían la arquitectura
de Von Neumann (Figura 2.1). Esta última se caracteriza porque la CPU se
conecta a una memoria única donde coexisten datos e instrucciones a través
de un sistema de buses. En la arquitectura Harvard son independientes la
memoria de instrucciones y la memoria de datos y cada una dispone de su
propio sistema de buses para el acceso. (Figura 2.2).
Figura 2.2 Arquitectura Harvard.
16
2.1.2 Almacenamiento y ejecución del programa.
Un programa es una lista de instrucciones al procesador. Todos los
microprocesadores y microcontroladores tienen un conjunto de instrucciones
que pueden ejecutar.
Un conjunto de instrucciones típico de un microcontrolador incluirá
instrucciones para: transferir información entre registros y memoria; realizar
operaciones aritméticas y lógicas; efectuar comparaciones y pruebas sobre el
contenido de sus registros de memoria; controlar la secuencia de ejecución
de programas.
Por lo general la operación que una instrucción ha de ejecutar está
definida por un código de operación, (en microcontroladores sencillos
generalmente de un solo byte) conocido también como opcode. Algunas
instrucciones requieren además del opcode información extra (operandos).
Por ejemplo, una instrucción para almacenar el contenido de un registro en
una posición de memoria, necesitará incluir la dirección de memoria de
destino.
La unidad de control y decodificación de instrucciones es el corazón
del procesador. Es la encargada de extraer de forma secuencial las
instrucciones de la memoria y luego ejecutarlas.
Unido a la unidad de control se encuentra un generador de reloj, que
utiliza un oscilador para producir una señal de reloj muy precisa. (En el caso
de los microcontroladores PIC, cada instrucción tarda cuatro ciclos de reloj,
por lo que es normal suponer que la velocidad real de trabajo del dispositivo
es la velocidad del reloj entre cuatro, de manera de suponer que cada
17
instrucción tarda un solo ciclo de reloj. Es importante indicar que las
instrucciones de salto tardan el doble del tiempo.)
El funcionamiento de la unidad de control y decodificación de
instrucciones se puede modelar como la alternancia de dos etapas (ambas
pueden durar varios ciclos de reloj):
Etapa de búsqueda de instrucciones. En esta etapa se transfiere la
dirección de la siguiente instrucción al bus de direcciones, se envía
una orden de lectura a los dispositivos de memoria a través del bus de
control, se lee la información del bus de datos.
Etapa de ejecución de instrucciones. En él se ejecuta la instrucción.
Cuando
la
ejecución
está
completa,
la
máquina
comienza
automáticamente el ciclo de búsqueda de la siguiente instrucción del
programa. La ejecución de un programa es por tanto, una secuencia continua
de ciclos de búsqueda y ejecución. (En algunas arquitecturas, como la de los
PIC de Microchip, el ciclo de búsqueda de la siguiente instrucción puede
hacerse en paralelo mientras se ejecuta la instrucción actual).
El procesador de muchos microcontroladores modernos responde a la
arquitectura RISC (Reduced Instruction Set Computer; Computadores de
Juego
de
Instrucciones
Reducido).
Aún
cuando
existen
diferentes
aproximaciones a la arquitectura RISC, existen ciertas características
comunes a todas ellas:
Una instrucción por ciclo
Operaciones Registro a Registro
Modos de direccionamiento sencillos
Formatos de instrucción sencillos
18
2.1.3 Memoria de programa.
El microcontrolador está diseñado para que en su memoria de
programa se almacenen la secuencia de instrucciones a ejecutar. Según
sean
las
necesidades
del
usuario,
se
encuentran
versiones
de
microcontroladores con posibilidad de grabar y borrar muchas veces la
memoria programa, de manera de poder actualizar el código con una nueva
versión o sencillamente usar el microcontrolador en una aplicación diferente;
igualmente se consiguen versiones que se graban una sola vez,
normalmente usadas en aplicaciones para reproducción en serie. Como el
programa a ejecutar siempre es el mismo, se graba en una memoria no
volátil.
Son posibles cinco tipos de memoria:
ROM (Read Only Memory) de máscara. Esta memoria se graba
durante el proceso de fabricación. Los altos costos de diseño sólo
aconsejan usarla cuando se precisan series grandes.
PROM (Programable Read Only Memory). Este tipo de memoria
sólo se puede grabar una vez por parte del usuario. Su bajo precio y la
sencillez de la grabación aconsejan este tipo de memoria para
prototipos finales y series de producción cortas.
EPROM (Erasable Programable Read Only Memory). Es una
memoria de sólo lectura programable eléctricamente y borrable
óptimamente. En la superficie de la cápsula del microcontrolador
existe una ventana de cristal por la que se puede someter al chip a
rayos ultravioletas para producir el borrado de la memoria y emplearla
nuevamente. Su precio unitario es elevado.
19
EEPROM (Electrically Erasable Programable Read Only Memory).
La grabación es similar a la EPROM y OTP, pero el borrado es mucho
más sencillo al poderse ejecutar eléctricamente. Aunque una
EEPROM puede ser leída un número ilimitado de veces, sólo puede
ser borrada y reprogramada entre 100.000 y 1.000.000 de veces.
FLASH. Se trata de una memoria no volátil de bajo consumo que se
puede escribir y borrar eléctricamente al igual que la EEPROM, es
más económica y sólo puede ser borrada y reprogramada entre
10.000 y 200.000 veces. El borrado sólo es posible de bloques
completos y no se puede realizar de posiciones concretas. Por sus
mejores prestaciones está sustituyendo a la memoria EPROM para
contener instrucciones.
2.1.4 Memoria de datos.
Los datos que manejan los programas varían continuamente y eso
exige que la memoria que los contiene deba ser de lectura y escritura. La
memoria RAM estática (SRAM) es la más apropiada aunque sea no volátil.
Hay microcontroladores que poseen como memoria de datos una memoria
de escritura y lectura no volátil del tipo EEPROM. De esta forma, un corte en
el suministro de la alimentación no ocasiona la pérdida de la información.
2.1.5 Líneas de E/S para los controladores de periféricos.
A excepción de los pines destinados a recibir la alimentación, el cristal
que regula la frecuencia de operación y el reset, los pines restantes de un
microcontrolador sirven para la comunicación con los periféricos externos.
20
2.1.6 Recursos auxiliares.
Según las aplicaciones cada modelo de microcontrolador incorpora
una diversidad de complementos que refuerzan la potencia del dispositivo.
Entre los más comunes se encuentran:
Módulo de reloj, encargado de generar los impulsos que sincronizan el
funcionamiento de todo el sistema.
Temporizadores, orientados a controlar tiempos.
Perro guardián (watchdog), destinado a provocar el reinicio del
microcontrolador cuando el programa se queda bloqueado.
Conversores A/D y D/A para poder recibir y enviar señales analógicas.
Estado de reposo, en el que el consumo de energía se reduce al
mínimo.
2.2 La familia de los PIC como elección.
Dentro de la amplia gama de microcontroladores que se encuentran
en el mercado, la familia de los PIC es la más solicitada por los diseñadores.
Las razones de peso 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.
Disponibilidad de información de calidad, 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, etc.
21
Herramientas de desarrollo sencillas y de bajo costo. Muchas
herramientas software se pueden descargar libremente a través de
Internet desde Microchip (http://www.microchip.com).
Existe una gran variedad de herramientas hardware que permiten
grabar, depurar, borrar y comprobar el comportamiento de los PIC.
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, debido a que
su arquitectura básica es similar en todos los modelos. Cuando se trabaja
con PICs de la misma familia, el repertorio de instrucciones de un PIC
modesto está contenido en uno de mejores prestaciones.
2.3 Características relevantes.
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á describiendo.
Segmentación. Se aplica la técnica de segmentación (pipeline) 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
22
de reloj). Las instrucciones de salto ocupan dos ciclos. Las
instrucciones de decisión, en caso de que se cumpla la condición la
instrucción durará dos ciclos de reloj. Si no se cumple durará una sola.
Figura 2.3 Diagrama en bloques de PIC16F84A, microcontrolador más popular de
Microchip.
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
ensambladores y compiladores.
23
la
construcción
de
Figura 2.4 Formato general para las instrucciones del PIC16F84A.
Procesador RISC. 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. Cualquier instrucción puede manejar cualquier elemento de
la arquitectura como fuente o como destino. Adicionalmente todos los
componentes del sistema (puertas de E/S, temporizadores, posiciones
de memoria, etc.) están implementados físicamente como registros.
Diversidad de modelos de microcontroladores con prestaciones y
recursos diferentes.
Herramientas de soporte económicas. Microchip pone a disposición
de los usuarios numerosas herramientas para desarrollar hardware y
software, muchas de ellas gratuitas. Sin embargo, dada su
popularidad, personas que se dedican a la programación de estos
24
dispositivos colocan de manera gratuita en Internet esquemas,
códigos, programadores, foros, entre otros.
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.
2.3.1 Las gamas de PIC
Una de las labores más importantes del ingeniero electrónico en el
área de diseño de sistemas embebidos es la elección del dispositivo 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.
PIC12XXX gama baja( 8-pin, palabra de programa de 12 bits/14 bits):
o Bajo consumo.
o Memoria de datos EEPROM.
PIC16X5X, gama baja o clásica ( palabra de programa de 12 bits):
o Encapsulados de 14, 18, 20 y 28 pines.
o Óptimo para aplicaciones que trabajan con baterías (bajo
consumo).
PIC16XXX, gama media (palabra de programa de 14 bits).
25
o Convertidores A/D y puerto serie.
o Encapsulados desde 18 a 68 pines.
PIC17XXX, gama alta (palabra de programa de 16 bits).
o Arquitectura abierta, memoria ampliable.
PIC18XXX, gama alta (palabra de programa de 16 bits).
o Conjunto de instrucciones mejorado.
o Detección de bajo voltaje programable (PLVD).
2.4 PROTEUS VSM
PROTEUS es un entorno integrado de desarrollo para la realización
completa de proyectos de construcción de equipos electrónicos en todas sus
etapas: diseño, simulación, depuración y construcción. El software se
compone de cuatro elementos integrados entre sí:
•
ISIS, la herramienta para la elaboración de esquemas electrónicos, que
incorpora una librería de dispositivos digitales y analógicos.
•
ARES, la herramienta para la elaboración de placas de circuito impreso
que permite posicionar los elementos y generar las pistas de forma
automática, permitiendo el uso de hasta 16 capas. Con ARES el trabajo
duro de la realización de placas electrónicas recae sobre el PC en lugar
del diseñador.
•
PROSPICE, la herramienta de simulación de circuitos según el
estándar industrial SPICE3F5.
•
VSM (Virtual System Modelling), la herramienta que permite incluir en
la simulación de circuitos el comportamiento completo de los
microcontroladores más conocidos del mercado. PROTEUS es capaz
26
de
leer
los
ficheros
microprocesadores
de
con
las
el
código
familias
PIC,
ensamblado
AVR,
para
8051,
los
HC11,
ARM/LPC200 y BASIC STAMP y simular su comportamiento. Incluso
puede ver su propio código interactuar en tiempo real con su propio
hardware pudiendo usar modelos de periféricos animados tales como
displays LED o LCD, teclados, terminales RS232, simuladores de
protocolos I2C, etc.
2.4.1 ISIS
Es la herramienta utilizada para dibujar los esquemas electrónicos. El
uso de herramientas de software para la simulación de fenómenos físicos es
una práctica habitual en el mundo de la ingeniería. El conocimiento del
funcionamiento de un diseño antes de montarlo en la realidad es el gran
aporte de las computadoras. Todos estos paquetes de software están
basados en modelos matemáticos, siendo la tarea del hombre decidir si los
datos introducidos y los resultados obtenidos son satisfactorios o no.
La misión de un simulador de circuitos electrónicos es reproducir de la
manera más exacta posible el comportamiento de un determinado circuito
electrónico, sin necesidad de construirlo físicamente, con el consiguiente
ahorro de dinero y tiempo. En el caso de la simulación del comportamiento
de un circuito electrónico con Proteus, los pasos a seguir son los siguientes:
En primer lugar se dibuja el esquema electrónico del circuito a simular.
Para que la simulación resulte cierta, se debe contar con el correspondiente
modelo Spice de todos los componentes utilizados. Un modelo Spice no es
más que un fichero que contiene la información necesaria para que el
27
simulador pueda reproducir el comportamiento de dicho componente.
Proteus suministra una amplia librería de dispositivos con su correspondiente
modelo Spice. Proteus permite la creación por parte del usuario de nuevos
componentes con modelo Spice no incluidos en sus librerías estándar, pero
es preciso disponer del modelo.
Figura 2.5. Vista de la herramienta ISIS.
En segundo lugar se debe colocar en el esquema electrónico aquellos
generadores de señal que se definan como entradas del circuito. En tercer
lugar es necesario colocar tantas puntas de prueba como el usuario
considere necesarias para conocer las señales resultantes de las salidas del
circuito.
Proteus permite la utilización de herramientas gráficas para facilitar la
generación de las señales y la visualización de los datos resultantes.
28
En cuarto y último lugar, una vez dibujado el esquema electrónico con
los correspondientes generadores y sondas, se procede a la simulación del
circuito mediante el panel de control de animación.
2.4.2 ARES
ARES es la herramienta de Proteus dedicada al diseño de placas de
circuito impreso (PCB). Está plenamente integrada con la herramienta ISIS.
Una vez diseñado en ISIS el esquema electrónico, se genera
automáticamente el listado de las redes (NETLIST). Una red es un grupo de
pines interconectados entre sí y el listado de las redes es una lista con todas
las redes que forman el diseño. ARES es capaz de recibir éste el listado de
las redes para diseñar, a partir de él, la placa de circuito impreso. De esta
forma se garantiza que la placa tendrá unidos entre sí los pines de forma
idéntica a como se definieron en el esquema electrónico.
Cualquier modificación que se realice en el esquema, podrá ser
reenviado desde ISIS a ARES donde aparecerán resaltados los cambios que
se hayan producido. De esta forma la modificación y rediseño de la placa se
realizará de forma mucho más simple y segura.
ARES incorpora un trazador automático de pistas basado en rejilla. Su
potencia, rapidez y flexibilidad permite generar todas las rutas de la placa de
circuito impreso con pistas de cualquier grosor, utilizando vías de cualquier
ancho.
29
La selección del rango del tamaño de la rejilla utilizada permite al
usuario alcanzar un compromiso entre la densidad de pistas y la velocidad de
ejecución de la herramienta de trazado automático.
Además de poder imprimir el resultado final del trabajo utilizando las
impresoras definidas en Windows, ARES dispone de un driver HPGL para
ploters de plumilla.
Figura 2.6 Vista de la herramienta ARES
Se puede generar ficheros de salida cumpliendo el estándar GERBER
en su versión clásica RS274D y la más nueva RS274X. Además también se
pueden generar ficheros en formato ASCII con listados de componentes y
sus posiciones y orientaciones para ser utilizados en maquinaria de
posicionamiento de componentes con destino a su soldadura. Incluye un
30
visor de ficheros GERBER, para poder comprobar que los ficheros
generados con este formato contienen la información esperada.
2.5 La pantalla de cristal líquido de texto
2.5.1 Aspecto físico
La pantalla de cristal líquido de texto tiene un aspecto físico como el
mostrado en la figura 2.7. Está constituida por un circuito impreso en el que
están integrados los controladores de la pantalla y la pantalla en sí, rodeada
por una estructura metálica que lo protege. En total se pueden visualizar 2
líneas de 16 caracteres cada una. A pesar de que la pantalla sólo permite
mostrar 16 caracteres por línea, puede almacenar en total 40 por línea. Es el
usuario el que especifica cuál de los 16 caracteres son los que se van a
visualizar.
Figura 2.7 Vista de la pantalla de cristal líquido de texto.
2.5.2 Representación de Caracteres.
La pantalla de cristal líquido de texto dispone de una matriz de 5x8
puntos para representar cada carácter. En total se pueden representar 256
caracteres diferentes, de los cuales 240 caracteres están grabados dentro
31
del la pantalla y representan las letras mayúsculas, minúsculas, signos de
puntuación, números, entre otros. Existen 8 caracteres que pueden ser
definidos por el usuario. En la figura 2.8 se muestra gráficamente cómo es la
matriz de representación de los caracteres. Se ha dibujado el carácter A y un
carácter definido por el usuario.
Figura 2.8 Matriz de representación de caracteres.
Figura 2.9 Lista de caracteres que imprime la pantalla de cristal líquido de texto.
En la figura 2.9 se muestran los caracteres más importantes que es
capaz de mostrar la pantalla. Todos los códigos están en hexadecimal. No se
han representado los caracteres correspondientes a los códigos desde el $80
hasta el $FF, que corresponden a símbolos poco usados. Los códigos
32
comprendidos entre el 0 y el 7 están reservados para que el usuario los
defina.
2.5.3 Interfaz de la pantalla con el mundo exterior
En la figura 2.10 aparecen un esquema de conexionamiento con las
señales de control y datos de una pantalla de texto. Los datos se transmiten
por un bus de datos de 8 bits de anchura (La pantalla ofrece la posibilidad de
trabajar con este bus multiplexado en dos grupos de 4 bits, pero esto se verá
más adelante). Para el control de la pantalla son necesarios 3 bits: una señal
de enable (E), una para indicar lectura/escritura (R/W) y otra para seleccionar
uno de los dos registros internos (RS). Por ello, en el caso peor, el sistema
de control del display necesitará utilizar 8+3=11 bits.
Figura 2.10 Interfaz de pantalla de cristal líquido de texto con un sistema de control
33
2.5.4 El bus de datos
El bus de datos de la pantalla se puede configurar para funcionar de
dos formas diferentes. Bien como un bus de 8 bits o bien como un bus
multiplexado de 4 bits. El utilizar el bus multiplexado de 4 bits es una opción
muy útil para ahorrar bits en el sistema de control. En vez de destinar 11
líneas de E/S para la comunicación con la pantalla, se utilizan 7. Se ahorran
líneas de E/S pero se gana en complejidad del programa que controla la
pantalla de cristal líquido, que tiene que multiplexar y demultiplexar los datos.
Al utilizar un bus de 8 bits hacemos que el controlador sea más sencillo pero
se utilizan 4 bits adicionales. En la figura 2.11 aparecen representados los
dos tipos de buses. Cuando se utiliza un bus de 4 bits sólo se utilizan los
pines D4-D7 del display dejándose D0-D3 ‘al aire’. La transferencia de la
información se realiza de la siguiente manera: primero los 4 bits más
significativos y luego los 4 menos significativos.
Figura 2.11 Conexión de la pantalla de cristal líquido de texto utilizando un bus de 8
bits y de 4 bits
34
2.5.5 El bus de control
El bus de control está formado por 3 señales: RS, R/W y E. La señal E
es la señal de validación de los datos. Cuando no se utiliza el display esta
señal debe permanecer a 0. Sólo en las transferencias de información
(lecturas o escrituras) es cuando se pone a nivel 1 para validar los datos,
pasando después de un tiempo a nivel 0. La señal R/W permite seleccionar si
la operación que se va a realizar sobre el display es una lectura o una
escritura. Cuando R/W=1 se realizan lecturas y cuando R/W=0 escrituras. Lo
normal siempre es realizar escrituras, no obstante, el display ofrece la
posibilidad de poder leer los contenidos de la memoria, así como leer el
estado interno del display (ocupado o disponible) y el contador de
direcciones. Con RS (Register Select) se selecciona el registro interno del
display sobre el que se va a leer/escribir. La pantalla de cristal líquido de
texto dispone de dos registros internos: Registro de control y registro de
datos. Ambos registros son de lectura y escritura. RS=0 selecciona el registro
de control. RS=1 el registro de datos.
35
CAPÍTULO III
3. Marco Metodológico
3.1 Objetivos
El objetivo general de este proyecto de pasantía es diseñar el
equipamiento de un Laboratorio Didáctico de Microcontroladores para el
Instituto Universitario Jesús Obrero, para atender a los estudiantes del Quinto
semestre de la carrera de TSU en Electrónica de todas las sedes de esta
Institución.
Para tal fin, se plantean los siguientes objetivos específicos:
Desarrollar y probar un prototipo de entrenador, ensamblarlo en una
tarjeta de circuito impreso, de manera de reproducirlo en serie.
Desarrollar un programador para los microcontroladores Microchip PIC
16F84A y 16F877 y ensamblarlo en una tarjeta de circuito impreso, de
manera de reproducirlo en serie.
Diseñar un conjunto de maquetas didácticas que permitan desarrollar
diferentes programas por los estudiantes.
Verificar el buen funcionamiento de cada una de las maquetas y del
entrenador generando el código correspondiente.
Diseñar prácticas de laboratorio que den uso de la infraestructura aquí
diseñada.
36
3.2 El Entrenador
Un entrenador en una tarjeta de circuito impreso que posee circuitos
pre-ensamblados que se pueden conectar a un microcontrolador para que
éste los controle. De esta manera se logra el aprendizaje rápido y eficaz del
dispositivo sin perder tiempo en el diseño y ensamblaje del hardware a
manejar.
Un entrenador de Microcontroladores debe cumplir con una serie de
características para que sea robusto:
Modular. De esta manera se pueden realizar distintos montajes
interconectando módulos. Por ello es importante que los
módulos sean sencillos y compatibles entre sí y compatibles
con las salidas y entradas del microcontrolador.
Soportar
una
gama
de
microcontroladores.
Los
entrenadores que venden tanto en Internet como en los
comercios, se caracterizan por estar diseñados para un modelo
de microcontrolador en particular, lo cual obliga al estudiante a
estar limitado a las bondades de un solo integrado.
Programar el microcontrolador. El entrenador debe disponer
de un programador a fin de simplificar las tareas del estudiante
en el Laboratorio.
Contar con una fuente de alimentación. Al incorporar la
fuente de alimentación es posible trabajar en un área que solo
disponga de computadoras.
37
Todos estos factores se tomaron en cuenta al momento de hacer el
diseño del entrenador, y adicionalmente fue importante que sus componentes
se pudieran adquirir en Venezuela en tiendas del ramo. Éste último punto
representó un esfuerzo significativo, puesto que fue necesario hacer una
investigación previa de los componentes disponibles en el mercado para
luego estudiar sus características y seleccionar los que se usarían en el
diseño.
Un elemento importante en la selección de los componentes estuvo
determinado por la existencia de los mismos en la base de datos del
simulador de circuitos electrónicos Proteus VSM 6.7, puesto que el simulador
fue pieza clave para la simulación de los circuitos y en la fabricación de la
tarjeta de circuito impreso. Proteus dispone de una herramienta para crear
componentes, pero hay que disponer del modelo Spice del dispositivo. No se
disponía de tal información.
Adicionalmente, Proteus dispone de otra herramienta para asociar un
encapsulado a cualquier dispositivo de la librería, pero se depende de la lista
de encapsulados que trae el programa. En caso de que el programa no
disponga del encapsulado requerido es imposible (al menos con la versión y
la licencia disponible) crear el encapsulado.
Se esperaba que el entrenador dispusiera de varios módulos, a objeto
de poder combinarlos para lograr diferentes montajes con aplicaciones lo
más realistas posible. Por ello se hizo una lista con los módulos que
componen el sistema:
Fuente de alimentación: +5V, +12V
Zócalo para el microcontrolador.
Cristal de 4MHz para aplicaciones generales.
38
Pantalla LCD de texto de 2 x 16 caracteres con conectores que
permiten hacer interfaz a 4 u 8 bits.
Teclado matricial de 4 x 4 teclas de propósito general.
2 display de 7 segmentos, con sus respectivos drivers.
8 salidas digitales pilotadas mediante LEDs.
Interfase serie estándar RS232 con conector DB9 hembra y acceso
para la gestión y control de las señales TxD, RxD.
Módulo speaker.
Módulo de dos relés con driver.
Módulo de 8 transistores de potencia.
Módulo emisor-detector de infrarrojo.
16 entradas digitales formadas por 8 interruptores y 8 pulsadores
activos por transición 1-0-1.
2 entradas mediante potenciómetros que permiten evaluar y simular
variables analógicas.
Módulo board para el montaje sin soldadura.
Programador de PIC serie 16FXXX
Una vez definidos los módulos, se procedió a realizar el diseño de
cada uno; simular en Proteus VSM 6.7 en la medida de lo posible, y para
todos los casos, realizar el montaje en protoboard, de manera de descartar al
máximo posibles errores de diseño.
39
Figura 3.1 Vista completa del entrenador de PIC.
3.2.1 Fuente de alimentación: +5V, +12V
Como se mencionó anteriormente, se consideró incluir una fuente de
alimentación en la placa, debido a que las computadoras con las cuales
cuentan los estudiantes del IUJO se encuentran en lo que se llama
Laboratorio de Simulaciones, área aislada de los cuatro Laboratorios de
Electrónica, los cuales cuentan con osciloscopios, fuentes de alimentación y
generadores de señales, pero no disponen de PCs. En la actualidad los
estudiantes deben escribir el código y programar el PIC en un salón y hacer
el montaje en otro. La intención de incluir la fuente en el entrenador es que
40
puedan hacer ambas cosas en un mismo lugar. De esta forma se simplifica la
labor del estudiante y del docente.
Figura 3.2 Esquema eléctrico de la fuente de alimentación.
Para este módulo se usó un transformador de 120 VRMS a 15 VRMS, un
puente de diodos y dos reguladores integrados: el 7805 y el 7812. Cada
regulador está en capacidad de entregar 1A, corriente suficiente para
alimentar todos los componentes de la placa.
Figura 3.3 Ubicación en la placa de la fuente de alimentación.
41
3.2.2 Zócalo para el microcontrolador y cristal de 4MHz para
aplicaciones generales.
Para colocar el microcontrolador fueron incluidas en la placa dos
bases de 40 pines, a fin de poder conectar microcontroladores de todos los
encapsulados posibles (40, 28 y 18 pines). La idea original era colocar una
base “Cero Fuerza”, pero no se encontró a la venta en las tiendas del ramo.
Figura 3.4 Vista del zócalo para PIC.
De manera de no limitar la capacidad del entrenador, el cristal de
4MHz, la polarización y el Master Clear no están físicamente conectados a
ningún pin del zócalo, el usuario debe conectarlos por medio de cables a los
pines correspondientes una vez esté colocado el PIC en el módulo. Es
importante que los cables que llevan el cristal al PIC sean lo más cortos
posible de manera que la oscilación se produzca efectivamente. Se
recomienda escribir un código sencillo que encienda y apague un LED para
verificar que se produce la oscilación de manera apropiada.
42
Figura 3.5 Esquema eléctrico del zócalo para PIC.
3.2.3 Pantalla LCD de texto de 2 x 16 caracteres.
Uno de los atractivos principales del módulo, es contar con una
pantalla LCD de texto, la cual es controlada por el microcontrolador, a objeto
de poder utilizarlas en menús, o como elemento indicador de estados de
procesos. Conociendo el set o conjunto de instrucciones de la pantalla, es
relativamente simple poder escribir en ella usando un puerto del
microcontrolador.
Figura 3.6 Esquema eléctrico de la pantalla LCD de texto.
43
La pantalla utilizada en este caso es una pantalla de 16 caracteres por
2 columnas (16x2), una de las más populares en el mercado y muy sencilla
de utilizar, tiene tres pines de control: RW (Señal de lectura/escritura), E
(Señal de activación del módulo LCD) y RS (Selección del registro de
control/registro de datos). Adicionalmente tiene 8 pines de entrada/salida de
datos, los cuales son usados para escribir o leer de la pantalla. Este tipo de
pantalla tiene la opción de poder enviarle datos usando cuatro u ocho bits del
puerto de datos.
Figura 3.7 Vista de la pantalla LCD de texto.
3.2.4 Teclado matricial de 4 x 4 teclas de propósito general.
El teclado matricial es un dispositivo de entrada de datos que consta
de 16 teclas o pulsadores, dispuestos e interconectados en filas y columnas.
Se decidió realizar el teclado con pulsadores individuales en lugar de usar un
teclado comercial, debido a que al momento de sustituir el teclado por otro,
las probabilidades de conseguirlo con el mismo tipo de conector es poco
probable. Las filas y columnas están conectadas a una resistencia de pull up,
de manera de hacer un barrido de ceros para poder identificar cuál fue la
tecla presionada.
44
Figura 3.8 Esquema eléctrico del teclado matricial.
Cuando se quiere escribir en una pantalla LCD y leer un teclado
matricial usando un PIC pequeño como el 16F84, hay que acoplar ambos
dispositivos en el mismo puerto. Por ello es necesario independizarlos, de
modo que el PIC pueda manejar las señales con coherencia. Por ello se
incorporó al diseño el 74LS245, el cual es un buffer bidireccional con selector
externo, permitiendo que el usuario pueda conectar el teclado al puerto solo
cuando éste va a ser usado.
45
Figura 3.9 Vista del teclado matricial y el buffer bidireccional.
3.2.5 Dos displays de 7 segmentos con drivers.
Se trata de un conjunto de 2 displays de 7 segmentos cada uno. Este
tipo de periférico es clásico en cualquier aplicación digital. Manejándolos
adecuadamente pueden representar todo tipo de información numérica e
incluso ciertos símbolos y signos. Se decidió incorporar un driver a cada
display de manera de minimizar el número de pines para controlarlo y
proteger los puertos del microcontrolador. El usuario debe enviar al puerto el
número a desplegar en formato BCD.
(a)
(b)
Figura 3.10 (a) Vista de los displays de 7 segmentos y sus drivers. (b) Esquema
eléctrico.
46
3.2.6 Ocho salidas digitales monitoreadas mediante LEDs.
Un conjunto formado por 8 diodos LED será el encargado de
representar palabras binarias o estados lógicos que se obtienen como
resultado de un determinado proceso. Los LEDs son periféricos de salida
simples y económicos que permiten visualizar un determinado estado lógico,
pudiendo emular el encendido o apagado de periféricos más complejos como
son motores, relés, electroválvulas, otros. Lo importante es controlar su
activación o desactivación en función de determinados procesos o
algoritmos.
Para proteger al microcontrolador, los LEDs están dispuestos para ser
encendidos con ‘0’, de manera que sea la fuente la que entregue la corriente
y no el PIC.
(a)
(b)
Figura 3.11 (a) Esquema eléctrico de los LEDs. (b) Vista en la placa.
47
3.2.7 Interfaz serial estándar RS232 con conector DB9 hembra y acceso
para la gestión y control de las señales RX,TX.
El MAX232 soluciona la conexión necesaria para lograr comunicación
entre el puerto serie de una PC y cualquier otro circuito con funcionamiento
en base a señales de nivel TTL/CMOS.
El circuito integrado posee dos conversores de nivel TTL a RS232 y
otros dos que, a la inversa, convierten de RS232 a TTL. Estos conversores
son suficientes para manejar las cuatro señales más utilizadas del puerto
serie del PC, que son TX, RX, RTS y CTS.
TX es la señal de transmisión de datos, RX es la de recepción, y RTS
y CTS se utilizan para establecer el protocolo para el envío y recepción de
los datos.
Para el caso de este diseño, no se consideraron las conexiones de
RTS y CTS, puesto que se pretende usar el protocolo RS-232 en su forma
básica.
Figura 3.12 Esquema eléctrico del módulo de comunicación serial RS232.
48
Figura 3.13 Vista del módulo de comunicación serial.
3.2.8 Módulo salida de audio.
En muchas aplicaciones es necesario generar un tono, una señal de
alarma, o sencillamente, el código del microcontrolador puede estar escrito
para generar una melodía. El integrado TDA2822M es un amplificador de
audio, de 1W de potencia máxima, que trabaja con una sola fuente y permite
escuchar los tonos generados con el microcontrolador con un volumen
razonable sin molestar a los grupos vecinos. Posee dos entradas
independientes, y dos salidas independientes, permitiéndole al usuario total
libertad en el diseño. Se decidió no incorporar un filtro para aislar al tono,
porque se considera que esta aplicación puede formar parte de una práctica
en particular, la cual puede ser montada en el protoboard.
Figura 3.14 Vista del circuito amplificador de audio.
49
Figura 3.15 Vista de los altavoces.
Figura 3.16 Esquema eléctrico del amplificador de audio.
3.2.9 Módulo de dos relés con driver.
La gran ventaja de los relés es el completo aislamiento eléctrico entre
la corriente de accionamiento (la que circula por la bobina del electroimán) y
los circuitos controlados por los contactos, lo que hace que se puedan
manejar altos voltajes o elevadas potencias con pequeñas tensiones de
control. De esta forma el PIC puede encender elementos que trabajen con
corriente alterna, tales como ventiladores, bombillos, resistencias, otros.
50
Cada relé cuenta con un interruptor del tipo SPDT (Simple Polo Doble Tiro), el cual permite que el usuario pueda emplearlo como
normalmente abierto o normalmente cerrado según sea la necesidad.
Los relés tienen un voltaje de encendido de 12V. Por eso cada uno
tiene un transistor configurado como switch que permite el encendido del
mismo. Adicionalmente, se colocaron LEDs que indican cuándo se encienden
los relés. Dos diodos de potencia se encargan de descargar la corriente de la
bobina de los relés.
(a)
(b)
Figura 3.17. (a) Vista del módulo de relés. (b) Esquema eléctrico.
3.2.10 Módulo de 8 transistores de potencia.
El entrenador contiene 8 transistores NPN de potencia, los cuales
están dispuestos como conmutador digital, de manera que al colocarle un ‘0’
en la base el transistor entra en la región de corte y con un ‘1’ se coloca en la
región de saturación. Para darle mayor versatilidad al módulo, por medio de
51
un conmutador se puede cambiar el voltaje de polarización de los
transistores de 5V a 12V.
Figura 3.18 Vista del módulo de transistores de potencia.
Figura 3.19 Esquema eléctrico del módulo de transistores de potencia.
52
3.2.11 Módulo emisor-detector de infrarrojo.
En muchas aplicaciones se necesita utilizar interruptores ópticos, bien
sea para contar o para activar o desactivar acciones. En este caso se utilizó
un encapsulado emisor-detector de infrarrojo, el cual es compatible con los
niveles de voltaje TTL. Dado que Proteus VSM 6.7 no posee en su librería el
encapsulado, los conectores J36 y J35 representan los puntos de conexión.
Figura 3.20 Esquema eléctrico del módulo infrarrojo.
Figura 3.21 Vista del módulo infrarrojo en la placa.
53
3.2.12 16 entradas digitales formadas por 8 interruptores y 8 pulsadores
activos por transición 1-0-1.
La mejor forma de introducir datos o simular eventos para hacer pruebas al
software sin necesidad de acoplar al PIC circuitos complejos es a través de
interruptores o de pulsadores. Los montajes no tienen ninguna protección
antirrebotes,
de
manera
que
el
estudiante
tenga
que
consideraciones respectivas para suprimir este problema.
(a)
(b)
Figura 3.22 (a) Esquema eléctrico del DIP-Switch.
(b) Esquema eléctrico de los pulsadores.
(a)
(b)
Figura 3.23 (a) Vista del DIP-Switch.
(b) Vista de los pulsadores.
54
hacer
las
3.2.13 Módulo de entradas analógicas.
Con objeto de poder experimentar con el convertidor AD que integran
algunos microcontroladores, se dispone de dos generadores de tensión
variable que permiten el estudio, diseño y comprobación de aplicaciones
relacionadas con medidas y procesos de variables analógicas. El circuito es
bastante sencillo, y consta de dos potenciómetros dispuestos como divisor de
tensión, cuyas salidas están acopladas a un buffer que permite un acople de
impedancias con el PIC. Dado que el encapsulado del chip utilizado (LM324)
posee 4 operacionales, se habilitaron dos como buffer para que sean
utilizados libremente por el usuario.
Figura 3.24 Esquema eléctrico del módulo analógico.
Figura 3.25 Esquema eléctrico del conversor analógico-digital.
55
(a)
(b)
Figura 3.26 (a) Vista del ADC. (b) Vista del módulo analógico.
En caso de que el microcontrolador no disponga de un ADC, el
entrenador tiene a disposición del usuario el ADC0808, el cual tiene una
salida digital de 8 bits, compatible con cualquier microcontrolador.
3.2.14 Módulo para el montaje sin soldadura
El entrenador incluye circuitos básicos que combinados permiten
emular procesos reales. Si embargo, se anexó un protoboard, que permite el
crecimiento del módulo para aplicaciones particulares.
Figura 3.27 Protoboard.
56
3.2.15 Programador de PICs serie 16
Disponer de un programador original en cada mesón de laboratorio
para que los estudiantes trabajen de manera cómoda es prácticamente
imposible debido a los costos que esto implicaría. Igualmente es poco
probable que un estudiante cuente con los recursos económicos para poder
comprar su propio programador profesional.
Muchas personas se han dedicado a construir programadores que les
permitan grabar los PICs sin necesidad de tener que gastar los cientos de
dólares que cuesta un programador original. Según cada diseño, estos
programadores presentan ventajas o desventajas entre sí. Se decidió
incorporar al entrenador una variante de los programadores JDM, cuya
ventaja principal es que programa una buena gama de PICs de la serie 16,
utilizando un programa que se descarga de forma gratuita en la WEB llamado
IC-PROG. La programación puede resultar algo lenta, pero la simpleza del
circuito y la variedad de microcontroladores que permite programar
compensa la velocidad de programación.
Figura 3.28 Vista del programador JDM.
57
Figura 3.29 Esquema eléctrico del programador JDM.
3.2.16 La placa de circuito impreso.
Una vez verificado que todo el circuito funcionó tanto en el simulador
Proteus VSM 6.7 como en el protoboard, se procedió al diseño de la placa de
circuito impreso. Proteus contiene una herramienta llamada ARES, la cual se
encarga de crear el circuito impreso utilizando como referencia el circuito
esquemático dibujado en ISIS.
58
Figura 3.30 Circuito esquemático en ISIS.
El circuito dibujado en ISIS debe poseer un modelo PCB asociado a
cada componente, de manera que la herramienta ARES pueda construir el
circuito PCB. Los componentes utilizados en este proyecto existen en la base
de datos de Proteus, sin embargo, algunos componentes no traen asociado
un modelo PCB. Fue necesario asociar el modelo utilizando la herramienta
Packaging Tool.
Figura 3.31 Componente con modelo esquemático y modelo PCB asociado.
59
Dado que el diseño se efectuó con fines netamente educativos, fue
necesario ubicar los componentes dentro de la placa, de manera que cada
módulo conforme un grupo, tal que se puedan ubicar a simple vista. Esto
simplifica las labores de interconexión de los módulos.
Figura 3.32 Distribución de los componentes en la placa.
Una vez colocados los componentes en el lugar apropiado, es
necesario configurar el ISIS, de modo que pueda hacer automáticamente las
conexiones utilizando las dos caras de la placa. La rejilla y el tamaño de las
líneas de interconexión se colocaron pequeñas (tamaño 20 según la escala
del software), de manera que el programa pueda pasar pistas entre los pines
de los componentes. Una vez configurado, ISIS se tarda cerca de una hora
en terminar su labor, puesto que el algoritmo busca siempre la mejor ruta
posible y la optimiza.
60
Figura 3.33 Ventana de configuración del Auto Router.
En esta ventana se configura el ancho de la rejilla.
Figura 3.34 Ventana de edición de las estrategias a usar para el Auto Router. En esta
ventana se configura el ancho de la pista y el número de caras a utilizar.
61
Figura 3.35 Vista de las pistas de la cara superior de la placa.
Figura 3.36 Vista de las pistas de la cara inferior de la placa.
62
Puesto que se desea hacer varias copias de la misma placa, se
decidió hacer la baquelita en una empresa especializada. En este caso
Intermarcica de Venezuela, ubicada en Las Minas de Baruta. Para verificar
que todos los componentes tenían el modelo PCB correcto, y que una vez
terminada la placa no se tendría problemas a la hora de introducirlos en su
lugar, se decidió imprimir una copia a tamaño real en papel y pegarlo en un
anime. De esta forma era posible clavar todos los componentes en su
posición en el papel y verificar que el tamaño era el mismo.
Figura 3.37 Circuito impreso del Entrenador de Microcontroladores.
63
CAPÍTULO IV
4.1 Maquetas
Se armaron dos maquetas sencillas para complementar el entrenador.
La primera corresponde con un motor DC al que se le puede controlar la
velocidad y el sentido de giro por medio de un PWM. Para ello se utilizó un
motor DC de 12V, el cual se alimenta desde el puente H integrado BA6219B
(Figura 4.1). Este puente permite ser manejado por un microcontrolador, y se
encarga de manejar la corriente del motor sin afectar al circuito de control.
Figura 4.1 Estructura interna del puente H BA6219B
Para medir la velocidad de giro del motor, se utilizó parte de la estructura
interna de un ratón de computadora, específicamente los que usan bolita.
Estos ratones poseen una rueda dentada que se encuentra entre un emisor y
un receptor de infrarrojo (Figura 4.2). De esta manera, es posible contar
pulsos cada vez que la rueda se mueve. Para acoplar este mecanismo al
motor se utilizó una cinta de goma como las que traen las caseteras. Un par
de poleas garantizan la relación 1:1 en el numero de vueltas. (Figura 4.3).
64
Figura 4.2 Estructura mecánica del ratón utilizada
Figura 4.3 Acople del motor con el medidor de pulsos.
La segunda maqueta consiste en una incubadora, donde se genera calor por
medio de un bombillo incandescente de 40W a una cava de anime (Figura
4.4). Por medio de un termistor en serie con una resistencia se puede medir
la temperatura para poder controlarla y un ventilador se encarga de acelerar
el proceso de calentado o enfriado según sea el caso. La intensión es que el
estudiante use el ADC del entrenador o el del PIC para poder controlar la
temperatura. Adicionalmente será necesario que caracterice el termistor para
poder realizar una medición correcta.
65
Figura 4.4 Vista interna de los componentes de la incubadora.
4.2 Prácticas de laboratorio
Con el fin de relacionar los distintos módulos del Sistema de Desarrollo de
Microcontroladores y las dos maquetas, se crearon seis prácticas de
laboratorio, las cuales llevan al estudiante a comprender el funcionamiento
interno del microcontrolador PIC, desde los conceptos básicos hasta
aplicaciones de nivel medio.
Con las prácticas se busca que el estudiante domine tanto la arquitectura del
microcontrolador como los simuladores MPLAB y POTEUS VSM, lográndose
un dominio total de la asignatura.
Es importante destacar que las prácticas están abiertas a pruebas y posibles
modificaciones. El lector las encontrará en el anexo de este libro.
66
CAPÍTULO V
5.1 Conclusiones
Se logró, de una manera significativa, generar herramientas que
permiten reforzar el aprendizaje en la asignatura Microcontroladores,
correspondiente al quinto semestre de la Carrera de Electrónica en el
Instituto Universitario Jesús Obrero.
Se contribuyó en la implementación y dotación del laboratorio de
Microcontroladores. Para ello se diseñaron y ensamblaron los siguientes
prototipos:
Programador de microcontroladores PIC
Entrenador de microcontroladores PIC
Maqueta para control de velocidad de motor DC
Maqueta para control de temperatura (incubadora)
El programador de microcontroladores PIC representa un ahorro
significativo en materia de dotación para la institución y a la vez permite que
cada grupo de laboratorio pueda grabar su dispositivo tantas veces como lo
desee sin abandonar su puesto de trabajo.
El entrenador de microcontroladores PIC incrementa el nivel de
aprendizaje en el laboratorio y logra un mayor aprovechamiento del tiempo
eficaz que el estudiante emplea en las actividades desarrolladas dentro de
este lugar de trabajo. Adicionalmente representa una disminución importante
en gastos para los estudiantes, dado que el hardware que se acopla al PIC
esta incluido en el entrenador.
67
La maqueta para el control de velocidad de motor DC es una
herramienta importante en el dominio del concepto de PWM y su empleo con
microcontroladores.
La maqueta de control de temperatura es una herramienta pensada
para el manejo de convertidores analógico-digital, a la vez que permite
controlar por medio del microcontrolador elementos de potencia, como lo son
el bombillo y el ventilador.
Se elaboraron seis prácticas didácticas que permiten el empleo de
todos los prototipos antes señalados, garantizando, al final del curso, un alto
grado de madurez en torno al tema por parte del estudiante.
Se efectuó un estudio de mercado a nivel nacional que permite la fácil
adquisición de todos los componentes a incorporar en el diseño. Permitiendo
que la producción en serie del prototipo no se limite por los trámites
administrativos asociados al control de cambio existente.
Se logró un dominio sustancial de la herramienta de simulación y
diseño Proteus VSM, mediante la cual se realizó el diseño del circuito
impreso del entrenador.
Un aspecto importante en el diseño es que la aplicación final será con
fines educativos. Por esta razón es necesario poder identificar con claridad
los componentes de cada módulo del entrenador, y poder tener acceso a
variables específicas de cada uno de manera sencilla.
68
5.2 Recomendaciones
El prototipo fue instalado en una caja plástica que no cumplió con las
expectativas de durabilidad. Se recomienda para la producción en serie
instalar las réplicas en una caja de madera, de manera de garantizar la
durabilidad de la tarjeta.
Reconsiderar en el diseño una mejor ubicación para los reguladores
de tensión, de manera de poder acoplarles un disipador de potencia.
Incluir una memoria I2C en la tarjeta de desarrollo.
Evaluar las prácticas de laboratorio de manera de optimizarlas y que
las mismas cubran de manera efectiva los contenidos de la asignatura.
Estudiar la posibilidad de modificar el diseño del programador de
microcontroladores de manera que el mismo tome la tensión de
programación de la fuente DC de la tarjeta y no utilice la tensión del puerto
serial de la computadora para programar el dispositivo.
69
5.3 Bibliografía
Microchip Technology Inc. (2006). [Página web en línea]. Disponible:
http://www.microchip.com/
Labcenter Electronics. (2006). [Página web en línea]. Disponible:
http://www.labcenter.co.uk/
IC-Prog Prototype Programmer. (2006). [Página web en línea].
Disponible: http://www.ic-prog.com/
Olimex.
(2006).
[Página
http://www.olimex.com/
Wikipedia, the free enciclopedia. (2006). [Página web en línea].
Disponible: http://en.wikipedia.org/wiki/Microcontroller
Stallings, William. Organización y Arquitectura de Computadores,
Quinta edición, Editorial Prentice Hall, 2000.
web
70
en
línea].
Disponible:
ANEXOS
71
Departamento de Electrónica y Electrotecnia
Microcontroladores
Práctica 01
Primeras experiencias con un microcontrolador.
Objetivos:
•
•
•
•
Manejar los comandos básicos del set de instrucciones del PIC
16F84A.
Manejar el simulador MPLAB
Manejar el simulador PROTEUS
Utilizar conocimientos previos de digitales.
Prelaboratorio:
1. Tenga a mano el manual del PIC 16F84A y su respectivo set de
instrucciones.
2. El puerto A del PIC 16F84A tiene 5 pines de entrada/salida y el puerto
B tiene 8 pines de entrada/salida. Para este caso, tome en cuanta que
debe configurar el puerto B como entrada y el puerto A como salida.
3. Observe el circuito de la figura 1. En el puerto B se introducen dos
números simultáneamente en código BCD. La parte alta del puerto B
es el dígito más significativo y la parte baja el menos significativo.
Escriba un programa que sume ambos números y presente el
resultado también en código BCD.. Dado que el resultado más grande
que tendremos a la salida será el numero 18, el bit más significativo
del puerto A lo utilizará para encender el uno en el display que
representa el digito más significativo a la salida. Cuando la suma sea
menor a 10, este display debe mostrar un cero.
4. Lea los manuales de MPLAB y de PROTEUS VSM suministrados por
el profesor.
72
Figura 1. Esquema del montaje.
5. Simule el circuito completo en PROTEUS VSM.
Laboratorio:
1. Escriba el código de su programa en MPLAB. Pregunte a su profesor
la forma correcta de crear un proyecto y de compilar el programa, y
verifique que el mismo no genere errores.
2. Corra el código en el MPLAB y verifique que el mismo hace lo que se
le pidió.
3. Dibuje el circuito en PROTEUS VSM, configure el PIC para que
ejecute el código que escribió en MPLAB. Simule y verifique que el
programa se comporta de manera apropiada al acoplarle el circuito.
4. Conecte el programador JDM de su entrenador al puerto serial del
computador. Utilizando IC-PROG grabe en su PIC el archivo con
extensión .HEX que generó el MPLAB. En caso de alguna duda
pregunte a su profesor la manera de hacerlo.
5. Busque en el manual la forma de colocar el oscilador al PIC. El
programador trae un cristal ya acoplado, el cual debe de conectar en
los pines apropiados del PIC. Una vez acoplado, debe asegurarse de
que el PIC esté oscilando antes de continuar. Monitoree la oscilación
con su osciloscopio.
6. Configure el hardware que utilizará en el entrenador. Si posee alguna
duda verifique en el manual del entrenador la configuración
preestablecida de las conexiones.
7. Anote sus observaciones y sus conclusiones.
73
Departamento de Electrónica y Electrotecnia
Microcontroladores
Práctica 02
Manejo de retardos.
Objetivos:
•
•
•
•
Manejar los comandos básicos del set de instrucciones del PIC
16F84A.
Manejar el simulador MPLAB.
Manejar el simulador PRTEUS VSM
Realizar retardos a través de ciclos repetitivos y a través de
interrupciones por software.
Prelaboratorio:
6. Tenga a mano el manual del PIC 16F84A y su respectivo set de
instrucciones.
7. Verifique en el entrenador la frecuencia de oscilación del cristal. Es
importante para poder obtener el tiempo de un ciclo de reloj.
8. Una vez obtenido el tiempo de un ciclo de reloj, realice un programa
de retardo para un tiempo de 500mSeg.
9. Observe el circuito de la figura 1. Tiene un arreglo de LEDs en el
puerto B del PIC. La intención es que usted realice una secuencia de
encendido y apagado de los LEDs. Este debe ser agradable a la vista.
Por ejemplo puede encender un LED, luego apagarlo y encender el
que está a su derecha. Así hasta llegar al final y luego devolverse. Use
su creatividad.
10. Escriba el código en MPLAB. No agregue aun la frecuencia de retardo.
Verifique que la compilación no genere errores. Luego, simule el
circuito en PROTEUS VSM. Cuando la secuencia sea de su agrado
pase al punto siguiente.
74
Figura 1. Arreglo de LEDs para secuencia luminosa.
11. Si usa la frecuencia de operación del PIC, sus ojos no podrán apreciar
la secuencia. Para ello usted deberá modificar el programa para que
use el retardo que diseñó en el apartado 3.
12. En caso de que el profesor así lo exija, repita los apartados 3 y 6, de
manera que los retardos sean generadas por interrupciones por
software.
Laboratorio:
1. Conecte el PIC con el oscilador. Verifique que oscila. Es importante
que oscile para poder continuar con la práctica.
2. Para verificar que el programa de retardo de 500mSeg. funciona
correctamente, realice un programa que coloque un “1” en RB0, active
la secuencia de retardo, coloque un “0” en RB0, active la secuencia de
retardo y repita nuevamente el ciclo de manera permanente.
Monitoree RB0 con su osciloscopio y constate que cada 500mSeg. se
produce un cambio de nivel.
3. Una vez verificado el retardo, grabe el programa que escribió en el
apartado 6 del Prelaboratorio. Conecte el arreglo de LEDs que tiene
su entrenador a la salida del PIC.
4. Disfrute de la secuencia luminosa que usted diseñó.
5. Anote sus observaciones y conclusiones.
6. En caso de que el profesor así lo exija, repita los apartados 2, 3, 4 y 5,
de manera que los retardos sean generadas por interrupciones por
software.
75
Departamento de Electrónica y Electrotecnia
Microcontroladores
Práctica 03
Cronómetro Digital.
Objetivos:
•
•
•
Manejar los comandos básicos del set de instrucciones del PIC
16F84A.
Manejar el simulador MPLAB.
Realizar retardos a través de ciclos repetitivos y a través de
interrupciones por software.
Prelaboratorio:
13. Tenga a mano el manual del PIC 16F84A y su respectivo set de
instrucciones.
14. Revise en el manual del entrenador la configuración de los displays de
7 segmentos.
15. Para que los estudiantes puedan distribuir mejor su tiempo en los
exámenes, se desea implementar un cronómetro digital que permita
contar de forma regresiva hasta cuatro horas, pudiéndose observar en
todo momento el tiempo restante. La forma como se desea
implementar el circuito se muestra en la figura 1.
Figura 1. Esquema de montaje.
76
16. El principio de operación es el siguiente: El cronómetro contará de
forma regresiva un mínimo de una hora y un máximo de cuatro. El
DIP-Switch servirá para configurar las horas de conteo. Estas se
introducirán de forma binaria según la tabla 1. Los LEDs servirán para
indicar cuantas horas quedan, y los displays para indicar los minutos
restantes. Por lo tanto, si hay dos LEDs encendidos y los display
indican el número 26, se entiende que faltan 2 horas y 26 minutos
para la finalización del examen.
Valor binario
00
01
10
11
Tiempo en horas
No se usa
1
2
3
Tabla 1. Equivalencia en tiempo del valor de la entrada binaria.
17. Escriba este programa y simúlelo en la computadora. Verifique su
funcionamiento.
Laboratorio:
1. Monte en su entrenador el circuito del cronómetro. Grabe en el PIC su
programa y verifique que el PIC oscila.
2. Como el programa no contempla un botón de Inicio, el pin de Reset
del PIC tomará este papel. Al configurar la cantidad de horas que
durará el examen se deberá presionar el botón de reset para que
empiece el conteo real.
3. Verifique que su circuito se comporta de la manera deseada.
4. Anote sus observaciones y conclusiones.
77
Departamento de Electrónica y Electrotecnia
Microcontroladores
Práctica 04
Control de la velocidad de un motor DC usando PWM.
Objetivos:
•
•
•
•
Manejar los comandos básicos del set de instrucciones del PIC
16F84A.
Manejar el simulador MPLAB.
Manejar el simulador PRTEUS VSM.
Generar modulación por ancho de pulso a través de software.
Prelaboratorio:
18. Tenga a mano el manual del PIC 16F84A y su respectivo set de
instrucciones.
19. Verifique en el entrenador la frecuencia de oscilación del cristal. Es
importante para poder obtener el tiempo de un ciclo de reloj. Si lo
desea puede usar un cristal diferente, pero debe verificar que valor de
capacitor debe acoplar.
20. Llegue a un acuerdo con su profesor sobre la frecuencia de operación
del PWM.
21. Busque el manual del puente H para motor DC (BA6219B) que está en
la maqueta. Lea las características del mismo. El montaje
predeterminado en la maqueta es el que se muestra en la figura 1.
78
Figura 1. Circuito para el puente H.
22. Para hacer el control del motor se medirá el valor de una señal
analógica usando en ADC0808 incorporado en el entrenador. Busque
el manual del fabricante y verifique su funcionamiento. La salida del
ADC se acoplará al puerto B del PIC. Dos pines del puerto A serán las
salidas de PWM que se acoplarán al puente H. Todo esto se ilustra en
la figura 2.
Figura 2. Esquema del circuito de control.
23. Escriba el código correspondiente y simúlelo en PROTEUS VSM.
Defina con su profesor la forma de hacer control, si se desea inversión
de giro, que el motor se detenga completamente, etc. Tome en cuenta
que el puente H no aparece en la base de datos del simulador. Puede
sustituirlo por un puente H discreto con transistores. En la base de
datos del simulador existe un motor animado, el cual le servirá para
comprobar el funcionamiento.
79
Laboratorio:
7. Conecte el PIC con el oscilador. Verifique que oscila. Es importante
que oscile para poder continuar con la práctica.
8. Monte en el entrenador el circuito de control. Verifique su
funcionamiento antes de conectar el motor. Monitoree las salidas con
el osciloscopio.
9. Verifique el funcionamiento del puente H y del motor alimentando el
puente con la fuente DC. NOTA: Nunca alimente al motor con la
fuente del entrenador, use la fuente del laboratorio. Si tiene dudas
pregunte a su profesor.
10. Conecte el motor al entrenador. Llame al profesor para que revise su
montaje antes de encender. Una vez revisado encienda y verifique
funcionamiento el funcionamiento de su programa
11. Anote sus observaciones y conclusiones.
80
Departamento de Electrónica y Electrotecnia
Microcontroladores
Práctica 05
Control de temperatura de una incubadora.
Objetivos:
•
•
•
•
•
Manejar los comandos básicos del set de instrucciones del PIC
16F84A.
Manejar el simulador MPLAB.
Manejar el simulador PRTEUS VSM.
Controlar la temperatura de un sistema cerrado usando un termistor
como elemento sensor.
Caracterizar el termistor.
Prelaboratorio:
24. Tenga a mano el manual del PIC 16F84A y su respectivo set de
instrucciones.
25. Verifique en el entrenador la frecuencia de oscilación del cristal. Es
importante para poder obtener el tiempo de un ciclo de reloj. Si lo
desea puede usar un cristal diferente, pero debe verificar que valor de
capacitor debe acoplar.
26. La maqueta tiene un bombillo de 40W AC, un ventilador de 12V DC, y
un termistor en serie con una resistencia de 100W, el cual será
polarizado con 5V. El termistor no posee identificación, por lo que
usted debe caracterizarlo. Para ello usted dispone de una zonda
térmica que se puede acoplar a los multímetros digitales que están en
el laboratorio. Al colocar la escala en temperatura, podrá medir la
temperatura en ºC. Con un segundo multímetro colocado en la escala
de Voltios mida el voltaje en el termistor mientras el bombillo aumenta
la temperatura interna de la cava.
81
27. Una vez caracterizado el termistor, defina con su profesor el rango de
deseado para la temperatura interna de la cava (TMIN - TMAX). Escriba
un código con las siguientes características:
a. Mientras la temperatura sea menor a TMIN, debe encender el
ventilador y el bombillo.
b. Mientras la temperatura este dentro del rango deseado, sólo
debe permanecer encendido el bombillo.
c. Cuando la temperatura exceda TMAX debe apagar el bombillo
y encender el ventilador.
28. Para que el PIC pueda monitorear al termistor usará nuevamente al
ADC0808. Utilice el puerto A para controlar a los dispositivos. Escriba
el código correspondiente.
29. Simule el código el PROTEUS VSM. Para emular el termistor use un
potenciómetro.
Laboratorio:
12. Conecte el PIC con el oscilador. Verifique que oscila. Es importante
que oscile para poder continuar con la práctica.
13. Monte el circuito en el entrenador. Use los relés para encender tanto el
bombillo como el ventilador. Llame al profesor para que revise su
montaje antes de energizar.
14. Con el multímetro en la escala de temperatura, verifique que su
circuito funciona de la manera deseada.
15. Anote sus observaciones y conclusiones.
82
Departamento de Electrónica y Electrotecnia
Microcontroladores
Práctica 06
Uso de la pantalla LCD de texto.
Objetivos:
•
•
•
•
•
Manejar los comandos básicos del set de instrucciones del PIC
16F84A.
Manejar el simulador MPLAB.
Manejar el simulador PRTEUS VSM.
Aprender a escribir en una pantalla LCD de texto.
Usar librerías para escribir programas.
Prelaboratorio:
30. Tenga a mano el manual del PIC 16F84A y su respectivo set de
instrucciones.
31. Verifique en el entrenador la frecuencia de oscilación del cristal. Es
importante para poder obtener el tiempo de un ciclo de reloj. Si lo
desea puede usar un cristal diferente, pero debe verificar que valor de
capacitor debe acoplar.
32. El profesor le suministrará una librería para escribir en la pantalla y un
manual para comprender el funcionamiento de la LCD.
33. Escriba un código que muestre un mensaje de una palabra de 16
caracteres en una sola línea.
34. Escriba un código que muestre un mensaje que ocupe dos líneas.
35. Escriba un código que muestre un mensaje que ocupe una línea que
parpadee.
36. Escriba un mensaje que muestre un mensaje que supere los 16
caracteres y que desplace por la pantalla para poder leerlo.
83
37. Pruebe cada uno de los montajes en PROTEUS VSM.
Laboratorio:
16. Conecte el PIC con el oscilador. Verifique que oscila. Es importante
que oscile para poder continuar con la práctica.
17. Monte el circuito en el entrenador. La pantalla LCD esta polarizada.
Verifique dos veces el montaje antes de polarizar. Este dispositivo es
muy delicado y cualquier error en el montaje puede dañarla.
18. Ejecute cada uno de los códigos en el entrenador.
19. Anote sus observaciones y conclusiones.
84