6
40. SBAI - Simpósio Brasileiro de Automação Inteligente, São Paulo, SP. 08-10 de Setembro de 1999 SCD . SOFTWARE PAR:4 El CONTROl DE SISTEMAS USANDO TECNICAS DIFUSAS. Oscar Mauricio Agudelo Maiíozca DiegoFernando Almario Programa de Ingeniería Mecatrónica - Universidad Autónoma de Occidente Calle 25 Carrera 116 Km 2 Via Cali - Jamundí Santiago de Cali, Colombia Resumen: SCD es un programa diseiíado con fines didácticos para facilitar la implementación de algoritmos difusos. Este paquete permite implementar controladores difusos directos dentro de un esquema c1ásico de control. Fuera de esto el programa permite implementar controladores c1ásicos deI tipo algebraico . Ademãs , se pueden realizar simulaciones como paso previo aI montaje físico. SCD ha sido desarrollado en la Universidad Autónoma de Occidente y se ha convertido en una herramienta de apoyo en los cursos deI área de sistemas de control. En el presente artículo se realiza una descripción deI funcionamiento dei programa. Palabras Clave: Control Difuso, Controladores PI, Control por Computador, Programas, Herramientas de Software. Abstract: SCD is a program designed to facilitate the implementation of fuzzy control algorithms. This package allows to implement fuzzy controllers with a c1asic control loop configuration . The user can to implement Algebraic Controllers too. Also, SCD allows to carry out simulations like previous step to the physical assembly. This package has been developed in the Universidad Autónoma de Occidente and has become a support tool in the courses of the area of control systems. This paper present a description of this programo Keywords: Fuzzy control, PI controllers , Compuler control, Programs, Software tools. 1 INTRODUCCIÓN La lógica Difusa está mucho más cercana a la forma de pensar, razonar y expresarse de los seres humanos que la que proporcionan los sistemas tradicionales boléanos. Básicamente proporcionan un medio efectivo para poder modelar adecuadamente la naturaleza aproximada e inexacta deI mundo real. Desde esta perspectiva, la parte esencial de cualquier produeto de consumo basado en lógica difusa, y por lo tanto de cualquier controlador difuso, es un conjunto de regIas lingüísticas de control relacionadas por medio de los conceptos duales de implicación difusa y regIa composicional de inferencia. En síntesis y desde una perspectiva amplia, un controlador difuso proporciona un algoritmo que puede 365 convertir una estrategia de control lingüístico, generalrnente basada en la experiencia de un controlador humano, en una estrategia de control automático. En los últimos afios en el campo deI control de procesos industriales, muchas investigaciones han sido enfocadas en la utilización de controladores basados en la lógica difusa. Esto porque dichos procesos se hacen difíciles de controlar automáticamente a causa de sus no linealidades, sus conductas temporal - dependiente y la baja calidad de las medidas disponibles. Aunque el control difuso se aplica a procesos que suelen ser complicados de controlar, se ha desarrollado con fines didácticos el SCD, un programa para controlar procesos relativamente sencillos (control de velocidad y posición de motores, control de nivel, etc.), utilizando la lógica difusa como metodología de control. Fuera de esto, el programa permite realizar control c!ásico, específicamente permite implementar controladores deI tipo algebraico. De esta manera el usuario puede trabajar con ambas metodologías y observar las ventajas que ofrece el control difuso. EI programa se desarrolló utilizando VisuaIBasic 6.0. 2 INSTALACIÓN Y FUNCIONAMIENTO La instalación deI programa se lIeva a cabo ejecutando el programa de instalación (setup.exe) suministrado en los discos de distribución deI paquete. Los requerimientos mínimos de hardware y software son: Procesador: Pentium J00 Mhz Memoria RAM: 16 Mbytes Disco Duro: 10 Mbytes disponibles Windows 95/98 Tarjeta de Adquisición de Datos: PCI-I200 de Natiomal Instruments. Cuando se ejecuta el programa aparece una ventana de presentación; posteriormente se entra a la pantalla principal, donde el usuario puede observar el .diagrama deI sistema control a mplementar (ver figura 1).

SOFTWARE PAR:4 El CONTROl USANDO DIFUSAS

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

40. SBAI - Simpósio Brasileiro de Automação Inteligente, São Paulo, SP. 08-10 de Setembro de 1999

