M_microcontroladores-itse_2018-2.pdf

  • Uploaded by: Manuel Delgado
  • 0
  • 0
  • December 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View M_microcontroladores-itse_2018-2.pdf as PDF for free.

More details

  • Words: 23,864
  • Pages: 109
UNAM FACULTAD DE ESTUDIOS SUPERIORES CUAUTITLAN

Departamento: Ingeniería

Sección: Electrónica

Asignatura: Microcontroladores

Clave de carrera:

130

Clave de asignatura: 1919

Manual de Laboratorio de Microcontroladores

Autores: M. en C. Leopoldo Martín del Campo Ramírez Ing. Marcelo Bastida Tapia Ing. José Luis Barbosa Fecha de elaboración: enero 2015 Fecha de revisión: enero 2018

Facultad de Estudios Superiores Cuautitlán

UNAM

Laboratorio de Microcontroladores

Índice Objetivos generales de la asignatura

II

Objetivos del curso experimental

II

Introducción

II

Reglamento interno de laboratorios

III

Criterios de evaluación del curso

VI

Bibliografía

VI

Práctica 1

Manejo de señales multiplexadas 4.1. Multiplexación de señales.

-Microcontrolador PIC -Microcontrolador AVR Práctica 2

Puertos del microcontrolador

4.2. Descripción funcional de terminales.

-Microcontrolador PIC -Microcontrolador AVR Práctica 3

5.3. Programación de microcontroladores.

5.4. Programación de los registros internos.

6.2. Herramientas para desarrollo de programas con microcontroladores.

22 73

Temporizadores y contadores 6.3. Elaboración de proyectos.

-Microcontrolador PIC -Microcontrolador AVR

Índice

18 68

Conexión con dispositivos de interfaz -Microcontrolador PIC -Microcontrolador AVR

Práctica 6

14 64

Interrupciones

-Microcontrolador PIC -Microcontrolador AVR Práctica 5

5 58

Temporizadores

-Microcontrolador PIC -Microcontrolador AVR Práctica 4

1 54

27 77

I

Facultad de Estudios Superiores Cuautitlán

Práctica 7

Control de motores a pasos

7.2. Diseño de interfaces de control de potencia eléctrica.

-Microcontrolador PIC -Microcontrolador AVR Práctica 8

7.5. Control con optoacopladores.

8.1. Conversión Analógico Digital con microcontroladores.

44 93

Modulación por ancho de pulso

9.1. Modulación por ancho de pulso (PWM) empleando microcontroladores.

-Microcontrolador PIC -Microcontrolador AVR

Índice

39 88

Convertidor Analógico – Digital -Microcontrolador PIC -Microcontrolador AVR

Práctica 10

33 83

Comparadores de voltaje

-Microcontrolador PIC -Microcontrolador AVR Práctica 9

UNAM

49 98

II

Facultad de Estudios Superiores Cuautitlán

UNAM

Laboratorio de Microcontroladores

Prólogo

Objetivo general de la asignatura  Al finalizar el curso el alumno conocerá y comprenderá la estructura y funcionamiento de los microcontroladores y podrá aplicar dichos elementos en la solución de problemas de control dedicado, así como la aplicación de diversas plataformas de desarrollo de sistemas electrónicos, de telecomunicaciones y mecatrónica, entre otros.

Objetivos del curso experimental  Conocer la arquitectura interna básica de los microcontroladores y las características de sus periféricos.  Realizar programas en lenguajes de bajo y alto nivel para solucionar problemas de diseño.  Programar los microcontroladores y comprobar que las soluciones propuestas a los retos de diseño sean funcionales.  Implementar sistemas basados en microcontroladores.

Introducción Los circuitos digitales permiten la implementación de operaciones lógicas, combinacionales y secuenciales, mediante la interconexión de circuitos integrados (IC’s) que contienen compuertas lógicas, flip-flop’s y otros elementos. Sin embargo, conforme crecen las necesidades de diseño y la complejidad de cada aplicación, esta se vuelve una solución impráctica y costosa.

Figura I. Ejemplos de Flip-flop’s y circuitos combinacionales

En la actualidad existe una serie de dispositivos conocidos como microcontroladores; estos reúnen dentro de un solo chip muchas de las características propias de una computadora, como pueden ser las memorias RAM y ROM o los puertos, además de otros elementos. El que se encuentren todos los elementos del microcontrolador dentro de un solo chip indica que son dispositivos de muy alta densidad de integración. Los microcontroladores suelen ser utilizados en aplicaciones de control

Prólogo

III

Facultad de Estudios Superiores Cuautitlán

UNAM

debido a que utilizan de manera más eficiente la memoria de que disponen además de poseer un conjunto de instrucciones mucho más reducido en comparación con una computadora. Otra característica que ha contribuido para que los microcontroladores hayan tomado la preferencia de muchos usuarios es su bajo costo pues, aunque varía dependiendo de la capacidad de cada modelo de microcontrolador, generalmente resultan ser muchas veces más baratos que otros medios de control como pueden ser las computadoras o los controladores lógicos programables (PLC’s). Los microcontroladores poseen una gran capacidad de adaptación a las distintas aplicaciones de control que se presentan en la industria, a pesar de que sus capacidades son limitadas. Esto lo compensan con la gran cantidad de modelos existentes, de los cuales se puede seleccionar aquel que cubra las necesidades del sistema a controlar. En estas prácticas se busca desarrollar sistemas basados en microcontroladores explotando su capacidad de adquisición de datos, como pueden ser los puertos digitales y los convertidores analógicos – digitales, además de sus capacidades de control, como por ejemplo el control de motores de corriente directa y de motores de pasos, necesarios para la implementación de sistemas mecánicos industriales o de robots. Finalmente el alumno deberá comprender la necesidad de interacción entre las diferentes áreas de la Ingeniería para llevar a la práctica un sistema de control basado en microcontrolador. Entre estas áreas se distinguen:     

Electrónica Analógica Ingeniería de Control Control Digital Sistemas Digitales Computación

    

Diseño de Software Electrónica de Potencia Mecánica Motores y algunas áreas adicionales.

Reglamento interno de laboratorios 1.

Dentro del laboratorio queda estrictamente prohibido. a. Correr, jugar, gritar o hacer cualquier otra clase de desorden. b. Dejar basura en las mesas de trabajo y/o pisos. c. Sentarse sobre las mesas. d. Fumar, consumir alimentos y/o bebidas. e. Realizar y recibir llamadas telefónicas y/o el envío de cualquier tipo de mensajería. f. La presencia de personas ajenas en los horarios de laboratorio. g. Dejar los bancos en desorden. h. Mover equipos o quitar accesorios de una mesa de trabajo a otra sin el consentimiento previo del profesor de laboratorio en turno. i. Usar o manipular el equipo sin el conocimiento previo del profesor. j. Rayar las mesas del laboratorio. k. Energizar algún circuito sin antes verificar que las conexiones sean las correctas (polaridad de las fuentes de voltaje, multímetros, etc.). l. Hacer cambios en las conexiones o desconectar equipo estando éste energizado. m. Hacer trabajos pesados (taladrar, martillar, etc.) en las mesas de las prácticas. 2. Se permite el uso de medios electrónicos y equipo de sonido (celulares, tabletas, computadoras, etc.) únicamente para la realización de las prácticas.

Prólogo

IV

Facultad de Estudios Superiores Cuautitlán

UNAM

3.

El alumno verificará las características de los dispositivos electrónicos con el manual.

4.

Es responsabilidad del profesor y de los alumnos revisar las condiciones del equipo del laboratorio al inicio de cada práctica. El profesor reportará cualquier anomalía que pudiera existir (prendido, dañado, sin funcionar, maltratado, etc.) al encargado de área correspondiente o al jefe de sección.

5.

Es requisito indispensable para la realización de las prácticas, que el alumno cuente con su manual completo y actualizado al semestre en curso, en formato digital o impreso, el cual podrá obtener en: http://olimpia.cuautitlan2.unam.mx/pagina_ingenieria.

6.

El alumno deberá traer su circuito armado para poder realizar la práctica, de no ser así no podrá realizar dicha práctica (donde aplique) y tendrá una evaluación de cero.

7.

Para desarrollar trabajos o proyectos en las instalaciones de los laboratorios, es requisito indispensable que esté presente el profesor responsable, en caso contrario no podrán hacer uso de las instalaciones.

8.

Correo electrónico del buzón para quejas y sugerencias para cualquier asunto relacionado con los Laboratorios ([email protected]).

9.

La evaluación del laboratorio, será en base a lo siguiente: A - (Aprobado); Cuando el promedio total de todas las prácticas de laboratorio sea mayor o igual a 6 siempre y cuando tengan el 90% de asistencia y el 80% de prácticas acreditadas en base a los criterios de evaluación. NA - (No Aprobado); No se cumplió con los requisitos mínimos establecidos en el punto anterior. NP - (No Presentó); con o sin asistencia pero que no haya entregado reporte alguno.

10. Los casos no previstos en el presente reglamento serán resueltos por el Jefe de Sección. NOTA: En caso de incurrir en faltas a las disposiciones anteriores, el alumno será acreedor a las siguientes sanciones por parte del profesor de laboratorio según sea el caso y la gravedad, baja temporal o baja definitiva del grupo de laboratorio al que está inscrito.

Instrucciones para la elaboración del reporte Será necesario incluir en cada actividad previa y reporte de práctica una portada (obligatoria) que contenga la información mostrada a continuación. U. N. A. M. F. E. S. C. Laboratorio de: Grupo: Profesor: Alumno: Nombre de Práctica: No. de Práctica: Fecha de realización: Fecha de entrega: Semestre:

Prólogo

________________________________________ ________________________________________ ________________________________________ ________________________________________ ________________________________________ ________________________________________ ________________________________________ ________________________________________ ________________________________________

V

Facultad de Estudios Superiores Cuautitlán

UNAM

Para la presentación del reporte se deberá cumplir con los requisitos indicados en cada una de las prácticas, incluyendo:      

Introducción Procedimiento experimental Tablas de datos Mediciones Gráficas Comentarios

     

Observaciones Esquemas Diagramas Cuestionario Conclusiones Bibliografía

y en general todos los elementos solicitados dentro del desarrollo de la práctica.

Criterios de evaluación del curso C1 (Criterio de evaluación 1): Actividades previas a la práctica (40%) C2 (Criterio de evaluación 2): Habilidad en el armado y funcionalidad de los sistemas (10%) C3 (Criterio de evaluación 3): Habilidad para el manejo del equipo e interpretación correcta de las lecturas (10%) C4 (Criterio de evaluación 4): Reporte entregado con todos los puntos indicados (40%)

Bibliografía 1) Programación de sistemas embebidos en C Galeano, Gustavo Alfaomega, 1º Edición México, 2009 2) Compilador C CCS y Simulador Proteus para microcontroladores PIC García, Eduardo Alfaomega, 1º Edición México, 2008 3) Microcontroladores PIC, Diseño práctico de aplicaciones Angulo Usastegui, José Ma. / Angulo Martínez, Ignacio Mc. Graw Hill, 2ª Edición México, 2006 4) Microcontroladores, Fundamentos y Aplicaciones con PIC Valdes Pérez, Fernando Alfa Omega México, 2007

Prólogo

5) AVR microcontroladores. Configuración total de periféricos López Chau, Ausdrubal Universidad Autónoma del Estado de México UAEM México, 2006 6) Atmega8 Data Sheet Atmel Corporation 2013 7) Embedded C Programming with the AVR Microcontroller R. H. Barnett, S. Cox, y L. O’Cull Cengage Learning 2ND Edition Clifton Park, NY, 2006 8) Some Assembly Required: Assembly Language Programming with the AVRMicrocontroller T. S. Margush CRC Press, 1ST Edition Boca Raton, 2011

VI

Facultad de Estudios Superiores Cuautitlán

UNAM

Laboratorio de Microcontroladores Práctica 1 Manejo de señales multiplexadas

Tema 4.1. Multiplexación de señales.

Objetivos Al término de esta práctica el alumno comprenderá: ➢ El uso de circuitos multiplexores y demultiplexores. ➢ La multiplicidad de funciones con que cuenta cada una de las terminales de un microcontrolador y la importancia de su correcta configuración.

Introducción Los microcontroladores, debido a la gran variedad de opciones especiales y módulos periféricos que pueden llegar a contener, requerirían de una gran cantidad de terminales dedicadas a cada una de estas funciones, lo cual los volvería imprácticos, de gran tamaño y costosos. Es por eso que es necesaria la multiplexación de funciones en cada una de las terminales del microcontrolador. En la figura 1.1 se muestran ejemplos de microcontroladores cuyas terminales están multiplexadas con distintos funcionamientos tanto de entrada como de salida.

Figura 1.1. Microcontroladores con terminales multiplexadas.

Práctica 1

1

Facultad de Estudios Superiores Cuautitlán

UNAM

La multiplexación es la combinación de dos o más canales de información en un solo medio de transmisión. En el caso de los microcontroladores, donde pueden configurarse las terminales para actuar como salidas o como entradas, también existe el proceso contrario, llamado demultiplexación donde, usando un solo medio de transmisión, se separan varios canales de información. La figura 1.2 muestra un ejemplo de esto. La terminal o pin de la figura 1.2 del microcontrolador posee funciones digitales de I/O pero adicionalmente esta multiplexada con funciones analógicas de entrada como son el comparador de voltaje y el convertidor analógico digital.

Figura 1.2. Terminal multiplexada de un microcontrolador.

Actividades previas a la práctica 1) El alumno realizará la lectura de la práctica. 2) Investigue e imprima la hoja técnica del circuito CD4052 teniendo especial interés la tabla de funcionamiento del circuito y las terminales de alimentación. 3) Realice la simulación del circuito multiplexor/demultiplexor siguiendo cada uno de los puntos del procedimiento experimental. Guarde la simulación y entregue una copia impresa de la misma. 4) El alumno deberá traer el circuito de la práctica previamente armado.

Equipo 1 Fuente de voltaje bipolar de CD 1 Generador de funciones 1 Osciloscopio

Práctica 1

2

Facultad de Estudios Superiores Cuautitlán

UNAM

Material 1 Multiplexor/Demultiplexor CD4052 1 Temporizador LM/NE555 1 Diodo de alta velocidad 1N4148 2 Resistencias de 10 kΩ, ½ watt 2 Resistencias de 2.2 kΩ, ½ watt 2 Capacitores de 0.15 µF 1 Dip switch de 2 o más interruptores Tableta de Conexiones Alambres y cables para conexiones

Procedimiento experimental 1. Arme el circuito mostrado en la figura 1.3 alimentando el circuito multiplexor con 10VCD.

Figura 1.3. Circuito multiplexor/demultiplexor.

2. Calibre el generador de funciones para obtener a su salida una señal de 2.5 sin 6283.18 𝑡 + 2.5𝑉𝐶𝐷 . 3. Conecte el generador de funciones en la terminal X2, como se indica en la figura 1.3 y adicione una fuente de 10VCD en la terminal X1. 4. Con ayuda del osciloscopio, observe y grafique la señal de salida Vs acotándola correctamente para cada una de las combinaciones de los selectores A y B del circuito multiplexor. 5. Modifique el circuito anterior, interconectando las terminales X y Y, para obtener el que se muestra en la figura 1.4.

Práctica 1

3

Facultad de Estudios Superiores Cuautitlán

UNAM

Figura 1.4. Modificación del circuito multiplexor.

6. Para las mismas señales de entrada, observe en el osciloscopio las salidas Vs1, Vs2, Vs3 y Vs4 y grafíquelas acotándolas cuidadosamente para cada una de las combinaciones de los selectores del circuito multiplexor.

Cuestionario. 1) Investigue en las hojas técnicas del circuito multiplexor utilizado en la práctica ¿cuáles son los límites de los voltajes de polarización y cómo influyen en los valores máximo y mínimo de las señales de entrada? 2) ¿Cuál es la diferencia entre un multiplexor y un demultiplexor? Explique. 3) Para el microcontrolador PIC16F887 investigue cuáles son todas las funciones con las que cuentan los puertos D y E, indicando si son de tipo analógico o digital.

Conclusiones Elabore un resumen que muestre las conclusiones a las que haya llegado después de realizar todas las actividades de esta práctica.

Bibliografía Elabore una lista de las referencias bibliográficas consultadas.

Práctica 1

4

Facultad de Estudios Superiores Cuautitlán

UNAM

Laboratorio de Microcontroladores Práctica 2 Puertos del microcontrolador

Tema 4.2. Descripción funcional de terminales.

Objetivos Al término de esta práctica el alumno podrá: ➢ Manipular los puertos del microcontrolador para introducir y sacar datos del mismo mediante lenguaje ensamblador. ➢ Configurar los diversos puertos del microcontrolador para que funcionen como puertos de entrada o puertos de salida. ➢ Utilizar el software MPLAB IDE de Microchip para compilar microcontroladores.

Introducción Los microprocesadores PIC tienen diversos puertos de entrada/salida paralelos de usos generales denominados Puerto A, Puerto B, Puerto C, etc. El número de puertos depende del dispositivo que se tenga. Por ejemplo, el PIC16F84A solo tiene dos puertos A y B mientras que el PIC 16F887 tiene 5 puertos A, B, C, D y E. Para hacer una analogía, los puertos del microcontrolador son parecidos al puerto paralelo de la PC, en los cuales la información sale y entra a través de 8 líneas de datos. Los puertos del microcontrolador PIC son el medio de comunicación con el mundo exterior, en ellos se pueden conectar los periféricos o circuitos necesarios como por ejemplo los módulos LCD, motores eléctricos, etc., pero estas conexiones no se pueden realizar arbitrariamente. Existen unas reglas básicas que deberán cumplirse para que el microcontrolador no sufra daños o se destruya. Para ello es necesario conocer los límites de corriente que puede manejar el microcontrolador. Al realizar un programa en lenguaje ensamblador, que será compilado y cargado al microcontrolador PIC, es necesario emplear una serie de directivas para especificar al programa las características del microcontrolador que se está empleando, el punto de inicio y fin del programa, etc. A continuación, se describen las directivas más importantes y comúnmente empleadas. • LIST Sirve para indicarle al MPLAB cuál es el formato del archivo *.list dentro de los parámetros está el tipo de procesador que se va a emplear. list p=16Fxxx •

INCLUDE include

Práctica 2

5

Facultad de Estudios Superiores Cuautitlán

UNAM

Sirve para incluir en el ensamblado el archivo indicado por el parámetro “file”. Es como si el “file” fuera parte del archivo, como si se hubiera situado en la posición en la cual la directiva aparece. El parámetro “file” puede incluir el path o camino en el cual se encuentra el archivo a incluir. include Incluye el archivo “p16Fxxx.inc” que contiene las etiquetas genéricas del PIC16Fxxx •

ORG [<etiqueta>] ORG <exp>

