Está en la página 1de 5

MICROCONTROLADORES.

Ing. Guillermo Eduardo Méndez Zamora.

Práctica 2. Entradas y salidas digitales en XC8: Control de


motores a pasos, servomotores y LCD.
Objetivo. Aprender cómo utilizar y desempeñar entradas y salidas digitales en
lenguaje C para manipular elementos como: motores a pasos, servomotores y
LCD.

Material y Equipo.

 1 Protoboard.
 1 Microcontrolador PIC18F4550.
 1 Motor a pasos (bipolar o unipolar)
 1 Driver para motor a pasos (bipolar o unipolar)
 1 Servomotor
 1 LCD (16x2)
 1 Computadora para simulación de programas
 1 Osciloscopio
 1 Fuente de alimentación fija (5V) (en caso de trabajar en protoboard)
 1 Multímetro digital

Parte 1.- Secuencia de control para motor a pasos.

A continuación se presentan las secuencias de control de los motores a pasos


unipolar y bipolar.

En la tabla 1 se muestra la secuencia de paso simple para controlar el


accionamiento de las bobinas de un motor a pasos unipolar.
Tabla 1. Secuencia paso simple motor unipolar

Bobinas
Paso
A B C D
1 1 0 0 0
2 0 1 0 0
3 0 0 1 0
4 0 0 0 1

La tabla 2 presenta la secuencia de doble paso para controlar el accionamiento de


las bobinas de un motor a pasos unipolar.
Tabla 2. Secuencia doble paso motor unipolar

Bobinas
Paso
A B C D
1 1 1 0 0
2 0 1 1 0
3 0 0 1 1
4 1 0 0 1
La tabla 3 presenta la secuencia de paso para controlar el accionamiento de las
bobinas de un motor a pasos bipolar.
Tabla 3. Secuencia de paso motor bipolar

Bobinas
Paso
A B C D
1 1 0 1 0
2 1 0 0 1
3 0 1 0 1
4 0 1 1 0

La figura 1 muestra un ejemplo de motor a pasos de baja potencia de uso común


28BYJ-48 con su driver ULN2003A.

Figura 1. Motor a pasos y driver

Elabore el diseño de un programa de control de secuencia (elegir solo una) para el


motor a pasos (Unipolar o bipolar) con una entrada digital (interruptor de enclave)
que controle el giro (sentido horario y anti-horario) y otra entrada digital
(interruptor de enclave) que controle el arranque/paro del motor y cuatro salidas
para el driver del motor a pasos seleccionado.

Tome fotografía del circuito real para evidencia de práctica, realice un video donde
muestre la evidencia de funcionamiento del programa. Simular el programa
desarrollado en proteus.
Consejos.

 Considere lo que se debe hacer con respecto al rebote de los interruptores.


 Utilice los pull-up internos del microcontrolador para las entradas digitales.
 Hacer uso de las funciones de tiempo __delay_x(), para que pueda
visualizar la secuencia de las salidas digitales, en el circuito real con el
motor los tiempos entre cada paso controlan la velocidad del motor a pasos.

Parte 2.- manejo de servomotor.

La modulación de ancho de pulso (PWM, pulse width modulation por sus siglas en
inglés) de una señal es una técnica que logra producir el efecto de una señal
analógica sobre una carga, a partir de la variación del ciclo de trabajo de una
señal digital. El ciclo de trabajo describe la cantidad de tiempo que la señal está en
un estado lógico alto, como un porcentaje del tiempo total que esta toma para
completar un ciclo completo.

La frecuencia determina que tan rápido se completa un ciclo (por ejemplo: 1000
Hz corresponde a 1000 ciclos en un segundo), y por consiguiente que tan rápido
se cambia entre los estados lógicos alto y bajo. Al cambiar una señal del estado
alto a bajo a una tasa lo suficientemente rápida y con un cierto ciclo de trabajo, la
salida parecerá comportarse como una señal analógica constante cuando está
siendo aplicada a algún dispositivo.

