You are on page 1of 22

INSTITUTO POLITÉCNICO NACIONAL

ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y


ELÉCTRICA. UNIDAD AZCAPOTZALCO

INTERFASES, PERIFÉRICOS Y PROGRAMACIÓN I

REPORTE DE PRÁCTICA
“MOVIMIENTO DE UN MOTOR A PASOS
MOSTRANDO SU ESTADO EN UN LCD”

ALUMNOS
BOTELLO PADILLA MIGUEL ÁNGEL
GONZÁLEZ ORTIZ LUISA FERNANDA
LEÓN VILLANUEVA BRANDON

GRUPO
7RM1

PROFESOR:
M. EN C. RAMÓN VALDÉS MARTÍNEZ

FECHA DE ENTREGA:
24-OCTUBRE-2017
OBJETIVO
El objetivo fundamental en esta práctica radica en aplicar lo anteriormente mostrado en
la teoría de programación de retardos así como contar con una lógica muy bien definida
en el código de programación así como en el algoritmo planteado que pretender hacer
funcionar el mecanismo. De igual forma esto involucra conocer de manera general los
dispositivos electrónicos a programar (Arquitectura Interna, Lenguaje de Programación y
Características particulares) y eventualmente, desarrollar la aplicación.
INTRODUCCIÓN
Para comprender el desarrollo mismo de la práctica es imperativo hablar acerca de las
“Subrutinas de Retardo”, cuando necesitamos que transcurra un determinado tiempo de
espera antes de que ocurra un evento como por ejemplo el encendido de una luz LED,
activación de una bobina de un relé o lectura de una determinada entrada, se suele
recurrir a los retardos. Prácticamente casi todos los programas de microcontroladores PIC
usan en algún momento una subrutina de retardo.
El típico programa del parpadeo de un LED hace uso de estas subrutinas para generar una
demora entre los cambios de estado de un LED que se enciende y se apaga, el tiempo que
tenemos entre el encendido y apagado viene determinado por la subrutina de retardo,
por lo cual en esta aplicación la utilización de dichas subrutinas tendrá un carácter
obligatorio.

MARCO TEÓRICO
DISPLAY LCD

Visualizador LCD Las pantallas de cristal líquido LCD o display LCD para mensajes (Liquid
Cristal Display) tienen la capacidad de mostrar cualquier carácter alfanumérico,
permitiendo representar la
información que genera cualquier
equipo electrónico de una forma
fácil y económica. La pantalla
consta de una matriz de caracteres
(normalmente de 5x7 o 5x8 puntos)
distribuidos en una, dos, tres o
cuatro líneas de 16 hasta 40
caracteres cada línea. El proceso de visualización es gobernado por un microcontrolador
incorporado a la pantalla, siendo el Hitachi 44780 el modelo de controlador más utilizado.

La tarjeta EasyPIC dispone de un módulo LCD tipo 16x2. Las características generales de
un módulo LCD 16x2 son las siguientes: · Consumo muy reducido, del orden de 7.5mW ·
Pantalla de caracteres ASCII, además de los caracteres japoneses Kanji, caracteres griegos
y símbolos matemáticos. · Desplazamiento de los caracteres hacia la izquierda o a la
derecha · Memoria de 40 caracteres por línea de pantalla, visualizándose 16 caracteres por
línea · Movimiento del cursor y cambio de su aspecto · Permite que el usuario pueda
programar 8 caracteres · Pueden ser gobernados de 2 formas principales: o Conexión con
bus de 4 bits o Conexión con bus de 8 bits.
MOTOR A PASOS

El motor a pasos tienen cuatro bobinas y avanzan o retroceden solo un pequeño ángulo de
giro o ángulo de paso, por cada combinación de voltaje aplicado en las bobinas. Para
mantener la marcha del motor es necesario cambiar periódicamente la combinación de
voltajes en sus terminales. Con 4 bobinas un motor a pasos puede tener hasta 8 terminales,
dos por cada bobina. Las terminales se pueden unir interna o externamente dando lugar a
dos tipos de motores, Unipolares y los Bipolares.

Los motores a pasos bipolares cada bobina debe ser polarizada en ambas direcciones. Esto
es equivalente a hacer girar un motor DC en ambas direcciones y para esto se requiere un
circuito llamado Puente – H.

Los motores a pasos unipolares son más fáciles de controlar por el hardware requerido. En
estos motores las bobinas se polarizan en una sola dirección, por lo que basta un switch o
transistor por cada bobina para energizarla. Para controlar este tipo de motores las bobinas
deben ser polarizadas secuencialmente de acuerdo con la dirección que se quiera girar. En
los motores a pasos unipolares las bobinas no deben ser polarizadas las 4 bobinas al mismo
tiempo por que generaría un campo magnético simétrico y el rotor no sabría a donde girar.
A partir de esto se deduce que existen hasta tres modos de hacer girar un motor a pasos
unipolar; Paso simple, Paso completo y Medio paso.

Paso completo: Es cuando las bobinas se polarizan de dos en dos. En la siguiente tabla se
muestra la secuencia en que se energizan las bobinas para hacer girar el rotor hacia un
sentido, para que gire en sentido contrario solo hay que invertir el orden de polarización de
las bobinas.

Tabla 1. Secuencia de polarización las bobinas de paso completo.


L1 L2 L3 L4 Hex
1 0 0 1 0x09
1 1 0 0 0x0C
0 1 1 0 0x06
0 0 1 1 0x03

Medio paso: Es cuando las bobinas se polarizan de a una y de a dos intercaladamente. En