Sirve para indicar la dirección de memoria en la cual será colocado el código generado a continuación. Si el ORG no es indicado se empieza en la dirección 0. Ejemplo ORG 0x05 inicio Indica que la inicio “inicio” se colocará en la dirección 0x05 de la dirección de programa. •

EQU EQU <expresion>

Permite asignar el valor de expresión al identificador. El general el identificador es un nombre que le es más familiar al programador. Ejemplo: dato

equ 0x20

Crea el identificador “dato” y lo asigna a la dirección 0x20. •

END END

Es de uso obligatorio y siempre se coloca al final del programa sirve para marcar el final del programa. El MPLAB solo reconoce las líneas que estén escritas previas a la aparición de la directiva END.

Actividades previas a la práctica 1) El alumno realizará la lectura de la práctica. 2) La operación de configuración de los puertos en general implica la siguiente secuencia: • Ingresar al banco 1 • Configurar los puertos (registros TRISA, TRISB, etc.). • Regresar al banco 0 • Escribir o leer datos desde los puertos (registros PORTA, PORTB, etc.). 3) Desarrolle un programa que configure las líneas del Puerto X como entrada y las líneas del Puerto Y como salida. El dato de entrada a través del Puerto X será dado en formato Aiken mientras que en el Puerto Y será mostrado en formato 84-2-1.

Práctica 2

6

Facultad de Estudios Superiores Cuautitlán

UNAM

4) Si se desarrolla el algoritmo se reduce a: a) Configurar PX como entrada y PY como salida b) W= PX c) Convertir dato a formato Gray d) PY=W e) Ir paso b)

Inicio

Ir al banco 1

5) El diagrama de flujo que indica cómo se va a desarrollar el programa queda como el mostrado en la figura 2.1. 6) Realice la simulación del sistema de microcontrolador, guarde la simulación y entregue una copia impresa de la misma. Si la simulación tiene problemas con la barra de leds, reduzca el valor de R10.

Configurar el puerto X como entrada

Configurar el puerto Y como salida

7) El alumno deberá traer el circuito previamente armado. Ir al banco 0

Equipo W=Puerto X 1 PC con software instalado: • MPLAB IDE 1 Grabador universal o grabador de PICs 1 Fuente de voltaje de CD

Conversión del dato

Puerto Y=W

Material 1 Microcontrolador PIC 16F887 20 Resistencias de 1 kΩ, ½ watt 1 Dip switch de 8 1 Push button 2 Barras de leds Tableta de Conexiones (protoboard) Alambres y cables para conexiones

Figura 2.1. Diagrama de flujo del programa de lectura y escritura de puertos.

Procedimiento experimental 1. Crea un nuevo proyecto en MPLAB IDE, para ello ejecuta el programa y en la barra superior elije la opción “Proyect” ”Proyect Wizard”, como se muestra en la figura 2.2.

Práctica 2

7

Facultad de Estudios Superiores Cuautitlán

UNAM

Figura 2.2. Crear un nuevo proyecto.

2. En la primera ventana se muestra una pantalla de bienvenida, selecciona siguiente y a continuación selecciona el PIC con el cual se va a trabajar, y da clic en siguiente (figura 2.3).

Figura 2.3. Selección del dispositivo a usar.

3. Selecciona las herramientas con las cuales se va a compilar el programa, estas son las mostradas en la figura 2.4, en caso de que no se encuentran habilitadas, se pueden encontrar en la carpeta C:\Program Files\Microchip\MPASM Suite.

Figura 2.4. Herramientas para compilar el programa.

Práctica 2

8

Facultad de Estudios Superiores Cuautitlán

UNAM

4. En la siguiente pantalla, figura 2.5, da un clic en Browse e indica en que carpeta se va a guardar el proyecto, así como el nombre que llevará el mismo.

Figura 2.5. Selección de carpeta en la cual se guardará el proyecto.

5. A continuación, se debe agregar los archivos que se van a incluir en el proyecto, por el momento solo se va a incluir el archivo “p16fxxx.inc”, que se encuentra en la carpeta C:\Program Files\Microchip\MPASM Suite, mostrado en la figura 2.6.

Figura 2.6. Adicción de los archivos necesarios para el proyecto.

6. Por último, se da clic en “Finalizar”. Práctica 2

9

Facultad de Estudios Superiores Cuautitlán 7.

UNAM

continuación se va a crear el archivo asm, para ello crea un nuevo archivo (figura 2.7) y en la ventana que se abre escribe código que se muestra a continuación, respetando las tabulaciones.

Figura 2.7. Creación de un nuevo archivo.

;Programa que lee un dato del puerto X y lo muestra en el puerto Y list p=16FXXX ;Definir el PIC con el que se va a trabajar include "P16FXXX.INC" ;Archivos con direcciones con su respectiva etiqueta ;Definición de variables dato equ 0x20 ;Dirección de variable en un registro de memoria ;Vectores de interrupción o de arranque org 0 goto Inicio ;Salta hacia la etiqueta ‘Inicio’ org 5 ;donde se va a iniciar el programa. ;Configuración de puertos Inicio bsf status,rp0 ;Se posiciona en el banco 1. movlw 0xff ;Todos los bits de trisX en uno (1 Log) movwf trisX ;configuran el puerto X como entrada. movlw 0x00 ;Todos los bits de trisY en cero (0 Log) movwf trisY ;configuran el puerto Y como salida. bcf status,rp0 ;Se posiciona en el banco 0. ;Programa principal ciclo call leer_puerto_X ;Llama a la subrutina. call convertir_dato ;Llama a la subrutina. call escribir_puerto_Y ;Llama a la subrutina. goto ciclo ;Regresa al ciclo. ;Área de subrutinas ;Subrutina para leer el puerto X y guardarlo en dato leer_puerto_X movf portX,0 ;Guarda un dato en el registro W. movwf dato ;Envía el acumulador al registro dato. return ;Regresa de la subrutina.

;***Área para escribir la subrutina que convierta el dato de entrada al formato de salida***

;Leer el valor de dato y escribirlo en el puerto Y escribir_puerto_Y movf dato,0 ;Envía el dato al registro W. movwf portY ;Escribe el dato en puerto Y. return end

Práctica 2

10

Facultad de Estudios Superiores Cuautitlán

UNAM

8. Una vez escrito el programa se guarda con extensión asm y se agrega al proyecto. 9. Para agregarlo, selecciona el menú “Window” y selecciona Puertos.mcp. Da clic con el botón derecho sobre la carpeta “Source files”, selecciona “Add Files” y agrega el archivo que se acaba de crear con la extensión asm (figura 2.8).

Figura 2.8. Agregar archivos al proyecto.

10. Se procede a compilar el programa para generar el archivo .hex necesario para programar el dispositivo. Primero se selecciona el menú “configure” (figura 2.9) y se selecciona el dispositivo con el cual se va a trabajar.

Figura 2.9. Selección del menú “Configure”.

11. La ventana para selección del dispositivo muestra varias opciones, que por el momento no interesan, solo hay que seleccionar el PIC con el cual se va a trabajar (figura 2.10).

Figura 2.10. Selección del dispositivo para compilar.

Práctica 2

11

Facultad de Estudios Superiores Cuautitlán

UNAM

12. Una vez seleccionado, se compila mediante el comando “Make” que se encuentra en la barra de menú superior como se muestra en la figura 2.11.

Figura 2.11. Compilación del programa y creación del archivo .asm.

13. Proceda a armar el circuito en la protoboard de acuerdo al diagrama de la figura 2.12, programe el microcontrolador y verifique que realice la lectura y escritura de puertos correctamente. Anote sus observaciones. 14. Tome algunas fotografías donde se observe el funcionamiento del circuito para distintos valores en los puertos de entrada y salida.

Figura 2.12. Diagrama del circuito.

15. Realice una modificación del código del microcontrolador de modo que, al ingresar un dato por el Puerto X, en un Puerto Z aparezca de manera simultánea el dato en código EXC3. El Puerto Y mantiene la función que tenía anteriormente.

Cuestionario. 1) Dibuje el diagrama de flujo del programa modificado en el punto 15 del procedimiento. 2) ¿Qué se tiene que hacer si se desea que algunos pines de un solo puerto sean de entrada y otros de salida? 3) Si se desea usar un puerto cuyos bits tienen más de una función, que registro o registros se deben configurar. De dos ejemplos.

Práctica 2

12

Facultad de Estudios Superiores Cuautitlán

UNAM

Conclusiones Elabore un resumen que muestre las conclusiones a las que haya llegado después de realizar todas las actividades de esta práctica.

Bibliografía Elabore una lista de las referencias bibliográficas consultadas.

Práctica 2

13

Facultad de Estudios Superiores Cuautitlán

UNAM

Laboratorio de Microcontroladores Práctica 3 Temporizadores

Tema 5.3. Programación de microcontroladores.

Objetivos Al término de esta práctica el alumno podrá: ➢ Crear retardos haciendo uso del temporizador básico de los microcontroladores PIC, el TIMER 0.

Introducción Los Temporizadores o “Timers” se emplean para controlar periodos de tiempo (temporizadores) y para llevar la cuenta de acontecimientos que suceden en el exterior (contadores). Para la medida de tiempos se carga un registro con el valor adecuado y a continuación dicho valor se va incrementando o decrementando al ritmo de los impulsos de reloj o algún múltiplo hasta que se desborde y llegue a 0, momento en el que se produce un aviso. Cuando se desean contar acontecimientos que se materializan por cambios de nivel o flancos en alguna de las patitas del microcontrolador, el mencionado registro se va incrementando o decrementando al ritmo de dichos impulsos. El registro TMR0 es un contador de 8 bits, es decir, un particular tipo de registro cuyo contenido es incrementado con una cadencia regular y programable directamente por el hardware del PIC. Como es de 8 bits, el máximo de la cuenta está en 255. Este registro puede usarse para contar eventos externos por medio de un pin de entrada especial (modo contador) o para contar pulsos internos de reloj de frecuencia constante (modo timer). Además, en cualquiera de los dos modos, se puede insertar un prescaler, es decir un divisor de frecuencia programable que puede dividir por 2, 4, 8, 16, 32, 64, 128 o 256. Este divisor puede ser utilizado alternativamente como prescaler o del TMR0 o como postscaler del Watch Dog Timer, según se lo programe. Una vez alcanzado el valor 255, el registro TMR0 es puesto a cero automáticamente comenzando entonces a contar desde cero y no desde el valor originalmente cargado. La frecuencia de conteo es directamente proporcional a la frecuencia de reloj aplicada al chip y puede ser modificada programando adecuadamente algunos bits de configuración.

Práctica 3

14

Facultad de Estudios Superiores Cuautitlán

UNAM

Actividades previas a la práctica 1) El alumno realizará la lectura de la práctica. 2) Desarrollar un programa que encienda y apague un led de forma intermitente con periodos de 0.25s en cada estado. Incluya los cálculos realizados para configurar el módulo del Timer0. 3) Si se desarrolla el algoritmo se reduce a: • Configurar un pin del puerto X como salida. • Configurar el tiempo del bit PX.Y en alto. • Configurar el tiempo del bit PX.Y en bajo 4) Dibuje el diagrama de flujo del algoritmo anterior. 5) Cree un nuevo proyecto en MPLAB IDE y empleando las rutinas anteriores, realizar un programa que permita, por medio de dos terminales de selección, multiplicar el periodo de tiempo del programa anterior por 1, por 2 y por 4. Incluya los cálculos realizados para configurar el módulo del Timer0. 6) Compile el programa y corrija los posibles errores que surjan. 7) Realice la simulación del sistema de microcontrolador comprobando con ayuda del osciloscopio o del medidor de frecuencia su correcto funcionamiento, guarde la simulación y entregue una copia impresa de la misma. 8) El alumno deberá traer el circuito previamente armado.

Equipo 1 PC con software instalado: • MPLAB IDE 1 Grabador universal o grabador de PICs 1 Fuente de voltaje de 5V

Material 1 Microcontrolador PIC 16F887 1 Resistencia de 1 kΩ, ½ watt 5 Resistencias de 330 Ω, ½ watt 1 Push button 3 Led’s Tableta de Conexiones (Protoboard) Alambres y cables para conexiones

Práctica 3

15

Facultad de Estudios Superiores Cuautitlán

UNAM

Procedimiento experimental 1. Haciendo uso del proyecto creado anteriormente y siguiendo la lógica de las actividades previas, programe el microcontrolador haciendo uso de la subrutina de retardo siguiente. ;Subrutina de retardo RETARDO

DELAY

DELAY_1

movlw movwf call return bcf movlw movwf btfss goto decfsz goto return

0x64 0x20 DELAY INTCON,2 0xD8 TMR0 INTCON,2 DELAY_1 0x20,f DELAY

2. Para el circuito previamente armado de acuerdo al diagrama de la figura 3.1 y, con ayuda del osciloscopio, grafique la señal de salida del pin PX.Y para los programas desarrollados en las actividades previas, haga uso de los cursores para comprobar que los tiempos corresponden con los calculados y con la simulación. 3. Tome una fotografía donde se observe el funcionamiento del circuito para cada programa.

Figura 3.1. Diagrama del circuito de retardo.

4. Aprovechando las rutinas de los códigos realizados en las actividades previas, cree un programa que controle tres pines del Puerto X de modo que funcione como un semáforo. 5. Modifique el circuito de la figura 3.1 para realizar la prueba del sistema de semáforo.

Cuestionario 1) ¿Cuál es el valor máximo que puede tener la variable “tiempo” para la subrutina de retardo?

Práctica 3

16

Facultad de Estudios Superiores Cuautitlán

UNAM

2) Explique el funcionamiento del prescaler del microcontrolador PIC16F887. 3) Determine el tiempo mínimo de retardo que se puede lograr con el Timer0 del microcontrolador empleado en la práctica y explique cuáles son sus limitaciones de funcionamiento.

Conclusiones Elabore un resumen que muestre las conclusiones a las que haya llegado después de realizar todas las actividades de esta práctica.

Bibliografía Elabore una lista de las referencias bibliográficas consultadas.

Práctica 3

17

Facultad de Estudios Superiores Cuautitlán

UNAM

Laboratorio de Microcontroladores Práctica 4 Interrupciones

Tema 5.4. Programación de los registros internos.

Objetivos Al término de esta práctica el alumno podrá: ➢ Comprender el uso de interrupciones como señales de alta prioridad durante la ejecución de programas. ➢ Hacer uso del puerto RB0/INT para detener un proceso y ejecutar una subrutina por medio de la interrupción.

Introducción Una interrupción es un evento que notifica al CPU del microcontrolador sobre la ocurrencia de una situación excepcional de uno de sus periféricos, es decir, las interrupciones son señales de alta prioridad que permiten que, cuando se produzca un evento interno o externo, se detenga la ejecución del programa principal en cualquier momento. En el momento de producirse la interrupción, el microcontrolador ejecuta un salto al vector de interrupción de la memoria de programa y ejecuta la rutina de atención a la interrupción, previamente definida por el programador, donde se atenderá a la solicitud de la interrupción. Cuando se termina de ejecutar dicha rutina, el PIC retoma a la ejecución del programa principal en el mismo punto donde se produjo la interrupción. Los microcontroladores PIC de gama baja y media poseen un único vector de interrupción situado en la dirección 04h de la memoria de programa como se ve en la figura 4.1, mientras que los de la gama alta tienen dos vectores de interrupción de distinta prioridad, alta y baja respectivamente.

Práctica 4

Figura 4.1. Memoria de programa y la pila del PIC16F887.

18

Facultad de Estudios Superiores Cuautitlán

UNAM

El número de fuentes de interrupción dependen del microcontrolador utilizado y se dividen en dos tipos: interrupciones internas, generadas por los distintos periféricos con que cuenta el microcontrolador; y las interrupciones externas, que son detectadas por las terminales del circuito destinadas para esta función. En los microcontroladores PIC de gama media, es común que las terminales con la función de detectar las interrupciones externas se encuentren en el puerto B, más específicamente en el pin RB0. Durante la interrupción, la dirección de retomo del programa principal se almacena en la pila y el contador de programa se carga con la dirección 0004h.

Actividades previas a la práctica 1) El alumno realizará la lectura de la práctica. 2) Desarrollar un programa en lenguaje C que haga que el Puerto X funcione como un registro de corrimiento a la derecha, con un intervalo de 0.5 segundos entre cada cambio, de forma continua, y por medio de RB0 se va a introducir una interrupción que provoque que se realice un ciclo completo de corrimiento en el sentido opuesto. Al finalizar deberá regresar a la rutina de corrimiento inicial justo en el punto donde se interrumpió. 3) El desarrollo del algoritmo se reduce a: • Indicar el vector de interrupciones. • Configurar el puerto X como salida. • Configurar las interrupciones. • Configurar el pin RB0 como entrada de interrupción. • Crear la rutina de la interrupción. 4) Realice el diagrama de flujo que indica cómo se va a desarrollar el programa. 5) Cada vez que se activa la interrupción a través de RB0/INT el programa se dirige a la dirección 0x04, en lenguaje C no es necesario direccionar los vectores de interrupción, pero es necesario que se indique mediante la directiva: #INT_EXT

//Interrupción externa por RB0

E inmediatamente después se coloca la rutina de interrupción que comprende la siguiente estructura: // Función de Interrupción ext_isr( ){  Código de la rutina de interrupción  } 6) Para habilitar las interrupciones se deben colocar al inicio del programa principal las instrucciones para la configuración de las interrupciones.

Práctica 4

19

Facultad de Estudios Superiores Cuautitlán // Configuración de interrupciones set_tris_B(0x01); enable_interrupts(int_ext); ext_int_edge(H_TO_L); enable_interrupts(global);

UNAM

//Habilita RB0 como entrada. //Habilita interrupción externa RB0. //Interrupción por flanco de bajada. //Habilita interrupciones globales.

7) Diseñe el programa principal, de acuerdo a lo visto en la práctica anterior. 8) Compile el programa con MPLAB IDE, corrigiendo los posibles errores. 9) Realice la simulación del sistema de microcontrolador comprobando que los tiempos en cada etapa del funcionamiento son correctos, guarde la simulación y entregue una copia impresa de la misma. 10) El alumno deberá traer el circuito de la práctica previamente armado.

Equipo 1 PC con software instalado: • MPLAB IDE 1 Grabador universal o grabador de PICs 1 Fuente de voltaje de CD

Material 1 Microcontrolador PIC16F887 3 Resistencias de 1 kΩ, ½ watt 2 Push button 1 Barra de Leds Tableta de Conexiones Alambres y cables para conexiones

Procedimiento experimental 1. Haciendo uso del proyecto creado anteriormente y siguiendo la lógica del algoritmo de las actividades previas, programe el microcontrolador. 2. Con el circuito previamente armado, coloque la barra de leds en el puerto X y un interruptor en RB0/INT, como el mostrado en la figura 4.2. 3. Programe el microcontrolador y verifique que realice el corrimiento de forma correcta. Anote sus observaciones. 4. Tome fotografías donde se observe el funcionamiento del circuito.

