You are on page 1of 59

UNAM

FACULTAD DE ESTUDIOS
SUPERIORES CUAUTITLAN

Departamento: Asignatura:
Ingeniera Microcontroladores

Seccin: Clave de carrera: 116

Electrnica Clave de asignatura: 1919

Laboratorio de Microcontroladores

Autores: M. en C. Leopoldo Martn del Campo Ramrez


Ing. Marcelo Bastida Tapia

Fecha de elaboracin: enero 2015


Fecha de revisin: enero 2017
Facultad de Estudios Superiores Cuautitln UNAM

Laboratorio de Microcontroladores

ndice

Objetivos generales de la asignatura II

Objetivos del curso experimental II

Introduccin II

Reglamento interno de laboratorios III

Criterios de evaluacin del curso V

Bibliografa V

Prctica 1 Manejo de seales multiplexadas 1


4.1. Multiplexacin de seales.

Prctica 2 Puertos del microcontrolador 5


4.2. Descripcin funcional de terminales.

Prctica 3 Temporizadores 14
5.3. Programacin de microcontroladores.

Prctica 4 Interrupciones 18
5.4. Programacin de los registros internos.

Prctica 5 Conexin con dispositivos de interfaz 22


6.2. Herramientas para desarrollo de programas con microcontroladores.

Prctica 6 Temporizadores y contadores 27


6.3. Elaboracin de proyectos.

Prctica 7 Control de motores a pasos 33


7.2. Diseo de interfaces de control de potencia elctrica.

Prctica 8 Comparadores de voltaje 39


7.5. Control con optoacopladores.

Prctica 9 Convertidor Analgico Digital 44


8.1. Conversin Analgico Digital con microcontroladores.

Prctica 10 Modulacin por ancho de pulso 49


9.1. Modulacin por ancho de pulso (PWM) empleando microcontroladores.

ndice I
Facultad de Estudios Superiores Cuautitln UNAM

Laboratorio de Microcontroladores

Prlogo

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 solucin de problemas de control
dedicado, as como la aplicacin de diversas plataformas de desarrollo de sistemas
electrnicos, de telecomunicaciones y mecatrnica, entre otros.

Objetivos del curso experimental

Conocer la arquitectura interna bsica de los microcontroladores y las caractersticas de sus


perifricos.
Realizar programas en lenguajes de bajo y alto nivel para solucionar problemas de diseo.
Programar los microcontroladores y comprobar que las soluciones propuestas a los retos de
diseo sean funcionales.
Implementar sistemas basados en microcontroladores.

Introduccin

Los circuitos digitales permiten la implementacin de operaciones lgicas, combinacionales y


secuenciales, mediante la interconexin de circuitos integrados (ICs) que contienen compuertas
lgicas, flip-flops y otros elementos. Sin embargo, conforme crecen las necesidades de diseo y la
complejidad de cada aplicacin, esta se vuelve una solucin imprctica y costosa.

Figura I. Ejemplos de Flip-flops y circuitos combinacionales

En la actualidad existe una serie de dispositivos conocidos como microcontroladores; estos renen
dentro de un solo chip muchas de las caractersticas propias de una computadora, como pueden ser
las memorias RAM y ROM o los puertos, adems 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 integracin. Los microcontroladores suelen ser utilizados en aplicaciones de control

Prlogo II
Facultad de Estudios Superiores Cuautitln UNAM

debido a que utilizan de manera ms eficiente la memoria de que disponen adems de poseer un
conjunto de instrucciones mucho ms reducido en comparacin con una computadora.

Otra caracterstica que ha contribuido para que los microcontroladores hayan tomado la preferencia
de muchos usuarios es su bajo costo pues, aunque vara dependiendo de la capacidad de cada modelo
de microcontrolador, generalmente resultan ser muchas veces ms baratos que otros medios de
control como pueden ser las computadoras o los controladores lgicos programables (PLCs).

Los microcontroladores poseen una gran capacidad de adaptacin 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 prcticas se busca desarrollar sistemas basados en microcontroladores explotando su


capacidad de adquisicin de datos, como pueden ser los puertos digitales y los convertidores
analgicos digitales, adems de sus capacidades de control, como por ejemplo el control de motores
de corriente directa y de motores de pasos, necesarios para la implementacin de sistemas mecnicos
industriales o de robots.

Finalmente el alumno deber comprender la necesidad de interaccin entre las diferentes reas de
la Ingeniera para llevar a la prctica un sistema de control basado en microcontrolador. Entre estas
reas se distinguen:

Electrnica Analgica Diseo de Software


Ingeniera de Control Electrnica de Potencia
Control Digital Mecnica
Sistemas Digitales Motores
Computacin 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 telefnicas y/o el envo de cualquier tipo de mensajera.
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 algn circuito sin antes verificar que las conexiones sean las correctas (polaridad de las
fuentes de voltaje, multmetros, 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 prcticas.
2. Se permite el uso de medios electrnicos y equipo de sonido (celulares, tabletas, computadoras, etc.)
nicamente para la realizacin de las prcticas.

Prlogo III
Facultad de Estudios Superiores Cuautitln UNAM

3. El alumno verificar las caractersticas de los dispositivos electrnicos con el manual.

4. Es responsabilidad del profesor y de los alumnos revisar las condiciones del equipo del laboratorio al inicio
de cada prctica. El profesor reportar cualquier anomala que pudiera existir (prendido, daado, sin
funcionar, maltratado, etc.) al encargado de rea correspondiente o al jefe de seccin.

5. Es requisito indispensable para la realizacin de las prcticas, 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 prctica, de no ser as no podr
realizar dicha prctica (donde aplique) y tendr una evaluacin 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 podrn hacer uso de las instalaciones.

8. Correo electrnico del buzn para quejas y sugerencias para cualquier asunto relacionado con los
Laboratorios (electronica@fesc.cuautitlan2.unam.mx).

9. La evaluacin del laboratorio, ser en base a lo siguiente:

A - (Aprobado); Cuando el promedio total de todas las prcticas de laboratorio sea mayor o igual a 6
siempre y cuando tengan el 90% de asistencia y el 80% de prcticas acreditadas en base a los criterios
de evaluacin.
NA - (No Aprobado); No se cumpli con los requisitos mnimos 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 sern resueltos por el Jefe de Seccin.

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 segn sea el caso y la gravedad, baja temporal o baja
definitiva del grupo de laboratorio al que est inscrito.

Instrucciones para la elaboracin del reporte

Ser necesario incluir en cada actividad previa y reporte de prctica una portada (obligatoria) que
contenga la informacin mostrada a continuacin.

U. N. A. M.
F. E. S. C.

Laboratorio de: ________________________________________


Grupo: ________________________________________
Profesor: ________________________________________
Alumno: ________________________________________
Nombre de Prctica: ________________________________________
No. de Prctica: ________________________________________
Fecha de realizacin: ________________________________________
Fecha de entrega: ________________________________________
Semestre: ________________________________________

Prlogo IV
Facultad de Estudios Superiores Cuautitln UNAM

Para la presentacin del reporte se deber cumplir con los requisitos indicados en cada una de las
prcticas, incluyendo:

Introduccin Observaciones
Procedimiento experimental Esquemas
Tablas de datos Diagramas
Mediciones Cuestionario
Grficas Conclusiones
Comentarios Bibliografa

y en general todos los elementos solicitados dentro del desarrollo de la prctica.

Criterios de evaluacin del curso

C1 (Criterio de evaluacin 1): Actividades previas a la prctica (40%)


C2 (Criterio de evaluacin 2): Habilidad en el armado y funcionalidad de los sistemas (10%)
C3 (Criterio de evaluacin 3): Habilidad para el manejo del equipo e interpretacin correcta de las
lecturas (10%)
C4 (Criterio de evaluacin 4): Reporte entregado con todos los puntos indicados (40%)

Bibliografa

1) Programacin de sistemas 4) Microcontroladores, Fundamentos


