Está en la página 1de 16

INSTITUTO POLITECNICO NACIONAL

ESCUELA SUPERIOR DE INGENIERIA

MECÁNICA Y ELÉCTRICA
“UNIDAD AZCAPOTZALCO”

INGENIERÍA EN ROBÓTICA INDUSTRIAL

Interfases Periféricos y Programación I.

Práctica 4. Identificación del Hardware del


microcontrolador a utilizar (Arranque, Paro,
Cambio de giro)
PRESENTAN:

EQUIPO 26

Cuarenta Castañeda Juan José 2014090166

Martínez Gómez Gerardo Daniel 2017361581

Santiago Juan Misael 2016360746

GRUPO: 7RM1.

PROFESOR: RAMÓN VALDES MARTÍNEZ.

FECHA DE ENTREGA DE REPORTE: 15/10/2019


OBJETIVOS:

1. Familiarizarnos con los programas de lenguaje ensamblador y el sistema de


programación de AVR’s.
2. Utilizar el RISC para programación en lenguaje ensamblador y el lenguaje C para AVR.
3. Programación de la memoria EEPROM de nuestros dispositivos PIC y AVR.
4. Utilizar puertos distintos para entradas y salidas.
5. Editar, compilar y emular programas de lenguaje ensamblador y lenguaje C.
6. Observar la Arquitectura del PIC y AVR para realizar conexiones de los puertos.

MATERIALES:

• Programador universal
• PIC 16F887
• ATMEGA 328P
• MPLab
• Proteus
• Datasheet ATMEGA y PIC (Anexos)
• Protoboard
• Resistencias
• Botones
• Alambres
• LM293D (Puente H)
• Motor CD

INTRODUCCIÓN

Los microcontroladores han ido evolucionando y asimismo las aplicaciones, en cuanto a


conocimiento lo que hemos ido aprendiendo semestre a semestre ha sido depender de la
complejidad de los sistemas, en esta práctica lo que se realizo fue el control de arranque, paro y
el cambio de giro, para lo cual se utilizaron 3 botones, uno de avance, otro de reversa y otro de
paro, el cual tendrá la mayor prioridad, se desarrolló con decisiones para realizar el programa de
forma secuencial.
MARCO TEÓRICO

PIC 16F887

• El encapsulado de un PIC 16F887 tiene 40 pines distribuidos de la siguiente manera:


• Los bancos de registros de uso especial estan distribuidos en 4 bancos:
• El PIC16F887 tiene una arquitectura Harvard que permite que sea más rápido y
pequeño que una arquitectura Von Neumann.

ATMEGA 328P

• El ATMEGA328P tiene una configuración de 28 pines distribuidos de la siguiente manera:

Como podremos ver en la imagen, tendremos 3 puertos (B, C y D), donde estos poseen
múltiples configuraciones, como por ejemplo el PC4 donde hacemos referencia al puerto C pin
número 4 que aparte de funcionar como una entrada o salida, puede funcionar como un canal
multiplexado del ADC (en este caso el canal 4) también funciona como uno de los pines de la
interfaz I2C (en este caso el SDA) y también como interrupción (en este caso como PCINT12).
Esto nos demuestra que el microcontrolador puede ser configurado de múltiples maneras y
puede configurar sus pines de diferentes maneras según su hardware se lo permita, claro que
también podremos realizar algunos protocolos por software y asignarlo a pines que no están
dedicados, por ejemplo podríamos tener un pin SDA en un pin PB5, que no posee esta
propiedad por hardware pero podríamos hacer la trama por software y utilizarlo, lo que no
podremos hacer es usar este PB5 como un canal ADC ya que es una propiedad intrínseca del
microcontrolador.
Como podremos ver en la imagen, tendremos 3 puertos (B, C y D), donde estos poseen
múltiples configuraciones, como por ejemplo el PC4 donde hacemos referencia al puerto C pin
número 4 que aparte de funcionar como una entrada o salida, puede funcionar como un canal
multiplexado del ADC (en este caso el canal 4) también funciona como uno de los pines de la
interfaz I2C (en este caso el SDA) y también como interrupción (en este caso como PCINT12).
Esto nos demuestra que el microcontrolador puede ser configurado de múltiples maneras y
puede configurar sus pines de diferentes maneras según su hardware se lo permita, claro que
también podremos realizar algunos protocolos por software y asignarlo a pines que no están
dedicados, por ejemplo podríamos tener un pin SDA en un pin PB5, que no posee esta
propiedad por hardware pero podríamos hacer la trama por software y utilizarlo, lo que no
podremos hacer es usar este PB5 como un canal ADC ya que es una propiedad intrínseca del
microcontrolador.