Práctica 4

20

Facultad de Estudios Superiores Cuautitlán

UNAM

Figura 4.2. Diagrama del circuito de conteo e interrupción.

5. Cambie de alto a bajo el bit RB0/INT, explique lo que sucede con las señales en el puerto de salida. Active varias veces la interrupción y anote sus observaciones.

Cuestionario. 1) Describa que son y cuál es la función de PIR1 y PIE1 en el microcontrolador PIC16F887. 2) El microcontrolador PIC16F887 cuenta con numerosas fuentes de interrupción, describa detalladamente al menos tres distintas a la empleada en la práctica. 3) Investigue en la página del fabricante del microcontrolador usado en la práctica si existen modelos que posean más de una fuente de interrupción externa.

Conclusiones Elabore un resumen que muestre las conclusiones a las que haya llegado después de realizar todas las actividades de esta práctica.

Bibliografía Elabore una lista de las referencias bibliográficas consultadas.

Práctica 4

21

Facultad de Estudios Superiores Cuautitlán

UNAM

Laboratorio de Microcontroladores Práctica 5 Conexión con dispositivos de interfaz

Tema 6.2. Herramientas para desarrollo de programas con microcontroladores.

Objetivos Al término de esta práctica el alumno podrá: ➢ El alumno aprenderá a programar el microcontrolador para que interactúe con otros dispositivos haciendo uso de bibliotecas creadas en lenguaje C. ➢ Hacer uso de los dispositivos más comunes que sirven como interfaz con el usuario como pueden ser el teclado y una pantalla LCD.

Introducción Existe una gran variedad de aplicaciones en las que el microcontrolador debe proporcionar información del estado de un proceso al usuario o simplemente, mostrar ciertos datos que se le han solicitado. Además de lo anterior, también es deseable que exista la posibilidad de insertar datos de parte del usuario para modificar el comportamiento del programa en curso e incluso cambiar el programa por otro previamente almacenado en la memoria del microcontrolador. Dos de los dispositivos más comunes que le permiten al humano interactuar con el microcontrolador son los teclados y las pantallas. En la figura 5.1a se puede observar un teclado de tipo “matricial”. Como su nombre lo indica, este tipo de teclado funciona como una matriz de cuatro filas y tres columnas, al presionar alguno de los botones se cierran un par de interruptores internos que corresponden con la posición vertical y horizontal que ocupa dicho botón. Al estar conectado este dispositivo al puerto de un microcontrolador, es posible interpretar las señales que provienen de éste, de acuerdo a la combinación específica en sus líneas de filas y columnas, y relacionarlas con el botón que fue presionado. La figura 5.1 también muestra las conexiones para cada fila y columna. Por otro lado, en la figura 5.2, se muestra un ejemplo de una pantalla LCD, mejor conocida como display LCD. Estas pantallas existen en una gran variedad de tamaños y capacidades, es común que se cataloguen en función del número de caracteres que pueden contener por fila y el número de filas o renglones que tienen, por ejemplo, en la figura 5.2 se muestra un display de tamaño16x2, es decir, dos filas de dieciséis caracteres cada una. Cada display contiene un cierto número de líneas dedicadas a alimentación, datos y control y comúnmente una línea que controla el contraste de la pantalla.

Práctica 5

22

Facultad de Estudios Superiores Cuautitlán

UNAM

Para facilitar la interacción de los microcontroladores con este tipo de dispositivos externos, se han desarrollado bibliotecas en el lenguaje C que periten controlarlos sin un mayor esfuerzo de programación, aunque siempre existe la posibilidad de que las bibliotecas no cumplan completamente con nuestros requerimientos por lo que puede ser necesario realizar alguna modificación, lo cual también resulta una tarea sencilla pues la mayoría de las bibliotecas son de “código libre”. C1 C2 C3 Color Negro Café Naranja Rojo Verde Gris Morado Azul Amarillo

Función Común (GND) Común (GND) Columna 1 (C1) Columna 2 (C2) Columna 3 (C3) Fila 1 (F1) Fila 2 (F2) Fila 3 (F3) Fila 4 (F4)

F1 F2

F3 F4

Figura 5.1. Teclado de tipo matricial

Figura 5.2. Pantalla LCD de 16x2 (display)

Actividades previas a la práctica 1) El alumno realizará la lectura de la práctica. 2) Investigar lo que es el código ASCII e imprimir una tabla de este código. 3) Desarrolle un programa que permita que el microcontrolador funcione como una “agenda electrónica”. Dentro del código del microcontrolador deberán incluirse el nombre y teléfono de cada uno de los miembros del equipo, un familiar de cada uno, un número de emergencia

Práctica 5

23

Facultad de Estudios Superiores Cuautitlán

UNAM

como bomberos, policía u otro, el número de una pizzería y el de un médico; cada uno de estos nombres y números deberán estar asociados a una tecla que, al ser presionada, mostrará la información en el display. Además, en el momento del encendido o al presionar la tecla * deberá mostrarse un mensaje de bienvenida y al presionar la tecla # deberá borrarse por completo la pantalla, mostrar una serie de guiones en la línea superior del display y mostrar la leyenda “En espera…” en la segunda línea del display. 4) El diagrama de flujo que muestra cómo debe desarrollarse el programa se muestra en la figura 5.3. 5) Al desarrollar el algoritmo del programa, todo se reduce a lo siguiente: a. Incluir en las directivas de preprocesado las bibliotecas de control INICIO del teclado y del display. b. Mostrar el mensaje de bienvenida. c. Crear un ciclo continuo que va a Declarar Directivas contener la agenda. d. El programa debe de tener un segundo ciclo (anidado) que debe estar pendiente del momento en que Mostrar mensaje de se presione una tecla. bienvenida e. Si no se presionó nada, el programa debe regresar a la revisión del puerto del teclado. Leer el puerto del f. Al presionarse cualquier tecla el teclado programa debe identificar cuál fue, esto se puede lograr de diferentes maneras, por lo que no hay una NO Identificar si se solución única. g. Con la tecla identificada, mostrar la presionó alguna tecla información asociada en el display. SI h. Se repite todo el ciclo desde lo que se indica en el inciso d). Identificar la tecla 6) Compile el programa con MPLAB IDE, corrigiendo los posibles errores. 7) Realice la simulación del sistema de microcontrolador, guarde la simulación y entregue una copia de la misma. 8) El alumno deberá traer el circuito previamente armado.

presionada

Enviar la información al puerto del display

Figura 5.3. Diagrama de flujo del programa

NOTA: Para el correcto funcionamiento del sistema se requiere cumplir con una de las siguientes condiciones, que el driver de control para el teclado (kbd.c) haya sido modificado para trabajar un puerto distinto al que usa el display LCD o que se emplee el driver flex_lcd.c para controlar el display LDC y utilizando pines de puerto distintos al del teclado matricial.

Práctica 5

24

Facultad de Estudios Superiores Cuautitlán

UNAM

Equipo 1 PC con software instalado: • MPLAB IDE 1 Grabador universal o grabador de PICs 1 Fuente de voltaje de CD

Material 1 Microcontrolador PIC16F887

1 Display LCD 16x2 1 Teclado matricial 4x3 1 Potenciómetro de 2 kΩ

5 Resistencias de 10 kΩ, ½ watt 1 Push button Tableta de Conexiones (Protoboard) Alambres y cables para conexiones

Procedimiento experimental 1. Haciendo uso del proyecto creado anteriormente y siguiendo la lógica del algoritmo de las actividades previas, programe el microcontrolador. 2. Para el circuito mostrado en la figura 5.4, tenga cuidado de que las conexiones del display y del teclado correspondan con los pines de los puertos de entrada y salida elegidos en el programa.

2k

Figura 5.4. Diagrama esquemático del circuito de la agenda electrónica.

3. No olvide incluir el circuito de reset del microcontrolador como el empleado en las prácticas anteriores.

Práctica 5

25

Facultad de Estudios Superiores Cuautitlán

UNAM

4. Programe el microcontrolador y verifique que muestre la información contenida en la memoria de la “Agenda Electrónica”. Anote sus observaciones. 5. Incluya algunas fotografías donde se observe el funcionamiento del circuito. 6. Aplique una señal de reset y compruebe que el circuito continúe funcionando de manera correcta.

Cuestionario. 1) ¿Qué diferencia existe entre un display de 14 pines con respecto al de 16 pines? 2) Investigue en manuales y hojas técnicas al menos dos tipos de memorias que podrían ser adicionadas al sistema de modo que se pueda ampliar la capacidad de almacenamiento de datos en la agenda. Indique las principales características de cada una. 3) Investigue si existen otros dispositivos de interfaz que puedan conectarse directamente a alguno de los puertos de un microcontrolador e indique cuáles son las bibliotecas en lenguaje C, sí existen, que los controlan. 4) ¿Cómo se pueden crear caracteres personalizados para el display utilizado en la práctica?

Conclusiones Elabore un resumen que muestre las conclusiones a las que haya llegado después de realizar todas las actividades de esta práctica.

Bibliografía Elabore una lista de las referencias bibliográficas consultadas.

Práctica 5

26

Facultad de Estudios Superiores Cuautitlán

UNAM

Laboratorio de Microcontroladores Práctica 6 Temporizadores y contadores

Tema 6.3. Elaboración de proyectos.

Objetivos Al término de esta práctica el alumno podrá:

➢ Crear rutinas de retardo a partir de programación en C para microcontroladores. ➢ Utilizar uno de los módulos de temporización en modo de contador para identificar eventos que se produzcan de forma externa al microcontrolador.

Introducción Los temporizadores son módulos periféricos que se encuentran dentro de los microcontroladores, tienen la función de crear retardos de tiempo en base a registros que se incrementan de acuerdo a un oscilador interno asociado a ellos. Típicamente, existen temporizadores de 8 y 16 bits y varía el número de módulos con cada modelo de microcontrolador. Al tratarse de registros que se van incrementando en cada evento del oscilador, es decir, con cada pulso de reloj, solo pueden ser programados con valores de tiempo discretos de dicho oscilador, por lo que el microcontrolador cuenta con otro dispositivo auxiliar llamado prescaler, el cual actúa como un divisor de frecuencia para poder reducir la velocidad de cada evento. Hay que recordar que, como el registro del temporizador cambia su valor en cada nuevo evento, estos temporizadores son de tipo ascendente. Hay otras consideraciones que deben de tenerse en cuenta al programar el módulo del temporizador, por ejemplo, el valor que puede tomar el prescaler, que se puede consultar de tablas incluidas en las hojas técnicas del microcontrolador, la frecuencia del reloj con la que opera el µc, la fuente del reloj y el lenguaje de programación en que se realiza el código. Es necesario realizar estas consideraciones para poder obtener un resultado apropiado. Otra forma de lograr retardos de tiempo es mediante software, usando la programación en lenguaje C. Existen directivas de pre-procesado que, al ser incluidas dentro del código de programación, permiten crear estos retardos simplemente especificando la frecuencia del oscilador del microcontrolador y usando instrucciones específicas de retardo dentro del código. Hay que tener en cuenta que, al ser de alto nivel el lenguaje C, no conocemos la forma exacta en la que genera estos retardos, pues varía con cada compilador.

Práctica 6

27

Facultad de Estudios Superiores Cuautitlán

UNAM

Existe una función adicional asociada a algunos temporizadores que permite usar señales externas como la fuente de reloj del temporizador. Cuando se utiliza esta opción, se dice que el temporizador funciona en modo de contador. Con cada evento externo, el valor del registro del temporizador se incrementará en uno. Normalmente se destina para este modo de funcionamiento los temporizadores de 16 bits.

Actividades previas a la práctica 1) El alumno realizará la lectura de la práctica. 2) Defina los términos: periodo, frecuencia, señal de reloj digital, flanco de subida, flanco de bajada, tiempo de respuesta en circuitos digitales, niveles de voltaje TTL y efecto de rebote. 3) Para el correcto armado del circuito es importante la orientación de los elementos optoelectrónicos, investigue en las hojas técnicas los valores del ángulo de dispersión y la longitud de onda del led IR de la práctica. Incluya las gráficas de distribución espectral. 4) Desarrolle un programa que permita que el microcontrolador funcione como una “fuente de reloj digital”. El circuito debe contar con una entrada de selección que permita cambiar entre una señal de salida con una frecuencia de 15.25 kHz y una con frecuencia de 24.34 kHz 5) El algoritmo debe seguir la siguiente lógica: • Configurar el pin de entrada del puerto PX.Z • Configurar el pin de salida del puerto PX.Y • Crear un ciclo que haga una revisión del estado del pin de entrada PX.Z • En caso de que PX.Z esté en un nivel alto, configurar los tiempos que permanecerá en alto y en bajo el pin PX.Y para una frecuencia de 25 kHz. • En caso de que PX.Z esté en un nivel bajo, configurar los tiempos que permanecerá en alto y en bajo el pin PX.Y para una frecuencia de 10 kHz. 6) Realice el diagrama de flujo que indique cómo se va a desarrollar el programa. 7) Compile el programa con MPLAB IDE, corrigiendo los posibles errores. 8) Escriba un programa que, usando el temporizador de 16 bits, realice el conteo de una serie de eventos externos al microcontrolador y muestre el valor del conteo en un display por cada evento en una línea y en la otra línea un conteo por cada grupo de 8 eventos. 9) El algoritmo debe tener la siguiente lógica: • Incluir en las directivas de pre-procesado la biblioteca de control del display • Configurar el pin de entrada del puerto PX.Y • Configurar el puerto de salida Z • Mostrar los mensajes del valor de ambos conteos en las líneas del display • Crear un ciclo que haga una revisión del estado del pin de entrada PX.Y • En caso de se presente un flanco de subida en el pin PX.Y, el conteo deberá incrementarse en 1 y actualizarse en la primera línea del display y cada 8 eventos se deberá actualizar el valor de la segunda línea de conteo

Práctica 6

28

Facultad de Estudios Superiores Cuautitlán

UNAM

10) Realice el diagrama de flujo que indica cómo se va a desarrollar el programa. 11) Compile el programa con MPLAB IDE, corrigiendo los posibles errores. 12) Realice la simulación del sistema de microcontrolador para ambos programas, guarde las simulaciones y entregue una copia impresa de las mismas. 13) El alumno deberá traer los circuitos de la práctica previamente armados. NOTA: Dentro de la simulación, el diodo IR y el fototransistor se puede sustituir por el elemento llamado "optocoupler" y un interruptor para aparentar la obstrucción del rayo de luz infrarroja, como se muestra en la figura 6.1.

Figura 6.1. Optoacoplador para simulación.

Equipo 1 PC con software instalado: • MPLAB IDE 1 Grabador universal o grabador de PICs 1 Fuente de voltaje de CD 1 Osciloscopio

Material 1 Microcontrolador PIC 16F887

1 Display LCD 16x2 1 Potenciómetro de 2 kΩ

3 Resistencias de 10 kΩ, ½ watt 1 Resistencias de 0.33 kΩ, ½ watt 1 Diodo emisor de luz infrarroja, led IR333C. 1 Fototransistor infrarrojo, PT331C 1 Inversor Schimth Trigger, 74LS14 1 Push button Tableta de Conexiones (Protoboard) Alambres y cables para conexiones

Práctica 6

29

Facultad de Estudios Superiores Cuautitlán

UNAM

Procedimiento experimental 1. Haciendo uso del primer programa de las actividades previas y siguiendo la lógica de su algoritmo programe el microcontrolador. 2. Con ayuda del osciloscopio, en acoplo de CD, verifique que el circuito de la figura 6.2 genere de manera correcta las señales de reloj de salida. 3. Incluya una imagen donde se observe el funcionamiento del circuito, acotando cuidadosamente las características de la señal de reloj como son frecuencia, periodo, tiempo en alto y tiempo en bajo.

Figura 6.2. Circuito de reloj digital.

4. Cambien la posición del interruptor de selección y observe en el osciloscopio el cambio de frecuencia en la señal de salida. 5. Incluya una imagen donde se observe el cambio en la frecuencia de salida y acótela por completo como en se realizó con la señal anterior. 6. La figura 6.3 muestra las señales de control de baja frecuencia que requiere un servomotor para funcionar, realice un programa que permita generar dichas señales con las características indicadas en la figura 6.3. 7. El programa debe tener un interruptor para elegir el ancho de la señal, lo que corresponde a la posición angular del servomotor.

Figura 6.3. Señales de control de un servomotor

Práctica 6

30

Facultad de Estudios Superiores Cuautitlán

UNAM

8. Con ayuda del osciloscopio compruebe el correcto funcionamiento del nuevo programa e incluya una imagen de ambos casos donde están indicadas todas las acotaciones necesarias. 9. A continuación, para el circuito de la figura 6.4, programe el microcontrolador usando el segundo programa de las actividades previas. 10. Pruebe que, al interrumpir el haz de luz infrarroja, se incremente el valor del conteo mostrado en la pantalla del display. 11. Aplique una señal de reset y observe el comportamiento del circuito. 12. Incluya fotografías del funcionamiento del circuito de conteo. 13. Coloque uno de los canales del osciloscopio a la salida del fototransistor y el otro a la salida del circuito Schimth Trigger. Interrumpa el haz infrarrojo y observe ambas señales. Anote sus observaciones e incluya una imagen.

Figura 6.4. Circuito de conteo con sensor infrarrojo.

Cuestionario. 1) ¿Cuál es el valor máximo que permite un retardo utilizando las instrucciones delay_ms y delay_us? 2) Escriba un programa en lenguaje C que, utilizando específicamente el módulo del Timer0, realice el mismo funcionamiento que el primer programa realizado en esta práctica. 3) Si el límite del conteo de un sistema es mayor al que se puede alcanzar con el módulo del Timer1 de la práctica, ¿cómo solucionaría dicha dificultad sin cambiar por otro circuito?

Práctica 6

31

Facultad de Estudios Superiores Cuautitlán

UNAM

Conclusiones Elabore un resumen que muestre las conclusiones a las que haya llegado después de realizar todas las actividades de esta práctica.

Bibliografía Elabore una lista de las referencias bibliográficas consultadas.

Práctica 6

32

Facultad de Estudios Superiores Cuautitlán

UNAM

Laboratorio de Microcontroladores Práctica 7 Control de motores a pasos

Tema 7.2. Diseño de interfaces de control de potencia eléctrica.

Objetivos Al término de esta práctica el alumno podrá: ➢ Controlar el sentido de giro y posición angular de un motor de pasos utilizando los modos de operación a paso completo y medio paso. ➢ Implementar un sistema con un motor a pasos de tipo bipolar empleando un sistema de control basado en un microcontrolador.

Introducción Los motores a pasos son dispositivos electromecánicos que convierten una serie de impulsos eléctricos en desplazamientos angulares discretos. Un ejemplo de estos motores se puede observar en la figura 7.1. Estos motores presentan la ventaja de tener alta precisión y repetitividad en cuanto al posicionamiento por lo que son ideales para la construcción de mecanismos en donde se requieren movimientos muy precisos.