embebidos en C y Aplicaciones con PIC
Galeano, Gustavo Valdes Prez, Fernando
Alfaomega, 1 Edicin Alfa Omega
Mxico, 2009 Mxico, 2007
2) Compilador C CCS y Simulador 5) AVR microcontroladores.
Proteus para microcontroladores Configuracin total de perifricos
PIC Lpez Chau, Ausdrubal
Garca, Eduardo Universidad Autnoma del Estado de
Alfaomega, 1 Edicin Mxico UAEM
Mxico, 2008 Mxico, 2006
3) Microcontroladores PIC, Diseo 6) Microcontroladores PIC: sistema
prctico de aplicaciones integrado para el autoaprendizaje
Angulo Usastegui, Jos Ma. / Angulo Mandado Prez, Enrique
Martnez, Ignacio Marcombo, 2007
Mc. Graw Hill, 2 Edicin 7) Microcontrolador PIC16F84,
Mxico, 2006 Desarrollo de Proyectos
Palacios Enrique, Remiro Fernando /
Lpez Lucas, J.
Alfa - Omega RA-MA, 2 Edicin
Mxico, 2006

Prlogo V
Facultad de Estudios Superiores Cuautitln UNAM

Laboratorio de Microcontroladores
Prctica 1
Manejo de seales multiplexadas

Tema

4.1. Multiplexacin de seales.

Objetivos

Al trmino de esta prctica 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 configuracin.

Introduccin

Los microcontroladores, debido a la gran variedad de opciones especiales y mdulos perifricos que
pueden llegar a contener, requeriran de una gran cantidad de terminales dedicadas a cada una de
estas funciones, lo cual los volvera imprcticos, de gran tamao y costosos. Es por eso que es
necesaria la multiplexacin de funciones en cada una de las terminales del microcontrolador. En la
figura 1.1 se muestran ejemplos de microcontroladores cuyas terminales estn multiplexadas con
distintos funcionamientos tanto de entrada como de salida.

Figura 1.1. Microcontroladores con terminales multiplexadas.

Prctica 1 1
Facultad de Estudios Superiores Cuautitln UNAM

La multiplexacin es la combinacin de dos o ms canales de informacin en un solo medio de


transmisin. En el caso de los microcontroladores, donde pueden configurarse las terminales para
actuar como salidas o como entradas, tambin existe el proceso contrario, llamado demultiplexacin
donde, usando un solo medio de transmisin, se separan varios canales de informacin. 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 analgicas de entrada como
son el comparador de voltaje y el convertidor analgico digital.

Figura 1.2. Terminal multiplexada de un microcontrolador.

Actividades previas a la prctica

1) El alumno realizar la lectura de la prctica.

2) Investigue e imprima la hoja tcnica del circuito CD4052 teniendo especial inters la tabla
de funcionamiento del circuito y las terminales de alimentacin.

3) Realice la simulacin del circuito multiplexor/demultiplexor, siguiendo cada uno de los


puntos del procedimiento experimental. Guarde la simulacin y entregue una copia impresa
de la misma.

4) El alumno deber traer el circuito de la prctica previamente armado.

Equipo

1 Fuente de voltaje bipolar de CD


1 Generador de funciones
1 Osciloscopio

Prctica 1 2
Facultad de Estudios Superiores Cuautitln 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 ms 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 seal 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 seal de salida Vs acotndola


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.

Prctica 1 3
Facultad de Estudios Superiores Cuautitln UNAM

Figura 1.4. Modificacin del circuito multiplexor.

6. Para las mismas seales de entrada, observe en el osciloscopio las salidas Vs1, Vs2, Vs3 y
Vs4 y grafquelas acotndolas cuidadosamente para cada una de las combinaciones de los
selectores del circuito multiplexor.

Cuestionario.

1) Investigue en las hojas tcnicas del circuito multiplexor utilizado en la prctica cules son
los lmites de los voltajes de polarizacin y cmo influyen en los valores mximo y mnimo
de las seales de entrada?

2) Cul es la relacin entre el nmero de entradas y el nmero de selectores de un


multiplexor?

3) Para el microcontrolador PIC16F887 investigue cules son todas las funciones con las que
cuentan los puertos D y E, indicando cules son de tipo analgico y cules son digitales.

Conclusiones

Elabore un resumen que muestre las conclusiones a las que haya llegado despus de realizar todas
las actividades de esta prctica.

Bibliografa

Elabore una lista de las referencias bibliogrficas consultadas.

Prctica 1 4
Facultad de Estudios Superiores Cuautitln UNAM

Laboratorio de Microcontroladores
Prctica 2
Puertos del microcontrolador

Tema

4.2. Descripcin funcional de terminales.

Objetivos

Al trmino de esta prctica 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.

Introduccin

Los microprocesadores PIC tienen diversos puertos de entrada/salida paralelos de usos generales
denominados Puerto A, Puerto B, Puerto C, etc. El nmero de puertos depende del dispositivo que se
tenga. Por ejemplo, el PIC16F84A solo tiene dos puertos A y B en contraparte el PIC 16F887 tiene 5
puertos A, B, C, D y E. Para hacer una analoga, los puertos del microcontrolador son parecidos al
puerto paralelo de la PC, en los cuales la informacin sale y entra a travs de 8 lneas de datos.

Los puertos del microcontrolador PIC son el medio de comunicacin con el mundo exterior, en
ellos se pueden conectar los perifricos o circuitos necesarios como por ejemplo los mdulos LCD,
motores elctricos, etc; pero estas conexiones no se podrn realizar arbitrariamente. Existen unas
reglas bsicas que debern cumplirse para que el microcontrolador no sufra daos o se destruya.
Para ello es necesario conocer los lmites 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
caractersticas del microcontrolador que se est empleando, el punto de inicio y fin del programa,
etc. A continuacin, se describen las directivas ms importantes y comnmente empleadas.

LIST
Sirve para indicarle al MPLAB cul es el formato del archivo *.list dentro de los parmetros est el tipo de
procesador que se va a emplear.
list p=16Fxxx

INCLUDE
include <file>

Prctica 2 5
Facultad de Estudios Superiores Cuautitln UNAM

Sirve para incluir en el ensamblado el archivo indicado por el parmetro file. Es como si el file fuera
parte del archivo, como si se hubiera situado en la posicin en la cual la directiva aparece. El parmetro
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 genricas del PIC16Fxxx

ORG
[<etiqueta>] ORG <exp>

Sirve para indicar la direccin de memoria en la cual ser colocado el cdigo generado a continuacin. Si
el ORG no es indicado se empieza en la direccin 0. Ejemplo

ORG 0x05
inicio

Indica que la inicio inicio se colocar en la direccin 0x05 de la direccin de programa.

EQU
<identificador> EQU <expresion>

Permite asignar el valor de expresin al identificador. El general el identificador es un nombre que le es


ms familiar al programador. Ejemplo:

dato equ 0x20

Crea el identificador dato y lo asigna a la direccin 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 lneas que estn escritas previas a la aparicin de la directiva END.

Actividades previas a la prctica

1) El alumno realizar la lectura de la prctica.

2) La operacin de configuracin 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 lneas del puerto X como entrada y las lneas del
puerto Y como salida mostrando en todo momento la entrada del puerto X en el puerto Y.

Prctica 2 6
Facultad de Estudios Superiores Cuautitln UNAM

4) Si se desarrolla el algoritmo se reduce a :


a) Configurar PX como entrada y PY como salida Inicio
b) W= PX
c) PY=W
d) Ir paso b) Ir al banco 1

