Está en la página 1de 4

METODOLOGÍA DE IMPLEMENTACIÓN DE UN

CONTROLADOR PID DIFUSO EN UNA FPGA


López R., Leonardo J.1, Franco M., Zulay E.2, Pateti M., Antonio S.3

Universidad Nacional Experimental Politécnica


“Antonio José de Sucre”
Vice-Rectorado Puerto Ordaz. Departamento de Ingeniería Electrónica
1sunmessenger@cantv.net , 2zfranco@poz.unexpo.edu.ve, 3apateti@poz.unexpo.edu.ve

Resumen.- En este trabajo se describe una metodología para diseñar un Controlador PID Difuso
para ser implementado en un arreglo de compuertas lógicas programables (FPGA). El desarrollo
del controlador se basó en el comportamiento dinámico (en un sistema de control simulado) del
error, diferencial del error y la salida de mencionado sistema. Se describen las diferentes fases de
la metodología, además de mencionar las herramientas de diseño asistido por computadora en las
fases que lo requieren. Se describe el diseño a implementar en la FPGA en el estándar VHDL.
Finalmente se inserta el Controlador PID Difuso en un sistema de control de nivel, el cual ilustra
la aplicación de cada fase de la metodología visto de una manera real. Se pueden implementar
Controladores PID Difusos en plataformas de poca capacidad matemática y de memoria, con
respuesta aceptables en corto tiempo.

Palabras clave: Controlador PID Difuso/ VHDL/ FPGA.

I. INTRODUCCIÓN.

Las teorías de Lógica Difusa (Fuzzy Logic) fueron enunciadas Controlador PID Difuso en un Arreglo de Compuertas Lógicas
en 1965 por Lotfi A. Zadeh, como una herramienta matemática Programables (FPGA). Se utiliza Lógica Difusa porque reduce
para manejar imprecisiones del razonamiento humano. La principal significativamente la carga computacional, lo que conduce a
aplicación de la Lógica Difusa es en el campo de control [1], en utilizar menos recursos internos en la FPGA y ofrece soluciones
el que el modelo matemático del proceso es desconocido, muy aceptables en corto tiempo.
complejo o variante en el tiempo; por lo tanto, el conocimiento El procedimiento que permitió lograr los objetivos de la presente
de un experto es necesario para controlar el sistema. La investigación son los siguientes: estrategia de diseño, se describen
característica más resaltante de la Lógica Difusa es la capacidad cada una de las fases de la metodología propuesta, se muestra
de expresar el conocimiento en una forma lingüística, lo que una aplicación de la metodología propuesta a un sistema real.
permite que un sistema pueda ser descrito por simples reglas
humanas. II.- DESARROLLO
Un FPGA consiste de un arreglo de bloque lógico configurables
e interconexiones programables [2]. Su ventaja estriba en que 1.- Estrategia de diseño.
tanto los bloques como las interconexiones se pueden reconfigurar.
Como una alternativa al incremento de los sistemas de cómputos, La tendencia actual de diseño de circuitos integrados, es que éstos
los arreglos de compuertas lógicas programables se han usado realicen todas las funciones que se requieran en un chip, por tal
recientemente con éxito en muchas aplicaciones. Dado que los motivo se implementa en la FPGA el algoritmo de adquisición
algoritmos se implantan a nivel de circuitos, el rendimiento de datos, pre-procesado, algoritmo difuso, post-procesado y
observado en varias aplicaciones es superior al que se obtiene determinación de la salida del sistema, así como también el
mediante sistemas de cómputos de propósito general. módulo de comunicación con un computador para registrar los
Debido a las ventajas que se presentaron en los párrafos anteriores, valores de la variable a controlar e insertar el punto de operación
en este trabajo se describe una metodología para implementar un del sistema.

130
Volumen 10, Número 39, julio 2006. pp 130-133
López, L., Franco, Z., Pateti, A., Metodología de implementación de un controlador PID difuso en una FPGA