Figura 7.1. Motor a pasos

La característica principal de estos motores es el hecho de poder moverlos un paso a la vez por cada pulso que se le aplique. Este paso puede variar desde 90° hasta pequeños movimientos de tan solo 1.8°, es decir, que se necesitarán 4 pasos en el primer caso (90°) y 200 para el segundo caso (1.8°), para completar un giro completo de 360°. Para mantener la marcha del motor es necesario cambiar periódicamente la combinación de voltajes en sus terminales, como se ilustra en la figura 7.2.

Práctica 7

33

Facultad de Estudios Superiores Cuautitlán

UNAM

Figura 7.2. Ejemplo de secuencia de activación de un motor a pasos (Full Step).

El ángulo de rotación del eje, es directamente proporcional a la secuencia de pulsos insertados a las bobinas y la velocidad de rotación es dependiente de la frecuencia de dichos pulsos. Los motores a pasos son simples de operar en una configuración de lazo abierto y debido a su tamaño proporcionan un excelente torque a baja velocidad. En combinación con circuitos de control, además del movimiento ilustrado en la figura 7.2, conocido como paso completo (full step), es posible lograr movimientos aún más precisos. Este otro modo de operación se conoce como movimiento de medio paso (half step). Para lograrlo, se polarizan las bobinas de a una y de a dos intercaladamente, como se muestra en la figura 7.3. Se observa que también incluye los 4 pasos del modo full step. Obviamente esos son los momentos en que hay dos bobinas polarizadas, en los otros 4 pasos, solo se polariza una bobina. La ventaja de este mecanismo respecto del modo Full step es que se pueden realizar movimientos de giro más finos.

Figura 7.3. Ejemplo de secuencia de activación a medio paso (Half Step)

En los sistemas de control moderno se presentan a menudo movimientos de tipo incremental, por esto los motores de pasos se han convertido en elementos de acción importantes y en la actualidad podemos encontrar estos motores en unidades de discos ópticos, unidades de disco duro, impresoras, en gran variedad de máquinas herramientas y son dispositivos fundamentales para proporcionar movimiento a los robots.

Práctica 7

34

Facultad de Estudios Superiores Cuautitlán

UNAM

Actividades previas a la práctica 1. El alumno realizará la lectura de la práctica. 2. Investigar la forma en que se pueden identificar las terminales de un motor a pasos y la clasificación a la que pertenece. 3. Desarrolle un programa para que el microcontrolador realice el control del sistema de motor a pasos de la figura 7.4 con las siguientes funciones: • A través de una señal de control, se selecciona el modo de funcionamiento entre paso completo y medio paso. • Por medio de interruptores de selección, el motor debe girar de manera continua hacia la derecha o izquierda, con una frecuencia en todas las señales de salida de 40 Hz. • De acuerdo al botón que se presione, el motor debe girar hacia la derecha o izquierda exactamente 315° (7/8 de vuelta), con una frecuencia en las señales de control de 40 Hz. • Siempre que el motor esté activo, en el display deberá mostrase un mensaje que indique el modo de funcionamiento, el sentido de giro y el tipo de paso. 4. Realizar la simulación de todos los puntos del desarrollo experimental usando el archivo con extensión hex que obtuvo al compilar el código, guarde la simulación y entregue una copia impresa de la misma. 5. El alumno deberá traer el circuito de la práctica previamente armado.

Equipo 1 PC con software instalado: • MPLAB IDE 1 Grabador universal o grabador de PICs 1 Fuente de voltaje de CD 1 Osciloscopio 1 Multímetro

Material 1 Microcontrolador PIC16F887 1 Controlador dual de puente completo L298N 1 Pantalla LCD de 16x2 1 Resistencia de 10 K a ½ W 5 Resistencias de 1 K a ½ W 1 Potenciómetro de 2 K 2 Capacitores de 0.1 F 3 Push Button normalmente abiertos 8 Diodos 1N4004 1 Motor bipolar de 200 pasos Tableta de Conexiones (Protoboard) Alambres y cables para conexiones Práctica 7

35

Facultad de Estudios Superiores Cuautitlán

UNAM

Procedimiento experimental 1. De acuerdo a lo investigado en las actividades previas, determine la secuencia de las fases del motor a pasos de la práctica. 2. Haciendo uso del programa desarrollado en las actividades previas, y siguiendo la lógica de su algoritmo, programe el microcontrolador. 3. Compruebe que para el circuito mostrado en la figura 7.4, las conexiones correspondan con las terminales de los puertos elegidos al realizar el programa, como entrada (Puerto X), salida (Puerto Y) y para el display (Puerto Z). 4. Conecte las salidas de las fases del circuito L298 a las conexiones del motor de pasos, figura 7.5, siguiendo la secuencia determinada en el punto 1 del procedimiento. LCD1

D0 D1 D2 D3 D4 D5 D6 D7

RS RW E

VSS VDD VEE

+5

LM016L

R5

R4

1k

1k

7 8 9 10 11 12 13 14

P1

Vuelta Der. 50%

+5

4 5 6

1 2 3

+5

R3

1k

1k

Vuelta Izq.

MCLR

Puerto Y

Cont. Der.

PIC16F887

+5

+5

5 7 10 12 6 11 1 15

Puerto Z

R2

1k

Puerto X

R1

Cont. Izq.

Full - 1 / Half - 0

2k

+7

C1

C2

0.1uF

0.1uF 9

4

VCC

VS

+7

R6

D1 IN1 IN2 IN3 IN4 ENA ENB

SENSA SENSB L298

OUT1 OUT2 OUT3 OUT4

+5

10k

2

1N4004

D3 1N4004

D5 1N4004

D7 1N4004

Fase 1

Fase 2

Fase 3

3 13

Fase 4 +88.8

14

GND 8

U2

D2 1N4004

D4 1N4004

D6 1N4004

D8 1N4004

Figura 7.4. Circuito de control de motor a pasos.

Práctica 7

36

Facultad de Estudios Superiores Cuautitlán

UNAM

5. Pruebe el correcto funcionamiento del circuito, comenzando por las funciones de giro continuo, tanto para paso completo como medio paso.

Figura 7.5. Fases del motor bipolar a pasos.

6. La tabla 7.1 presenta el funcionamiento que debe de tener el motor de acuerdo al circuito de control que contiene el programa realizado. Tabla 7.1. Lógica de funcionamiento del programa. Full/Half Izquierda Derecha Función 1 0 1 Giro a la izquierda paso completo 1 1 0 Giro a la derecha paso completo X 1 1 Motor detenido 0 0 1 Giro a la izquierda medio paso 0 1 0 Giro a la derecha medio paso 7. Con ayuda del osciloscopio, en acoplo de CD, verifique que el circuito genere de manera correcta las señales de salida que van hacia el circuito L298 y mida su frecuencia. 8. A continuación, compruebe que el motor complete una vuelta exacta y se detenga al presionar unos de los botones de giro a la derecha o izquierda. Esto debe comprobarse para ambos modos, paso completo y medio paso.

Cuestionario. 1) ¿Cuáles son las ventajas y desventajas de la operación FULL step con respecto al modo HALF step? 2) Escriba en lenguaje C una subrutina para controlar el movimiento del motor de modo que, cada que reciba un pulso de un nuevo botón, la posición se incremente en un solo paso (esto se conoce como Jogging). 3) ¿Qué es la sincronía en motores a pasos y por qué es importante mantenerla?

Práctica 7

37

Facultad de Estudios Superiores Cuautitlán

UNAM

Conclusiones Elabore un resumen que muestre las conclusiones a las que haya llegado después de realizar todas las actividades de esta práctica.

Bibliografía Elabore una lista de las referencias bibliográficas consultadas.

Práctica 7

38

Facultad de Estudios Superiores Cuautitlán

UNAM

Laboratorio de Microcontroladores Práctica 8 Comparadores de voltaje

Tema 7.5. Control con optoacopladores.

Objetivos Al término de esta práctica el alumno podrá: ➢ Implementar un control de iluminación empleando elementos LDR y el módulo del comparador de voltaje del PIC16F887 usando lenguaje C. ➢ Construir y calibrar un controlador con punto de ajuste independiente.

Introducción En la naturaleza, todos los fenómenos que se producen se presentan de manera analógica, es decir, son procesos continuos que van cambiando con el tiempo, por ejemplo, los cambios de temperatura, las ondas de sonido, con su amplitud y frecuencia variables, el flujo del agua, etc. Los comparadores de voltaje son usados como interfaz entre circuitos analógicos y circuitos digitales, comparan la magnitud de dos voltajes analógicos proveyendo una indicación de tipo digital o binaria en su salida, como se observa en la figura 8.1. La salida de voltaje se modifica dentro de los límites fijados por los voltajes de saturación del amplificador, +𝑉𝑠𝑎𝑡 y −𝑉𝑠𝑎𝑡 . Aunque se debe de tener en cuenta que la limitante de estos circuitos es que la rapidez de respuesta a su salida es relativamente lenta comparada con otros circuitos.

Figura 8.1 Ejemplo de un comparador de voltaje

Práctica 8

Figura 8.2. Ejemplo de una fotorresistencia LDR.

39

Facultad de Estudios Superiores Cuautitlán

UNAM

Por otro lado, los amplificadores operacionales han evolucionado en su diseño para funcionar perfectamente aún con la presencia de ruido en sus entradas. En el caso de los microcontroladores, los comparadores son muy útiles pues permiten obtener una funcionalidad analógica independientemente de la ejecución del programa. Los LDR (Light Dependent Resistors), o fotorresistencias, son ampliamente empleados en circuitos de detección de luz/oscuridad. Normalmente la resistencia de un LDR es muy alta, llegando a mega Ohms, pero cuando reciben luz de alguna fuente luminosa, la resistencia cae dramáticamente, ver figura 5.3. Los LDR están fabricados con un material semiconductor de alta resistencia que al recibir suficiente luz, los fotones son absorbidos por el semiconductor permitiendo que los electrones salten a la banda de conducción del material y creando un efecto de disminución de la resistencia.

Actividades previas a la práctica 1) El alumno realizará la lectura de la práctica. 2) Desarrolle un programa que permita que el microcontrolador funcione como un “sistema de control de iluminación”. El programa debe hacer uso de los módulos de comparación de voltaje integrados en el microcontrolador, además, circuito debe contar con entradas de calibración para los voltajes de referencia como se muestra en la figura 8.3. 3) El algoritmo debe seguir las siguientes especificaciones: • El comparador C1 deberá tener su entrada de voltaje a través del canal 1 (terminal C12IN1-) y su referencia deberá estar ligada al exterior (terminal C1IN+) con un voltaje de 2V. La salida deberá conectarse por programación al pin de puerto correspondiente (terminal C1OUT) donde deberá estar conectado uno de los LED’s. La polaridad seleccionada no debe ser negativa. • El comparador C2 deberá tener su entrada de voltaje a través del canal 1 (terminal C12IN2-) y su referencia deberá estar ligada al exterior (terminal C2IN+) con un voltaje de 4.1V. La salida deberá conectarse por programación al pin de puerto correspondiente (terminal C2OUT) donde deberá estar conectado a otro LED. La polaridad seleccionada no debe ser negativa. 4) Realice el diagrama de flujo que indica cómo se va a desarrollar el programa. 5) Compile el programa con MPLAB IDE, corrigiendo los posibles errores. 6) Realice la simulación del sistema de microprocesador, guarde la simulación y entregue una copia impresa de la misma. 7) Imprima el diagrama de terminales del Led RGB y entréguelo junto con las otras actividades previas. 8) El alumno deberá traer los circuitos de la práctica previamente armados.

Práctica 8

40

Facultad de Estudios Superiores Cuautitlán

UNAM

Equipo 1 PC con software instalado: • MPLAB IDE 1 Grabador universal o grabador de PICs 1 Fuente de voltaje de CD 1 Multímetro

Material 1 Microcontrolador PIC 16F887 1 Amplificador operacional LM339 2 Fotorresistencias LDR de 2 MΩ (también llamada fotoceldas) 3 Potenciómetros de 10 kΩ 1 Resistencia de 1 kΩ a ½ watt 1 Resistencia de 10 kΩ a ½ watt 2 Resistencia de 100 kΩ a ½ watt 2 Resistencias de 330 Ω a ½ watt 2 Led (de preferencia ultra brillantes) 1 Led RGB 1 Push button Tableta de Conexiones (Protoboard) Alambres y cables para conexiones

Procedimiento experimental 1. Haciendo uso del programa de las actividades previas y siguiendo la lógica de su algoritmo programe el microcontrolador. 2. Para el circuito mostrado en la figura 8.3, compruebe que las conexiones correspondan con las terminales de las entradas y salidas de los comparadores de voltaje indicadas en las actividades previas. 3. Ajuste los potenciómetros RV1 y RV2 para igualar los voltajes de referencia Ref1 y Ref2 a los indicados en las actividades previas. 4. Acerque una fuente luminosa poco a poco a los sensores de luz y, con ayuda del multímetro, mida el voltaje en el que se produzca un cambio en cada uno de los led’s. 5. Repita el punto 4 del desarrollo con la diferencia de que ahora debe comenzar con la fuente de luz sobre los sensores y después alejarla poco a poco. 6. Incluya fotografías del funcionamiento del circuito.

Práctica 8

41

Facultad de Estudios Superiores Cuautitlán

UNAM

Figura 8.3. Circuito de control de iluminación.

7. Desconecte las señales de entrada Vin1 y Vin2 y en su lugar conecte en ambas terminales el generador de funciones con una señal triangular de 5Vpp y un offset de 2.5VCD, de modo que no tenga parte negativa, y una frecuencia de 100Hz. 8. Arme el circuito comparador discreto de la figura 8.4, utilizando la misma señal triangular usada en el punto anterior y conecte las salidas C1OUT, C2OUT del microcontrolador y C3OUT del comparador discreto a las tres terminales de alimentación del led RGB. 9. Varíe los voltajes de referencia por medio de los tres potenciómetros para obtener al menos 5 colores diferentes en el led RGB y con ayuda del osciloscopio observe y grafique las señales presentes en las terminales de C1OUT, C2OUT y C3OUT que corresponden a cada pin del led. 10. Anote sus observaciones acerca del comportamiento del led RGB agregando fotografías y explique a que se debe.

Figura 8.4. Circuito comparador discreto.

Práctica 8

42

Facultad de Estudios Superiores Cuautitlán

UNAM

Cuestionario. 1) Defina el concepto de histéresis en comparadores de voltaje. 2) De acuerdo con las cuatro mediciones realizadas en los puntos 4 y 5 de la práctica, determine el valor de resistencia de los LDR en el momento de los cambios en los Led’s e incluya los cálculos realizados. 3) Investigue dos modelos de sensores de luz comerciales e incluya sus principales características como son voltaje y corriente de operación, sensibilidad, etc. 4) Revise los módulos periféricos que contiene el PIC16F887 y explique cuál sería capaz de reproducir las señales observadas en el punto 9 del procedimiento.

Conclusiones Elabore un resumen que muestre las conclusiones a las que haya llegado después de realizar todas las actividades de esta práctica.

Bibliografía Elabore una lista de las referencias bibliográficas consultadas.

Práctica 8

43

Facultad de Estudios Superiores Cuautitlán

UNAM

Laboratorio de Microcontroladores Práctica 9 Convertidor Analógico – Digital

Tema 8.1. Conversión Analógico Digital con microcontroladores.

Objetivos Al término de esta práctica el alumno podrá: ➢ Configurar el módulo de conversión analógica – digital con que cuentan los microcontroladores PIC de gama media. ➢ Implementar un termómetro digital empleando un sensor de temperatura, una pantalla LCD y el módulo del ADC del PIC16F887 usando lenguaje C.

Introducción En los sistemas digitales, que trabajan únicamente con señales de 1’s y 0’s, cierto y falso, 0V y 5V, no es posible manejar magnitudes continuas. Para integrar ambos mundos existen dispositivos conocidos convertidores analógicos – digitales con la capacidad de interpretar señales continuas y traducirlas en valores numéricos binarios que pueden ser comprendidos por los sistemas digitales. El proceso de conversión de una señal se realiza en varias etapas, como se muestra en la figura 9.1. A partir del sistema físico se obtiene una señal con magnitud continua, por ejemplo, la temperatura. Esta magnitud puede ser de naturaleza variada por lo que, para ser compatible con un sistema electrónico, es necesario transformarla a una magnitud eléctrica como son el voltaje o la corriente. Para realizar esta transformación se utiliza un elemento llamado transductor. Un transductor convierte la señal del sensor en una señal de voltaje, que también es analógica. El siguiente paso es acondicionar la señal, esto normalmente implica etapas de amplificación y filtrado de la señal. Por último, la señal acondicionada entra al convertidor A/D de donde se obtiene una señal digital en formato binario.

Figura 9.1. Diagrama de bloques del proceso de conversión A/D.

Práctica 9

44

Facultad de Estudios Superiores Cuautitlán

UNAM

La selección del tipo de convertidor A/D depende de muchos factores que se determinan a través de la naturaleza del sistema físico. Además, se deben tener en cuenta factores como la exactitud, la resolución deseada (el número de bits), el error de cuantización máximo, el tiempo de conversión y la linealidad, que representa la desviación de los códigos de salida respecto al trazo de una línea recta desde cero hasta el valor a plena escala.

Actividades previas a la práctica 1) El alumno realizará la lectura de la práctica. 2) Desarrolle un programa que, utilizando lenguaje C, permita interpretar señales de voltaje analógico por medio del módulo del convertidor A/D del microcontrolador y mostrar los datos resultantes de la conversión en un display LCD. 3) Dibuje el diagrama de flujo que muestre el desarrollo del programa de conversión

analógica – digital. 4) Al desarrollar el algoritmo del programa, todo se reduce a lo siguiente: • Declarar las variables que sean necesarias para el desarrollo del programa teniendo cuidado en el tipo de dato que va a asignarse a cada una. • Configurar el convertidor A/D del microcontrolador especificando la resolución del convertidor, el canal analógico que se va a utilizar y la fuente de reloj del convertidor. • Habilitar el display LCD para comenzar el envío de datos. • Crear un ciclo continuo donde se realice el proceso de conversión, se muestre en el display el valor binario que resulta de la conversión, el valor del voltaje analógico de entrada y la temperatura equivalente a ese nivel de voltaje. La figura 9.2 muestra un ejemplo de la información que debe mostrar el display LCD. • El sensor empleado puede medir temperaturas de 0C a 100C, con un rango de voltaje en su salida de 0V a 1000mV. Debido a que el convertidor se empleará con un voltaje de referencia máximo de 5V entonces se requiere que la señal del sensor se amplifique 5 veces para obtener un rango de 0V a 5V. Los detalles correspondientes al sensor de la práctica se pueden ver en la figura 9.3. • No olvide dar un retardo de tiempo entre cada medición para permitirle al usuario leer la información mostrada en el display. • Por último, el circuito debe contar con una señal de selección para elegir si la temperatura se muestra en °C o en °K.

