Control de un motor dc utilizando PWM con un FGPA.
Programacion en VHDL con XLINIX.
Trabajo realizado para la materia de electronica digital
UNIVERSIDAD POLITECNICA DE VICTORIA
3. Introduccion
EL objetivo del proyecto es crear un controlador de velocidad para un motor de corriente
directa, utilizando un FPGA (Field Programmable Gate Array).
Las Tarjetas Programables FPGA’s funcionan con código de programación tipo VHDL donde es
posible crear sistemas secuenciales, combinacionales así como controlar una gran cantidad de
dispositivos TTL.
El control de velocidad de motor DC se conforma principalmente por una onda cuadrada la cual
se necesita modificar su frecuencia para poder variar la velocidad del motor y a esto se lo
conoce como PWM(Pulse Width Modulation).
4. Descripcion del Problema
Realizar Codigo VHDL para la
Modulacion de ancho de pulso y
verifiacion de estados con
componentes secuenciales.
Conexiónes físicas con el Fpga y el
motor Dc.
7. Descripción de el programa
Primeramente es necesario crear una base de tiempo en la cual se quiere
trabajar en resumen se necesita crear un divisor de frecuencia para tener una
referencia de reloj mas lenta que la de la tarjeta.
Es necesario crear un contador de 255 pulsos, ya que es en referencia a los 8bits
con los que se estará controlando el ancho de pulso, este contador sirve para
poder comparar los datos de entrada con los que hay en el transcurso de este.
Finalmente se necesita un comparador de datos esto para evaluar los datos que
el contador tiene con los datos que se ingresan desde los switch, se controla con
la siguiente lógica.
Si el contador es mayor a los switch la salida será 1 de lo contrario la salida será 0.
9. Conclusión
Analizando distintas fases de el sistema de control de velocidad para motor dc se
concluye que la parte mas difícil de crear el código de programa en VHDL para hacer
una modificación en la modulación de ancho de pulso de la onda. Además de
configurar el circuito físico con la tarjeta FPGA y evitar errores como cortos circuitos.
El proceso de solución se baso en crear primeramente los diagramas a bloques sin
saber como se comportamientos ,posteriormente se enfoco la atención en cada
bloque para desarrollar el comportamiento y poder enlazarlos como un bloque único.
En la aplicación de el programa a la tarjeta se obtuvieron resultados exitosos pero no
sin antes tener detalles con el tiempo debido a que el periodo era muy largo
entonces los cambios entre ciclo y ciclo se hacían notar mucho , se modifico la base
de tiempo con una frecuencia mas alta para que los cambios no fueran tan notorios.