Documentos de Académico
Documentos de Profesional
Documentos de Cultura
FACULTAD DE ESTUDIOS
SUPERIORES CUAUTITLAN
Departamento: Asignatura:
Ingeniería Microcontroladores
Manual de Laboratorio de
Microcontroladores
Laboratorio de Microcontroladores
Índice
Introducción II
Bibliografía VI
Práctica 3 Temporizadores
5.3. Programación de microcontroladores.
-Microcontrolador PIC 14
-Microcontrolador AVR 64
Práctica 4 Interrupciones
5.4. Programación de los registros internos.
-Microcontrolador PIC 18
-Microcontrolador AVR 68
Índice I
Facultad de Estudios Superiores Cuautitlán UNAM
Índice II
Facultad de Estudios Superiores Cuautitlán UNAM
Laboratorio de Microcontroladores
Prólogo
Introducción
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.
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:
Prólogo IV
Facultad de Estudios Superiores Cuautitlán UNAM
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 (electronica@fesc.cuautitlan2.unam.mx).
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.
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.
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 Observaciones
Procedimiento experimental Esquemas
Tablas de datos Diagramas
Mediciones Cuestionario
Gráficas Conclusiones
Comentarios Bibliografía
Bibliografía
Prólogo VI
Facultad de Estudios Superiores Cuautitlán UNAM
Laboratorio de Microcontroladores
Práctica 1
Manejo de señales multiplexadas
Tema
Objetivos
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.
Práctica 1 1
Facultad de Estudios Superiores Cuautitlán UNAM
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.
Equipo
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.
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.
Práctica 1 3
Facultad de Estudios Superiores Cuautitlán UNAM
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?
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
Práctica 1 4
Facultad de Estudios Superiores Cuautitlán UNAM
Laboratorio de Microcontroladores
Práctica 2
Puertos del microcontrolador
Tema
Objetivos
➢ 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.
• 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 <file>
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 <p16fxxx.inc>
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
• EQU
<identificador> EQU <expresion>
• 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.
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
Equipo
W=Puerto X
1 PC con software instalado:
• MPLAB IDE
1 Grabador universal o grabador de PICs Conversión del dato
1 Fuente de voltaje de CD
Puerto Y=W
Material
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
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.
Práctica 2 8
Facultad de Estudios Superiores Cuautitlán UNAM
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.
Práctica 2 9
Facultad de Estudios Superiores Cuautitlán UNAM
7. 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.
;***Área para escribir la subrutina que convierta el dato de entrada al formato de salida***
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).
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.
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).
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.
14. Tome algunas fotografías donde se observe el funcionamiento del circuito para distintos
valores en los puertos de entrada y salida.
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.
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
Práctica 2 13
Facultad de Estudios Superiores Cuautitlán UNAM
Laboratorio de Microcontroladores
Práctica 3
Temporizadores
Tema
Objetivos
➢ Crear retardos haciendo uso del temporizador básico de los microcontroladores PIC, el
TIMER 0.
Introducción
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
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.
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.
Equipo
Material
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 movlw 0x64
movwf 0x20
call DELAY
return
DELAY bcf INTCON,2
movlw 0xD8
movwf TMR0
DELAY_1 btfss INTCON,2
goto DELAY_1
decfsz 0x20,f
goto DELAY
return
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.
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
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
Práctica 3 17
Facultad de Estudios Superiores Cuautitlán UNAM
Laboratorio de Microcontroladores
Práctica 4
Interrupciones
Tema
Objetivos
➢ 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.
Práctica 4 18
Facultad de Estudios Superiores Cuautitlán UNAM
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ó.
// 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 UNAM
// Configuración de interrupciones
set_tris_B(0x01); //Habilita RB0 como entrada.
enable_interrupts(int_ext); //Habilita interrupción externa RB0.
ext_int_edge(H_TO_L); //Interrupción por flanco de bajada.
enable_interrupts(global); //Habilita interrupciones globales.
Equipo
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.
Práctica 4 20
Facultad de Estudios Superiores Cuautitlán UNAM
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.
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
Práctica 4 21
Facultad de Estudios Superiores Cuautitlán UNAM
Laboratorio de Microcontroladores
Práctica 5
Conexión con dispositivos de interfaz
Tema
Objetivos
➢ 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
F1
Color Función
Negro Común (GND)
Café Común (GND) F2
Naranja Columna 1 (C1)
Rojo Columna 2 (C2) F3
Verde Columna 3 (C3)
Gris Fila 1 (F1)
F4
Morado Fila 2 (F2)
Azul Fila 3 (F3)
Amarillo Fila 4 (F4)
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.
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
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
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
6. Aplique una señal de reset y compruebe que el circuito continúe funcionando de manera
correcta.
Cuestionario.
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.
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
Práctica 5 26
Facultad de Estudios Superiores Cuautitlán UNAM
Laboratorio de Microcontroladores
Práctica 6
Temporizadores y contadores
Tema
Objetivos
➢ 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.
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.
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.
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
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.
Práctica 6 28
Facultad de Estudios Superiores Cuautitlán UNAM
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.
Equipo
Material
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.
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.
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.
10. Pruebe que, al interrumpir el haz de luz infrarroja, se incremente el valor del conteo
mostrado en la pantalla del display.
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.
Cuestionario.
1) ¿Cuál es el valor máximo que permite un retardo utilizando las instrucciones delay_ms y
delay_us?
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
Práctica 6 32
Facultad de Estudios Superiores Cuautitlán UNAM
Laboratorio de Microcontroladores
Práctica 7
Control de motores a pasos
Tema
Objetivos
➢ 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.
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
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.
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
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.
Equipo
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
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 LM016L
+5
VDD
VSS
VEE
RW
RS
D0
D1
D2
D3
D4
D5
D6
D7
E
+5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
R5 R4
+5 1k 1k
Vuelta Der. P1
50%
2k
R1 R2 R3
1k 1k 1k Vuelta Izq.
Puerto X
Full - 1 / Half - 0
Cont. Der.
Puerto Z
Cont. Izq.
PIC16F887
Puerto Y
MCLR
+5 +7
C1 C2 +7
R6 +5
1 14
SENSA OUT4
15
SENSB GND
U2 D2 D4 D6 D8
L298 8 1N4004 1N4004 1N4004 1N4004
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.
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.
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.
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).
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
Práctica 7 38
Facultad de Estudios Superiores Cuautitlán UNAM
Laboratorio de Microcontroladores
Práctica 8
Comparadores de voltaje
Tema
Objetivos
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 Figura 8.2. Ejemplo de una fotorresistencia LDR.
Práctica 8 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.
7) Imprima el diagrama de terminales del Led RGB y entréguelo junto con las otras actividades
previas.
Práctica 8 40
Facultad de Estudios Superiores Cuautitlán UNAM
Equipo
Material
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.
Práctica 8 41
Facultad de Estudios Superiores Cuautitlán UNAM
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.
Práctica 8 42
Facultad de Estudios Superiores Cuautitlán UNAM
Cuestionario.
1) Defina el concepto de histéresis en comparadores de voltaje.
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
Práctica 8 43
Facultad de Estudios Superiores Cuautitlán UNAM
Laboratorio de Microcontroladores
Práctica 9
Convertidor Analógico – Digital
Tema
Objetivos
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.
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.
Práctica 9 45
Facultad de Estudios Superiores Cuautitlán UNAM
7) Investigue las equivalencias entre las escalas Celsius, Farenheit, Kelvin y Reaumur.
𝑚𝑉
5 [100℃ (10 )] = 5𝑉
℃
Equipo
Material
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.
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.
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?
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
Práctica 9 48
Facultad de Estudios Superiores Cuautitlán UNAM
Laboratorio de Microcontroladores
Práctica 10
Modulación por ancho de pulso
Tema
Objetivos
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.
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%.
Práctica 10 50
Facultad de Estudios Superiores Cuautitlán UNAM
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.
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.
7) Realice la simulación de todos los puntos del desarrollo experimental, guarde la simulación
y entregue una copia impresa de la misma.
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.
Práctica 10 51
Facultad de Estudios Superiores Cuautitlán UNAM
Equipo
Material
Procedimiento experimental
1. Haciendo uso del primer programa de las actividades previas y siguiendo la lógica de su
algoritmo programe el microcontrolador.
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.
Práctica 10 52
Facultad de Estudios Superiores Cuautitlán UNAM
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
Práctica 10 53
Facultad de Estudios Superiores Cuautitlán UNAM
Laboratorio de Microcontroladores
Práctica 1
Manejo de señales multiplexadas
Tema
Objetivos
Introducción
Práctica 1 54
Facultad de Estudios Superiores Cuautitlán UNAM
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.
Práctica 1 55
Facultad de Estudios Superiores Cuautitlán UNAM
Equipo
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.
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.
Práctica 1 56
Facultad de Estudios Superiores Cuautitlán UNAM
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?
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
Práctica 1 57
Facultad de Estudios Superiores Cuautitlán UNAM
Laboratorio de Microcontroladores
Práctica 2
Puertos del microcontrolador
Tema
Objetivos
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
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.
Práctica 2 58
Facultad de Estudios Superiores Cuautitlán UNAM
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.
Equipo
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.
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).
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.
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”.
7. Tome algunas fotografías donde se observe el funcionamiento del circuito para distintos
valores en los puertos de entrada y salida.
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.
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
Práctica 2 63
Facultad de Estudios Superiores Cuautitlán UNAM
Laboratorio de Microcontroladores
Práctica 3
Temporizadores
Tema
Objetivos
Introducción
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
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.
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.
Equipo
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.
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.
Conclusiones
Elabore las conclusiones a las que haya llegado después de realizar todas las actividades de esta
práctica.
Bibliografía
Práctica 3 67
Facultad de Estudios Superiores Cuautitlán UNAM
Laboratorio de Microcontroladores
Práctica 4
Interrupciones
Tema
Objetivos
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
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ó.
}
//Escribir la rutina de atención a la interrupción (ISR)
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:
#include <avr/interrupt.h>
int main(void)
{
sei(); //Habilita interrupciones generales
GICR |= 1 <<INT0; //Habilita interrupción externa (INT0=1)
MCUCR |= 1<<ISC01;//ISC01=1,ISC00=0 => pulso de bajada
while(1)
{
}
}
//Rutina de atención a la interrupción
ISR(INT0_vect)
{
10) Realice la simulación del sistema de microcontrolador, guarde la simulación y entregue una
copia impresa de la misma.
Equipo
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.
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.
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
Práctica 4 72
Facultad de Estudios Superiores Cuautitlán UNAM
Laboratorio de Microcontroladores
Práctica 5
Conexión con dispositivos de interfaz
Tema
Objetivos
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.
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.
Práctica 5 74
Facultad de Estudios Superiores Cuautitlán UNAM
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.
Práctica 5 75
Facultad de Estudios Superiores Cuautitlán UNAM
Cuestionario.
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.
Conclusiones
Elabore las conclusiones a las que haya llegado después de realizar todas las actividades de esta
práctica.
Bibliografía
Práctica 5 76
Facultad de Estudios Superiores Cuautitlán UNAM
Laboratorio de Microcontroladores
Práctica 6
Temporizadores y contadores
Tema
Objetivos
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
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.
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.
Práctica 6 78
Facultad de Estudios Superiores Cuautitlán UNAM
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.
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.
Equipo
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
Procedimiento experimental
1. Haciendo uso del primer programa de las actividades previas y siguiendo la lógica de su
algoritmo programe el microcontrolador.
3. Con ayuda del osciloscopio, en acoplo de CD, verifique que el circuito genere de manera
correcta la señal de reloj 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
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.
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.
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?
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
Práctica 6 82
Facultad de Estudios Superiores Cuautitlán UNAM
Laboratorio de Microcontroladores
Práctica 7
Control de motores a pasos
Tema
Objetivos
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.
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
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.
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
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.
Equipo
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
2. Haciendo uso del programa desarrollado en las actividades previas, y siguiendo la lógica de
su algoritmo, programe el microcontrolador.
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.
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
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.
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.
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.
Conclusiones
Elabore las conclusiones a las que haya llegado después de realizar todas las actividades de esta
práctica.
Bibliografía
Práctica 7 87
Facultad de Estudios Superiores Cuautitlán UNAM
Laboratorio de Microcontroladores
Práctica 8
Comparadores de voltaje
Tema
Objetivos
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 Figura 8.2. Ejemplo de una fotorresistencia LDR.
Práctica 8 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).
7) Imprima el diagrama de terminales del LED RGB y entréguelo junto con las otras actividades
previas.
Equipo
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.
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.
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.
Práctica 8 91
Facultad de Estudios Superiores Cuautitlán UNAM
Cuestionario.
1) Defina el concepto de histéresis en comparadores de voltaje.
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
Práctica 8 92
Facultad de Estudios Superiores Cuautitlán UNAM
Laboratorio de Microcontroladores
Práctica 9
Convertidor Analógico – Digital
Tema
Objetivos
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.
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.
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𝑉
℃
Equipo
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.
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.
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
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
Práctica 9 97
Facultad de Estudios Superiores Cuautitlán UNAM
Laboratorio de Microcontroladores
Práctica 10
Modulación por ancho de pulso
Tema
Objetivos
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.
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%.
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.
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
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.
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.
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?
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
Práctica 10 102