Figura 9.2. Información desplegada en el display LCD después de la conversión A-D.

Práctica 9

45

Facultad de Estudios Superiores Cuautitlán

UNAM

5) Compile el programa con MPLAB IDE, corrigiendo los posibles errores. 6) Realice la simulación del sistema de microprocesador, guarde la simulación y entregue una copia impresa de la misma. 7) Investigue las equivalencias entre las escalas Celsius, Farenheit, Kelvin y Reaumur.

𝐺𝑎𝑛𝑎𝑛𝑐𝑖𝑎[𝐺𝑟𝑎𝑑𝑜𝑠℃(𝐹𝑎𝑐𝑡𝑜𝑟 𝑑𝑒 𝐸𝑠𝑐𝑎𝑙𝑎)] = 𝑉𝑜𝑙𝑡𝑎𝑗𝑒 𝑑𝑒𝑙 𝐶𝑜𝑛𝑣𝑒𝑟𝑡𝑖𝑑𝑜𝑟 5 [100℃ (10

𝑚𝑉 )] = 5𝑉 ℃

Figura 9.3. Características del sensor de temperatura LM35D.

8) El alumno deberá traer el circuito de la práctica previamente armado.

Equipo 1 PC con software instalado: • MPLAB IDE 1 Grabador universal o grabador de PICs 1 Fuente de voltaje de CD 1 Multímetro

Material 1 Microcontrolador PIC 16F887 1 Sensor de temperatura LM35D 1 Display LCD 16x2 1 Amplificador operacional LM358 3 Resistencias de 10 kΩ a ½ watt 1 Resistencia de 1 kΩ a ½ watt 1 Resistencia de 39 kΩ a ½ watt 1 Resistencia de 82 Ω a ½ watt 1 Potenciómetro de 2 kΩ 1 Capacitor de 1µF a 25V 2 Push button Tableta de Conexiones (Protoboard) Alambres y cables para conexiones

Práctica 9

46

Facultad de Estudios Superiores Cuautitlán

UNAM

Procedimiento experimental 1. Haciendo uso del primer programa de las actividades previas y siguiendo la lógica de su algoritmo programe el microcontrolador. 2. Compruebe que en el circuito de la figura 8.3 la conexión de entrada al microcontrolador que viene desde el sensor sea un pin de puerto con función de entrada analógica y que no interfiera con las terminales que emplea el display, esto para prevenir daños al microcontrolador.

Figura 9.4. Termómetro digital con microcontrolador.

3. Sin tocar el sensor del termómetro digital, anote los datos obtenidos para ambas escalas de temperatura, estos corresponden al valor de la temperatura ambiente. 4. Compruebe con ayuda del multímetro que el voltaje analógico mostrado en el display LCD sea correcto. 5. Modifique el programa para que, empleando el mismo selector, muestre las lecturas de temperatura en grados Farenheit y Reaumur además de los Celsius y Kelvin. 6. Utilizando el termómetro digital con el cambio de programación, registre la temperatura de cuatro objetos diferentes, empleando todas las escalas en cada para cada una, y anótelas en una tabla donde se muestren todos los datos obtenidos. 7. Incluya fotografías del funcionamiento del termómetro digital para las diversas escalas de temperatura.

Práctica 9

47

Facultad de Estudios Superiores Cuautitlán

UNAM

Cuestionario. 1) Calcule la ganancia de voltaje del circuito amplificador de la práctica y la resolución del convertidor A/D empleado. 2) De acuerdo a los resultados de las preguntas anteriores, ¿cuál sería el valor de temperatura si a la salida del sensor hay 0.47mV? 3) Explique el funcionamiento de un convertidor A/D de aproximaciones sucesivas. 4) ¿Qué se tiene que modificar en el programa si se desea usar más de una entrada analógica?

Conclusiones Redacte las conclusiones a las que haya llegado después de realizar todas las actividades de esta práctica.

Bibliografía Elabore una lista de las referencias bibliográficas consultadas.

Práctica 9

48

Facultad de Estudios Superiores Cuautitlán

UNAM

Laboratorio de Microcontroladores Práctica 10 Modulación por ancho de pulso

Tema 9.1. Modulación por ancho de pulso (PWM) empleando microcontroladores.

Objetivos Al término de esta práctica el alumno podrá: ➢ Configurar el módulo de Captura, Comparación y PWM (módulo CCP) en modo de generador de señales PWM. ➢ Implementar un control de velocidad para motores de CD empleando modulación por ancho de pulsos empleando el módulo CCP del PIC16F887 usando lenguaje C.

Introducción Por lo general, todo sistema que procesa información binaria para controlar un proceso analógico requiere una etapa de entrada analógica – digital y una etapa de salida digital – analógica (convertidores ADC y DAC). Para reducir costos en los diseños que no requieren alta resolución en la etapa de salida, es posible sustituir el DAC por un algoritmo de Modulación por Ancho de Pulsos (PWM – Pulse Width Modulation). Una unidad PWM permite asignar cierta duración de tiempo en alto o en bajo a un dato digital de n bits que se considera salida de la etapa de control. La modulación por ancho de pulsos permite generar señales de frecuencia y ciclo de trabajo variados. Las principales características de una señal de tipo PWM son su periodo y el ciclo de trabajo, como se observa en la figura 10.1.

Figura 10.1. Periodo y ciclo de trabajo de la modulación por ancho de pulso (PWM).

El periodo se relaciona con la frecuencia de la señal, lo que indica el número de pulsos generado por unidad de tiempo, mientras que el ciclo de trabajo, también conocido en inglés como duty cycle, Práctica 10

49

Facultad de Estudios Superiores Cuautitlán

UNAM

determina la anchura de cada pulso. Hay que remarcar que el ancho del pulso es independiente de la frecuencia de la señal. El voltaje promedio suministrado por el generador PWM es proporcional a dicha señal, es decir, el voltaje es directamente proporcional ancho del pulso. Como resultado, también la potencia entregada es directamente proporcional, de modo que entre más ancho el pulso (mayor ciclo de trabajo), mayor será la potencia suministrada. Un ejemplo de lo anterior puede observarse en la figura 10.2. La modulación por ancho de pulso (PWM) es una técnica para controlar circuitos analógicos con una salida digital. Se utiliza en múltiples aplicaciones, algunas como controlar la intensidad de una luz y regular la velocidad de los motores de CD.

Figura 10.2. Relación Voltaje – Ancho de pulso de una señal PWM.

Actividades previas a la práctica 1) El alumno realizará la lectura de la práctica. 2) Realice los cálculos necesarios y escriba un programa para generar una señal PWM mediante el módulo CCP1 del PIC16F887 con las siguientes características: Frecuencia de 18 kHz y ciclo de trabajo del 55%. 3) Al desarrollar el algoritmo del programa, todo se reduce a lo siguiente: • Configurar el puerto C como salida. • Configurar el valor del ciclo de trabajo. • Configurar el Timer2 para el ciclo de trabajo. • Habilitar el módulo CCP1 para que trabaje como PWM.

Práctica 10

50

Facultad de Estudios Superiores Cuautitlán

UNAM

4) Para configurar el periodo de trabajo se utiliza la instrucción: setup_timer_2(T2_DIV_BY_x,PR2,TMR2) donde el valor de PR2 se tiene que calcular de acuerdo a la fórmula que se indica en las hojas de datos técnicos. 5) Para indicar el ciclo de trabajo se utiliza la instrucción: set_pwm1_duty(valor_ciclo) donde valor_ciclo se tiene que determinar mediante la fórmula de PWM duty cicle de la hoja de datos técnicos. 6) Dibuje el diagrama de flujo que indica cómo se va a desarrollar el programa. 7) Realice la simulación de todos los puntos del desarrollo experimental, guarde la simulación y entregue una copia impresa de la misma. 8) Desarrolle un algoritmo que proporcione, de manera automática, el perfil de velocidad mostrado en la figura 10.3 al presionar el botón de Inicio.

Figura 10.3. Perfil de velocidad controlado mediante PWM.

Se puede apreciar que, del estado de reposo, el motor debe aumentar su velocidad paulatinamente en dos fases hasta el punto deseado, mantener esa velocidad durante un periodo de tiempo y luego desacelerar hasta terminar en la posición de reposo. 9) El programa debe iniciar al presionar un botón de arranque y debe de permitir seleccionar el sentido de giro del motor por medio de un selector que controle las señales D1 y D2. 10) El alumno deberá traer el circuito de la práctica previamente armado.

Práctica 10

51

Facultad de Estudios Superiores Cuautitlán

UNAM

Equipo 1 PC con software instalado: • MPLAB IDE 1 Grabador universal o grabador de PICs 1 Fuente de voltaje de CD 1 Osciloscopio 1 Multímetro

Material 1 Microcontrolador PIC 16F887 2 Resistencia de 10 kΩ a ½ watt 4 Diodos 1N4004 1 Driver L298 1 Push button 1 Motor de CD (de 10V o 12V) Tableta de Conexiones (Protoboard) Alambres y cables para conexiones

Procedimiento experimental 1. Haciendo uso del primer programa de las actividades previas y siguiendo la lógica de su algoritmo programe el microcontrolador. 2. Proceda a armar el circuito en la protoboard, como el mostrado en la figura 10.4, tenga cuidado de que la salida corresponda con la terminal de salida del módulo CCP1. 3. Encienda el circuito y con ayuda del osciloscopio, mida la terminal de salida para comprobar que la señal tiene la frecuencia y el ciclo de trabajo indicados en las actividades previas y grafíquela.

Figura 10.4. Circuito generador de señales PWM.

4. Programe nuevamente el microcontrolador, ahora con el programa para producir el perfil de velocidades.

Práctica 10

52

Facultad de Estudios Superiores Cuautitlán

UNAM

5. Modifique el armado del circuito para tener el mostrado en la figura 10.5. 6. Encienda el sistema y observe si el comportamiento del motor corresponde con el esperado, anote sus observaciones. 7. Con ayuda de un multímetro mida la corriente y voltaje promedio suministrados al motor en cada fase del perfil de velocidades. Anote cada uno de los valores. 8. Incluya fotografías del funcionamiento del sistema de regulación de velocidad.

Figura 10.5. Circuito de control de velocidad para motor de CD.

Cuestionario. 1) Si se deseara cambiar la frecuencia de trabajo a 12KHz, con un ciclo del 45%, ¿qué valores se tendrían que poner el valor_ciclo y PR2? 2) Si se desea trabajar con CCP2 ¿Qué modificaciones se le tendrían que hacer al programa principal? 3) Si se deseara variar el ciclo de trabajo del módulo PWM de forma externa, ¿qué es lo que podría hacer para lograrlo? 4) Empleando los datos obtenidos en el punto 7 del desarrollo, calcule la potencia media suministrada al motor para cada ancho de pulso utilizado.

Conclusiones Elabore un resumen que muestre las conclusiones a las que haya llegado después de realizar todas las actividades de esta práctica.

Bibliografía Elabore una lista de las referencias bibliográficas consultadas.

Práctica 10

53

Facultad de Estudios Superiores Cuautitlán

UNAM

Laboratorio de Microcontroladores Práctica 1 Manejo de señales multiplexadas

Tema 4.1. Multiplexado de señales.

Objetivos Al término de esta práctica el alumno comprenderá:  El uso de circuitos multiplexores y de-multiplexores.  La multiplicidad de funciones con que cuenta cada una de las terminales de un microcontrolador y la importancia de su correcta configuración.

Introducción Cuando trabajamos con dispositivos microcontroladores, el número de entradas y salidas es un factor que limita nuestra capacidad para el diseño de un sistema tanto en hardware como software. Muchos dispositivos se diseñan para reducir el número de pines requeridos para interconectar módulos de entrada y salida. La manera de tener pocos pines en un dispositivo sin tener que sacrificar la variedad de funciones del microcontrolador, es asignar varias funciones a un mismo pin; lo cual se logra mediante el multiplexado de dichas funciones. En la figura 1.1 se puede apreciar este concepto.

Figura 1.1. Microcontrolador Atmega8 con terminales multiplexadas.

Práctica 1

54

Facultad de Estudios Superiores Cuautitlán

UNAM

Multiplexado es la combinación de dos o más canales de información en un solo medio de transmisión. En el caso de los microcontroladores, donde pueden configurarse las terminales para actuar como salidas o como entradas, también existe el proceso contrario, llamado de-multiplexado donde, usando un solo medio de transmisión, se separan varios canales de información. La figura 1.2 muestra un ejemplo de esto.

Figura 1.2. Terminal multiplexada de un microcontrolador Atmega8.

Actividades previas a la práctica 1) El alumno realizará la lectura de la práctica. 2) Investigue e imprima la hoja técnica del circuito CD4052 teniendo especial interés la tabla de funcionamiento del circuito y las terminales de alimentación. 3) Realice la simulación del circuito multiplexor/demultiplexor, siguiendo cada uno de los puntos del procedimiento experimental. Guarde la simulación y entregue una copia de la misma. 4) El alumno deberá traer el circuito de la práctica previamente armado.

Práctica 1

55

Facultad de Estudios Superiores Cuautitlán

UNAM

Equipo 1 Fuente de voltaje bipolar de CD 1 Generador de funciones 1 Osciloscopio

Material 1 Multiplexor/Demultiplexor CD4052 1 Temporizador LM/NE555 1 Diodo de alta velocidad 1N4148 2 Resistencias de 10 kΩ, ½ watt 2 Resistencias de 2.2 kΩ, ½ watt 2 Capacitores de 0.15 µF 1 Dip switch de 2 o más interruptores Tableta de Conexiones Alambres y cables para conexiones

Procedimiento experimental 1. Arme el circuito mostrado en la figura 1.3 alimentando el circuito multiplexor con 10VCD.

Figura 1.3. Circuito multiplexor/demultiplexor.

2. Calibre el generador de funciones para obtener a su salida una señal de 2.5 sin 6283.18 𝑡. 3. Conecte el generador de funciones como se indica en la figura 1.3 y adicione una fuente de 10VCD en la terminal X2. 4. Con ayuda del osciloscopio, observe y grafique la señal de salida Vs acotándola correctamente para cada una de las combinaciones de los selectores del circuito multiplexor.

Práctica 1

56

Facultad de Estudios Superiores Cuautitlán

UNAM

5. Modifique el circuito anterior para obtener el que se muestra en la figura 1.4.

Figura 1.4. Modificación del circuito multiplexor.

6. Para las mismas señales de entrada, observe en el osciloscopio las salidas Vs1, Vs2, Vs3 y Vs4 y grafíquelas acotándolas cuidadosamente para cada una de las combinaciones de los selectores del circuito multiplexor.

Cuestionario. 1) Investigue en las hojas técnicas del circuito multiplexor utilizado en la práctica ¿cuáles son los límites de los voltajes de polarización y cómo influyen en los valores máximo y mínimo de las señales de entrada? 2) ¿Cuál es la relación entre el número de entradas y el número de selectores de un multiplexor? 3) Para el microcontrolador Atmega8 investigue cuál es el número de funciones con las que cuentan los puertos B, C y D e indique cuáles son de tipo analógico y cuáles son digitales.

Conclusiones Elabore las conclusiones a las que haya llegado después de realizar todas las actividades de esta práctica.

Bibliografía Elabore una lista de las referencias bibliográficas consultadas.

Práctica 1

57

Facultad de Estudios Superiores Cuautitlán

UNAM

Laboratorio de Microcontroladores Práctica 2 Puertos del microcontrolador

Tema 4.2. Descripción funcional de terminales.

Objetivos Al término de esta práctica el alumno podrá:  Manipular los puertos del microcontrolador para introducir y sacar datos del mismo mediante lenguaje ensamblador.  Configurar los diversos puertos del microcontrolador para que funcionen como puertos de entrada o puertos de salida.  Utilizar el software Atmel Studio IDE para compilar y ensamblar los programas del microcontrolador.

Introducción Existen diversos fabricantes de microcontroladores y dentro de un mismo fabricante podemos tener diferentes “sabores” dependiendo de la cantidad y tipo de recursos con que cuenta el microcontrolador particular. Dentro de los fabricantes más importantes de acuerdo con el tamaño de ventas en el mercado de diseño con sistemas embebidos, están: Texas Instruments, Freescale, Microchip, Atmel (ahora como parte de Microchip), Intel, STMElectronics, etcétera. Nos referimos a los recursos del microcontrolador cuando hablamos de la cantidad de puertos y funciones de los mismos (convertidores, temporizadores, interfaces de comunicación, etcétera), cantidad de memoria, velocidad, cantidad de bits (8, 16, 32 ó 64), etcétera. Debido a que es imposible abarcar todos los fabricantes y tipos de microcontroladores, nos enfocaremos en un fabricante y un microcontrolador particular de ese fabricante. Cuando diseñamos con sistemas embebidos, escogemos el microcontrolador que mejor se adapte a la solución que vamos a implementar. Es decir, de acuerdo con la cantidad de puertos y tipos de funciones que necesitamos para interconectar nuestros dispositivos periféricos. Para el desarrollo de éstas prácticas utilizaremos el microcontrolador de gama media y tamaño de registros de 8 bits como el Atmega8 de Atmel, cuyas características generales son:  Memoria: 8 KBYTES flash, 512 BYTES EEPROM y 1 KBYTE de SRAM.  Puertos de entrada-salida: B (8 bits), C (7 bits) y D (8 bits).  Temporizadores: 2 de 8 bits y 1 de 16; así como 3 canales PWM.  Convertidor analógico digital: 6 canales de 10 bits de resolución.  Interfaces: TWI (I2C), SPI y USART.  1 comparador analógico.

Práctica 2

58

Facultad de Estudios Superiores Cuautitlán

UNAM

Actividades previas a la práctica 1) 2) 3) 4)

El alumno realizará la lectura de la práctica. Descargar e instalar el ambiente de desarrollo Atmel Studio. Descargar e instalar Win AVR. La operación de configuración de los puertos se realiza mediante la siguiente secuencia:  Definir qué pines del puerto deseamos como salida (escribiendo un 1 lógico) y cuáles como entrada (escribiendo un 0 lógico).  Escribir la palabra de control en el registro de dirección de datos (DDRx) del puerto correspondiente.  Escribir (PORTx)o leer (PINx) datos, hacia o desde, los puertos programados para tal fin.

5) Desarrolle un programa que configure las líneas del puerto B como entrada y las líneas del puerto D como salida, mostrando en todo momento la entrada del puerto B en el puerto D en formato GRAY. 6) El pseudocódigo se puede escribir como : //Configura puerto B como entrada (DDRB) //Configura puerto D como salida (DDRD) //Repite indefinidamente la siguiente secuencia: { //Lee dato del puerto B (PINB) //Convierte datos del puerto B a código GRAY //Escribe dato en el puerto D (PORTD) }