la siguiente tabla se muestra la secuencia de polarización de las bobinas en modo medio
paso.
Tabla 2. Secuencia de polarización las bobinas de medio paso.
L1 L2 L3 L4 Hex
1 0 0 1 0x09
1 1 0 1 0x0D
1 1 0 0 0x0C
1 1 1 0 0x0E
0 1 1 0 0x06
0 1 1 1 0x07
0 0 1 1 0x03
1 0 1 1 0x0B

Paso simple: Es cuando las bobinas se polarizan de una en una. En la siguiente tabla se
muestra la secuencia de polarización de las bobinas en paso simple.

Tabla 3. Secuencia de polarización las bobinas de paso simple.


L1 L2 L3 L4 Hex
0 0 0 1 0x01
0 0 1 0 0x02
0 1 0 0 0x04
1 0 0 0 0x08
LISTA DE MATERIALES
PIC16F887

ATMEGA328P

PROTOBOARD

RESISTENCIAS DE 1KΩ Y 330Ω

ALAMBRE CALIBRE 22

LCD 16X2

DIP SWITCH

FUENTE VARIABLE

GRABADOR DE PIC Y AVR


EJERCICIO 1: MOTOR A PASOS
DESARROLLO

PIC16F887

1. PLANTEAMIENTO DE LA IDEA
Desarrollar un programa que al presionar un boton arranque un motor a pasos, al
mismo tiempo que en el LCD despliegue un mensaje indicando que el motor esta
trabajando, teniendo un botón que pare el motor y se despliegue un mensaje
indicando que el motor no trabaja

2. ALGORITMO

1. Configurar entradas y salidas del LCD


2. Configurar entradas y salidas para el motor
3. Hacer la secuencia del motor a pasos
4. desplegar el mensaje
5.-Regresar al paso 3 hasta presionar el botón de paro
3. DIAGRAMA DE FLUJO
4. ELABORAR EL PROGRAMA EN EL LENGUAJE CORRESPONDIENTE:
ENSAMBLADOR
5. VERIFICAR SINTÁXIS: COMPILAR
a. En el menú “Project” seleccionar la opción “QuickBuild”

b. Ésta instrucción revisará la sintaxis del programa, y en caso de que esté


correcta, aparecerá el mensaje “BUILD SUCCEEDED”

6. SIMULACIÓN MPLAB
Para observar el comportamiento de nuestros puertos en la simulación, vamos a la
pestaña que dice “View” y seleccionar la opción “Watch”.
Se desplegará la siguiente ventana donde se agregarán los puertos con las direcciones
correspondientes, dando click en “Add Symbol” y “Add SFR”.
Se añaden los estímulos para la simulación. Haciendo click en “Debugger” y en la
opción “Stimulus”. Posteriormente, seleccionar “New Workbook”.

Se guardan los estímulos y se simula el programa.


Se observarán las entradas y salidas correspondientes a nuestro programa.

7. SIMULACIÓN CONEXIONES PROTEUS


a. Se arma el circuito en el software, teniendo cuidado con las
conexiones y verificando que se encuentren en los puertos
correspondientes.
b. Se carga el archivo .HEX generado en la compilación del archivo
en MPLAB. Dar doble click al componente y en la opción
“Program File”.
c. Una vez cargado el archivo, se procede a simular el circuito.
ATMEGA328P

1.PLANTEAMIENTO DE LA IDEA
Desarrollar un programa que al presionar un boton arranque un motor a pasos, al
mismo tiempo que en el LCD despliegue un mensaje indicando que el motor esta
trabajando, teniendo un botón que pare el motor y se despliegue un mensaje
indicando que el motor no trabaja.

2. ALGORITMO

1. Configurar entradas y salidas del LCD

2. Configurar entradas y salidas para el motor

3. Hacer la secuencia del motor a pasos

4. desplegar el mensaje

5.-Regresar al paso 3 hasta presionar el botón de paro


3. DIAGRAMA DE FLUJO
4. EDICIÓN DEL PROGRAMA

5. SIMULACION
AVR
a. Para
utilizar el Simulador
de AtmelStudio, se edita la siguiente ventana para poder seleccionar la opción de
“Simulator”

b. Para iniciar la sesión de esta simulación el siguiente paso es seleccionar:

c. La función “Debug” comienza y se selecciona una función que será el “BreakPoint” de


este programa, en donde terminará la simulación

d. Presionar F5 para iniciar la simulación


e. Para comprobar el funcionamiento del programa, se visualizarán las entradas y salidas.

f. Cuando se obtenga el recuadro, se comprobará las señales que han cambiado en los
Puertos.
6. SIMULACIÓN PROTEUS
a. Colocar cada uno de los elementos y sus especificaciones en el área de trabajo.
b. Realizar las conexiones correspondientes.
c. Cargar el programa.
Dar doble clic en el microcontrolador, en la opción Program File buscamos la dirección del
programa *.hex generado.
Simular y depurar

CONCLUSIONES
La realización de la práctica que se presentó anteriormente constituye la base sobre la
cual se desarrollaran futuras aplicaciones con mayor complejidad en cuanto a lenguaje de
programación se trata. Esta primera práctica permite comprender los aspectos generales
que implican la programación, por lo cual resulto necesario interactuar tanto con el
hardware y software adecuados que hicieron posibles el objetivo de la aplicación.
Por consiguiente, concluyo y resaltó la importancia de analizar y comprender a detalle las
aplicaciones propuestas y de esta forma poder generar el código de programación
adecuado y que la funcionalidad de la aplicación sea la requerida.

You might also like