Anda di halaman 1dari 8

UNIVERSIDAD TÉCNICA DE AMBATO

FACULTAD DE INGENIERÍA EN SISTEMAS,


ELECTRÓNICA E INDUSTRIAL

CARRERA DE INGENIERÍA EN ELECTRÓNICA Y


COMUNICACIONES

Microcontroladores

Séptimo “A”

Practica N° 2

Tema:
Control de motor DC con DIO e interrupción externa

Integrantes:

Chinachi Erik
Peñaloza Alexis
Solís Andrés

Fecha de Envío: 27/09/2018

Fecha de Entrega: 04/10/2018

Docente: Ing. Edgar Patricio Córdova Córdova

SEPTIEMBRE 2018 – FEBRERO 2019

AMBATO - ECUADOR
2018
INFORME DE PRACTICA N. 2

1. TEMA:

Control de motor DC con DIO e interrupción externa

2. OBJETIVOS

a. Objetivo General

 Establecer códigos en ensamblador para el funcionamiento del


microcontrolador junto a la implementación de circuitos planteados.

b. Objetivos Específicos

 Realizar una programación en Mplab que permita controlar el giro de un motor


con una interrupción interna a base de programación de esambler.
 Implementar un circuito en protobard que contenga todos los materiales
necesarios para su previa ejecución.
 Ejecutar en un pic 877A la programación de esambler establecerlo en el
circuito para observar su correcto funcionamiento.

3. FUNDAMENTACIÓN TEÓRICA

Microcontrolador
Se denomina microcontrolador a un dispositivo programable capaz de realizar diferentes
actividades que requieran del procesamiento de datos digitales y del control y
comunicación digital de diferentes dispositivos.
Los microcontroladores poseen una memoria interna que almacena dos tipos de datos; las
instrucciones, que corresponden al programa que se ejecuta, y los registros, es decir, los
datos que el usuario maneja, así como registros especiales para el control de las diferentes
funciones del microcontrolador. [1]

Pic 16F877A
El microcontrolador PIC 16F877a forma parte de las familias de PIC 16F, con robustez
de mediana capacidad y disponible con 40 terminales de configuración. Su
funcionamiento va acompañado por su archivo “.hex”, que domina las funciones y
registros que se llevan a cabo en el dispositivo. [1]
Figura 1: PIC 16F877a
Fuente: [1]

Ensamblador

El lenguaje ensamblador es un lenguaje de programación que está dedicado a escribir


programas de bajo nivel; déjame explicarte un poco sobre los programas de bajo nivel
pues bien un programa de bajo nivel es aquel que ejerce control sumamente directo al
hardware, la palabra bajo hace referencia a una reducida abstracción entre lo que es el
lenguaje y el hardware; los programas de bajo nivel son hechos para controladores,
aplicaciones especializadas en tiempo real, entre otras.
Sus grandes potencialidades son:
 Manejo de Registros
 Manejo de Funciones especiales
 Bancos de Memoria
 Banderas [2]

MPlab

MPLAB-IDE es un programa software que se ejecuta sobre un PC para desarrollar


aplicaciones para microcontroladores de MICROCHIP, además constituye un entorno de
desarrollo integrado distribuido gratuitamente por Microchip Inc. (principal fabricante de
los microcontroladores PIC). Este IDE está disponible para descargarse desde su página
disponible en internet. [3]
Figura 2: Mplab
Fuente: [3]
4. MATERIALES Y EQUIPOS
- Software de programación MPLAB
- PIC 16F877A
- Pickit 2 en hardware y software
- Protoboard
- Fuente de Alimentación
- Resistencias
- Motor DC
- Puente H
- Pulsadores
- Deep Switch
- Leds

5. DIAGRAMAS Y ESQUEMAS

Simulación en Proteus

Figura 3: Simulación Final del circuito en Proteus con su respectivo PIC


Fuente: Grupo de trabajo
6. DESARROLLO

IDE: MPLAB X - ENSAMBLADOR

Cambio de giro Motor DC

Código Ensamblador:

Figura 4: Declaración de los registros del Pic mediante STATUS.


Fuente: Grupo de trabajo

Figura 5: Declaración de los puertos a utilizar mediante la habilitación BTFSS.


Fuente: Grupo de trabajo
Simulación Proteus

Figura 6: Elaboración del circuito en el software Proteus


Fuente: Grupo de trabajo

Implementación:

Figura 7: Elaboración del circuito físico en protoboard


Fuente: Grupo de trabajo
7. ANÁLISIS DE RESULTADOS

a. Resultados Esperados:

Al pulsar el pulsador P0 el motor DC inicia su marcha (Encendido en sentido de giro


horario) y a la vez se enciende el led L1 como indicador de encendido, mientras que
pulsador P1 se encuentra apagado, el motor va seguir girando en sentido horario
accionando el led L2.
Si mientras este está en funcionamiento se requiere que el motor DC gire en el otro sentido,
al accionar el pulsador P1, el motor DC cambie su sentido de giro de horario a anti horario
y al mismo tiempo se encenderá el led L3, apagando el Led L2, todo esto indicando que
el motor ha invertido su giro. Se requiere de una interrupción externa que al ser presionado
el pulsador apagará todo hasta que se deje de presionar.

b. Resultados Obtenidos:

En nuestro circuito con la ayuda del PIC16F887 se obtuvo que:

Al presionar el botón P0 se logra que el motor se encienda en un sentido, y no hace falta


de mantener presionado el botón para que este se mantenga girando, entendiendo que el
motor está girando en sentido horario, los leds respectivos L1 y L2 se encienden
cumpliendo con la primera etapa del circuito.
Posteriormente en el pulsador P1 se observa que depende de que el pulsador se mantenga
pulsado para que el motor cambie de giro a giro anti horario y encendiendo L3, denotando
que al no pulsarlo el motor regresa a estar en el sentido original.

8. CONCLUSIONES

 Mediante la programación en Mplab se programó una lista de registros e


interrupciones las cuales permitan encender, apagar leds y además poder cambiar
el giro de un motor DC.
 Se compilo la programación de mplab para obtener un archivo hex el cual se
transfirió por una interfaz física al pic 877A para poder armar un circuito en
protoboard.
 Se verifico el funcionamiento del circuito en la protobard manipulando los
parámetros de entrada para observar su correcta ejecución.

9. RECOMENDACIONES

 Se recomienda incluir en la programación la lista de librerías del pic para evitar


errores al momento de su compilación.
 Al momento de transferir el archivo hex al pic se debe conectar de manera
correcta para no sobrecalentar el pic y evitando que este se queme.
 Cuando se arme el circuito en la protoboard se recomienda polarizar de manera
correcta el pic y los materiales electrónicos para evitar fallos o daños del
funcionamiento del circuito.

10. BIBLIOGRAFÍA

[1] Microchip, «Microchip - 16F877a,» MT Inc, Marzo 2018. [En línea]. Available:
http://www.microchip.com/wwwproducts/en/PIC16F877A. [Último acceso: Marzo
2018].

[2] U. J. 3. Madrid, «OCW - Lenguaje Ensamblador,» UCJ3M, Marzo 2018. [En línea].
Available: http://ocw.uc3m.es/tecnologia-electronica/sistemas-digitales-basados-en-
microprocesador-del-bit-al-sistema/pruebas-evaluacion/asm_quiz_1.pdf/view. [Último
acceso: Marzo 2018].

[3] M. INC, «MPLAB IDE - Microchip,» Microchip, MArzo 2018. [En línea]. Available:
http://www.microchip.com/mplab/mplab-x-ide. [Último acceso: Marzo 2018].