7) Realice la simulación del sistema de microcontrolador, guarde la simulación y entregue una copia de la misma. 8) El alumno deberá traer el circuito previamente armado.

Equipo 1 PC con software instalado:  Atmel Studio 1 Grabador universal, Arduino o grabador de AVRs 1 Fuente de voltaje de CD

Material 1 Microcontrolador Atmega8 8 Resistencias de 1 kΩ, ½ watt 9 Resistencias de 330 Ω, ½ watt 1 Dip switch de 8 1 Push button Barra de LEDs

Práctica 2

59

Facultad de Estudios Superiores Cuautitlán

UNAM

Tableta de Conexiones Alambres y cables para conexiones

Procedimiento experimental 1. Crea un nuevo proyecto en Atmel Studio, para ello ejecuta el programa y en la barra superior elije la opción “File” ”New” ”Project”, como se muestra en la figura 2.2.

Figura 2.1. Crear un nuevo proyecto.

2. Aparece una nueva ventana en la que debemos seleccionar “Assembler”, “AVR Assembler Project”; además en la parte inferior escribimos el nombre de nuestro proyecto, seleccionamos la ruta para depositar nuestra carpeta, seleccionamos “Create directory for solution” y oprimimos “OK” (figura 2.2).

Figura 2.2. Tipo de archivo dentro del proyecto y datos de la ruta.

Práctica 2

60

Facultad de Estudios Superiores Cuautitlán

UNAM

3. Aparece una nueva ventana en la que podemos realizar la búsqueda y selección del dispositivo para el cuál se escribirá el código, como se muestra en la figura 2.3.

Figura 2.3. Selección el dispositivo.

4. Cuando oprimimos “OK”, se genera un archivo con extensión ".asm”, como ejemplo, escribimos el código de un programa que lee el contenido del puerto B y lo muestra en el puerto D:

Práctica 2

61

Facultad de Estudios Superiores Cuautitlán

UNAM

5. Se procede a ensamblar el programa para generar el archivo .hex, necesario para programar el dispositivo. En la barra superior, seleccionamos “Build” ”Build Solution” (figura 2.4). Otra manera es oprimiendo la tecla “F7”.

Figura 2.4. Selección del menú “Build”.

6. Proceda a armar el circuito en la protoboard de acuerdo al diagrama de la figura 2.5, programe el microcontrolador y verifique que realice la lectura y escritura de puertos correctamente. Anote sus observaciones. 7. Tome algunas fotografías donde se observe el funcionamiento del circuito para distintos valores en los puertos de entrada y salida.

Figura 2.5. Diagrama del circuito.

8. Realice la modificación del código del microcontrolador de modo que al ingresar un dato por el puerto B, en el puerto C aparezca el dato en código EXC3. El puerto D mantiene la función que tenía anteriormente.

Práctica 2

62

Facultad de Estudios Superiores Cuautitlán

UNAM

Cuestionario. 1) Dibuje el diagrama de flujo del programa modificado en el punto 8 del procedimiento. 2) ¿Qué se tiene que hacer si se desea que algunos pines de un puerto sean de entrada y otros de salida? 3) ¿Si se desea usar un puerto cuyos bits tienen más de una función, qué registro o registros se deben configurar? Dé dos ejemplos.

Conclusiones Elabore las conclusiones a las que haya llegado después de realizar todas las actividades de esta práctica.

Bibliografía Elabore una lista de las referencias bibliográficas consultadas.

Práctica 2

63

Facultad de Estudios Superiores Cuautitlán

UNAM

Laboratorio de Microcontroladores Práctica 3 Temporizadores

Tema 5.3. Programación de microcontroladores.

Objetivos Al término de esta práctica el alumno podrá:  Crear retardos haciendo uso del temporizador básico de los microcontroladores, el TIMER 0.

Introducción Un temporizador (timer en inglés) es simplemente un contador digital y su ventaja radica en que el reloj de entrada y la operación del temporizador son independientes de la ejecución del programa. El microcontrolador Atmega8, cuenta con dos temporizadores de 8 bits (TIMER0, TIMER2) y uno de 16 bits (TIMER1); lo cual significa que los temporizadores de 8 bits pueden contar de 0 a 255, mientras que el temporizador de 16 bits podrá hacer una cuenta de 0 a 65,535. No siempre la mayor cantidad de bits es la mejor, porque podemos tener aplicaciones en las que una resolución de 8 bits sea suficiente, además si utilizamos 16 bits en donde no se requiera, estamos sobre cargando al microcontrolador innecesariamente. La velocidad de conteo de los temporizadores puede ser controlada mediante técnicas de división de frecuencias (prescaling). Con esta técnica, nuestra frecuencia del reloj que alimenta al contador puede ser dividida por un factor de 8, 64, 256 y 1024 (figura 3.1). Básicamente el control del TIMER0 se lleva a cabo mediante el registro TCCR0 (Timer/Counter 0 Control Register) y en ése registro, los bits CS00, CS01 y CS02 (Clock Select) controlan el valor del divisor de frecuencia. Una vez activado el contador, el registro TCNT0 (Timer/Counter Register) comienza a incrementarse en 1 a la frecuencia definida por el reloj. Existen varias aplicaciones y varios modos de operación de los temporizadores; sin embargo, en ésta práctica se utilizará el “modo normal”. Figura 3.1. Diagrama del prescaler.

Práctica 3

64

Facultad de Estudios Superiores Cuautitlán

UNAM

Actividades previas a la práctica 1) El alumno realizará la lectura de la práctica. 2) Desarrollar un programa que encienda y apague un LED de forma intermitente con periodos de medio segundo en cada estado. Incluya los cálculos realizados para configurar el módulo del TIMER0. 3) El pseudocódigo se puede escribir como : //Configura el puerto como salida //Repite indefinidamente la siguiente secuencia: { //Escribe un “1” en el bit configurado como salida //Espera 0.5 segundos // Escribe un “0” en el bit configurado como salida //Espera 0.5 segundos }

4) Dibuje el diagrama de flujo del algoritmo anterior. 5) Crear un nuevo proyecto en Atmel Studio y empleando las rutinas anteriores, realizar un programa que permita mantener encendido el LED durante tres segundos y apagado otros dos segundos de forma intermitente. Incluya los cálculos realizados para configurar el módulo del TIMER0. 6) Compile el programa y corrija los posibles errores que surjan. 7) Realice la simulación del sistema de microcontrolador, guarde la simulación y entregue una copia impresa de la misma. 8) El alumno deberá traer el circuito previamente armado.

Equipo 1 PC con software instalado:  Atmel Studio 1 Grabador universal, Arduino o grabador de AVRs 1 Fuente de voltaje de CD

Material 1 Microcontrolador Atmega8 4 Resistencias de 330 Ω, ½ watt 1 Push button 3 LEDs Tableta de Conexiones Alambres y cables para conexiones

Práctica 3

65

Facultad de Estudios Superiores Cuautitlán

UNAM

Procedimiento experimental 1. Haciendo uso del proyecto creado anteriormente y siguiendo la lógica de las actividades previas, programe el microcontrolador tomando como base la rutina de retardo siguiente:

2. Para el circuito previamente armado de acuerdo al diagrama de la figura 3.2, y con ayuda del osciloscopio, grafique la señal de salida del pin 14, acotándola correctamente. 3. Tome una fotografía donde se observe el funcionamiento del circuito.

Figura 3.2. Diagrama del circuito de retardo.

4. Aprovechando las rutinas de los códigos realizados en las actividades previas, escriba un programa que controle tres pines del puerto B de modo que funcione como un semáforo. 5. Modifique el circuito de la figura 3.2 para realizar la prueba del sistema de semáforo.

Práctica 3

66

Facultad de Estudios Superiores Cuautitlán

UNAM

Cuestionario. 1) Explique brevemente el funcionamiento y el porqué de los valores en la subrutina “retardo”. 2) Explique el funcionamiento del prescaler del microcontrolador. 3) Determine el tiempo mínimo de retardo que se puede lograr con el microcontrolador empleado en la práctica y explique cuáles son sus limitaciones de funcionamiento.

Conclusiones Elabore las conclusiones a las que haya llegado después de realizar todas las actividades de esta práctica.

Bibliografía Elabore una lista de las referencias bibliográficas consultadas.

Práctica 3

67

Facultad de Estudios Superiores Cuautitlán

UNAM

Laboratorio de Microcontroladores Práctica 4 Interrupciones

Tema 5.4. Programación de los registros internos.

Objetivos Al término de esta práctica el alumno podrá:  Comprender el uso de interrupciones como señales de alta prioridad durante la ejecución de programas.  Hacer uso de la entrada INT0 para detener un proceso y ejecutar una subrutina por medio de la interrupción.

Introducción Las interrupciones son básicamente eventos que requieren atención inmediata por parte del microcontrolador. Cuando ocurre una interrupción, el microcontrolador detiene el proceso que está haciendo y atiende la interrupción mediante la ejecución de una subrutina (Interrupt Service Routine), cuando termina de ejecutar esta subrutina, el microcontrolador regresa al proceso y continúa con la operación posterior a donde pausó el proceso. El microcontrolador puede atender dos fuentes de interrupciones: internas y externas. Las interrupciones internas están asociadas con los dispositivos periféricos del propio microcontrolador como el temporizador/contador, el comparador analógico, etcétera. Por otro lado, las interrupciones externas son provocadas por dispositivos conectados a los pines externos del microcontrolador. Figura 4.1 Vectores de interrupción del Atmega8.

Práctica 4

68

Facultad de Estudios Superiores Cuautitlán

UNAM

Actividades previas a la práctica 1) El alumno realizará la lectura de la práctica. 2) Desarrollar un programa que realice un conteo ascendente en 8 bits, con un intervalo de 0.5 segundos entre cada incremento, de forma continua, y por medio de INT0 se va a introducir una interrupción que provoque que todos las salidas del puerto se enciendan durante un segundo y se apaguen durante un segundo en un periodo de 10 segundos. Al finalizar deberá regresar a la rutina de conteo justo en el punto donde se interrumpió. 3) El proyecto se crea de la manera descrita en la práctica 2, excepto que el tipo de proyecto (punto 2 de la práctica 2) ahora deberá ser:

Figura 4.2. Tipo de archivo dentro del proyecto y datos de la ruta.

4) El pseudocódigo se puede escribir como : //Configura un pin de cualquier puerto como salida //Configura el pin para la interrupción (INT0 ó INT1) como entrada //Activa resistencia de PULLUP de esa entrada //Habilita interrupciones generales (sei) //Habilita interrupción externa (INT0 ó INT1) //Define el nivel con el cual se activará la interrupción //Repite indefinidamente: { } //Escribir la rutina de atención a la interrupción (ISR)

5) Realice el diagrama de flujo que indica cómo se va a desarrollar el programa.

Práctica 4

69

Facultad de Estudios Superiores Cuautitlán

UNAM

6) Para activar la resistencia de PULLUP en un pin configurado como entrada, sólo volvemos a escribir un “1” en el puerto: //Activa resistencia de pullup PORTD |= 1 << PIND2;

7) Para habilitar las interrupciones, primero activamos las interrupciones generales e incluimos la librería en el encabezado; después habilitamos la interrupción externa correspondiente (INT0 ó INT1), definimos el nivel para activar la interrupción (ISC) y finalmente escribimos el código para la rutina de atención a la interrupción (ISR): #include int main(void) { sei(); //Habilita interrupciones generales GICR |= 1 < pulso de bajada while(1) { } } //Rutina de atención a la interrupción ISR(INT0_vect) { }

8) Diseñe el programa principal. 9) Compile el programa con Atmel Studio, corrigiendo los posibles errores. 10) Realice la simulación del sistema de microcontrolador, guarde la simulación y entregue una copia impresa de la misma. 11) El alumno deberá traer el circuito de la práctica previamente armado.

Equipo 1 PC con software instalado:  Atmel Studio 1 Grabador universal, Arduino o grabador de AVRs 1 Fuente de voltaje de CD

Material 1 Microcontrolador Atmega8 9 Resistencias de 330 Ω, ½ watt

Práctica 4

70

Facultad de Estudios Superiores Cuautitlán

UNAM

2 Push button 1 Barra de Leds Tableta de Conexiones Alambres y cables para conexiones

Procedimiento experimental 1. Haciendo uso del proyecto creado anteriormente y siguiendo la lógica del algoritmo de las actividades previas, programe el microcontrolador. 2. Asegúrese que estén bien colocados la barra de LEDs en el puerto B y un interruptor en INT0 el circuito armado previamente como el mostrado en la figura 4.3.

Figura 4.3. Diagrama del circuito de conteo e interrupción.

3. Programe el microcontrolador y verifique que realice el conteo de forma correcta. Anote sus observaciones. 4. Tome una fotografía donde se observe el funcionamiento del circuito.

5. Cambie de alto a bajo el bit INT0 oprimiendo el botón, explique lo que sucede con las señales en el puerto de salida. Active varias veces la interrupción y anote sus observaciones.

Cuestionario. 1) El control de las interrupciones del microcontrolador Atmega8 se lleva a cabo principalmente mediante los registros MCUCR y GICR, describa la función de los bits que se programan para tal fin. 2) El microcontrolador Atmega8 cuenta con numerosas fuentes de interrupción interna, describa detalladamente al menos tres de ellas. 3) Investigue en la página del fabricante del microcontrolador usado en la práctica, si existen modelos que posean más de una fuente de interrupción externa. Práctica 4

71

Facultad de Estudios Superiores Cuautitlán

UNAM

Conclusiones Elabore las conclusiones a las que haya llegado después de realizar todas las actividades de esta práctica.

Bibliografía Elabore una lista de las referencias bibliográficas consultadas.

Práctica 4

72

Facultad de Estudios Superiores Cuautitlán

UNAM

Laboratorio de Microcontroladores Práctica 5 Conexión con dispositivos de interfaz

Tema 6.2. Herramientas para desarrollo de programas con microcontroladores.

Objetivos Al término de esta práctica el alumno podrá:  El alumno aprenderá a programar el microcontrolador para que interactúe con otros dispositivos haciendo uso de bibliotecas creadas en lenguaje C.  Hacer uso de los dispositivos más comunes que sirven como interfaz con el usuario como pueden ser el teclado y una pantalla LCD.

Introducción Los teclados y pantallas son dos de los dispositivos ampliamente usados para proporcionar entradas y salidas del mundo externo hacia el microcontrolador. Con ellos permitimos una mayor interacción del usuario. Estos dispositivos se conectan a los puertos de entrada y salida de propósito general. Para poder conectar y lograr que funcione de manera correcta cualquier dispositivo con el microcontrolador, es necesario contar con las hojas técnicas del fabricante de dicho dispositivo y, a partir de ahí, obtener y entender los parámetros más importantes para poderlo controlar. Como sabemos, algunas de las funciones del microcontrolador están multiplexadas; sin embargo, la cantidad de puertos y pines del microcontrolador es limitada y, por tal motivo, es indispensable que al escoger un dispositivo de interfaz, también consideremos la cantidad de recursos que nos demandará de nuestro microcontrolador. De hecho, en el diseño de sistemas embebidos, se procede al contrario, es decir, primero hacemos el diseño (TOP) conceptual de nuestro sistema, analizamos la cantidad de recursos que demandará del microcontrolador y posteriormente escogemos el microcontrolador que mejor se ajuste a nuestras necesidades, sin tener recursos de más ni menos. Por lo tanto, aunque el teclado que usaremos en la práctica (ver figura 5.1) tiene 12 teclas, éste es un teclado matricial que de acuerdo con la combinación de renglón y columna, podemos determinar la posición, y la tecla, que se está oprimiendo. De esta manera, en lugar de usar una entrada del microcontrolador para cada tecla, es decir 12 entradas, se utilizarán sólo 7 líneas, 4 para los renglones y 3 para las columnas.

Práctica 5

73

Facultad de Estudios Superiores Cuautitlán

UNAM

Así mismo, para controlar el LCD (ver figura 5.1) que usaremos en la práctica, es necesario enviar 3 señales de control y 8 pines por donde se envían los datos, de tal manera que se requieren 11 líneas para controlar y escribir información en la pantalla; sin embargo, el LCD soporta un modo de transferencia de 4 bits para datos, de tal manera que en lugar de usar 11 líneas usaremos 7. Además si sólo escribimos en la pantalla (porque también se puede leer de él), podemos reducir la cantidad de señales a 6. Finalmente, recalcaremos que la mejor manera de controlar al dispositivo es consultando la hoja técnica del mismo.

Figura 5.1. Teclado tipo matricial y pantalla LCD.

Actividades previas a la práctica 1) El alumno realizará la lectura de la práctica. 2) Investigar los parámetros más importantes de la hoja de datos técnicos, tanto del teclado como de la pantalla LCD a utilizar. 3) Investigar lo que es el código ASCII e imprimir una tabla de este código.

4) Desarrolle un programa que permita que el microcontrolador funcione como una “agenda electrónica”. Dentro del código del microcontrolador deberán incluirse el nombre y teléfono de cada uno de los miembros del equipo, un familiar de cada uno, un número de emergencia como bomberos, policía u otro, el número de una pizzería y el de un médico; cada uno de estos nombres y números deberán estar asociados a una tecla que al ser presionada mostrará la información en el display. Además, en el momento del encendido o al presionar la tecla # deberá mostrarse un mensaje de bienvenida y al presionar la tecla * deberá borrarse por completo la pantalla. 5) El pseudocódigo se puede escribir como : //Configura el puerto de entrada para teclado //Configura el puerto de salida para pantalla //Definir base de datos a mostrar //Configurar pantalla //Mostrar mensaje de bienvenida //Repetir indefinidamente la secuencia: { //Leer puerto del teclado //Se oprimió tecla? //No, volver a leer puerto del teclado //Sí, codificar la tecla presionada //Escribir en pantalla la información }

Práctica 5

74

Facultad de Estudios Superiores Cuautitlán

UNAM

6) Compile el programa con Atmel Studio, corrigiendo los posibles errores. 7) Realice la simulación del sistema de microcontrolador, guarde la simulación y entregue una copia impresa de la misma. 8) El alumno deberá traer el circuito previamente armado.

Equipo 1 PC con software instalado:  Atmel Studio 1 Grabador universal, Arduino o grabador de AVRs 1 Fuente de voltaje de CD

Material 1 Microcontrolador Atmega8

1 Display LCD 16x2 1 Teclado matricial 4x3 1 Potenciómetro de 2 kΩ 1 Resistencia de 330 Ω, ½ watt 1 Push button Tableta de Conexiones Alambres y cables para conexiones