• Diagrama a bloques de estructura del ATMEGA:


Unidad central de procesamiento (CPU): se encarga de ejecutar las instrucciones y realizar las
operaciones con los datos.
Memorias: FLASH para las instrucciones del programa, EEPROM (de almacenamiento
permanente) para datos y RAM (de almacenamiento temporal) para datos.
Periféricos de entrada/salida: permiten la comunicación del microcontrolador con su entorno
físico recibiendo y entregando datos en forma de señales eléctricas. La conexión a los periféricos
se realiza por medio de las patillas (alfileres o pines) del circuito integrado que conforma el
microcontrolador.
Compilador: Software que se encarga de convertir el código escrito en lenguaje C (lenguaje
humano) a código de maquina (lenguaje de maquina). El código en lenguaje C se conoce como
código fuente mientras que el código de maquina se conoce como código ejecutable.
IDE (Integrated Development Environment) Ambiente de desarrollo Integrado: software de
computador que sirve para el desarrollo de programas para microcontroladores PIC. mikroC PRO
for PIC es un IDE. Básicamente un IDE está conformado por dos partes: a) Un editor de texto para
escribir el código fuente y b) Un compilador.
Programador: es un dispositivo de hardware electrónico diseñado para transferir el código
ejecutable (código de maquina) desde el computador hacia la memoria de programa del
microcontrolador PIC. La conexión entre el computador y el programador se realiza por medio del
puerto USB; el proceso se conoce como programación, grabación o quemado (por esta razón el
programador también se suele llamar grabador o quemador). También recibe el nombre de
programador la persona que se encarga de escribir programas para microcontroladores.
Pin: cada una de las patillas o alfileres del microcontrolador. Por ejemplo, el PIC16F887 tiene 40
pines (encapsulado DIP40).
Sintaxis: Conjunto de reglas definidas para escribir correctamente un lenguaje de programación.
mikroC PRO para PIC tiene su propia sintaxis que es muy similar a la sintaxis del lenguaje C de
computadoras (ANSI C).
Programa: Es una secuencia de instrucciones, escritas en un determinado lenguaje de
programación para realizar una tarea específica en un microcontrolador. En este curso se
escribirán los programas de acuerdo con la sintaxis propia de mikroC PRO for PIC.
DESARROLLO:
EJERCICIO 4- MOTOR CD
PIC16F887-ENSAMBLADOR

Enunciado de la aplicación:
Desarrollar un programa en el cual se programe la actividad de un motor CD
arranque, paro, reversa. Dando prioridad al botón de paro en todo momento.

ALGORITMO
1.- Cargar librería del PIC16F887
2.- Limpiar cada uno de los puertos.
3.- Configurar los puertos, seleccionando que bits serán entradas y cuales salidas.
(B0=arranque, B1=paro, B2= salida).
4.- Declarar variable (Flag1) así como la dirección en la que se va a guardar.
5.- Leer el bit B1; si B1=1 Flag1=0
6.- Leer el bit B0; si B0=1 Flag1=1
7.- Si Flag1=0 regresar a 5.
8.- Si Flag1=1 B2=1 y regresar al paso 5.

INSTRUCCIÓN FUNCIÓN
MOVF f,w mueve el dato del registro f al registro W
MOVF w,f mueve el dato del registro w al registro f
BCF f,d pone en 0 el bit d del registro f
BSF f,d pone en 1 el bit d del registro f
BTFSC f,d si el bit d del registro f es cero salta una instrucción si no continua con la
siguiente