5) El diagrama de flujo que indica cmo se va a desarrollar el


programa queda como el mostrado en la figura 2.1.
Configurar el puerto
6) Realice la simulacin del sistema de microcontrolador, X como entrada
guarde la simulacin y entregue una copia impresa de la
misma. Si la simulacin tiene problemas con la barra de
leds, reduzca el valor de R10. Configurar el puerto
Y como salida
7) El alumno deber traer el circuito previamente armado.

Equipo Ir al banco 0

1 PC con software instalado:


MPLAB IDE W=Puerto X
1 Grabador universal o grabador de PICs
1 Fuente de voltaje de CD
Puerto Y=W
Material

1 Microcontrolador PIC 16F887


10 Resistencias de 1 k, watt
1 Dip switch de 8 Figura 2.1. Diagrama de flujo del programa
1 Push button de lectura y escritura de puertos.
Barra de leds
Tableta de Conexiones (protoboard)
Alambres y cables para conexiones

Procedimiento experimental

1. Crea un nuevo proyecto en MPLAB IDE, para ello ejecuta el programa y en la barra superior
elije la opcin Proyect Proyect Wizard, como se muestra en la figura 2.2.

Figura 2.2. Crear un nuevo proyecto.

Prctica 2 7
Facultad de Estudios Superiores Cuautitln UNAM

2. En la primera ventana se muestra una pantalla de bienvenida, selecciona siguiente y a


continuacin selecciona el PIC con el cual se va a trabajar, y da clic en siguiente (figura 2.3).

Figura 2.3. Seleccin 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.

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.

Prctica 2 8
Facultad de Estudios Superiores Cuautitln UNAM

Figura 2.5. Seleccin de carpeta en la cual se guardar el proyecto.

5. A continuacin, 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. Adiccin de los archivos necesarios para el proyecto.

6. Por ltimo, se da clic en Finalizar.

Prctica 2 9
Facultad de Estudios Superiores Cuautitln UNAM

7. continuacin se va a crear el archivo asm, para ello crea un nuevo archivo (figura 2.7) y en la
ventana que se abre escribe cdigo que se muestra a continuacin, respetando las
tabulaciones.

Figura 2.7. Creacin 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
;Definicin de variables
dato equ 0x20 ;Direccin de variable en un registro de memoria
;Vectores de interrupcin o de arranque
org 0
goto Inicio ;Salta hacia la etiqueta Inicio
org 5 ;donde se va a iniciar el programa.
;configuracin 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 tal subrutina.
call escribir_puerto_Y ;Llama a tal subrutina.
goto ciclo ;Regresa al ciclo.
;rea de subrutinas
;subrutina para leer el puerto X y guardarlo en dato
leer_puerto_X
movf portb,0 ;Guarda un dato en el registro W.
movwf dato ;Enva el acumulador al registro dato.
return ;Regresa de la subrutina.
;leer el valor de dato y escribirlo en el puerto c
escribir_puerto_Y
movf dato,0 ;Enva el dato al registro W.
movwf portX ;Escribe el dato en puerto X.
return
end

8. Una vez escrito el programa se guarda con extensin asm y se agrega al proyecto.

9. Para agregarlo, selecciona el men Window y selecciona Puertos.mcp. Da clic con el botn
derecho sobre la carpeta Source files, selecciona Add Files y agrega el archivo que se
acaba de crear con la extensin asm (figura 2.8).

Prctica 2 10
Facultad de Estudios Superiores Cuautitln UNAM

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. Seleccin del men Configure.

11. La ventana para seleccin 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. Seleccin del dispositivo para compilar.

Prctica 2 11
Facultad de Estudios Superiores Cuautitln 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. Compilacin del programa y creacin 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 fotografas 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 modificacin del cdigo del microcontrolador de modo que, al ingresar un dato
por el Puerto X, en un Puerto Z aparezca de manera simultnea el dato en cdigo EXC3. El
Puerto Y mantiene la funcin que tena 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?

Prctica 2 12
Facultad de Estudios Superiores Cuautitln UNAM

3) Si se desea usar un puerto cuyos bits tienen ms de una funcin, que registro o registros se
deben configurar. De dos ejemplos.

Conclusiones

Elabore un resumen que muestre las conclusiones a las que haya llegado despus de realizar todas
las actividades de esta prctica.

Bibliografa

Elabore una lista de las referencias bibliogrficas consultadas.

Prctica 2 13
Facultad de Estudios Superiores Cuautitln UNAM

Laboratorio de Microcontroladores
Prctica 3
Temporizadores

Tema

5.3. Programacin de microcontroladores.

Objetivos

Al trmino de esta prctica el alumno podr:

Crear retardos haciendo uso del temporizador bsico de los microcontroladores PIC, el
TIMER 0.

Introduccin

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 continuacin dicho valor
se va incrementando o decrementando al ritmo de los impulsos de reloj o algn mltiplo 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 mximo 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). Adems, 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, segn se lo programe.

Una vez alcanzado el valor 255, el registro TMR0 es puesto a cero automticamente 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 configuracin.

Prctica 3 14
Facultad de Estudios Superiores Cuautitln UNAM

Actividades previas a la prctica

1) El alumno realizar la lectura de la prctica.

2) Desarrollar un programa que encienda y apague un led de forma intermitente con periodos
de 0.4s en cada estado. Incluya los clculos realizados para configurar el mdulo del Timer0.

3) Si se desarrolla el algoritmo se reduce a:


Configurar el 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 e integre las rutinas anteriores para crear un
programa que permita mantener encendido el led durante un segundo y apagado otro
segundo de forma intermitente.

6) Compile el programa y corrija los posibles errores que surjan.

7) Realice la simulacin del sistema de microcontrolador, guarde la simulacin y entregue una


copia impresa de la misma.

8) El alumno deber traer el circuito de la prctica 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 Resistencias de 1 k, watt
3 Resistencias de 330 , watt
1 Push button
3 Leds
Tableta de Conexiones (Protoboard)
Alambres y cables para conexiones

Prctica 3 15
Facultad de Estudios Superiores Cuautitln UNAM

Procedimiento experimental

1. Haciendo uso del proyecto creado anteriormente y siguiendo la lgica de las actividades
previas, programe el microcontrolador haciendo uso de la rutina 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 armado en la protoboard, de acuerdo al diagrama de la figura 3.1, y con


ayuda del osciloscopio, grafique la seal de salida del pin PX.Y, acotndola correctamente.

3. Tome una fotografa donde se observe el funcionamiento del circuito.

Figura 3.1. Diagrama del circuito de retardo.

4. Aprovechando las rutinas de los cdigos realizados en las actividades previas, cree un
programa que controle tres pines del Puerto X de modo que funcione como un semforo.

5. Modifique el circuito de la figura 3.1 para realizar la prueba del sistema de semforo.

Cuestionario

1) Cul es el valor mximo que puede tener el valor de la variable tiempo para la instruccin
de retardo?

2) Explique el funcionamiento del prescaler del microcontrolador PIC16F887.

Prctica 3 16
Facultad de Estudios Superiores Cuautitln UNAM

3) Determine el tiempo mximo de retardo que se puede lograr con el Timer0 del
microcontrolador empleado en la prctica y explique cules son sus limitaciones de
funcionamiento.

Conclusiones

Elabore un resumen que muestre las conclusiones a las que haya llegado despus de realizar todas
las actividades de esta prctica.

Bibliografa

Elabore una lista de las referencias bibliogrficas consultadas.

Prctica 3 17
Facultad de Estudios Superiores Cuautitln UNAM

Laboratorio de Microcontroladores
Prctica 4
Interrupciones

Tema

5.4. Programacin de los registros internos.

Objetivos

Al trmino de esta prctica el alumno podr:

Comprender el uso de interrupciones como seales de alta prioridad durante la ejecucin de


programas.
Hacer uso del puerto RB0/INT para detener un proceso y ejecutar una subrutina por medio
de la interrupcin.
Hacer uso del mdulo del WDT como una fuente de interrupcin en el modo sleep.

Introduccin

Una interrupcin es un evento que notifica al CPU del microcontrolador sobre la ocurrencia de una
situacin excepcional de uno de sus perifricos, es decir, las
interrupciones son seales de alta prioridad que permiten
que, cuando se produzca un evento interno o externo, se
detenga la ejecucin del programa principal en cualquier
momento. En el momento de producirse la interrupcin, el
microcontrolador ejecuta un salto al vector de interrupcin
de la memoria de programa y ejecuta la rutina de atencin
a la interrupcin, previamente definida por el
programador, donde se atender a la solicitud de la
interrupcin. Cuando se termina de ejecutar dicha rutina, el
PIC retoma a la ejecucin del programa principal en el
mismo punto donde se produjo la interrupcin.

Los microcontroladores PIC de gama baja y media poseen


un nico vector de interrupcin situado en la direccin 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
interrupcin de distinta prioridad, alta y baja
respectivamente.
Figura 4.1. Memoria de programa y la pila
del PIC16F887.

Prctica 4 18
Facultad de Estudios Superiores Cuautitln UNAM

El nmero de fuentes de interrupcin dependen del microcontrolador utilizado y se dividen en dos


tipos: interrupciones internas, generadas por los distintos perifricos con que cuenta el
microcontrolador; y las interrupciones externas, que son detectadas por las terminales del circuito
destinadas para esta funcin. En los microcontroladores PIC de gama media, es comn que las
terminales con la funcin de detectar las interrupciones externas se encuentren en el puerto B, ms
especficamente en el pin RB0.

Durante la interrupcin, la direccin de retomo del programa principal se almacena en la pila y el


contador de programa se carga con la direccin 0004h.

Actividades previas a la prctica

1) El alumno realizar la lectura de la prctica.

2) Desarrollar un programa en lenguaje C que realice un conteo descendente en 8 bits en el


Puerto X, con un intervalo de 0.5 segundos entre cada decremento, de forma continua, y por
medio de RB0 se va a introducir una interrupcin que haga que el Puerto X funcione como
un registro de corrimiento a la izquierda, con un intervalo de 0.5 segundos entre cada
cambio. Cuando se hallan recorrido las ocho posiciones del registro el programa deber
terminar la interrupcin y retomar el conteo en el ltimo valor en el que encontraba antes
de la interrupcin.

3) El desarrollo del algoritmo se reduce a:


Configurar el puerto X como salida.
Configurar las interrupciones.
Configurar el pin RB0 como entrada de interrupcin.
Escribir el programa de conteo descendente.
Crear la funcin de la interrupcin.

4) Realice el diagrama de flujo que indica cmo se va a desarrollar el programa.

5) Cada vez que se activa la interrupcin a travs de RB0/INT el programa se dirige a la


direccin 0x04, en lenguaje C no es necesario direccionar los vectores de interrupcin, pero
es necesario que se indique mediante la directiva:

#INT_EXT //Interrupcin externa por RB0

E inmediatamente despus se coloca la rutina de interrupcin que comprende la siguiente


estructura:

// Funcin de Interrupcin
ext_isr( ){
Cdigo de la rutina de interrupcin
}

6) Para habilitar las interrupciones se deben colocar al inicio del programa principal las
instrucciones para la configuracin de las interrupciones.

Prctica 4 19
Facultad de Estudios Superiores Cuautitln UNAM

// Configuracin de interrupciones
set_tris_B(0x01); //Habilita RB0 como entrada.
enable_interrupts(int_ext); //Habilita interrupcin externa RB0.
ext_int_edge(H_TO_L); //Interrupcin por flanco de bajada.
enable_interrupts(global); //Habilita interrupciones globales.

7) Disee el programa principal, de acuerdo a lo visto en la prctica anterior.

8) Compile el programa con MPLAB IDE, corrigiendo los posibles errores.

9) Realice la simulacin del sistema de microcontrolador, guarde la simulacin y entregue una


copia impresa de la misma.

10) El alumno deber traer el circuito de la prctica 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 lgica del algoritmo de las
actividades previas, programe el microcontrolador.

2. Compruebe que estn correctamente colocados la barra de leds en el puerto X y un


interruptor en RB0/INT, como en el circuito mostrado en la figura 4.2.

3. Programe el microcontrolador y verifique que realice el conteo de forma correcta. Anote sus
observaciones.

Prctica 4 20
Facultad de Estudios Superiores Cuautitln UNAM

4. Tome una fotografa donde se observe el funcionamiento del circuito.

Figura 4.2. Diagrama del circuito de conteo e interrupcin.

5. Cambie de alto a bajo el bit RB0/INT, explique lo que sucede con las seales en el puerto de
salida. Active varias veces la interrupcin y anote sus observaciones.

Cuestionario.

1) El control de las interrupciones en lenguaje ensamblador se lleva a acabo principalmente


por el registro INTCON, describa la funcin dcada uno de sus bits.

2) El microcontrolador PIC16F887 cuenta con numerosas fuentes de interrupcin, describa


detalladamente al menos tres distintas a la empleada en la prctica.

3) Investigue en la pgina del fabricante del microcontrolador usado en la prctica si existen


modelos que posean ms de una fuente de interrupcin externa y mencinelos.

Conclusiones

Elabore un resumen que muestre las conclusiones a las que haya llegado despus de realizar todas
las actividades de esta prctica.

Bibliografa

Elabore una lista de las referencias bibliogrficas consultadas.

Prctica 4 21
Facultad de Estudios Superiores Cuautitln UNAM

Laboratorio de Microcontroladores
Prctica 5
Conexin con dispositivos de interfaz

Tema

6.2. Herramientas para desarrollo de programas con microcontroladores.

Objetivos

Al trmino de esta prctica el alumno podr:

El alumno aprender a programar el microcontrolador para que interacte con otros


dispositivos haciendo uso de bibliotecas creadas en lenguaje C.

Hacer uso de los dispositivos ms comunes que sirven como interfaz con el usuario como
pueden ser el teclado y una pantalla LCD.

Introduccin

Existe una gran variedad de aplicaciones en las que el microcontrolador debe proporcionar
informacin del estado de un proceso al usuario o simplemente, mostrar ciertos datos que se le han
solicitado. Adems de lo anterior, tambin 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 ms 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 posicin vertical y horizontal que ocupa dicho botn. Al estar conectado
este dispositivo al puerto de un microcontrolador, es posible interpretar las seales que provienen
de ste, de acuerdo a la combinacin especfica en sus lneas de filas y columnas, y relacionarlas con
el botn que fue presionado. La figura 5.1 tambin 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 tamaos y capacidades, es comn que
se cataloguen en funcin del nmero de caracteres que pueden contener por fila y el nmero de filas
o renglones que tienen, por ejemplo, en la figura 5.2 se muestra un display de tamao16x2, es decir,
dos filas de diecisis caracteres cada una. Cada display contiene un cierto nmero de lneas
dedicadas a alimentacin, datos y control y comnmente una lnea que controla el contraste de la
pantalla.

Prctica 5 22
Facultad de Estudios Superiores Cuautitln UNAM

Para facilitar la interaccin 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
programacin, aunque siempre existe la posibilidad de que las bibliotecas no cumplan
completamente con nuestros requerimientos por lo que puede ser necesario realizar alguna
modificacin, lo cual tambin resulta una tarea sencilla pues la mayora de las bibliotecas son de
cdigo libre.
C1 C2 C3
F1
Color Funcin
Negro Comn (GND)
Caf Comn (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)