Procedimiento experimental 1. Haciendo uso del proyecto creado anteriormente y siguiendo la lógica del algoritmo de las actividades previas, programe el microcontrolador. 2. Proceda a armar el circuito en la protoboard, como el mostrado en la figura 5.2, tenga cuidado de que las conexiones del display y del teclado correspondan con los pines de los puertos de entrada y salida elegidos. Figura 5.2. Diagrama esquemático del circuito de la agenda electrónica.

Práctica 5

75

Facultad de Estudios Superiores Cuautitlán

UNAM

3. Programe el microcontrolador y verifique que muestre la información contenida en la memoria de la “Agenda Electrónica”. Anote sus observaciones. 4. Incluya algunas fotografías donde se observe el funcionamiento del circuito.

5. Aplique una señal de reset y compruebe que el circuito continúe funcionando de manera correcta.

Cuestionario. 1) ¿Qué diferencia existe entre un display de 14 pines con respecto al de 16 pines? 2) Investigue en manuales y hojas técnicas al menos dos tipos de memorias que podrían ser adicionadas al sistema de modo que se pueda ampliar la capacidad de almacenamiento de datos en la agenda. Indique las principales características de cada una. 3) Investigue si existen otros dispositivos de interfaz que puedan conectarse directamente a alguno de los puerto de un microcontrolador e indique cuáles son las bibliotecas en C, sí existen, que los controlan.

Conclusiones Elabore las conclusiones a las que haya llegado después de realizar todas las actividades de esta práctica.

Bibliografía Elabore una lista de las referencias bibliográficas consultadas.

Práctica 5

76

Facultad de Estudios Superiores Cuautitlán

UNAM

Laboratorio de Microcontroladores Práctica 6 Temporizadores y contadores

Tema 6.3. Elaboración de proyectos.

Objetivos Al término de esta práctica el alumno podrá:

 Crear rutinas de retardo a partir de programación en C para microcontroladores.  Utilizar uno de los módulos de temporización en modo de contador para identificar eventos que se produzcan de forma externa al microcontrolador.

Introducción El microcontrolador Atmega8 cuenta con temporizadores de 8 y 16 bits, se puede decir que el temporizador de 16 bits es más avanzado que el 8, porque tiene más funciones y permite una mayor exactitud. El temporizador de 16 bits tiene una opción para medir el tiempo de eventos específicos a nivel del hardware, para esto utiliza una entrada especial llamada ICP (Input Capture Pin). Usualmente, este modo de funcionamiento del temporizador se utiliza para medir el tiempo de un intervalo entre dos eventos, por ejemplo, para medir el ancho de un pulso. Se realiza capturando el tiempo del evento al principio y al final del evento, se restan uno del otro y se obtiene el tiempo que duró dicho evento. Es decir, que este modo se utiliza cuando se requiere medir la frecuencia o el ciclo de trabajo de una señal externa. Podemos escoger entre dos fuentes de los eventos: el cambio lógico en el valor del ICP o en el valor resultado en el comparador analógico. Si ocurre el evento, el valor del contador se escribe en un registro especial (Input Capture Register), desde donde podemos leer el valor en cualquier momento. La captura de la entrada (ICP) puede ser activada mediante un pulso de subida o de bajada, además podemos activar la cancelación de ruido en la entrada para que la información sea lo más real. Hay que tomar en cuenta que la activación de la entrada ICP inicia el conteo a la frecuencia del oscilador interno, del reloj externo o de una fuente de señal externa, y que para cualquiera de ellas podemos utilizar el mecanismo de división de frecuencia (precaler). Además, debemos considerar que cuando usamos la facilidad de cancelación de ruido, ésta simplemente espera por un alto o bajo de la señal, cuatro ciclos de reloj.

Práctica 6

77

Facultad de Estudios Superiores Cuautitlán

UNAM

Cuando la captura de señal, es decir, ocurre un evento, se genera una interrupción; de tal manera que debemos escribir la rutina de atención a la interrupción ocurrida. La figura 6.1 muestra el diagrama de bloques de la unidad de captura de entrada. La facilidad de captura de entrada es superior a utilizar un pin de entrada de interrupciones externa debido a que el valor del temporizador se copia inmediatamente cuando el pin cambia de estado. Con el pin de interrupción estándar, el CPU puede estar ocupado atendiendo a las interrupciones, y puede haber un tiempo extra requerido para llegar a ejecutar el código debido a la ocurrencia del propio evento. El valor del temporizador habrá cambiado de una manera significativa hasta el tiempo en que el firmware copia éste. Esto es, el ancho del pulso medido puede ser incorrecto. Figura 6.1. Diagrama de bloques de la unidad de captura de entrada.

Actividades previas a la práctica 1) El alumno realizará la lectura de la práctica. 2) Defina los términos: periodo, frecuencia, reloj digital, flanco de subida, flanco de bajada, tiempo de respuesta en circuitos digitales, niveles de voltaje TTL y efecto de rebote. 3) Desarrolle un programa que permita que el microcontrolador funcione como una “fuente de reloj digital”. El circuito debe contar con una entrada de selección que permita cambiar entre una señal de salida con una frecuencia de 1.2 kHz y una con frecuencia de 3 kHz. 4) El pseudocódigo se puede escribir como : //Configura el pin de captura de entrada //Configura resistencia de PULLUP //Configura el pin de salida para observar la señal //Repetir indefinidamente la secuencia: { //Leer pin de entrada //Está en alto? //No, genera una señal de f=1.2Khz //Sí, genera una señal de f=3Khz }

5) Realice el diagrama de flujo que indica cómo se va a desarrollar el programa.

Práctica 6

78

Facultad de Estudios Superiores Cuautitlán

UNAM

6) Compile el programa con Atmel Studio, corrigiendo los posibles errores. 7) Escriba un programa que, usando el temporizador de 16 bits, realice el conteo de una serie de eventos externos al microcontrolador y muestre el valor del conteo en un display. 8) El pseudocódigo se puede escribir como : //Configura el pin de captura de entrada //Activar resistencia de PULLUP //Configura el puerto de salida para el LCD //Configurar el LCD //Mostrar el mensaje: “Valor de conteo:” en la 1ª. línea del LCD //Repetir indefinidamente la secuencia: { //Leer pin de entrada //Detectó un flanco de subida? //Sí, incrementa valor de contador //Escribir en pantalla la información }

9) Realice el diagrama de flujo que indica cómo se va a desarrollar el programa. 10) Compile el programa con Atmel Studio, corrigiendo los posibles errores. 11) Realice la simulación del sistema de microcontrolador para ambos programas, guarde las simulaciones y entregue una copia impresa de las mismas. 12) El alumno deberá traer los circuitos de la práctica previamente armados. NOTA: Al probar el programa en el simulador, se puede colocar un “push button” en el pin de captura de entrada (ICP) para, a su vez, simular la ocurrencia de un evento.

Equipo 1 PC con software instalado:  Atmel Studio 1 Grabador universal, Arduino o grabador de AVRs 1 Fuente de voltaje de CD 1 Osciloscopio

Material 1 Microcontrolador Atmega8

1 Display LCD 16x2 1 Potenciómetro de 2 kΩ 1 Resistencias de 10 kΩ, ½ watt 2 Resistencias de 330 Ω, ½ watt

Práctica 6

79

Facultad de Estudios Superiores Cuautitlán

UNAM

1 Diodo de luz infraroja, IR333C 1 Fototransistor infrarojo, PT331C 1 Inversor Schmitt Trigger, 74LS14 1 Push button Tableta de Conexiones Alambres y cables para conexiones

Procedimiento experimental 1. Haciendo uso del primer programa de las actividades previas y siguiendo la lógica de su algoritmo programe el microcontrolador. 2. Pare armar el circuito previamente armado en la protoboard, como el mostrado en la figura 6.2, cuide que las conexiones correspondan con las terminales del puerto elegido. 3. Con ayuda del osciloscopio, en acoplo de CD, verifique que el circuito genere de manera correcta la señal de reloj de salida. 4. Incluya una imagen donde se observe el funcionamiento del circuito, acotando cuidadosamente la señal de reloj.

Figura 6.2. Circuito de reloj digital.

5. Cambien la posición del interruptor de selección y observe en el osciloscopio el cambio de frecuencia en la señal de salida. 6. Incluya una imagen donde se observe el cambio en la frecuencia de salida y acótela por completo como se realizó con la señal anterior. 7. La figura 6.3 muestra las señales de control de baja frecuencia que requiere un servomotor para funcionar, realice un programa que permita generar dichas señales con las características indicadas en la figura. 8. El programa debe tener un interruptor para elegir el ancho de la señal, lo que corresponde a la posición angular del servomotor.

Práctica 6

80

Facultad de Estudios Superiores Cuautitlán

UNAM

Figura 6.3. Señales de control para un servomotor.

9. Con la ayuda del osciloscopio compruebe el correcto funcionamiento del nuevo programa e incluya una imagen de ambos casos donde estén indicadas todas las acotaciones necesarias. 10. A continuación, arme el circuito de la figura 6.4, tenga cuidado de que las conexiones del display correspondan con las terminales del puerto de salida elegido y la orientación de los elementos ópticos sea correcta. 11. Usando el segundo programa de las actividades previas y siguiendo la lógica de su algoritmo programe el microcontrolador. 12. Pruebe que, al interrumpir el haz de luz infrarroja, se incremente el valor del conteo mostrado en la pantalla del display. 13. Aplique una señal de reset y observe el comportamiento del circuito. 14. Incluya fotografías del funcionamiento del circuito de conteo. 15. Coloque uno de los canales del osciloscopio a la salida del fototransistor y el otro a la salida del circuito Schmitt Trigger, interrumpa el haz infrarrojo y observe ambas señales. Anote sus observaciones e incluya una imagen.

Figura 6.3. Circuito de conteo con sensor infrarrojo.

Práctica 6

81

Facultad de Estudios Superiores Cuautitlán

UNAM

Cuestionario. 1) ¿Cuál es el tiempo máximo que permite un retardo utilizando la instrucción delay_ms y delay_us? 2) En base a lo investigado en las actividades previas y a sus observaciones durante la práctica, explique si es posible omitir la compuerta Schmitt Trigger del diseño. 3) Investigue en las hojas técnicas los valores del ángulo de dispersión y la longitud de onda del LED IR de la práctica. Incluya las gráficas de distribución espectral. 4) ¿Cuál es el límite del conteo que se puede alcanzar con el circuito de la práctica y a qué se debe dicho valor?

Conclusiones Elabore las conclusiones a las que haya llegado después de realizar todas las actividades de esta práctica.

Bibliografía Elabore una lista de las referencias bibliográficas consultadas.

Práctica 6

82

Facultad de Estudios Superiores Cuautitlán

UNAM

Laboratorio de Microcontroladores Práctica 7 Control de motores a pasos

Tema 7.2. Diseño de interfaces de control de potencia eléctrica.

Objetivos Al término de esta práctica el alumno podrá:  Controlar el sentido de giro y posición angular de un motor de pasos utilizando los modos de operación a paso completo y medio paso.  Implementar un sistema con un motor a pasos de tipo bipolar empleando un sistema de control basado en un microcontrolador.

Introducción Los motores a pasos son dispositivos electromecánicos que convierten una serie de impulsos eléctricos en desplazamientos angulares discretos. Un ejemplo de estos motores se puede observar en la figura 7.1. Estos motores presentan la ventaja de tener alta precisión y repetitividad en cuanto al posicionamiento por lo que son ideales para la construcción de mecanismos en donde se requieren movimientos muy precisos.

Figura 7.1. Motor a pasos

La característica principal de estos motores es el hecho de poder moverlos un paso a la vez por cada pulso que se le aplique. Este paso puede variar desde 90° hasta pequeños movimientos de tan solo 1.8°, es decir, que se necesitarán 4 pasos en el primer caso (90°) y 200 para el segundo caso (1.8°), para completar un giro completo de 360°. Para mantener la marcha del motor es necesario cambiar periódicamente la combinación de voltajes en sus terminales, como se ilustra en la figura 7.2.

Práctica 7

83

Facultad de Estudios Superiores Cuautitlán

UNAM

Figura 7.2. Secuencia de activación de un motor a pasos (Full Step).

El ángulo de rotación del eje, es directamente proporcional a la secuencia de pulsos insertados a las bobinas y la velocidad de rotación es dependiente de la frecuencia de dichos pulsos. Los motores a pasos son simples de operar en una configuración de lazo abierto y debido a su tamaño proporcionan un excelente torque a baja velocidad. En combinación con circuitos de control, además del movimiento ilustrado en la figura 7.2, conocido como paso completo (full step), es posible lograr movimientos aún más precisos. Este otro modo de operación se conoce como movimiento de medio paso (half step). Para lograrlo, se polarizan las bobinas de a una y de a dos intercaladamente, como se muestra en la figura 7.3. Se observa que también incluye los 4 pasos del modo full step. Obviamente esos son los momentos en que hay dos bobinas polarizadas, en los otros 4 pasos, solo se polariza una bobina. La ventaja de este mecanismo respecto del modo Full step es que se pueden realizar movimientos de giro más finos.

Figura 7.3. Secuencia de activación a medio paso (Half Step)

En los sistemas de control moderno se presentan a menudo movimientos de tipo incremental, por esto los motores de pasos se han convertido en elementos de acción importantes y en la actualidad podemos encontrar estos motores en unidades de discos ópticos, unidades de disco duro, impresoras, en gran variedad de máquinas herramientas y son dispositivos fundamentales para proporcionar movimiento a los robots.

Práctica 7

84

Facultad de Estudios Superiores Cuautitlán

UNAM

Actividades previas a la práctica 1. El alumno realizará la lectura de la práctica. 2. Investigar la forma en que se pueden identificar las terminales de un motor a pasos y la clasificación a la que pertenece. 3. Desarrolle un programa para que el microcontrolador actúe como el sistema control de un motor a pasos con las siguientes funciones:  A través de una señal de control, se selecciona el modo de funcionamiento entre paso completo y medio paso.  Por medio de interruptores de selección, el motor debe girar de manera continua hacia la derecha o izquierda, con una frecuencia en las señales de salida de 30 Hz.  Al presionar un botón pulsador, el motor debe girar una revolución exacta hacia la derecha o izquierda, de acuerdo al botón elegido, con una frecuencia en las señales de control de 30 Hz.  Siempre que el motor esté activo, en el display deberá mostrase un mensaje que indique el modo de funcionamiento, el sentido de giro y el tipo de paso. 4. Realizará la simulación de todos los puntos del desarrollo experimental usando el archivo con extensión hex que obtuvo al compilar el código, guarde la simulación y entregue una copia

impresa de la misma.

5. El alumno deberá traer el circuito de la práctica previamente armado.

Equipo 1 PC con software instalado:  Atmel Studio 1 Grabador universal, Arduino o grabador de AVRs 1 Fuente de voltaje de CD 1 Osciloscopio

Material 1 Microcontrolador Atmega8 1 Controlador dual de puente completo L298N 1 Pantalla LCD de 16x2 1 Resistencia de 330  a ½ W 1 Potenciómetro de 2 K 2 Capacitores de 0.1 F 3 Push Button normalmente abiertos 8 Diodos 1N4004 1 Motor bipolar de 200 pasos Tableta de Conexiones (Protoboard) Alambres y cables para conexiones

Práctica 7

85

Facultad de Estudios Superiores Cuautitlán

UNAM

Procedimiento experimental 1. De acuerdo a lo investigado en las actividades previas, determine la secuencia de las fases del motor a paso de la práctica. 2. Haciendo uso del programa desarrollado en las actividades previas, y siguiendo la lógica de su algoritmo, programe el microcontrolador. 3. Proceda a armar el circuito en la protoboard, como el mostrado en la figura 7.4, tenga cuidado de que las conexiones correspondan con las terminales de los puertos elegidos como entrada, salida y para el display. 4. Conecte las salidas de las fases del circuito L298 a las conexiones del motor de pasos, figura 7.5, siguiendo la secuencia determinada en el punto 1 del procedimiento.

Figura 7.4. Circuito de control de motor a pasos.

5. Pruebe el correcto funcionamiento del circuito, comenzando por las funciones de giro continuo, tanto para paso completo como medio paso.

Fase 4 Fase 2 Fase 3 Fase 1

Figura 7.5. Fases del motor bipolar a pasos.

Práctica 7

86

Facultad de Estudios Superiores Cuautitlán

UNAM

6. La tabla 7.1 presenta el funcionamiento que debe de tener el motor de acuerdo al circuito de control que contiene el programa realizado. Full/Half Izquierda Derecha Función 1 0 1 Giro a la izquierda paso completo 1 1 0 Giro a la derecha paso completo X 1 1 Motor detenido 0 0 1 Giro a la izquierda medio paso 0 1 0 Giro a la derecha medio paso Tabla 7.1. Lógica de funcionamiento del programa.

7. Con ayuda del osciloscopio, en acoplo de CD, verifique que el circuito genere de manera correcta la señales de salida que van hacia el circuito L298 y mida su frecuencia. 8. A continuación, compruebe que el motor complete una vuelta exacta y se detenga al presionar unos de los botones de giro a la derecha o izquierda. Esto debe comprobarse para ambos modos, paso completo y medio paso.

Cuestionario. 1) ¿Cuáles son las ventajas y desventajas de la operación FULL step con respecto al modo HALF step? 2) Explique cómo sería posible controlar el movimiento del motor para que se incremente en un solo paso (conocido como Jogging), cada que reciba un pulso de una señal externa. 3) Explique el funcionamiento del circuito puente contenido en el dispositivo controlador L298N. 4) ¿Por qué es importante mantener la sincronía en motores a pasos?

Conclusiones Elabore las conclusiones a las que haya llegado después de realizar todas las actividades de esta práctica.

Bibliografía Elabore una lista de las referencias bibliográficas consultadas.

Práctica 7

87

Facultad de Estudios Superiores Cuautitlán

UNAM

Laboratorio de Microcontroladores Práctica 8 Comparadores de voltaje

Tema 7.5. Control con optoacopladores.

Objetivos Al término de esta práctica el alumno podrá:  Implementar un control de iluminación empleando elementos LDR y el módulo del comparador de voltaje del Atmega8 usando lenguaje C.  Construir y calibrar un controlador con punto de ajuste independiente.

Introducción En la naturaleza, todos los fenómenos que se producen se presentan de manera analógica, es decir, son procesos continuos que van cambiando con el tiempo, por ejemplo, los cambios de temperatura, las ondas de sonido, con su amplitud y frecuencia variables, el flujo del agua, etc. Los comparadores de voltaje son usados como interfaz entre circuitos analógicos y circuitos digitales, comparan la magnitud de dos voltajes analógicos proveyendo una indicación de tipo digital o binaria en su salida, como se observa en la figura 8.1. La salida de voltaje se modifica dentro de los límites fijados por los voltajes de saturación del amplificador, +𝑉𝑠𝑎𝑡 y −𝑉𝑠𝑎𝑡 . Aunque se debe de tener en cuenta que la limitante de estos circuitos es que la rapidez de respuesta a su salida es relativamente lenta comparada con otros circuitos.

