Monografias.com > Sin categoría
Descargar Imprimir Comentar Ver trabajos relacionados

Controlador electrónico de velocidad PID usando CPLD (página 4)




Enviado por Cesar



Partes: 1, 2, 3, 4

Este es otro bloque importante dentro del sistema, ya
que es el encargado de tomar los valores del PID y convertirlos
en diferentes valores de ancho de pulso con lo cual se realiza el
control del motor.

Este bloque está conformado por un contador de
módulo 255 el cual irá incrementándose hasta
llegar a ser igual al valor de selección que es enviado
del PID en ese instante se cambia el estado de la señal a
cero hasta que el contador llegue a su valor máximo,
cuando el valor del contador se desborda se pone la señal
a uno nuevamente, con lo cual se obtiene una señal que
varia el ancho de pulso en función del valor de
comparación.

Desarrollo del programa.

ModPWM:

PROCESS (reloj)

–la variable vreloj1 será una secuencia
lógica

VARIABLE vreloj1:std_logic;

BEGIN

–cuando el pulso sea positivo del reloj de 256KHz, el
vreloj1 niega el –valor anterior lógico, y lo guarda en
la señal sreloj1

IF (reloj'event and reloj= '1')THEN

vreloj1:=NOT vreloj1;

ELSE vreloj1:=vreloj1;

END IF;

sreloj1<=vreloj1;

END PROCESS;

PROCESS (sreloj1)

VARIABLE aux0:integer RANGE 0 TO 255;

BEGIN

–cuando el pulso sea positivo en la señal
sreloj1, empezar un conteo que –se almacenara en la variable
aux0, sera una cuenta de 0 hasta 255, este –valor de conteo se
almacenara en la señal scuenta

IF (sreloj1'EVENT AND sreloj1= '1')THEN

aux0:=aux0 + 1;

ELSE aux0:=aux0;

END IF;

scuenta<=aux0;

END PROCESS ;

PROCESS (reloj)

VARIABLE vpwm:std_logic;

VARIABLE vsel:integer RANGE 0 TO 255;

BEGIN

–la señal sel del bloque del signo, se guarda en
la variable vsel limitado –entre 0 a 255

vsel:=sel;

–cuando el pulso sea negativo o "0" del reloj de
256KHz, empieza la –comparación de scuenta a 0 y a la
variable vsel, cuando scuenta es 0 la –variable vpwm asume el
valor"0", cuando scuenta es igual a vsel asume –el valor "1",
esta variable vpwm, se va a la salida sal

IF(reloj'event AND reloj = '0') THEN

IF(scuenta=0) THEN

vpwm:='0';

ELSE vpwm:=vpwm;

END IF;

IF(scuenta=vsel)THEN

vpwm:='1';

ELSE vpwm:=vpwm;

END IF;

END IF;

sal<=vpwm;

END PROCESS ;

6.4.6 Contador del
tacómetro

Monografias.com

Fig. 6.16: Bloque del contador del
tacómetro

Con este bloque se realiza la realimentación del
sistema, básicamente está conformado por un
contador que recoge los pulsos enviados por el tacómetro y
los acumula por un periodo de muestreo (200ms), cuando el valor
ingresado por clear es cero el valor de la cuenta se
pone a uno para empezar nuevamente, el valor de clear se
pone a uno cada 200ms mas un ciclo de reloj del reloj principal,
es decir un ciclo después de cada periodo de
muestreo.

Desarrollo del programa.

tacometro:

process (t201ms,entradapulsos)

variable vcont : integer RANGE 0 TO 31;

bejín

–representan a un circuito antirebote

bx<= pulsos nand pulsos;

cx<= ax nand bx;

ax<= pulsos nand cx;

entradapulsos <= cx;

–cuando el pulso sea "1" del reloj a 201ms, la variable
vcont, limitado –entre 0 a 31, se vuelve a 0

IF (t201ms = '1') THEN

vcont := 0;

–cuando los pulsos sean positivos del tacometro, la
variable vcont –empiza a sumarse 1, la variable vcont se guarda
en la señal retro

ELSIF (entradapulsos'EVENT AND entradapulsos = '1')
THEN

vcont := vcont + 1;

ELSE

vcont := vcont;

END IF;

retro<=vcont;

END PROCESS;

6.5 Detalles del entorno de programación
MAX+PLUSII, para el programa diseñado en el CPLD MAX 7000S
EPM7128.

Una vez realizado el programa, en lenguaje VHDL, se
procederá a los siguientes entornos del
MAX+PLUSII.

6.5.1. Compilación.

Monografias.com

Fig.6.17 Ventana de compilación
del MAX+PLUSII para el programa diseñado.

Al realizar la compilación se genera el archivo
*.scf, y el *.pof, que es para la simulación y el
programador correspondientemente. También se genera un
archivo *.rpt, el cuál detallará todo el proceso de
la compilación

Se detalla lo más importante del texto, del
archivo de reporte generado por la compilación:

Project Information
c:max_p112original1.rpt

MAX+plus II Compiler Report File

Version 10.2 07/10/2002

Compiled: 12/09/2004 21:41:41

***** Project compilation was
successful

ORIGINAL1

** DEVICE SUMMARY **

Monografias.com

***** Logic for device 'original1' compiled
without errors.

Device: EPM7128SLC84-6

Device Options:

Turbo Bit = ON

Security Bit = OFF

Enable JTAG Support = ON

User Code = ffff

MultiVolt I/O = OFF

Device-Specific Information:
c:max_p112original1.rpt

original1

** RESOURCE USAGE **

Monografias.com

Total dedicated input pins used:1/4 (
25%)

Total I/O pins used:11/64 ( 17%)

Total logic cells used:103/128 (
80%)

Total shareable expanders used:47/128 (
36%)

Total Turbo logic cells used:103/128 (
80%)

Total shareable expanders not available
(n/a):9/128 ( 7%)

Average fan-in:10.70

Total fan-in:1103

Total input pins required:7

Total fast input logic cells
required:0

Total output pins required:1

Total bidirectional pins
required:0

Total reserved pins required:4

Total logic cells required:103

Total flipflops required:69

Total product terms required:320

Total logic cells lending parallel
expanders:0

Total shareable expanders in
database:45

Synthesized logic cells:9/ 128 (
7%)

Memory Allocated

—————–

Peak memory allocated during compilation =
8,816K

6.5.2 Simulación.

Se procede a utilizar la aplicación del Waveform
Editor y la aplicación del Simulator. Se utilizará
estas dos aplicaciones, para realizar la simulación
interactiva, para observar el resultado del programa
diseñado.

Sea la primera simulación, se dará para la
velocidad 0, hasta un tiempo límite de 205ms.

Monografias.com

Fig.6.18 Ventana del WaveformEditor del
MAX+PLUSII, para la primera simulación, velocidad
0.

Monografias.com

Fig.6.19 Ampliación de la ventana
del WaveformEditor del MAX+PLUSII, para la primera
simulación, velocidad 0.

En la simulación se procedió a lo
siguiente:

Setpoint[4..0]: "00001"

Reloj: 256KHz = Periodo de 3.9us.

Pulsos: 5 Hz = periodo de 200ms = total de 1 pulso
durante 200ms.

Se obtiene de la simulación:

Sal: Periodo = 2ms; Ancho de pulso = 0.9 ms.

Esta simulación indica que esta a la
mínima velocidad, o que el motor se está
deteniendo.

Sea la segunda simulación, se dará para la
velocidad 31, hasta un tiempo límite de 205ms.

Monografias.com

Fig.6.20: Ventana del WaveformEditor del
MAX+PLUSII, para la primera simulación, velocidad
31.

Monografias.com

Fig.6.21: Ampliación de la ventana
del WaveformEditor del MAX+PLUSII, para la primera
simulación, velocidad 31.

En la simulación se procedió a lo
siguiente:

Setpoint[4..0]: "11111"

Reloj: 256KHz = Periodo de 3.9us.

Pulsos: 160 Hz = periodo de 6.25ms = total de 32 pulsos
durante 200ms.

Se obtiene de la simulación:

Sal: : Periodo = 2ms; Ancho de pulso = 0.05
ms.

Esta simulación indica que esta a la
máxima velocidad.

6.5.3 Contenido de programación en el CPLD
MAX7000S EPM7128

El contenido de programación en el CPLD MAX7000S
EPM7128, se detallará en la aplicación del
Floorplan Editor del MAX+PLUSII.

Monografias.com

Fig.6.22. Ventana del Floorplan Editor
del MAX+PLUSII.

En esta ventana del Floorplan Editor del MAX+PLUSII, se
detalla las 8 LAB o 8 bloques de arreglo lógico, y cada
LAB contiene 16 celdas, haciendo un total de 128 celdas. En cada
ampliación de la ventana del Floorplan Editor del
MAX+PLUSII, se muestra las celdas ocupadas por cada
instrucción, ciclo, conteo, entrada, salida, variable,
señal del programa.

Monografias.com

Fig.6.23. Ampliación 1 de la
ventana del Floorplan Editor del MAX+PLUSII.

Monografias.com

Fig.6.24. Ampliación 2 de la
ventana del Floorplan Editor del MAX+PLUSII.

Monografias.com

Fig.6.25. Ampliación 3 de la
ventana del Floorplan Editor del MAX+PLUSII.

Monografias.com

Fig.6.26. Ampliación 4 de la
ventana del Floorplan Editor del MAX+PLUSII.

6.5.4 Visualizador de jerarquía del programa
diseñado.

Se utiliza está aplicación del MAX+PLUSII,
para observar los archivos que conforma todo el programa
compilado, así como sus ramas del programa,
correspondientes a las librerías, así como sus
respectivas funciones.

Monografias.com

Fig.6.27 Ventana del visualizador de
jerarquía del programa diseñado.

6.6 Análisis de consumo de
potencia.

Sea la ecuación:

Monografias.com

Asumimos:

Monografias.com

Asumimos:

Monografias.com

Asumimos

Monografias.com

6.7 Análisis económico

Tabla 6.04: Costo de componentes.

Componente

Cantidad

Precio ( S/.)

Calidad de precio

CPLD MAX7000S EPM7128

1

35

Precio distribuidor

Socket para el CPLD MAX7000S
EPM7128

1

9

Precio distribuidor

Motor velocidad-estable DC
magnético EG-520ED-3B

1

10

Precio

Minorista

C.I. HCF4047B

1

4

Precio

Minorista

C.I. 4N25

1

2

Precio

Minorista

Regulador de voltaje
LM7805

1

2

Precio

Minorista

Buffer HC041

1

4

Precio

Distribuidor

Conmutador de ranura
óptico

1

5

Precio

Minorista

TIP 42, TIP 41

4

6

Precio

Minorista

BC548

7

3.5

Precio

Minorista

Dipswhitch 5 selecciones

1

3.5

Precio

Minorista

LED

6

3

Precio

Minorista

Resistencia multivueltas
5K(

1

4

Precio

Minorista

Resistencias de
carbón

25

5

Precio

Minorista

Capacitores

7

1.5

Precio

Minorista

Placa doble cara

1

6

Precio

Minorista

Placa una cara

1

2

Precio

Minorista

Sub-total 1

105.5

Tabla 6.05: Costo de gastos diversos.

Gastos diversos

Cantidad

Costo (S/.)

Quemada de placa

2

16

Sub-total 2

16

Tabla 6.06: Costo Total

Sub-total 1

S/. 105.5

Sub-total 2

S/. 16

Total

S/. 121.5

CAPÍTULO VII

Conclusiones y
bibliografía

7.1 Conclusiones y
Recomendaciones.

Se logro implementar un modulo de sistema de control de
velocidad, e implementar los circuitos de regulación de
voltaje, reloj, selección, acoplamiento óptico,
puente H, sensor de velocidad y del MAX 7000S.

El sistema de control de velocidad, cuenta con un
controlador PD, y no con un controlador PID como debería
ser teóricamente, debido a conflictos con el software
MAX+PLUSII.

El sistema de control de velocidad, regula la velocidad
pero no de la manera propuesta teóricamente, es decir 32
velocidades, existe una velocidad máxima y una velocidad
mínima.

El CPLD MAX 7000S EPM7128 es de poca capacidad, para
realizar completamente este proyecto, pues el sistema de control
de velocidad le falta un visualizador de velocidad.

En el CPLD MAX 7000S EPM 7128 se puede realizar
aplicaciones de pequeña capacidad, por ejemplo: se puede
realizar un número determinado de decodificadores,
divisores de frecuencia, no es adecuado para aplicaciones de
mayor capacidad, comparado con las aplicaciones realizadas en los
microcontroladores.

El FPGA FLEX 10K es recomendable para aplicaciones de
normal a mayor capacidad, comparado con el CPLD MAX 7000S EPM
7128, la capacidad es mucho mayor. Pero no se podría
lograr la implementación, salvo en el módulo
educativo Altera, pues el Laboratorio de Control y
Microelectrónica, carece de un quemador de FLEX
10K.

El software MAX+PLUS II Baseline, o versión
educativa, tiene limitaciones, por ejemplo en la
aplicación de Editor de Texto, no acepta números
reales, solo números enteros, así como los
componentes de la líbrería VHDL"93.

El Laboratorio de Control y Microelectrónica,
debería contar con otros 2 módulos más, para
el desarrollo normal de clases para los alumnos, así como
para investigación de los tesistas, así como
más literatura del lenguaje de programación en
VHDL.

7.2 Referencias
bibliográficas.

  • INGENIERIA DE CONTROL MODERNO, Segunda
    edición, Katsuhiko Ogata. Ed. Prentice Hall
    Hisponamericana S.A., 1993.

  • SISTEMAS DE CONTROL EN TIEMPO DISCRETO,
    Segunda edición, Katsuhiko Ogata. Ed. Prentice
    Hall Hisponamericana S.A., 1996.

  • VHDL, Lenguaje para síntesis y
    modelado de circuitos, Primera edición, Pardo
    Carpio y Boluda Grau. Ed. Alfaomega Grupo Editor S.A.,
    2000.

  • DISEÑO DIGITAL, PRINCIPIOS Y
    PRÁCTICAS, Primera edición, Jhon Wakerly.
    Ed. Prentice Hall Hisponamericana S.A., 1991.

  • INTRODUCCIÓN A LOS SISTEMAS DE
    COMUNICACIONES, Primera edición, Stremmler, Ed.
    Prentice Hall Hisponamericana S.A., 1992

  • GUÍA DEL MODULO ALTERA,
    Laboratorio de Control y Microelectrónica UNSA,
    Yanyachi R. y Yanyachi D, 2004.

  • GUÍA DE USO DEL MAX+PLUS II ,
    Laboratorio de Control y Microelectrónica UNSA,
    Yanyachi R. y Yanyachi D, 2004.

  • MAX+PLUS II, A Perspective, Section 2,
    Altera Corporation, 1997.

  • Altera, Max 7000 Programmable Logic
    Device Family, Altera Corporation, 1997.

  • University Program Design Laboratory
    Package, Altera Corporation, 1997.

 

 

Autor:

Cesar

 

Partes: 1, 2, 3, 4
 Página anterior Volver al principio del trabajoPágina siguiente 

Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

Categorias
Newsletter