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