Figura 5.1. Teclado de tipo matricial

Figura 5.2. Pantalla LCD de 16x2 (display)

Actividades previas a la prctica

1) El alumno realizar la lectura de la prctica.

2) Investigar lo que es el cdigo ASCII e imprimir una tabla de este cdigo.

3) Desarrolle un programa que permita que el microcontrolador funcione como una agenda
electrnica. Dentro del cdigo del microcontrolador debern incluirse el nombre y telfono
de cada uno de los miembros del equipo, un familiar de cada uno, un nmero de emergencia

Prctica 5 23
Facultad de Estudios Superiores Cuautitln UNAM

como bomberos, polica u otro, el nmero de una pizzera y el de un mdico; cada uno de
estos nombres y nmeros debern estar asociados a una tecla que al ser presionada
mostrar la informacin en el display. Adems, 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.

4) El diagrama de flujo que muestra cmo 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 pre-
procesado las bibliotecas de control
INICIO
del teclado y del display.
b. Mostrar el mensaje de bienvenida.
c. Crear un ciclo continuo que va a
contener la agenda. Declarar Directivas
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 revisin del puerto
del teclado.
Leer el puerto del
f. Al presionarse cualquier tecla el
programa debe identificar cul fue, teclado
esto se puede lograr de diferentes
maneras, por lo que no hay una
solucin nica. NO Identificar si se
g. Con la tecla identificada, mostrar la presion alguna tecla
informacin asociada en el display.
h. Se repite todo el ciclo desde lo que se SI
indica en el inciso d). Identificar la tecla
6) Compile el programa con MPLAB IDE, presionada
corrigiendo los posibles errores.

7) Realice la simulacin del sistema de Enviar la informacin


microcontrolador, guarde la simulacin y al puerto del display
entregue una copia de la misma.

8) El alumno deber traer el circuito


previamente armado.
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) est modificado para trabajar un
puerto distinto al que usa el display LCD o que se est empleando el driver flex_lcd.c para
controlar para el display LDC y se empleen pines de puerto distintos al del teclado matricial.

Prctica 5 24
Facultad de Estudios Superiores Cuautitln 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 Potencimetro 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 lgica 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 esquemtico del circuito de la agenda electrnica.

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

Prctica 5 25
Facultad de Estudios Superiores Cuautitln UNAM

4. Programe el microcontrolador y verifique que muestre la informacin contenida en la


memoria de la Agenda Electrnica. Anote sus observaciones.

5. Incluya algunas fotografas donde se observe el funcionamiento del circuito.

6. Aplique una seal de reset y compruebe que el circuito contine 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 tcnicas al menos dos tipos de memorias que podran ser
adicionadas al sistema de modo que se pueda ampliar la capacidad de almacenamiento de
datos en la agenda. Indique las principales caractersticas 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 cules son las bibliotecas en C, s
existen, que los controlan.

Conclusiones

Elabore un resumen que muestre las conclusiones a las que haya llegado despus de realizar todas
las actividades de esta prctica.

Bibliografa

Elabore una lista de las referencias bibliogrficas consultadas.

Prctica 5 26
Facultad de Estudios Superiores Cuautitln UNAM

Laboratorio de Microcontroladores
Prctica 6
Temporizadores y contadores

Tema

6.3. Elaboracin de proyectos.

Objetivos

Al trmino de esta prctica el alumno podr:

Crear rutinas de retardo a partir de programacin en C para microcontroladores.

Utilizar uno de los mdulos de temporizacin en modo de contador para identificar eventos
que se produzcan de forma externa al microcontrolador.

Introduccin

Los temporizadores son mdulos perifricos que se encuentran dentro de los microcontroladores,
tienen la funcin de crear retardos de tiempo en base a registros que se incrementan de acuerdo a
un oscilador interno asociado a ellos. Tpicamente, existen temporizadores de 8 y 16 bits y vara el
nmero de mdulos 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 acta 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 mdulo del
temporizador, por ejemplo, el valor que puede tomar el prescaler, que se puede consultar de tablas
incluidas en las hojas tcnicas del microcontrolador, la frecuencia del reloj con la que opera el c, la
fuente del reloj y el lenguaje de programacin en que se realiza el cdigo. Es necesario realizar estas
consideraciones para poder obtener un resultado apropiado.

Otra forma de lograr retardos de tiempo es mediante software, usando la programacin en


lenguaje C. Existen directivas de pre-procesado que, al ser incluidas dentro del cdigo de
programacin, permiten crear estos retardos simplemente especificando la frecuencia del oscilador
del microcontrolador y usando instrucciones especficas de retardo dentro del cdigo. 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 vara con cada compilador.

Prctica 6 27
Facultad de Estudios Superiores Cuautitln UNAM

Existe una funcin adicional asociada a algunos temporizadores que permite usar seales externas
como la fuente de reloj del temporizador. Cuando se utiliza esta opcin, 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 prctica

1) El alumno realizar la lectura de la prctica.

2) Defina los trminos: periodo, frecuencia, seal de 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 seleccin que permita cambiar
entre una seal de salida con una frecuencia de 1.2 kHz y una con frecuencia de 3 kHz.

4) El algoritmo debe seguir la siguiente lgica:


Configurar el pin de entrada del puerto PX.Z
Configurar el pin de salida del puerto PX.Y
Crear un ciclo que haga una revisin del estado del pin de entrada PX.Z
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 2.2 kHz.
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 3.7 kHz.

5) Realice el diagrama de flujo que indique cmo se va a desarrollar el programa.

6) Compile el programa con MPLAB IDE, 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 algoritmo debe tener la siguiente lgica:


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 el mensaje Valor de conteo: en la primera lnea del display
Crear un ciclo que haga una revisin 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 el display

9) Realice el diagrama de flujo que indica cmo se va a desarrollar el programa.

10) Compile el programa con MPLAB IDE, corrigiendo los posibles errores.

Prctica 6 28
Facultad de Estudios Superiores Cuautitln UNAM

11) Realice la simulacin 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 prctica previamente armados.

NOTA: Dentro de la simulacin, el diodo IR y el fototransistor se puede sustituir por el elemento


llamado "optocoupler" y un interruptor para aparentar la obstruccin del rayo de luz
infrarroja, como se muestra en la figura 6.1. La figura 6.2 muestra los diagramas del diodo IR
del fototransistor.

Figura 6.1. Optoacoplador para simulacin.

Transistor Infrarrojo PT331C LED Infrarrojo IR333C

Figura 6.2. Diagramas del diodo IR y del fototarnsistor .

Equipo

1 PC con software instalado:


MPLAB IDE
1 Grabador universal o grabador de PICs
1 Fuente de voltaje de CD
1 Osciloscopio

Material

Prctica 6 29
Facultad de Estudios Superiores Cuautitln UNAM

1 Microcontrolador PIC 16F887


1 Display LCD 16x2
1 Potencimetro 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

Procedimiento experimental

1. Haciendo uso del primer programa de las actividades previas y siguiendo la lgica de su
algoritmo programe el microcontrolador.

2. Pruebe el circuito en la protoboard, como el mostrado en la figura 6.3, tenga cuidado de 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 seal de reloj de salida.

4. Incluya una imagen donde se observe el funcionamiento del circuito, acotando


cuidadosamente las caractersticas de la seal de reloj como son frecuencia, periodo,
tiempo en alto y tiempo en bajo.

Figura 6.3. Circuito de reloj digital.

5. Cambien la posicin del interruptor de seleccin y observe en el osciloscopio el cambio de


frecuencia en la seal de salida.

6. Incluya una imagen donde se observe el cambio en la frecuencia de salida y actela por
completo como en se realiz con la seal anterior.