2.- Metodología desarrollada para la implementación de un


Controlador PID Difuso en una FPGA

Para desarrollar el Controlador PID Difuso se define la estructura


a implementar en la FPGA.
Se obtienen los parámetros que caracterizan el funcionamiento
del proceso, de tal manera, que la simulación que se realiza tenga
un alto grado de certeza con el proceso real. Después de hallar
los parámetros que caracterizan el funcionamiento del proceso,
se procede a realizar la simulación del proceso con un PID
convencional. De ella se obtiene el comportamiento dinámico
del error, de la diferencia del error y de la salida, que luego
permitirán definir la base de reglas del controlador difuso.
Se establecen los parámetros estructurales del controlador PID
difuso. Establecidos los parámetros estructurales, se realiza una
simulación estática (fuera del proceso) del controlador, y así se
puede observar si se obtuvo un comportamiento deseado. Esto
se realiza mediante un análisis de la superficie de control. Figura 2: Error, diferencial del error y salida del sistema.
Para definir los parámetros de entonación se realiza la simulación
del controlador de manera dinámica, esto consiste en remplazar Se establecen los parámetros estructurales del controlador:
el Controlador PID convencional por el PID difuso utilizando
parámetros de entonación iniciales, luego se ajustan los parámetros
de entonación mediante un criterio de desempeño, como es la
integral del error absoluto (IAE) y el índice de oscilación en la
salida (ios).
Se definen y describen las entradas y salidas necesarias para
implementar en la FPGA el Controlador PID Difuso, así como
también el módulo de comunicación con un computador para
registrar los valores de la variable a controlar e insertar el punto
de operación del sistema. Luego se realiza la descripción del
hardware bajo el estándar VHDL (VHSIC Hardware Description
Language, VHSIC: Very High Speed Integrated Circuit).
Se realiza la síntesis, que consiste en verificar la correcta sintaxis
de los ficheros que están en código VHDL, mapear el código en
lógica estándar, optimizar el diseño en velocidad ó área de
acuerdo a la FPGA a utilizar, para crear un archivo.XNF.
Se realiza la implementación, que consiste en mezclar los
archivos.XNF (generado de la síntesis) y archivo.UCF que Figura 3. Entradas, Salida y base de Reglas del Controlador
contiene información de las entradas y salidas del diseño. Luego Difuso.
agrupa la lógica estándar en componentes físicos, como bloques
lógicos configurables (CLBs) y bloques de entrada y salida Se realiza la simulación estática utilizando un [5] y Fuzzy
configurables (IOBs), después genera un archivo.BIT el cual Logic Toolbox [6] ambos de MatLab 6.0 y se obtiene la superficie
configura la FPGA de acuerdo al diseño. de control que se muestra en la Figura 4.
Verificación del correcto funcionamiento del controlador.

3.- Aplicación

Para este trabajo se utiliza la estructura propuesta en [3] mostrada


en la Figura 1.

Figura1. Estructura de un Controlador PID Difuso de acción


directa.

Para obtener el comportamiento dinámico del controlador PID


convencional se utilizó la herramienta Simulink [4] de Matlab
6.0 como se muestra en la Figura 2. Figura 4. Simulación Estática del Controlador Difuso.

131
Volumen 10, Número 39, julio 2006. pp 130-133

En la Figura 5.a se muestran los resultados de la simulación


con los parámetros de entonación iniciales, y en la Figura 5.b
se observa la salida del sistema usando los parámetros de
entonación óptimos encontrados. Ambas simulaciones se
realizaron utilizando Simulink de Matlab 6.0.

Figura 8. Reporte de la implementación.

(a) (b) Verificación del funcionamiento del controlador. En esta fase


se inserta la FPGA al proceso de control real, y se expone una
Figura 5.a.-Evolución del nivel con los parámetros iniciales aplicación práctica de Controlador PID Difuso en un sistema
de entonación. de control de nivel.
5.b.-Evolución del nivel con los parámetros óptimos de
entonación.