Ejemplo: Para crear una señal de 3V dada una fuente digital que puede ser alta
(5V) o baja (0V), usted podría utilizar un PWM con un ciclo de trabajo del 60%. El
cual generaría una señal de 5V el 60% del tiempo. Si la señal es conmutada lo
suficientemente rápido, el voltaje visto en las terminales del dispositivo parecerá
ser el valor promedio de la señal. Si el estado lógico bajo es 0V (que es el caso
más común) entonces el voltaje promedio puede ser calculado multiplicando el
voltaje que represente el estado lógico alto por el ciclo de trabajo, o 5V x 0.6 = 3V.
Seleccionar un ciclo de trabajo del 80% sería equivalente a 4V, un 20% a 1V, y así
sucesivamente.

Señales de PWM son utilizadas comúnmente en el control de aplicaciones. Su uso


principal es el control de motores de corriente continua y servomotores, aunque
también pueden ser utilizadas para controlar válvulas, bombas, sistemas
hidráulicos, y algunos otros dispositivos mecánicos. La frecuencia a la cual la
señal de PWM se generará, dependerá de la aplicación y del tiempo de respuesta
del sistema que está siendo controlado. A continuación se muestra en la figura 1
una señal requerida para el control de un servomotor.
Figura 2. Tiempos de control para un servomotor

Diseñe un programa que realice el movimiento desde 0° a 180° de una señal


PWM, incrementando proporcionalmente su desplazamiento acorde a un tiempo
definido, es decir, desde que inicia en 0° hasta que termina en 180° le lleve un
tiempo total de 4 segundos aproximadamente, y regrese a su posición inicial en
otros 4 segundos aproximadamente, el programa debe repetirse continuamente.

Consejos.

 Elegir una salida digital para que oscile a una frecuencia de 50Hz
aproximadamente.
 Utilice las funciones de __delay_x() para complementar los tiempos en alto
y bajo de la señal digital.
 Verifique con el osciloscopio que la señal digital mantiene la frecuencia
constante cuando se cambia el ciclo de trabajo.
 Tome fotografía del circuito real para evidencia de práctica y video donde
se muestre el funcionamiento con el motor o de la señal PWM en el
osciloscopio.

Parte 3.- Manejo de LCD en modo de 4 bits.

Realizar la conexión de una LCD acorde a los pines que se muestran en la tabla 4,
entre el microcontrolador y una LCD.
PIC18F4550 LCD
PORTD6 EN
PORTD5 R/W
PORTD4 RS
PORTD0 D4
PORTD1 D5
PORTD2 D6
PORTD3 D7
Figura 3. Configuración de conexión PIC y LCD

La figura 3 muestra la apariencia física de una LCD 16x2, es decir, 2 filas con 16
columnas.

Figura 4. Identificación de pines en una LCD

Realice un programa que al inicio muestre un mensaje “INICIANDO…” en la


primer fila y centrado en la LCD durante dos segundos. Posteriormente en la fila 1
se muestre un mensaje “TECLEON”, en la fila 2, se debe mostrar la cuenta de una
variable “Count= x” donde “x” cambia cada segundo en incrementos de 1, hasta
llegar a 10 y reinicia a cero al completar la cuenta. El programa debe estar
contando repetidamente.

Consejos.

 Se puede usar la librería de LCD para los PIC en XC8 o realizar el


programa de forma manual.
 La LCD tiene la posibilidad de trabajar en modo de 8 bit o 4 bit, por lo que
debe confirmar el uso en 4 bits.

Tome fotografía del circuito real para evidencia de práctica, y realice un video
donde muestre el funcionamiento de la LCD. Simular el programa desarrollado en
proteus.

Bibliografía.Siegesmund, M. (2014). Embedded C Programming: Techniques and Applications


of C and PIC MCUS. Newnes.

También podría gustarte