Está en la página 1de 6

INFORME DE PRÁCTICA DE LABORATORIO Versión 1.

0
PROGRAMA DE INGENIERÍA MECATRÓNICA Periodo
2020-1

Control Motor DC VHDL


Camacho Sicachá Juan Pablo, Torres Romero Leonardo, y Acevedo Virgues Jerónimo
{u1803423, u1803478, y ​u1803418​}@unimilitar.edu.co
Profesor: Martínez Vásquez David Alejandro

Resumen— ​ ​Diseño y simulación de un sistema digital para el PLD


control de la velocidad y posición angular de un motor DC, por Un PLD combinacional es un circuito integrado con
medio de programación VHDL compuertas programables divididas en un arreglo AND y un
arreglo OR para efectuar una implementación de suma de
I. I​NTRODUCCIÓN productos AND-OR. Hay tres tipos principales de PLD
combinacionales, que difieren en la colocación de las
L​ A propuesta para esta práctica de laboratorio es diseñar e
conexiones programables en el arreglo AND-OR. La figura 2
reproduce la configuración de los tres PLD.
implementar un hardware en VHDL para una CPLD
(CoolRunner II) de tal forma que controle la posición y ● PROM
velocidad angular de un motor a través de un teclado matricial La memoria programable de sólo lectura (PROM) tiene un
4x4, en donde se compara la magnitud entregada por el arreglo AND fijo construido como decodificador y un arreglo
encoder del motor y la representada a través del teclado OR programable. Las compuertas OR programables
matricial, la diferencia entre estas magnitudes será la implementan las funciones booleanas como suma de
velocidad y el sentido de giro resultante del motor. minitérminos.
A. Marco teórico
● PAL
HDL (Hardware Description Language) El arreglo lógico programable (PAL, programmable array
Es un lenguaje de programación que permite describir el logic) tiene un arreglo AND programable y un arreglo OR fijo.
hardware de un sistema digital en forma de texto. Su escritura
es muy parecida a una programación en C, pero está ● PLA
específicamente orientado al comportamiento del hardware y El arreglo de lógica programable (PLA, programmable logic
los circuitos lógicos. [1] array) sus arreglos AND y OR son programables.
Teclado matricial
Las aplicaciones con dispositivos digitales requieren en
algunos casos el uso de teclas de entrada de datos, para datos
numéricos, funciones e incluso caracteres de texto. La opción
de mayor practicidad es el uso de teclados matriciales, estos
consisten en un arreglo de pulsadores alineados en filas y
columnas, minimizando el número de conexiones eléctricas.
En la Figura 1 se puede ver la apariencia física de un teclado
matricial de 4x4 y su equivalente esquemático:

Figura 2: Dispositivos programables. [3]

Figura 1: Teclado matricial. [2]


INFORME DE PRÁCTICA DE LABORATORIO Versión 1.0
PROGRAMA DE INGENIERÍA MECATRÓNICA Periodo
2020-1

Multiplicación Digital.
La multiplicación digital enfocada a HDL consiste en una
serie de operaciones AND entre dos distintos bits y otra serie
de operaciones de sumas , para esto es necesario implementar
cálculos de funciones lógicas y compuertas necesarias , el
multiplicador se almacena en una memoria ROM designada
por el operador , al terminar el proceso de cálculo de Registros
multiplicación por parte del programa , se procede a codificar Un registro es un circuito digital con dos funciones básicas:
el resultado para poder ser usado en determinadas tareas. almacenamiento de datos y movimiento de datos. La
capacidad de almacenamiento de un registro le convierte en un
tipo importante de dispositivo de memoria.

Figura 3: Ejemplo Multiplicación Digital. [4]

Figura 5: Arreglo de Flip-flops D para un registro de 4 bits.

Contadores
Un contador es un circuito secuencial construido a partir de Encoders
biestables y compuertas lógicas capaces de almacenar y contar Un codificador rotatorio, también llamado codificador del eje
los impulsos que recibe en la entrada destinada a tal efecto, así o generador de pulsos, es un dispositivo electromecánico
mismo también actúa como divisor de frecuencia. usado para convertir la posición angular de un eje a un código
digital el cual puede ser utilizado para medir las revoluciones
por minuto de un motor.