La descripción en VHDL [7] del diseño se realiza bajo el


esquema que se presenta en la Figura 6.

Figura 9. Sistema implementado.

El sistema de control implementado (ver Figura 9) consta de


los siguientes elementos: la FPGA, el proceso de control de
nivel, el computador, el bloque ADC constituido por el circuito
Figura 6. Esquema del diseño en VHDL. acondicionador de la señal proveniente del proceso, y convertidor
A/D y bloque DAC constituido por el convertidor D/A y el
El código VHDL se escribe en el programa Webpack 6.1i, y se amplificador de corriente y voltaje.
simula en ModelSim XE II 5.7c. El proceso de control de nivel consta de dos tanques. El primer
tanque tiene una base de 10cmx10cm y una altura de 40cm,
Se realiza la síntesis utilizando el software FPGA Express 4.1i también contiene los siguientes elementos: un medidor de nivel
de Xilinx Foundation y se generara el archivo .XNF. (Figura 7) visual (medida directa), una válvula de paso de media pulgada
ubicada en la parte inferior de unas de las paredes del tanque
(que vierte agua al segundo tanque) y un sensor transmisor de
presión diferencial inteligente, que se calibra para que tenga
una salida de (4-20)mA en un rango de medida de (0-25,5)cm.
El segundo tanque tiene las siguientes dimensiones: 20cmx20cm
de base y una altura de 20cm, está ubicado por debajo del primer
tanque y funciona como un contenedor, en la parte inferior de
una de las paredes está ubicada una bomba que retorna el agua
al primer tanque, cuyo caudal de salida depende
proporcionalmente a una tensión de 1,1V a 12V.
El resultado de esta fase se observa en la Figura 10 en la que
Figura 7: Síntesis en FPGA Express. se muestra como evoluciona el nivel del agua ante las diferentes
señales de prueba (rampa, parabólica, senoidal) y cambios en
Se realiza la implementación utilizando el software Desing la referencia con interferencias. Estas señales fueron tomadas
Manager el cual genera el archivo .BIT para configurar la FPGA a través de una interfase usuario sistema realizado bajo LabVIEW
XC4010XL [8] (inserta en el sistema de desarrollo XS4010XL+ 6.0i [10] [11].
[9]) y también el reporte de la cantidad de recursos utilizada.
(Figura 8)

132
López, L., Franco, Z., Pateti, A., Metodología de implementación de un controlador PID difuso en una FPGA

Figura 10. Resultado del Controlador PID Difuso implementado en la FPGA.

4.- Discusión de resultados 4. Lo anterior no se aplica a la realidad porque la plataforma de