SCD . SOFTWARE PAR:4 El CONTROl DE SISTEMAS USANDOTECNICAS DIFUSAS.

Oscar Mauricio Agudelo Maiíozca

DiegoFernando AlmarioPrograma de Ingeniería Mecatrónica - Universidad Autónoma de Occidente

Calle 25 Carrera 116 Km 2 Via Cali - JamundíSantiago de Cali, Colombia

Resumen: SCD es un programa diseiíado con fines didácticospara facilitar la implementación de algoritmos difusos. Estepaquete permite implementar controladores difusos directosdentro de un esquema c1ásico de control. Fuera de esto elprograma permite implementar controladores c1ásicos deI tipoalgebraico . Ademãs, se pueden realizar simulaciones comopaso previo aI montaje físico. SCD ha sido desarrollado en laUniversidad Autónoma de Occidente y se ha convertido enuna herramienta de apoyo en los cursos deI área de sistemas decontrol. En el presente artículo se realiza una descripción deIfuncionamiento dei programa.

Palabras Clave: Control Difuso, Controladores PI, Controlpor Computador, Programas, Herramientas de Software.

Abstract: SCD is a program designed to facilitate theimplementation of fuzzy control algorithms. This packageallows to implement fuzzy controllers with a c1asic controlloop configuration . The user can to implement AlgebraicControllers too. Also, SCD allows to carry out simulations likeprevious step to the physical assembly. This package has beendeveloped in the Universidad Autónoma de Occidente and hasbecome a support tool in the courses of the area of controlsystems. This paper present a description of this programo

Keywords: Fuzzy control, PI controllers , Compuler control,Programs, Software tools.

1 INTRODUCCIÓNLa lógica Difusa está mucho más cercana a la forma de pensar,razonar y expresarse de los seres humanos que la queproporcionan los sistemas tradicionales boléanos. Básicamenteproporcionan un medio efectivo para poder modelaradecuadamente la naturaleza aproximada e inexacta deI mundoreal. Desde esta perspectiva, la parte esencial de cualquierprodueto de consumo basado en lógica difusa, y por lo tanto decualquier controlador difuso, es un conjunto de regIaslingüísticas de control relacionadas por medio de los conceptosduales de implicación difusa y regIa composicional deinferencia. En síntesis y desde una perspectiva amplia, uncontrolador difuso proporciona un algoritmo que puede

365

convertir una estrategia de control lingüístico, generalrnentebasada en la experiencia de un controlador humano, en unaestrategia de control automático. En los últimos afios en elcampo deI control de procesos industriales, muchasinvestigaciones han sido enfocadas en la utilización decontroladores basados en la lógica difusa. Esto porque dichosprocesos se hacen difíciles de controlar automáticamente acausa de sus no linealidades, sus conductas temporal -dependiente y la baja calidad de las medidas disponibles.

Aunque el control difuso se aplica a procesos que suelen sercomplicados de controlar, se ha desarrollado con finesdidácticos el SCD, un programa para controlar procesosrelativamente sencillos (control de velocidad y posición demotores, control de nivel, etc.), utilizando la lógica difusacomo metodología de control. Fuera de esto, el programapermite realizar control c!ásico, específicamente permiteimplementar controladores deI tipo algebraico. De esta manerael usuario puede trabajar con ambas metodologías y observarlas ventajas que ofrece el control difuso.

EI programa se desarrolló utilizando VisuaIBasic 6.0.

2 INSTALACIÓN Y FUNCIONAMIENTOLa instalación deI programa se lIeva a cabo ejecutando elprograma de instalación (setup.exe) suministrado en los discosde distribución deI paquete. Los requerimientos mínimos dehardware y software son:

• Procesador: Pentium J00 Mhz• Memoria RAM: 16Mbytes• Disco Duro: 10 Mbytes disponibles• Windows 95/98• Tarjeta de Adquisición de Datos: PCI-I200 de Natiomal

Instruments.

Cuando se ejecuta el programa aparece una ventana depresentación; posteriormente se entra a la pantalla principal,donde el usuario puede observar el .diagrama deI sistemacontrol a mplementar (ver figura 1).

EI esquema de control utilizado con los controladoresalgebraicos es el que se muestra en la siguiente figura :

Fig 4. Lazo de control clásico

donde la funci6n de transferencia de pulso dei controlador es laque se muestra a continuaci6n :