Figura 8.1 Ejemplo de un comparador de voltaje

Práctica 8

Figura 8.2. Ejemplo de una fotorresistencia LDR.

88

Facultad de Estudios Superiores Cuautitlán

UNAM

El comparador analógico del Atmega8 compara los valores de entrada entre el pin positivo AIN0 y el pin negativo AIN1. Cuando el voltaje en el pin positivo AIN0 es mayor que el voltaje en el pin negativo AIN1, la salida del comparador analógico, ACO, envía un 1 lógico. Aunque estrictamente el Atmega8 tiene sólo un comparador analógico, es posible seleccionar cualquiera de los pines del convertidor analógico digital (ADC7 - ADC0) para reemplazar la entrada negativa del comparador analógico y así tener más canales de comparación. En esta práctica se usará una fotoresistencia o LDR (Light Dependent Resistors), como sistema de detección de luz/oscuridad. Normalmente la resistencia de un LDR es muy alta, llegando a mega Ohms, pero cuando reciben luz de alguna fuente luminosa, la resistencia disminuye significativamente (Ver figura 8.2).

Actividades previas a la práctica 1) El alumno realizará la lectura de la práctica. 2) Desarrolle un programa que permita que el microcontrolador funcione como un “sistema de control de iluminación”. El programa debe hacer uso del módulo de comparación de voltaje integrado en el microcontrolador, además, el circuito debe contar con entrada de calibración para el voltaje de referencia. 3) El algoritmo debe seguir las siguientes especificaciones:  El comparador deberá tener su entrada de voltaje a través de la terminal AIN1 (terminal negativa) y su referencia deberá estar conectada a la terminal AIN0 (terminal positiva) con un voltaje de 1.8V. La salida deberá conectarse por programación al pin de puerto correspondiente, donde deberá estar conectado uno de los LEDs. La polaridad seleccionada no debe ser negativa. 4) Realice el diagrama de flujo que indica cómo se va a desarrollar el programa. 5) Compile el programa con Atmel Studio, corrigiendo los posibles errores. 6) Realice la simulación del sistema de microprocesador, guarde la simulación y entregue una copia impresa de la misma. 7) Imprima el diagrama de terminales del LED RGB y entréguelo junto con las otras actividades previas. 8) El alumno deberá traer los circuitos de la práctica previamente armados.

Equipo 1 PC con software instalado:  Atmel Studio 1 Grabador universal, Arduino o grabador de AVRs 1 Fuente de voltaje de CD 1 Multímetro

Práctica 8

89

Facultad de Estudios Superiores Cuautitlán

UNAM

Material 1 Microcontrolador Atmega8 1 Amplificador operacional LM339 1 Fotorresistencias LDR de 2 MΩ (también llamada fotoceldas) 3 Potenciómetros de 10 kΩ 1 Resistencia de 100 kΩ a ½ watt 2 Resistencias de 1 kΩ a ½ watt 2 Resistencias de 330 Ω a ½ watt 1 LED RGB 1 Push button Tableta de Conexiones Alambres y cables para conexiones

Procedimiento experimental 1. Haciendo uso del programa de las actividades previas y siguiendo la lógica de su algoritmo programe el microcontrolador. 2. Proceda a armar el circuito en la protoboard, como el mostrado en la figura 8.3, tenga cuidado de que las conexiones correspondan con las terminales de las entradas y salidas de los comparadores de voltaje indicadas en las actividades previas. Utilice una de las terminales del LED RGB como LED individual y la terminal común conectada a tierra.

Figura 8.3. Circuito de control de iluminación.

3. Ajuste el potenciómetro para igualar el voltaje de referencia como se indicó en las actividades previas (1.8v). 4. Acerque una fuente luminosa poco a poco al sensor de luz y, con ayuda del multímetro, mida el voltaje en el que se produzca un cambio en el LED.

Práctica 8

90

Facultad de Estudios Superiores Cuautitlán

UNAM

5. Repita el punto 4 del desarrollo con la diferencia de que ahora debe comenzar con la fuente de luz sobre el sensor y después alejarla poco a poco.

6. Incluya fotografías del funcionamiento del circuito. 7. Desconecte la señal de entrada Vin, en su lugar conecte el generador de funciones con una señal triangular de 5vpp y un offset de 2.5VCD, de modo que no tenga parte negativa, y una frecuencia de 100Hz. 8. Arme el circuito de la figura 8.4 usando dos comparadores del CI LM339 y utilizando como entrada la misma señal triangular usada en el punto anterior, conectar las Cout1 y Cout2 de los comparadores (figura 8.4) a las terminales verde (G) y roja (R) del LED RGB. 9. Varíe los voltajes de referencia por medio de los tres potenciómetros y con ayuda del osciloscopio observe las señales de salida de las terminales correspondientes. 10. Anote sus observaciones acerca del comportamiento del LED RGB agregando fotografías y explique a qué se debe.

Figura 8.4. Circuito con comparadores discretos.

Práctica 8

91

Facultad de Estudios Superiores Cuautitlán

UNAM

Cuestionario. 1) Defina el concepto de histéresis en comparadores de voltaje. 2) De acuerdo a las mediciones realizadas en los puntos 4 y 5 de la práctica, determine el valor de resistencia del LDR en el momento de los cambios en el LED. 3) Investigue dos modelos de sensores de luz comerciales e incluya sus principales características como son voltaje y corriente de operación, sensibilidad, etcétera. 4) Revise los módulos periféricos que contiene el Atmega8 y comente cuál sería capaz de reproducir las señales observadas en el punto 9 del procedimiento.

Conclusiones Elabore las conclusiones a las que haya llegado después de realizar todas las actividades de esta práctica.

Bibliografía Elabore una lista de las referencias bibliográficas consultadas.

Práctica 8

92

Facultad de Estudios Superiores Cuautitlán

UNAM

Laboratorio de Microcontroladores Práctica 9 Convertidor Analógico – Digital

Tema 8.1. Conversión Analógico Digital con microcontroladores.

Objetivos Al término de esta práctica el alumno podrá:  Configurar el módulo de conversión analógica – digital con que cuentan los microcontroladores.  Implementar un termómetro digital empleando un sensor de temperatura, una pantalla LCD y el módulo del ADC del Atmega8 usando lenguaje C.

Introducción En los sistemas digitales, que trabajan únicamente con señales de 1’s y 0’s, cierto y falso, 0V y 5V, no es posible manejar magnitudes continuas. Para integrar ambos mundos existen dispositivos conocidos convertidores analógicos – digitales con la capacidad de interpretar señales continuas y traducirlas en valores numéricos binarios que pueden ser comprendidos por los sistemas digitales. El proceso de conversión de una señal se realiza en varias etapas, como se muestra en la figura 9.1. A partir del sistema físico se obtiene una señal con magnitud continua, por ejemplo la temperatura. Esta magnitud puede ser de naturaleza variada por lo que, para ser compatible con un sistema electrónico, es necesario transformarla a una magnitud eléctrica como son el voltaje o la corriente. Para realizar esta transformación se utiliza un elemento llamado transductor. Un transductor convierte la señal del sensor en una señal de voltaje, que también es analógica. El siguiente paso es acondicionar la señal, esto normalmente implica etapas de amplificación y filtrado de la señal. Por último la señal acondicionada entra al convertidor A/D de donde se obtiene una señal digital en formato binario.

Figura 9.1. Diagrama de bloques del proceso de conversión A/D.

Práctica 9

93

Facultad de Estudios Superiores Cuautitlán

UNAM

La selección del tipo de convertidor A/D depende de muchos factores que se determinan a través de la naturaleza del sistema físico. Además, se deben tener en cuenta factores como la exactitud, la resolución deseada (el número de bits), el error de cuantización máximo, el tiempo de conversión y la linealidad, que representa la desviación de los códigos de salida respecto al trazo de una línea recta desde cero hasta el valor a plena escala.

Actividades previas a la práctica 1) El alumno realizará la lectura de la práctica. 2) Desarrolle un programa que, utilizando lenguaje C, permita interpretar señales de voltaje analógico por medio del módulo del convertidor A/D del microcontrolador y mostrar los datos resultantes de la conversión en un display LCD. 3) Dibuje el diagrama de flujo que muestre el desarrollo del programa de conversión

analógica – digital. 4) El pseudocódigo se puede escribir como : //Configura Convertidor A/D //Configurar entrada para selección de escala //Configura resistencia de PULLUP //Configura el puerto de salida para pantalla //Configurar pantalla //Mostrar textos, según figura 9.2 //Repetir indefinidamente la secuencia: { //Leer muestra del Convertidor A/D //Leer entrada de selección para escala //Está abierto el SWITCH ? //No, convierte a grados Kelvin //Sí, convierte a grados centígrados //*Considerar las características del sensor(fig.9.3) //Despliega valor digital, voltaje, temperatura y escala }

Figura 9.2. Información a mostrar en el display LCD después de la conversión A/D.

5) Compile el programa con Atmel Studio, corrigiendo los posibles errores. 6) Realice la simulación del sistema de microprocesador, guarde la simulación y entregue una copia impresa de la misma.

Práctica 9

94

Facultad de Estudios Superiores Cuautitlán

UNAM

7) Investigue las equivalencias entre las escalas Celsius, Farenheit, Kelvin y Rankine.

𝐺𝑎𝑛𝑎𝑛𝑐𝑖𝑎[𝐺𝑟𝑎𝑑𝑜𝑠℃(𝐹𝑎𝑐𝑡𝑜𝑟 𝑑𝑒 𝐸𝑠𝑐𝑎𝑙𝑎)] = 𝑉𝑜𝑙𝑡𝑎𝑗𝑒 𝑑𝑒𝑙 𝐶𝑜𝑛𝑣𝑒𝑟𝑡𝑖𝑑𝑜𝑟 5 [100℃ (10

𝑚𝑉 )] = 5𝑉 ℃

Figura 9.3. Características del sensor de temperatura LM35D.

8) El alumno deberá traer el circuito de la práctica previamente armado.

Equipo 1 PC con software instalado:  Atmel Studio 1 Grabador universal, Arduino o grabador de AVRs 1 Fuente de voltaje de CD 1 Multímetro

Material 1 Microcontrolador Atmega8 1 Sensor de temperatura LM35D 1 Display LCD 16x2 1 Amplificador operacional LM358 1 Resistencia de 10 kΩ a ½ watt 1 Resistencia de 330 Ω a ½ watt 1 Resistencia de 39 kΩ a ½ watt 1 Resistencia de 82 Ω a ½ watt 1 Potenciómetro de 2 kΩ 1 Capacitor de 1µF a 25V 1 Push button Tableta de Conexiones Alambres y cables para conexiones

Práctica 9

95

Facultad de Estudios Superiores Cuautitlán

UNAM

Procedimiento experimental 1. Haciendo uso del primer programa de las actividades previas y siguiendo la lógica de su algoritmo programe el microcontrolador. 2. Proceda a armar el circuito en la protoboard, como el mostrado en la figura 9.4, tenga cuidado de que las conexiones correspondan con las terminales de las entradas y salidas de los comparadores de voltaje indicadas en las actividades previas.

Figura 9.4. Circuito del termómetro digital.

3. Sin tocar el termómetro digital, anote los datos obtenidos, éstos corresponden al valor de la temperatura ambiente. 4. Compruebe con ayuda del multímetro que el voltaje analógico mostrado en el display LCD sea correcto. 5. Modifique el programa para que, empleando el mismo selector, muestre las lecturas de temperatura en grados Kelvin y Rankine, además de los Celsius y Farenheit. 6. Utilizando el termómetro digital, tome 5 mediciones más de temperatura de diferentes

objetos, empleando todas las escalas para cada una, y regístrelas en una tabla donde se muestren todos los datos obtenidos. 7. Incluya fotografías del funcionamiento del termómetro digital.

Cuestionario. 1) Calcule la ganancia de voltaje del circuito amplificador de la práctica y la resolución del convertidor A/D empleado. 2) De acuerdo a los resultados de las preguntas anteriores, ¿cuál sería el valor de voltaje de entrada al microcontrolador si la temperatura fuera de 15⁰C?

Práctica 9

96

Facultad de Estudios Superiores Cuautitlán

UNAM

3) Explique el funcionamiento de un convertidor A/D de aproximaciones sucesivas. 4) ¿Qué se tiene que modificar en el programa si se desea usar más de una entrada analógica?

Conclusiones Elabore las conclusiones a las que haya llegado después de realizar todas las actividades de esta práctica.

Bibliografía Elabore una lista de las referencias bibliográficas consultadas.

Práctica 9

97

Facultad de Estudios Superiores Cuautitlán

UNAM

Laboratorio de Microcontroladores Práctica 10 Modulación por ancho de pulso

Tema 9.1. Modulación por ancho de pulso (PWM) empleando microcontroladores.

Objetivos Al término de esta práctica el alumno podrá:  Implementar un control de velocidad para motores de CD empleando modulación por ancho de pulsos, empleando el temporizador en modo PWM.

Introducción Por lo general, todo sistema que procesa información binaria para controlar un proceso analógico requiere una etapa de entrada analógica – digital y una etapa de salida digital – analógica (convertidores ADC y DAC). Para reducir costos en los diseños que no requieren alta resolución en la etapa de salida, es posible sustituir el DAC por un algoritmo de Modulación por Ancho de Pulsos (PWM – Pulse Width Modulation). Una unidad PWM permite asignar cierta duración de tiempo en alto o en bajo a un dato digital de n bits que se considera salida de la etapa de control. La modulación por ancho de pulsos permite generar señales de frecuencia y ciclo de trabajo variados. Las principales características de una señal de tipo PWM son su periodo y el ciclo de trabajo, como se observa en la figura 10.1.

Figura 10.1. Periodo y ciclo de trabajo de la modulación por ancho de pulso (PWM).

El periodo se relaciona con la frecuencia de la señal, lo que indica el número de pulsos generado por unidad de tiempo, mientras que el ciclo de trabajo, también conocido en inglés como duty cycle, determina la anchura de cada pulso. Hay que remarcar que el ancho del pulso es independiente de la frecuencia de la señal.

Práctica 10

98

Facultad de Estudios Superiores Cuautitlán

UNAM

El voltaje promedio suministrado por el generador PWM es proporcional a dicha señal, es decir, el voltaje es directamente proporcional ancho del pulso. Como resultado, también la potencia entregada es directamente proporcional, de modo que entre más ancho el pulso (mayor ciclo de trabajo), mayor será la potencia suministrada. Un ejemplo de lo anterior puede observarse en la figura 10.2. La modulación por ancho de pulso (PWM) es una técnica para controlar circuitos analógicos con una salida digital. Se utiliza en múltiples aplicaciones, algunas como controlar la intensidad de una luz y regular la velocidad de los motores de CD.

Figura 10.2. Relación Voltaje – Ancho de pulso de una señal PWM.

Actividades previas a la práctica 1) El alumno realizará la lectura de la práctica. 2) Realice los cálculos necesarios y escriba las instrucciones correspondientes para generar una señal PWM mediante el microcontrolador Atmega8, con las siguientes características: frecuencia de 1 kHz y ciclo de trabajo del 30%. 3) Al desarrollar el algoritmo del programa, todo se reduce a lo siguiente:  Configurar el puerto C como salida.  Configurar el valor del ciclo de trabajo.  Configurar el timer2 para el ciclo de trabajo.  Habilitar el módulo CCP1 para que trabaje como PWM. 4) Dibuje el diagrama de flujo que indica cómo se va a desarrollar el programa. Práctica 10

99

Facultad de Estudios Superiores Cuautitlán

UNAM

5) Realice la simulación de todos los puntos del desarrollo experimental, guarde la simulación y entregue una copia impresa de la misma. 6) Desarrolle un algoritmo que proporcione, de manera automática, el perfil de velocidad mostrado en la figura 10.3.

Figura 10.3. Perfil de velocidad controlado mediante PWM.

Se puede apreciar que, del estado de reposo, el motor debe aumentar su velocidad paulatinamente en dos fases hasta el punto deseado, mantener esa velocidad durante un periodo de tiempo y luego desacelerar hasta terminar en la posición de reposo. 7) El programa también debe permitir seleccionar el sentido de giro del motor por medio de un selector que controle las señales D1 y D2.

Equipo 1 PC con software instalado:  Atmel Studio 1 Grabador universal, Arduino o grabador de AVRs 1 Fuente de voltaje de CD 1 Osciloscopio 1 Multímetro

Material 1 Microcontrolador Atmega8 1 Resistencia de 330 Ω a ½ watt 4 Diodos 1N4004 1 Driver L298 1 Push button 1 Motor de CD (de 10V o 12V) Tableta de Conexiones Alambres y cables para conexiones

Práctica 10

100

Facultad de Estudios Superiores Cuautitlán

UNAM

Procedimiento experimental 1. Haciendo uso del primer programa de las actividades previas y siguiendo la lógica de su algoritmo programe el microcontrolador. 2. Proceda a armar el circuito en la protoboard, como el mostrado en la figura 10.4, tenga cuidado de que la salida corresponda con la terminal de salida del módulo OC (Output Compare). 3. Encienda el circuito y con ayuda del osciloscopio, mida la terminal de salida para comprobar que la señal tiene la frecuencia y el ciclo de trabajo indicados en las actividades previas y grafíquela.

Figura 10.4. Circuito generador de señales PWM.

4. Programe nuevamente el microcontrolador, ahora con el programa para producir el perfil de velocidades. 5. Modifique el armado del circuito para tener el mostrado en la figura 10.5. 6. Encienda el sistema y observe si el comportamiento del motor corresponde con el esperado, anote sus observaciones. 7. Con ayuda de un multímetro mida la corriente y voltaje promedio suministrados al motor en cada fase del perfil de velocidades. Anote cada uno de los valores. 8. Incluya fotografías del funcionamiento del sistema de regulación de velocidad.

Figura 10.5. Circuito de control de velocidad para motor de CD.

Práctica 10

101

Facultad de Estudios Superiores Cuautitlán

UNAM

Cuestionario. 1) Si se deseara cambiar la frecuencia de trabajo a 10KHz, con un ciclo del 40%, ¿qué modificaciones haría en su programa? 2) Si se desea trabajar con otro módulo PWM ¿Qué modificaciones se le tendrían que hacer al programa principal? 3) Si se deseara variar el ciclo de trabajo de forma externa, ¿qué se debe de hacer? 4) Empleando los datos obtenidos en el punto 7 del desarrollo, calcule la potencia media suministrada al motor para cada ancho de pulso utilizado.

Conclusiones Elabore las conclusiones a las que haya llegado después de realizar todas las actividades de esta práctica.

Bibliografía Elabore una lista de las referencias bibliográficas consultadas.

Práctica 10

102

More Documents from "Manuel Delgado"

Formulario.docx
November 2019 8
Valor.docx
November 2019 5
Ejercicios 1.docx
November 2019 7
November 2019 9