Figura 4: Ejemplo de un contador asíncrono y señal de salida


de cada Flip-flop. [5]
Figura 6: Ejemplo de codificador rotatorio.
INFORME DE PRÁCTICA DE LABORATORIO Versión 1.0
PROGRAMA DE INGENIERÍA MECATRÓNICA Periodo
2020-1

II. D​ESARROLLO​ ​DE​ ​LA​ ​PRÁCTICA

La práctica se desarrolló a través del modelado del circuito


como una máquina de estados en donde cada estado
corresponde a una función específica del sistema digital
secuencial diseñado.

Teniendo en cuenta los estados necesarios para representar


las acciones que realizará el circuito; el primer procedimiento
consistió en crear un módulo para los estados y allí declarar
las entradas y salidas de los estados. Posteriormente se define
el comportamiento de cada estado en la arquitectura.
INFORME DE PRÁCTICA DE LABORATORIO Versión 1.0
PROGRAMA DE INGENIERÍA MECATRÓNICA Periodo
2020-1

declaración de sus estados; allí se definieron sus entradas y


salidas. Posteriormente se declara el comportamiento de este
módulo en la arquitectura.

Figura 7: Estados y decodificación teclado.

Como segundo procedimiento se creó un módulo para la


decodificación de las teclas del teclado matricial y la
INFORME DE PRÁCTICA DE LABORATORIO Versión 1.0
PROGRAMA DE INGENIERÍA MECATRÓNICA Periodo
2020-1

Para el cuarto módulo se declaró un registro de 7 bits, el


cual permitirá guardar el dato de las revoluciones del motor
por un ciclo de reloj.

Figura 8: Codificación de teclas.

Figura 10: Registro de 7 Bits.

El tercer módulo desarrollado contiene la señal proveniente


del encoder en donde se implementa un contador de décadas El quinto módulo contiene un contador up/down que
para representar adecuadamente las revoluciones por minuto permite realizar cambios en sus conteos dependiendo de la
del motor. señal recibida del teclado matricial. Su implementación hace
parte del desarrollo de un PWM ya que se comparará su
magnitud con la de un contador automático.

Figura 9: Contador de pulsos (Encoder).


INFORME DE PRÁCTICA DE LABORATORIO Versión 1.0
PROGRAMA DE INGENIERÍA MECATRÓNICA Periodo
2020-1

● Se comprendió el funcionamiento de los flip flops


data y además se identificó como la interconexión de
estos puede generar un registro de carga paralela.

● Se identificó que el uso del lenguaje HDL es de gran


utilidad debido a su capacidad descriptiva, es decir,
que nos permite manejar diferentes niveles de
abstracción en el diseño de circuitos para facilitar el
entendimiento tanto por parte del programador como
por parte de la máquina el funcionamiento de los
módulos desarrollados.

● Se analizó el funcionamiento del teclado matricial en


vhdl donde a través de este se pueden digitar el
número de revoluciones y realizar una comparación
de este con los pulsos que emite un motor encoder el
cual se resetea después de cierto tiempo.

R​EFERENCIAS
Figura 11: Contador manual.

[1] Floyd, T. (2006). Fundamentos de sistemas digitales. Madrid:


El sexto y último módulo corresponde al del contador Prentice-Hall.
automático. Con este módulo se completa la implementación
del PWM para el control de velocidad del motor. [2] Clavijo, J. R. (2011). Diseño y simulación de sistemas
microcontroladores en lenguaje C. Bogota: Mikroc.

[3] Mano, M. (2003). Diseño Digital. New Jersey: Prentice Hall.

[4] Olmo, M. N. (2016). Contador Binario. Recuperado en Abril 28 de


2020, de:
http://hyperphysics.phy-astr.gsu.edu/hbasees/Electronic/bincount.html

[5] Pallás Areny, R. (2003). Sensores y acondicionadores de señal.


Barcelona: Marcombo.

Figura 12: Contador Automático.

III. C​ONCLUSIONES

● Se analizó el funcionamiento y la implementación de


un lenguaje de programación en hardware tanto en
bajo nivel como en alto nivel.

También podría gustarte