Prctica 6 30
Facultad de Estudios Superiores Cuautitln UNAM

7. Realice un nuevo programa empleando el mdulo del Timer0 y programacin en C


de modo que el circuito de la figura 6.3 tenga las mismas funciones del programa
anterior.

8. Con ayuda del osciloscopio, en acoplo de CD, verifique que el circuito genere de manera
correcta la seal de reloj de salida, tenga especial atencin en el periodo y los tiempos que
duran en alto y bajo las seales.

9. A continuacin, 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 que la orientacin de
los elementos pticos sea correcta.

10. Usando el segundo programa de las actividades previas y siguiendo la lgica de su algoritmo
programe el microcontrolador. Puede mejorar la direccin de la luz infrarroja emitida
formando un pequeo tubo con papel o cinta alrededor del diodo emisor.

11. Pruebe que, al interrumpir el haz de luz infrarroja, se incremente el valor del conteo
mostrado en la pantalla del display.

12. Aplique una seal de reset y observe el comportamiento del circuito.

13. Incluya fotografas del funcionamiento del circuito de conteo.

14. 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 seales. Anote
sus observaciones e incluya una imagen.

Figura 6.4. Circuito de conteo con sensor infrarrojo.

Prctica 6 31
Facultad de Estudios Superiores Cuautitln UNAM

Cuestionario.
1) Cul es el tiempo mximo que permite un retardo utilizando las instrucciones delay_ms y
delay_us?

2) Compare los valores de tiempo obtenidos en las mediciones realizadas para el circuito de la
figura 6.3, para ambos programas, existi diferencia entre los tiempos de retardo? Y de ser
as explique las posibles causas.

3) Investigue en las hojas tcnicas los valores del ngulo de dispersin y la longitud de onda del
led IR de la prctica. Incluya las grficas de distribucin espectral.

4) Cul es el lmite del conteo que se puede alcanzar con el circuito de la prctica y a qu se
debe dicho valor?

Conclusiones

Elabore un resumen que muestre las conclusiones a las que haya llegado despus de realizar todas
las actividades de esta prctica.

Bibliografa

Elabore una lista de las referencias bibliogrficas consultadas.

Prctica 6 32
Facultad de Estudios Superiores Cuautitln UNAM

Laboratorio de Microcontroladores
Prctica 7
Control de motores a pasos

Tema

7.2. Diseo de interfaces de control de potencia elctrica.

Objetivos

Al trmino de esta prctica el alumno podr:

Controlar el sentido de giro y posicin angular de un motor de pasos utilizando los modos de
operacin 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.

Introduccin

Los motores a pasos son dispositivos electromecnicos que convierten una serie de impulsos
elctricos 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 precisin y repetitividad en cuanto
al posicionamiento por lo que son ideales para la construccin de mecanismos en donde se
requieren movimientos muy precisos.

Figura 7.1. Motor a pasos.

La caracterstica 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 pequeos movimientos de tan
solo 1.8, es decir, que se necesitarn 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 peridicamente la combinacin de voltajes en sus terminales, como se ilustra en la figura
7.2.

Prctica 7 33
Facultad de Estudios Superiores Cuautitln UNAM

Figura 7.2. Secuencia de activacin de un motor a pasos (Full Step).

El ngulo de rotacin del eje, es directamente proporcional a la secuencia de pulsos insertados a las
bobinas y la velocidad de rotacin es dependiente de la frecuencia de dichos pulsos. Los motores a
pasos son simples de operar en una configuracin de lazo abierto y debido a su tamao
proporcionan un excelente torque a baja velocidad.

En combinacin con circuitos de control, adems del movimiento ilustrado en la figura 7.2,
conocido como paso completo (full step), es posible lograr movimientos an ms precisos. Este otro
modo de operacin 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 tambin 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 ms finos.

Figura 7.3. Secuencia de activacin 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 accin importantes y en la actualidad
podemos encontrar estos motores en unidades de discos pticos, unidades de disco duro,
impresoras, en gran variedad de mquinas herramientas y son dispositivos fundamentales para
proporcionar movimiento a los robots.

Prctica 7 34
Facultad de Estudios Superiores Cuautitln UNAM

Actividades previas a la prctica

1. El alumno realizar la lectura de la prctica.

2. Investigar la forma en que se pueden identificar las terminales de un motor a pasos y la


clasificacin a la que pertenece.

3. Desarrolle un programa para que el microcontrolador acte como el sistema control de un


motor a pasos con las siguientes funciones:
A travs de una seal de control, se selecciona el modo de funcionamiento entre paso
completo y medio paso.
Por medio de interruptores de seleccin, el motor debe girar de manera continua hacia
la derecha o izquierda, con una frecuencia en las seales de salida de 30 Hz.
De acuerdo al botn que se presione, el motor debe girar hacia la derecha o izquierda
exactamente 270 (3/4 de vuelta), con una frecuencia en las seales 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 simulacin de todos los puntos del desarrollo experimental usando el archivo con
extensin hex que obtuvo al compilar el cdigo, guarde la simulacin y entregue una copia
impresa de la misma.

5. El alumno deber traer el circuito de la prctica 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 Multmetro

Material
1 Microcontrolador PIC16F887
1 Controlador dual de puente completo L298N
1 Pantalla LCD de 16x2
1 Resistencias de 10 K a W
5 Resistencias de 1 K a W
1 Potencimetro 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

Prctica 7 35
Facultad de Estudios Superiores Cuautitln 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 prctica.

2. Haciendo uso del programa desarrollado en las actividades previas, y siguiendo la lgica de
su algoritmo, programe el microcontrolador.

3. Proceda a armar el circuito en la protoboard, como el mostrado en la figura 7.1, tenga


cuidado de que las conexiones correspondan con las terminales de los puertos elegidos
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

0.1uF 0.1uF 10k


9 4
D1 D3 D5 D7
5 1N4004 1N4004 1N4004 1N4004
IN1 VCC VS Fase 1 Fase 2
7 2
IN2 OUT1
10
IN3 Fase 3 Fase 4
12 3
IN4 OUT2
6
+5 11
ENA
13
ENB OUT3 +88.8

1 14
SENSA OUT4
15
SENSB GND

U2 D2 D4 D6 D8
L298 8 1N4004 1N4004 1N4004 1N4004

Figura 7.4. Circuito de control de motor a pasos.

Prctica 7 36
Facultad de Estudios Superiores Cuautitln 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. Lgica de funcionamiento del programa.


Full/Half Izquierda Derecha Funcin
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 la seales de salida que van hacia el circuito L298 y mida su frecuencia.

8. A continuacin, 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) Cules son las ventajas y desventajas de la operacin 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 botn, la posicin se incremente en un solo paso (esto se
conoce como Jogging).

3) Por qu es importante mantener la sincrona en motores a pasos?

Prctica 7 37
Facultad de Estudios Superiores Cuautitln UNAM

Conclusiones

Elabore un resumen que muestre las conclusiones a las que haya llegado despus de realizar todas
las actividades de esta prctica.

Bibliografa

Elabore una lista de las referencias bibliogrficas consultadas.

Prctica 7 38
Facultad de Estudios Superiores Cuautitln UNAM

Laboratorio de Microcontroladores
Prctica 8
Comparadores de voltaje

Tema

7.5. Control con optoacopladores.

Objetivos

Al trmino de esta prctica el alumno podr:

Implementar un control de iluminacin empleando elementos LDR y el mdulo del


comparador de voltaje del PIC16F887 usando lenguaje C.

Construir y calibrar un controlador con punto de ajuste independiente.

Introduccin

En la naturaleza, todos los fenmenos que se producen se presentan de manera analgica, 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 analgicos y circuitos
digitales, comparan la magnitud de dos voltajes analgicos proveyendo una indicacin 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 lmites fijados por los voltajes de saturacin 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.