BTFSS f,d si el bit d del registro f es uno salta una instrucción si no continua con la
siguiente

SWAP f Intercambia los Nibles altos y bajos del registro

ANDWF Hace la función lógica AND entre el registro de trabajo y el registro f


DIAGRAMA DE FLUJO
PROGRAMACION MPLAB
SIMULACIÓN EN PROTEUS
“ARRANQUE Y PARO DE UN MOTOR DE
CD/CA”
DESARROLLO DE LA PRÁCTICA PARA AVR 328P

METODOLOGIA PARA DESARROLLAR APLICACIONES PARA


MICROCONTROLADORES

1. PLANTEAMIENTO DE LA APLICACIÓN
Se controlará un motor de corriente alterna y de corriente directa con
accionamiento de paro y arranque

a) Entender el funcionamiento de la aplicación


PALABRAS CLAVE
• Crear una aplicación de control
• La aplicación deberá arrancar y parar un motor
• Se deben configurar los pines PB0-PB1 como entradas y el PB2 como
salida
• El PB0 será el pin de inicio de arranque del motor y el pin PB1 será el pin
de paro
• La aplicación se realiza en lenguaje en C

b) Identificar entradas y salidas


En el AVR ATMEGA 328P se deberán de configurar los pines PB0 y PB1 como
entradas digitales y el pin PB2
como salida digital, todos del puerto B

c) Elaborar el algoritmo de solución


ALGORITMO
1. Incluir las librerías
2. Definir las variables a y b
3. Establecer PB0-PB1 como entras y PB2 como salida
4. a=PINB
5. b=a & 00000011
6. Acciones
PB0=1; PB2=1
PB1=1; PB2=0
PB1= & PB0 =1; PB2=0
7. Ir a paso 4

DIAGRAMA DE FLUJO
PROGRAMACION ATMEL STUDIO
SIMULACION PROTEUS
ARANQUE

PARO

Conexión física
CONCLUSIONES
CUARENTA CASTAÑEDA JUAN JOSÉ
PIC 16F887
Se cumplieron los objetivos de realizar un programa que fuera de manera secuencial, para que al
momento que nosotros aplicáramos el pulso en el botón de paro al realizar alguno de los otros dos
botones, no debería de girar, se realizó con un puente h para evitar el choque de corrientes, esto
para que no genera daños en nuestros componentes.
ATMEGA 328P
En lo que lleva con el sistema de AVR se completo de manera satisfactoria el sistema de arranque
y paro, generando un razonamiento más lógico de programación de AVR’s para lo cual será de
gran ayuda en futuros proyectos.

MARTÍNEZ GÓMEZ GERARDO DANIEL


PIC 16F887
Utilizando lenguaje ensamblador y apoyados en el software MPLAB se construyó una aplicación
que permitiera el control del arranque, paro y reversa de un motor, teniendo como prioridad el
botón de paro, siendo esto una de las condiciones encontradas en la industria, se lograron cumplir
todos los objetivos
ATMEGA 328P
Siguiendo con la metodología de construcción de una aplicación, se logró entender el
funcionamiento para el control básico de un motor, al comprender la forma en la cual manipular la
arquitectura del ATMEGA328P fue fácil desarrollar la aplicación

SANTIAGO JUAN MISAEL


PIC 16F887
Se cumplieron los objetivos propuestos para esta práctica, se realizó en MPLAB el código para el
funcionamiento de un motor CD dando prioridad al botón de paro como se debe realizar en la
industria. Se implementaron los conocimientos adquiridos previamente para desarrollar la práctica.
SANTIAGO JUAN MISAEL
ATMEGA 328P
La programación de esta práctica fue más rápido y sencillo de desarrollar ya que programar en
lenguaje C es más eficaz para mí, ya que implementa más un razonamiento lógico, la creación de
banderas para controlar el funcionamiento del motor fue esencial.

También podría gustarte