Y (f)

40. SBAI- Simpósio Brasileiro de Automação Inteligente, São Paulo, SP, 08-10 de Setembro de 1999

Desde allí, bien sea accediendo a los ítems dei menú o por humana. La evaluación de las regias se hace usando MÁ-X-medio de los iconos existentes y de los distintos bloques dei MIN, es decir que el operador "O" se evalúa usando el máximodiagrama dei sistema de control se puede cargar, editar y de entre dos valores difusos y el operador "Y" utilizando elsimular el controlador difuso, modificar el lazo de contrai , y mínimo entre esos dos. Como método de defuzzificaci6n sefinalmente realizar el contrai de un proceso determinado por utiliza el centroide.media de una tarjeta de adquisici6n de datas.

Figv l, Ventana principal.

3 CARACTERíSTICAS DEL SISTEMA DECONTROl

Este programa permite ejercer control difuso "directamente"sobre un proceso determinado. Específicamente , permiteimplementar controladores difusos directos (CDD's) dentro deun esquema clásico de control, como se ilustra en la figura 2.

La sefial obtenida a través de la tarjeta puede ser filtradadigitalmente de acuerdo a las necesidades dei usuario; porejemplo si se está trabajando en ambientes ruidosos. EI filtropuede ser activado o desactivado a gusto dei usuario. EI filtroque se implementa es un filtro paso-bajo exponencial de primerordeno La ecuaci6n en diferencias de dicho filtro es lasiguiente:

Y(k)=aY(k-I)+(i-a)X(k) ( I)

Fig. 5. Parámetros de las Funciones de pertenencia.

DBA

IJ(X)

Donde:a =Parámetro dei filtro ,a =1/(1 + ToWc)To =Periodo de MuestreoWc =Frecuencia de corte X(k) = Entrada dei filtroY (k ) = Salida dei filtrok = indice

4 EDICIÓN DEL CONTROLADOR DIFUSO

4.1 Funciones de pertenenciaEI programa puede trabajar básicamente con funciones depertenencia triangulares y trapezoidales. Estas funciones estándefinidas por los parámetros ilustrados en la Figura 5. Lasfunciones de pertenencia triangulares se obtienen haciendoiguales los parámetros B y C.

Fig. 2. Controlador Difuso Directo dentro de un esquemaClásico de Controlo

EI controlador difuso tiene como posibles entradas el error consu respectiva primera y segunda derivada aI igual que laintegral de este mismo. La salida de dicho controlador puedeser aplicada directamente a la planta o a través de un integradordispuesto por el programa como se muestra en la figura 3.Cuando la salida dei controlar difuso es incrementai (derivadade una variable física), se requiere que se active el integradorpara obtener el valor absoluto de la variable.

[T.;itii!tr.)

Fig. 3. Diagrama de entradas y salidas del sistema decontrol implementado.

EI tipo de controlador Difuso que se pcede implementar pormedio de este programa es dei tipo Mamdani y las funcionesde pertenencia que se manejan son triangulares ytrapezoidales debido a que simplifican la manipulaci6naritmética y representan adecuadamente la experiencia

366

40. SBAI - Simpósio Brasileiro de Automação Inteligente, São Paulo, SP, 08-10 de Setembro de 1999

Para definir las funciones de pertenencia de las entradas o de lasalida dei controlador difuso, se hace uso de la ventanamostrada en la figura 6. Aquí el usuario puede definir,modificar y eliminar dichas funciones de pertenencia. Asímismo puede definir el universo de discurso (valores máximoy mínimo) de cada una de las variables dei sistema deinferencia difuso.

Fig. 6. Definición de las funciones de Pertenencia.

puede ingresar la función de transferencia (en términos de lavariable compleja "z") dei controlador.

Fig 8. Ventana para editar el controlador algebraico.

6 PRUEBA DEL CONTROLADOR DIFUSOY SIMUlACIÓN DEL lAZO DE CONTROl

Para verificar el funcionamiento dei controlador difuso sedispone de la ventana mostrada en la figura 9.

4.2 Base de regias

Sí (varl es... ) y (var2 es ... ) y (var3 es... ) y (var4 es... )entonces (salida es. ..)

Para definir la base de regIas dei controlador difuso, se utilizala ventana mostrada en la figura 7.

Variables de entrada deI

salida = Variable de salida dei sistema.

var l , var2, var3, var4controlador difuso.

Donde:

La sintaxis y estructura de las regias que maneja el programaes la siguiente:

Fig. 7. Definición de la base de regias.

En esta ventana se puede agregar, modificar o eliminar regiascon solo hacer ciick en el botón correspondiente. Las regiasdeciaradas deben ser consistentes con las variables y funcionesde pertenencia previamente definidas. EI peso de cada regIadebe estar entre Oy 1. Por defecto el programa asume un pesode uno para cada regia,

Fig. 9. Ventana para probar el contralador difuso.

En esta ventana se puede evaluar el comportamiento deicontrolador difuso ante distintos valores de entrada. Además,se puede apreciar el porcentaje de influencia de cada regia conrespecto a la salida dei controlador.

EI programa permite simular el comportamiento de todo el lazode control. Para esto el usuario debe ingresar el modelomatemático dei proceso a controlar en función de la variablecompleja 'z", La ventana destinada a la simulación es similar aIa usada cuando el programa esta controlando un proceso através de una de las tarjetas de adquisición de datos (ver figura12).

7 TARJETAS DE ADQUISICIÓN YCONVERSIÓN A UNIDADES DEINGENIERíA

5 EDICIÓN DEL CONTROLADORAlGEBRAICO

El programa se apoya en la PCI-1200, una tarjeta de NationalInstruments.

Para la edición dei controlador algebraico se dispone de laventana mostrada en la figura 8. En esta ventana el usuario

La ventana deI programa que permite configurar los diferentesparámetros de la tarjeta (canales de entrada y salida, ganancia,etc. ) se muestra cn la figura 10.

367

40. SBAI- Simpósio Brasileiro de Automação Inteligente, São Paulo, SP, 08-10 de Setembro de 1999

Fig.l0. Ventana para configurar la tarjeta.

7.1 Parámetros de Conversión a la Entradade la Tarjeta

Para manipular la variable dei proceso en unidades deingeniería se hace necesario que se conviertan los valores envoltios que se leen por la tarjeta a dichas unidades. Para definirestos parámetros de conversión se utiliza la ventana mostradaen la figura 11.

Fig. 11. Selección de los parâmetros de conversión a laentrada y el filtro digital.

Para que la conversión anterior sea correcta se requiere queexista una "relación lineal" entre la variable física y losvalores en voltios leídos por la tarjeta. En esta ventana tambiénse puede activar y seleccionar el parámetro dei filtro paso-bajodescrito anteriormente.

8 PANEl DE CONTROl YCONFIGURACIÓN

Para conectar y poner en funcionamiento el sistema de controlque se ha desarrollado (cuyo diagrama de bloques se muestraen la pantalla principal dei programa), se utiliza la ventanamostrada en la figura 12. En esta ventana se pueden observarlas gráficas correspondientes a la variable dei proceso y(t) y laacción de control u(t), así como sus valores numéricos y elvalor dei periodo de muestreo en milisegundos .

En dicha ventana se fija el set-point, el cual se puede variar asíel sistema esté on-line. De igual manera en cualquier momentose puede abrir el lazo de control y manipular directamente lasalida dei sistema u (t) . .

Para configurar los parámetros del panel de control tales comolas escalas de los gráficos, el rango de valores posibles dei set-point, los valores de saturación de la salida, el periodo demuestreo, etc. se dispone de la ventana mostrada en la figura13.

368

Fig. 12. Panel de Control

Fig .13. Ventana para configurar el panel de control.

9 UTILlZACIÓNDEL PROGRAMA EN UNPROBLEMA REAL

EI programa fue utilizado para controlar la velocidad de unmotor de corriente continua. EI sistema completo estabaformado por un motor (planta), un amplificador (elementoactuador) y finalmente por un tacogenerador (elemento sensorde velocidad) como se muestra en la figura 14.

Por cada 1000 RPM (Revoluciones por minuto) eltacogenerador entrega 7V. EI sistema de control disefiadoIimitó el rango de voltaje que se entrega ai amplificador de Oa7V, para hacer que el motor tuviese solamente un sentido degiro. EI diagrama de bloques dei sistema de control que seimplementó se muestra en la figura 15.

Fig. 14. Esquema dei sistema a controlar.

40. SBAI- Simpósio Brasileiro de Automação Inteligente, São Paulo, SP, 08-10 de Setembro de 1999

Fig. 15. Diagrama de bloques dei sistema decontrol implementado.

Se implement6. un Controlador PI Difuso utilizando comoentradas el error y su respectiva derivada. Como salida, elcontrolador entrega las variaciones deI voItaje de armadura alamplificador conectado aI motor (derivada deI voltaje).

Cada una de las entradas posee 5 funciones de pertenenciadistribuidas de la siguiente manera:

Utilizando la PCI-12oo se obtuvieron las gráficas ante unaentrada escalón de 500 RPM de la variable dei proceso(velocidad) y de la acci6n de control (voItaje) como semuestran en la figura 18.

Como se puede apreciar en las gráficas anteriores el error enestado estable es prácticamente igual a cero y el sistema tieneun comportamiento bastante aceptable. Para probar lasbondades que ofrecen los controladores difusos se desactiv6 elfiltro a la entrada de la taIjeta y se obtuvo las gráficasmostradas en la figura 19. Comparando estas gráficas con lasde la figura 18, se puede apreciar la robustez dei controladordifuso, ya que a pesar de trabajar en un ambiente ruidoso logracontrolar la velocidad del motor de corriente continua.Normalmente en los controladores clásicos este factor puedehacer que el sistema sea muy difícil de controlar sin la ayudade un filtro apropiado.

I2.00e+0I

i1.00e+01I(s)

1.000+01t(.)

AccI6n do Cortrol : u (I )

Fig. 18. Gráficas de la variable de proceso y de la acción decontrol ante una ref. escalón de 500 RPM.

"derror"

ng nm ze pm pg

ap amdp nc

ng nm ze pm pg

-1000 ·500 o 500

Fig.17. Funciones de pertenencia asocíadas a la salida.

-10 -5 O 5 10"derivadadei voltaJe"

Donde:ng =Negativo Grande, nm =Negativo Medio, ze =Cero,pm =Positivo Medio, pg = Positivo Grande.

Fig. 16. Funciones de pertenencia asociadas 8I "error" y ala "Derivada dei Error",

Tabla 1. Base de regias dei controlador difuso

Donde:dm = Disminuya mucho, dp = Disminuya poco, nc =No cambie, am = Aumente mucho, ap = Aumentepoco.

EI controlador tuvo un total 'de 25 regIas, las cuales seencuentran definidas en la siguíente tabla:

La variable de salida del controlador posee 5 funciones de.pertenencia como se muestra en la siguiente figura:

e\Ae ng nm ze pm P2NI! dm dm dm dp dpNm dm dm do do doZe do do nc ap apPm ap am am am amPe am am am am am

Fig. 19. Gráficas de la variable de proceso y de la acción decontrol ante una ref, escalón de 500 RPM. Sin filtro.

Pruebas similares se hicieron utilizando otros valores dereferencia y ai final el comportamiento fue parecido aIilustrado en las gráficas anteriores.

369

40. SBAI- Simpósio Brasileiro de Automação Inieligente, São Paulo, SP, 08-10 de Setembro de 1999

10 CONCLUSIONESEn este trabajo se ha presentado una descripción detallada deiSCD, un programa que utiliza técnicas difusas para ejercercontrol sobre un sistema dado. Específicamente, con estepaquete se pueden implementar controladores difusos directosdentro de un esquema clásico de controI. Este programa seconvierte en una herramienta de especial importancia, puestoque permite llevar al mundo real los algoritmos' de controldifuso que se hubiesen realizado y probado mediantesimulaciones. Cabe destacar que el programa permite simularellazo de control como paso previo al montaje físico .

REFERENCIASDe carli, A. (1994) . A Fuzzy-Pl Control Strategy. Control Eng .

Practice, voI.2, n.I, pp 147-153.

Greg, Viot. (1993). Fuzzy Logic : Concepts to Constructs. AIExpert. November, pp 26 - 33.

Jamshidi, M.(1993). Fuzzy Logic and ControI. Prentice Hall.

Mathworks Inc (1995) . Fuzzy Logic Toolbox for use withMatLab.

Verdegay J.L. (1994) . Introducción AI control Difuso.

Memorias dei prirner congreso de la asociaci6n colombiana deautomática. Ed. Freddy Naranjo Pérez, Cali-Colombia.

370