Prctica 8 39
Facultad de Estudios Superiores Cuautitln UNAM

Por otro lado, los amplificadores operacionales han evolucionado en su diseo para funcionar
perfectamente an con la presencia de ruido en sus entradas.

En el caso de los microcontroladores, los comparadores son muy tiles pues permiten obtener una
funcionalidad analgica independientemente de la ejecucin del programa.

Los LDR (Light Dependent Resistors), o fotorresistencias, son ampliamente empleados en circuitos
de deteccin 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 dramticamente, ver
figura 5.3. Los LDR estn 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 conduccin del material y creando un efecto de disminucin de la resistencia.

Actividades previas a la prctica

1) El alumno realizar la lectura de la prctica.

2) Desarrolle un programa que permita que el microcontrolador funcione como un sistema de


control de iluminacin. El programa debe hacer uso de los mdulos de comparacin de
voltaje integrados en el microcontrolador, adems, circuito debe contar con entradas de
calibracin 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 travs 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 programacin al pin de puerto
correspondiente (terminal C1OUT) donde deber estar conectado uno de los LEDs.
La polaridad seleccionada no debe ser negativa.
El comparador C2 deber tener su entrada de voltaje a travs del canal 1 (terminal
C12IN2-) y su referencia deber estar ligada al exterior (terminal C2IN+) con un
voltaje de 4V. La salida deber conectarse por programacin 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 cmo se va a desarrollar el programa.

5) Compile el programa con MPLAB IDE, corrigiendo los posibles errores.

6) Realice la simulacin del sistema de microcontrolador para el programa, guarde la


simulacin y entregue una copia impresa de la misma.

7) El alumno deber traer el circuito de la prctica previamente armado.

Prctica 8 40
Facultad de Estudios Superiores Cuautitln UNAM

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

Material
1 Microcontrolador PIC 16F887
1 Amplificador operacional LM339
2 Fotorresistencias LDR de 2 M (tambin llamada fotoceldas)
3 Potencimetro 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 lgica 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 potencimetros 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 multmetro,
mida el voltaje en el que se produzca un cambio en cada uno de los leds.

5. Repita el punto 4 del desarrollo con la diferencia de que ahora debe comenzar con la
fuente de luz sobre los sensores y despus alejarla poco a poco.

6. Incluya fotografas del funcionamiento del circuito de conteo.

Prctica 8 41
Facultad de Estudios Superiores Cuautitln UNAM

Figura 8.3. Circuito de control de iluminacin.

7. Desconecte las seales de entrada Vin1 y Vin2 y en su lugar conecte en ambas terminales el
generador de funciones con una seal triangular de 5Vpp y un offset de 2.5V CD, 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 seal triangular
usada en el punto anterior y conecte las salidas C1OUT, C2OUT del microcontrolador y
C3OUT del comparador discreto a las tres terminales de alimentacin del led RGB.

9. Vare los voltajes de referencia por medio de los tres potencimetros para obtener al menos
5 colores diferentes en el led RGB y con ayuda del osciloscopio observe y grafique las
seales 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 fotografas y
explique a que se debe.

Figura 8.4. Circuito comparador discreto.

Prctica 8 42
Facultad de Estudios Superiores Cuautitln UNAM

Cuestionario.
1) Defina el concepto de histresis en comparadores de voltaje.

2) De acuerdo a las cuatro mediciones realizadas en los puntos 4 y 5 de la prctica, determine


el valor de resistencia de los LDR en el momento de los cambios en los Leds e incluya los
clculos realizados.

3) Investigue dos modelos de sensores de luz comerciales e incluya sus principales


caractersticas como son voltaje y corriente de operacin, sensibilidad, etc.

4) Revise los mdulos perifricos que contiene el PIC16F887 y explique cul sera capaz de
reproducir las seales observadas en el punto 9 del procedimiento.

Conclusiones

Elabore un resumen que muestre las conclusiones a las que haya llegado despus de realizar todas
las actividades de esta prctica.

Bibliografa

Elabore una lista de las referencias bibliogrficas consultadas.

Prctica 8 43
Facultad de Estudios Superiores Cuautitln UNAM

Laboratorio de Microcontroladores
Prctica 9
Convertidor Analgico Digital

Tema

8.1. Conversin Analgico Digital con microcontroladores.

Objetivos

Al trmino de esta prctica el alumno podr:

Configurar el mdulo de conversin analgica digital con que cuentan los


microcontroladores PIC de gama media.

Implementar un termmetro digital empleando un sensor de temperatura, una pantalla LCD


y el mdulo del ADC del PIC16F887 usando lenguaje C.

Introduccin

En los sistemas digitales, que trabajan nicamente con seales de 1s y 0s, cierto y falso, 0V y 5V,
no es posible manejar magnitudes continuas. Para integrar ambos mundos existen dispositivos
conocidos convertidores analgicos digitales con la capacidad de interpretar seales continuas y
traducirlas en valores numricos binarios que pueden ser comprendidos por los sistemas digitales.
El proceso de conversin de una seal se realiza en varias etapas, como se muestra en la figura 9.1.
A partir del sistema fsico se obtiene una seal con magnitud continua, por ejemplo, la temperatura.
Esta magnitud puede ser de naturaleza variada por lo que, para ser compatible con un sistema
electrnico, es necesario transformarla a una magnitud elctrica como son el voltaje o la corriente.
Para realizar esta transformacin se utiliza un elemento llamado transductor. Un transductor
convierte la seal del sensor en una seal de voltaje, que tambin es analgica.

El siguiente paso es acondicionar la seal, esto normalmente implica etapas de amplificacin y


filtrado de la seal. Por ltimo, la seal acondicionada entra al convertidor A/D de donde se obtiene
una seal digital en formato binario.

Figura 9.1. Diagrama de bloques del proceso de conversin A/D.

Prctica 9 44
Facultad de Estudios Superiores Cuautitln UNAM

La seleccin del tipo de convertidor A/D depende de muchos factores que se determinan a travs
de la naturaleza del sistema fsico. Adems, se deben tener en cuenta factores como la exactitud, la
resolucin deseada (el nmero de bits), el error de cuantizacin mximo, el tiempo de conversin y
la linealidad, que representa la desviacin de los cdigos de salida respecto al trazo de una lnea
recta desde cero hasta el valor a plena escala.

Actividades previas a la prctica

1) El alumno realizar la lectura de la prctica.

2) Desarrolle un programa que, utilizando lenguaje C, permita interpretar seales de voltaje


analgico por medio del mdulo del convertidor A/D del microcontrolador y mostrar los
datos resultantes de la conversin en un display LCD.

3) Dibuje el diagrama de flujo que muestre el desarrollo del programa de conversin


analgica 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 resolucin del
convertidor, el canal analgico que se va a utilizar y la fuente de reloj del
convertidor.
Habilitar el display LCD para comenzar el envo de datos.
Crear un ciclo continuo donde se realice el proceso de conversin, se muestre en el
display el valor binario que resulta de la conversin, el valor del voltaje analgico de
entrada y la temperatura equivalente a ese nivel de voltaje. La figura 9.2 muestra un
ejemplo de la informacin que debe mostrar el display LCD.
El sensor empleado puede medir temperaturas de 0C a 100C, con un rango de
voltaje en su salida de 0V a 1000mV. Debido a que el convertidor se emplear con un
voltaje de referencia mximo de 5V entonces se requiere que la seal del sensor se
amplifique 5 veces para obtener un rango de 0V a 5V. Los detalles correspondientes
al sensor de la prctica se pueden ver en la figura 9.3.
No olvide dar un retardo de tiempo entre cada medicin para permitirle al usuario
leer la informacin mostrada en el display.
Por ltimo, el circuito debe contar con una seal de seleccin para elegir si la
temperatura se muestra en C o en K.