implementación es de naturaleza digital, y por ello se recurrió
Del análisis de la Figura 2, se obtiene la base de reglas del a los ficheros.m que emulan el comportamiento discreto.
Controlador Difuso de la siguiente manera: cuando el error (e(k)) 5. El Controlador PID Difuso tiene un tiempo de respuesta rápido,
es positivo (P) y el diferencial del error es negativo (de(k)) un sobreimulso mínimo y sigue fielmente la referencia,
entonces la salida (du(k)) tiene un valor incremental positivo condición deseable en un sistema de control.
mediano (PM) para alcanzar el punto de operación; en caso 6. La arquitectura del controlador implementada sobre un
contrario, si e(k) es N y de(k) es P entonces du(k)) es negativo dispositivo reconfigurable, le da naturaleza abierta para
mediano (NM). Lo anterior menciona la deducción de dos reglas, cambios con miras a aumentar el rango de control y
procedimiento que se utiliza para hallar las demás reglas. comunicación con la PC, así como aumentar ó disminuir el
Como se observa en la Figura 4, cuando e(k)es positivo entonces efecto predictivo del controlador a través de Sde y KPD.
du(k) es positivo; de manera contraria cuando e(k) es negativo
también lo es du(k); pero la amplitud de la salida du(k) dependerá IV.- REFERENCIAS
del valor de la entrada de(k) , si e(k) es positivo y de(k) es positivo
la salida del sistema se aleja de la referencia con valores inferiores 1. Del Brío, B y Sanz, A., “Redes Neuronales y Sistemas
a ella. Por lo tanto la respuesta del controlador es enviar una Borrosos”, 2ª. edición, Madrid, RA-MA, 2001, 399pp.
salida positiva grande. En caso de que e(k) sea positivo y de(k) 2. Franco, Z, Tesis de Maestría, “Realización mediante FPGA
negativo, la salida del sistema se acerca a la referencia con valores de filtro pasa banda con retroalimentación para modulación
inferiores a ella, por lo tanto el controlador envía una respuesta FSK”, UNEXPO, Vicerrectorado de Puerto Ordaz. 2002,
positiva mediana y su amplitud disminuye a medida que la salida 83pp.
del sistema se acerca al punto de operación. De manera semejante 3. LYON, E, Tesis de Maestría, “Desarrollo de Controladores
ocurre cuando e(k) es negativo, pero los casos tienen signos Fuzzy PID”, UNEXPO Vicerrectorado de Puerto Ordaz. 2003,
opuestos. El controlador tiene un efecto predictivo ya que al 138pp.
evaluar la tendencia del error le asigna una amplitud lo que trae 4. “Simulink. Simulation and Model-Besed Desing”, The
como resultado que minimiza los sobreimpulsos en la salida del M a t Wo r k s I n c . , Ve r s i o n 5 , J u l y 2 0 0 2 .
sistema. También se observa que la acción de control tiene efecto www.mathworks.com/access/helpdesk/help/pdf_doc/simuli
en un margen cercano a cero. nk/sl_using.pdf
Analizando la repuesta del controlador, Figura 5.a, se observa 5 . “ M AT L A B . T h e L a n g u a g e o f t e c h n i c a l
que la salida del sistema tiene muchas oscilaciones, por lo que Computing”.www.mathworks.com/access/helpdesk/help/pd
es necesario agregarle un efecto predictivo en la entonación para f_doc/matlab/matlab_prog.pdf
reducir las oscilaciones. Este efecto se logra variando los 6. “Fuzzy Logic Toolbox for use with MATLAB”, The MatWorks
parámetros de entonación. Inc., Ve r s i ó n 2, September
El resultado de la fase de verificación se observa en la Figura 2000.www.mathworks.com/access/helpdesk/help/pdf_doc/f
10, que muestra cómo el nivel sigue la referencia impuesta por uzzy/fuzzy.pdf
el usuario y mantiene el punto de operación sin importar que 7. Perry, R “VHDL”, 3ª. edición, New York, McGraw-Hill, 1997,
exista interferencia en el proceso. 493pp.
8. “XC4000E and XC4000X Series Field Programmable Gate
III.- CONCLUSIONES A r r a y s ” , X i l i n x C o . , Ve r s i o n 1 . 6 , M a y
1999.www.xilinx.com/bvdocs/publications/4000.pdf
1. Es posible implementar un Controlador PID Difuso en una 9. “XS40, XSP Board V1.4. User Manual”, XESS Corp., Version
FPGA XC4010XL, con datos de entrada y salida de 11 bits; 1.4, September 1999.www.xess.com/manuals/xs40-manual-
además de manejar la comunicación y convertidores A/D y v1_4.pdf
D/A. 10. “LabVIEW User Manual”, January edition, Dallas, National
2. MatLab 6.0 contiene todas las herramientas para diseñar y Instruments Corporation, 1998, 540pp.
simular, de manera estática y dinámica, un Controlador PID 11. “LabVIEW Básico I. Manual del Curso versión 4.0”, edición
Difuso. diciembre, Dallas, National Instruments Corporation, 1998,
3. Las herramientas Toolbox Fuzzy Logic simula el Controlado 416pp.
PID Difuso en una forma continua.

133

También podría gustarte