Figura 9.2. Informacin desplegada en el display LCD despus de la conversin A-D.

Prctica 9 45
Facultad de Estudios Superiores Cuautitln UNAM

5) Compile el programa con MPLAB IDE, corrigiendo los posibles errores.

6) Realice la simulacin del sistema de microcontrolador, guarde la simulacin y entregue una


copia impresa de la misma.

7) El alumno deber traer el circuito de la prctica previamente armado.

[( )] =


5 [100 (10 )] = 5

Figura 9.3. Caractersticas del sensor de temperatura LM35D.

Equipo

1 PC con software instalado:


MPLAB IDE
1 Grabador universal o grabador de PICs
1 Fuente de voltaje de CD
1 Multmetro

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 Potencimetro de 2 k
1 Capacitor de 1F a 25V
1 Push button
Tableta de Conexiones (Protoboard)
Alambres y cables para conexiones

Prctica 9 46
Facultad de Estudios Superiores Cuautitln UNAM

Procedimiento experimental

1. Haciendo uso del primer programa de las actividades previas y siguiendo la lgica 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.

Figura 9.4. Circuito de control de iluminacin.

3. Sin tocar el termmetro digital, anote los datos obtenidos, estos corresponden al valor de
la temperatura ambiente.

4. Compruebe con ayuda del multmetro que el voltaje analgico mostrado en el display LCD
sea correcto.

5. Utilizando el termmetro digital, tome las mediciones de temperatura de otros cuatro


objetos de diferentes objetos y regstrelas en una tabla donde se muestren todos los datos
obtenidos.

6. Incluya fotografas del funcionamiento del termmetro digital.

Cuestionario.
1) Calcule la ganancia de voltaje del circuito amplificador de la prctica y la resolucin del
convertidor A/D empleado.

Prctica 9 47
Facultad de Estudios Superiores Cuautitln UNAM

2) De acuerdo a los resultados de las preguntas anteriores, cul sera el valor del voltaje de
entrada al microcontrolador si la temperatura fuera de 45C?

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 ms de una entrada analgica?

Conclusiones

Elabore un resumen que muestre las conclusiones a las que haya llegado despus de realizar todas
las actividades de esta prctica.

Bibliografa

Elabore una lista de las referencias bibliogrficas consultadas.

Prctica 9 48
Facultad de Estudios Superiores Cuautitln UNAM

Laboratorio de Microcontroladores
Prctica 10
Modulacin por ancho de pulso

Tema

9.1. Modulacin por ancho de pulso (PWM) empleando microcontroladores.

Objetivos

Al trmino de esta prctica el alumno podr:

Configurar el mdulo de Captura, Comparacin y PWM (mdulo CCP) en modo de generador


de seales PWM.

Implementar un control de velocidad para motores de CD empleando modulacin por ancho


de pulsos empleando el mdulo CCP del PIC16F887 usando lenguaje C.

Introduccin

Por lo general, todo sistema que procesa informacin binaria para controlar un proceso analgico
requiere una etapa de entrada analgica digital y una etapa de salida digital analgica
(convertidores ADC y DAC). Para reducir costos en los diseos que no requieren alta resolucin en
la etapa de salida, es posible sustituir el DAC por un algoritmo de Modulacin por Ancho de Pulsos
(PWM Pulse Width Modulation). Una unidad PWM permite asignar cierta duracin de tiempo en
alto o en bajo a un dato digital de n bits que se considera salida de la etapa de control.

La modulacin por ancho de pulsos permite generar seales de frecuencia y ciclo de trabajo
variados. Las principales caractersticas de una seal 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 modulacin por ancho de pulso (PWM).

El periodo se relaciona con la frecuencia de la seal, lo que indica el nmero de pulsos generado
por unidad de tiempo, mientras que el ciclo de trabajo, tambin conocido en ingls como duty cycle,

Prctica 10 49
Facultad de Estudios Superiores Cuautitln UNAM

determina la anchura de cada pulso. Hay que remarcar que el ancho del pulso es independiente de la
frecuencia de la seal.

El voltaje promedio suministrado por el generador PWM es proporcional a dicha seal, es decir, el
voltaje es directamente proporcional ancho del pulso. Como resultado, tambin la potencia
entregada es directamente proporcional, de modo que entre ms 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 modulacin por ancho de pulso (PWM) es una tcnica para controlar circuitos analgicos con
una salida digital. Se utiliza en mltiples aplicaciones, algunas como controlar la intensidad de una
luz y regular la velocidad de los motores de CD.

Figura 10.2. Relacin Voltaje Ancho de pulso de una seal PWM.

Actividades previas a la prctica

1) El alumno realizar la lectura de la prctica.

2) Realice los clculos necesarios y escriba las instrucciones correspondientes para generar
una seal PWM mediante el mdulo CCP1 del PIC16F887 con las siguientes caractersticas:
Frecuencia de 1.2 kHz y ciclo de trabajo del 35%.

3) Al desarrollar el algoritmo del programa, todo se reduce a lo siguiente:


C006Fnfigurar el puerto C como salida.
Configurar el valor del ciclo de trabajo.
Configurar el Timer2 para el ciclo de trabajo.
Habilitar el mdulo CCP1 para que trabaje como PWM.

Prctica 10 50
Facultad de Estudios Superiores Cuautitln UNAM

4) Para configurar el periodo de trabajo se utiliza la instruccin:

setup_timer_2(T2_DIV_BY_x,PR2,TMR2)

donde el valor de PR2 se tiene que calcular de acuerdo a la frmula que se indica en las hojas
de datos tcnicos.

5) Para indicar el ciclo de trabajo se utiliza la instruccin:

set_pwm1_duty(valor_ciclo)

donde valor_ciclo se tiene que determinar mediante la frmula de PWM duty cicle de la hoja
de datos tcnicos.

6) Dibuje el diagrama de flujo que indica cmo se va a desarrollar el programa.

7) Realice la simulacin de todos los puntos del desarrollo experimental empleando software,
guarde la simulacin y entregue una copia impresa de la misma.

8) Desarrolle un algoritmo que proporcione, de manera automtica, el perfil de velocidad


mostrado en la figura 10.3 al presionar el botn 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 posicin de reposo.

9) El programa debe iniciar al presionar un botn de arranque y debe de permitir seleccionar


el sentido de giro del motor por medio de un selector que controle las seales D1 y D2.

10) El alumno deber traer el circuito de la prctica previamente armado.

Prctica 10 51
Facultad de Estudios Superiores Cuautitln 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 Multmetro

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 lgica 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 mdulo CCP1.

3. Encienda el circuito y con ayuda del osciloscopio, mida la terminal de salida para comprobar
que la seal tiene la frecuencia y el ciclo de trabajo indicados en las actividades previas y
grafquela.

Figura 10.4. Circuito generador de seales PWM.

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


velocidades.

Prctica 10 52
Facultad de Estudios Superiores Cuautitln 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 multmetro mida la corriente y voltaje promedio suministrados al motor en


cada fase del perfil de velocidades. Anote cada uno de los valores.

8. Incluya fotografas del funcionamiento del sistema de regulacin 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 10KHz, con un ciclo del 40%, qu valores se
tendran que poner el valor_ciclo y PR2?

2) Si se desea trabajar con CCP2 Qu modificaciones se le tendran que hacer al programa


principal?

3) Si se deseara variar el ciclo de trabajo del mdulo PWM de forma externa, qu es lo que
podra 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 despus de realizar todas
las actividades de esta prctica.

Bibliografa

Elabore una lista de las referencias bibliogrficas consultadas.

Prctica 10 53

You might also like