Titulación

35
1 Básicam ente, D efuzzyficación es un m apeam iento de un espacio de accionesde C ontrolFuzzy definido sobre su universo,en un espacio de control de acciones no Fuzzy o num érico. En la m ayoría de las aplicaciones prácticas es necesario un valor num érico concreto.La estrategia de Defuzzyficación es dirigida de modo a producir una acción de control no Fuzzy que mejor representa una distribución de posibilidades de una acción de Control Fuzzy. Existen dos métodos de D efuzzyficación que son los m ás utilizados: elm étodo de centro de gravedad y elm étodo de lasalturas. 3.3 Defusificación

description

 

Transcript of Titulación

Page 1: Titulación

1

Básicamente, Defuzzyficación es un mapeamiento deun espacio de acciones de Control Fuzzy definido sobresu universo, en un espacio de control de acciones noFuzzy o numérico. En la mayoría de las aplicacionesprácticas es necesario un valor numérico concreto. Laestrategia de Defuzzyficación es dirigida de modo aproducir una acción de control no Fuzzy que mejorrepresenta una distribución de posibilidades de unaacción de Control Fuzzy. Existen dos métodos deDefuzzyficación que son los más utilizados: el métodode centro de gravedad y el método de las alturas.

3.3 Defusificación

Page 2: Titulación

2

Los dos métodos de Defusificación mencionadosactúan sobre un área de pertenencia preparada a partirde la tabla 3 por la así llamada máquina de inferencia.Existen varios métodos de inferencia. Los más conocidosson:

- Método de Mandani (min-max)- Método de Larsen (producto máximo-producto suma)- Método de Sugeno (la etapa de decisión entrega un

valor fijo de salida ponderada de las entradas)- Método de Tsukamoto (similar al de Sugeno variando

la fórmula de salida)El uso de uno u otro método depende de los resultados,nosotros usaremos el Método de Tzukamoto con algunasmodificaciones para adaptarlo al control de motores y almétodo de las alturas.

3.3.1 Máquina de inferencia

Page 3: Titulación

3

Cada valor de entrada de eo o eo intersecta comomáximo dos funciones pertenencia ver Fig. 5a y 5b; elgrado de pertenencia del valor de entrada con relación alas otras funciones pertenencia es cero. Muchasoperaciones computacionales pueden ser evitadasdefiniéndose primero un índice de intervalos de trabajoJ, donde se localiza el valor de entrada; por ejemplo J=3para eo = - 3.5 (en valor Fuzzy) ver Fig. 5a. La ruta es lasiguiente:

3.3.2 Método de las alturas /15/

Page 4: Titulación

4

B2 B3 (eo) B5 B6

N G B1 N M A1 N P A2 Z E B4 A3 P P A4 P M P G

a1

b

- P1 - P2 -3.5 -P3 0 P3 P2 P1 eo

J 1 2 3 4 5 6 7 8(a)

(eo) B1 B2 B3 B4 B5 B6 N G N M A1 N P A2 Z E A3 P P A4 P M P G

c1

d

- P1 -P2 -3.5 -P3 0 P3 P2 P1 eo

K 1 2 3 4 5 6 7 8

(b)Fig. 5 Funciones pertenencia triangulares método de las alturas (a) para entrada eo (b) entrada eo.

Page 5: Titulación

5

1) En la Fig. 5a incluimos la variable J que define los intervalos deluniverso de discurso en la variable eo; cada valor de entrada eo dá unvalor de pertenencia no nulo en alguno de estos intervalos. Usando laterminología del Software de simulación SIMNON para representaresta variable J, y ya que el SIMNON no permite escribir una ecuaciónen una extensión mayor que una línea, usaremos variables auxiliaresJ1, J2.... toda vez que lleguemos al final de la línea.

J = if eo < -P1 then 1 else if eo < -P2 then 2 else if eo < -P3 then 3 else if eo < 0 then 4 else J1J1 = if eo < P3 then 5 else if eo < P2 then 6 else if eo < P1 then 7 else 8

En la Fig. 5.b incluimos la variable K para la variable eo; usando la técnica anteriortenemos:K = if eo < -P1 then 1 else if eo < -P2 then 2 else if eo < -P3 then 3 else K1K1 = if eo < 0 then 4 else if eo < P3 then 5 else if eo < P2 then 6 else K2K2 = if eo < P1 then 7 else 8

Los valores de P1, P2, P3 de acuerdo con la tabla de cuantificación 1, son como sigue:P1 = 6 corresponde a eo ou eo = 1P2 = 4 corresponde a eo ou eo = 0.25P3 = 2 corresponde a eo ou eo = 0.0625

Page 6: Titulación

6

2) Definimos todas las funciones de pertenencia con las que vamos hatrabajar, usando la terminologia de SIMNON.Para la variable eo los valores de las pertenencias extremas son:

NG(eo) = if (J<2) then 1 else (e + P2)/(-P1+ P2)

PG(eo) = if (J>7) then 1 else (e - P2)/(P1 - P2)donde “e” resulta de pasar eo por un filtro, (adaptador de señal Ge) lo queserá explicado posteriormente

Definimos ahora el lado A de las pertenencias interiores (ver Fig. 5.a)

NMA(eo) = (e + P3)/(-P2 + P3)

NPA(eo) = e/(-P3)

PPA(eo) = e/P3

PMA(eo) = (e - P3)/(P2 - P3)

Para la variable eo actuamos de forma similar a lo que hicimos con lavariable eo pero ahora representado en la Fig. 5.b

Los valores de las pertenencias extremas son:

NG(eo) = if (K<2) then 1 else (z + P2)/(-P1 + P2)

PG(eo) = if (J>7) then 1 else (z - P2)/(P1 - P2)donde “z” resulta de pasar eo por un filtro (adaptador de señal Gd), lo queserá explicado posteriormente.

Definimos ahora el lado A de las pertenencias interiores (ver Fig. 5.b)

NMA(eo) = (z + P3)/(-P2 + P3)

NPA(eo) = z/(-P3)

PPA(eo) = z/P3

PMA(eo) = (z - P3)/(P2 - P3)

Page 7: Titulación

7

3) Para tornar el proceso más simple unimos en la pertenencia J1 , las pertenenciasextremas y el lado A de las pertenencias internas en la variable eo (Fig. 5.a) J1 = if J < 3 then NG(eo) else if J < 4 then NMA(eo) else if J < 5 then NPA(eo) else J1a J1a = if J < 6 then PPA(eo) else if J < 7 then PMA(eo) else PG(eo)

El lado B de las pertenencias internas para la variable eo fue unido en J2 , pero escomplemento de J1- ver Fig. 5.a J2 = 1 - J1

Por la situación ilustrada en la Fig. 5.a (eo = -3.5) tenemos, J1 = NMA(eo) que es elpunto a en el lado A1 y J2 = 1 - NMA(eo) que es el punto b en el lado B2.En la variable de entrada eo y con el auxilio de la variable K de intervalos de pertenencia,tendremos el mismo procedimiento que el hecho con J en eo.

K1 = if K < 3 then NG(eo) else if K < 4 then NMA(eo) else K1a

K1a = if K < 5 then NPA(eo) else if K < 6 then PPA(eo) else K1b

K1b = if K < 7 then PMA(eo) else PG(eo)

El lado B de las pertenencias internas para la variable eo es unido en k2 pero esel complemento de k1 ver Fig. 5.b k2 = 1 - k1

Page 8: Titulación

8

4) Se valorizan los antecedentes (satisfacción de antecedentes)usando el operador Mínimo, lo que dará cuatro reglas que definenlas pertenencias usadas en la determinación de la media de lasalturas para cada par de valores de entrada (eo , eo).

Regla 1 : RA = min( J1 , K1)Regla 2 : RB = min( J1 , K2)Regla 3 : RC = min( J2 , K1)Regla 4 : RD = min( J2 , K2)

Page 9: Titulación

9

5) Usando los intervalos de pertenencia auxiliares, J y K, recorremos toda atabla de reglas lingüísticas 3, para determinar el valor de las corrientes desalida concordantes con cada una de las cuatro reglas enunciadas en 4); y que,para simplificación, denominaremos como Ia, Ib, Ic, Id.

Por ejemplo, la corriente Ia concordante con la regla 1 se obtiene a partirde las pertenencias auxiliares J1 , K1 de la seguiente manera:Ia = if(J<3 and K<3) then I1 else if(J<4 and K<3) then I2 else if (J<5 and K<3)then I3 else....

Con K<3 se recorren todos los intervalos de J; luego con K<4 todos losintervalos de J y así sucesivamente hasta concluir con todos los intervalos de K.Con este procedimiento se recorren todos los valores de la tabla de reglaslingüísticas, (tabla 3) y Ia viene a ser la suma de todos los posibles valores, no espropiamente una suma, ya que solo uno, de todos los posibles valores, se va haefectivizar.

Si los valores de entrada son: eo = - 3.5 , eo = -3.5, el intervalo de pertenenciade J es 3, el valor de J1 que le corresponde es: a = 0.75 lo que ocurre dentro dela pertenencia NMA(eo) -ver Fig. 5.a; el intervalo de pertenencias de K es 3, elvalor de K1 que le corresponde es: c = 0.75 y esto ocurre dentro de lapertenencia NMA(eo) ver Fig. 5.b.

Page 10: Titulación

10

Tabla 3 Reglas lingüísticas

eo eo N G N M N P Z E P P P M P G

N G N G N G N G N G Z E Z E Z E

N M N G N G N M N M Z E Z E Z E

N P N G N M N P N P P P P P P M

Z E N G N M N P Z E P P P M P P

P P N M N P N P P P P P P M P G

P M Z E Z E Z E P M P M P G P G

P G Z E Z E Z E P G P G P G P G

Page 11: Titulación

11

NMA(eo) y

NMA(eo) determinan que, para entrar en la tabla de reglaslingüísticas entremos con “NM” para la variable de entrada eo y com “NM”para la variable de entrada eo; de esa manera determinamos el valor decorrección de la corriente de salida que corresponde a esos dos valores y quesegún la tabla 3 es “NG”; para determinar el valor de corriente que lecorresponde vamos a la Fig. 6. El valor que corresponde a “NG” es -1 (enp.u.), Ia será igual a -1.

(upo)

N G N M N P Z E P P P M PG 1

-1 -0.7 -0.4 0 0.4 0.7 1 upo

Fig. 6 Funciones pertenencia triangular de la corriente de salida de control upo

Si en la tabla 3 tenemos como valor lingüístico de salida “NM”, el valor de corriente que lecorresponde según la Fig. 6 es -0.7, el mismo valor de upo para su valor máximo de pertenencia.De la misma forma se procede para las otras variables lingüísticas de la Fig. 6

Se sigue el mismo procedimiento para definir Ib a partir de J1 , K2 ; Ic a partir de J2,

K1; Id a partir de J2 , K2

6) Cálculo de iqs* de corrección del error mediante el método de las alturas:

iqs*(p.u.) = RA Ia + RB Ib + RC Ic + RD Id RA + RB + RC + RD (28)

Page 12: Titulación

12

El principal propósito del ajuste del Controlador Fuzzy mediante losacondicionadores de señal en el esquema de control propuesto es:

Primero- para las entradas al sistema de eo y eo, sintetizar una señal de controlamplificado en las cercanías de cero (set point) para aumentar la capacidad adaptivadel Controlador Fuzzy a los valores de la tabla 3.Segundo- para la salida de control upo, evitar las oscilaciones que pueden ocurrircerca de cero.

El ajuste de sensibilidad de las entradas y de la salida se hace dependiente del error develocidad eo, con lo que se obtiene una mejor performance. Son utilizados lossiguientes bloques de ajuste: Ge para la entrada del error eo, Gd para la entrada delincremento del error eo, y Gu para la salida upo. Las salidas de los bloques Ge y Gdlos llamamos “e” y “z” respectivamente en las fórmulas del iten 3.3.2.

3.4 Ajuste del Controlador Fuzzy /10/

Page 13: Titulación

13

L a s f o r m u l a c i o n e s m a t e m á t i c a s d e l o s b l o q u e s d e a j u s t e s o n m o s t r a d o s ac o n t i n u a c i ó n :

1aepara2K

1aeaparaaa/ae2K1K1K

aepara1K

Ge

0

000100

00

( 2 9 )

eeaeparaK

aparaaaaeKKK

aeparaK

Gd o 1

10

00100

00

|

4

|/433

3

( 3 0 )

0000

00

beparabe0K5K

bepara0Gu

( 3 1 )

Page 14: Titulación

14

Siendo :

ao = 0,003; a1 = 0,005; K1 = 60; K2 = 20;

K3 = 30; K4 =10bo = 0,0001; K5 = 2; K6 = 30

Las funciones de Ge e Gd indican que la sensibilidad al error (eo) y al

incremento de error (eo) serán amplificadas linealmente, así como susmagnitudes se reduzcan. Ya en el proceso de simulación se consigue mejorperformance y de acuerdo a la máquina con que estamos trabajando,multiplicando eo y e0 previamente, en la entrada de los bloques Ge y Gd,por un determinado valor que se consigue en el proceso de ajuste desimulación.

La salida del Controlador Fuzzy generalmente puede mostrar unaoscilación entorno del set point (cuando el error se está aproximando acero). Para resolver este problema, la función Gu de la ec. (33) esproyectado para que la salida del Controlador Fuzzy sea cero, cuando elerror llega a ser menor que el límite establecido. En este instante, sólo elcontrolador PI es excitado para eliminar el error de estado estacionario. Asíla inerente conducta oscilante en torno del set point presentado por elControlador Fuzzy puede ser evitada.

Page 15: Titulación

15

Se hicieron trabajos de Simulación de todos los métodos de control, gráficas21 al 31 los trabajos de simulación permitieron determinar la performancede cada uno de los métodos estudiados y concluir que los métodos deControl. Malla abierta, Malla cerrada, Estimadores de estado tienen unapobre performance, ya tiene mejor performance el Control Vectorial ymejor aún el Control Adaptivo y mejor aún la asociación de estos dosúltimos con el Control Fuzzy y el Regulador P.I., todo esto nos permiteconcluir que la asociación del Control Fuzzy con el Control Adaptivo más elControl Vectorial y el Regulador P.I. permiten complementar sus cualidadesde invariancia ante variación de los parámetros lo que hace al sistemaprácticamente independiente de las variaciones por: temperatura,rozamiento, desgaste, oscilaciones de carga, saturación, etc. Esto es muyimportante cuando se quiere hacer un estudio del sistema motor-carga quesabemos es no lineal, donde la mayor dificultad la constituyen la variaciónde los parámetros.

4. Simulación

Page 16: Titulación

16

Page 17: Titulación

17CONTROL MALLA CERRADA, VELOCIDAD VARIANDO ELPARÁMETRO Jc

Page 18: Titulación

18CONTROL DE TORQUE Y FLUJO, VELOCIDADVARIANDO Jc

Page 19: Titulación

19

Page 20: Titulación

20

Page 21: Titulación

21CONTROL ADAPTIVO CON P.I., VELOCIDADVARIANDO EL PARÁMETRO Jc

Page 22: Titulación

22CONTROL FUZZY, VELOCIDAD VARIANDO ELPARÁMETRO Jc

Page 23: Titulación

23

Page 24: Titulación

24CONTROL FUZZY ADAPTIVO, VELOCIDAD VARIANDOEL PARÁMETRO Jc

Page 25: Titulación

25CONTROL FUZZY ADAPTIVO CON PI, VELOCIDADVARIANDO EL PARÁMETRO Jc

Page 26: Titulación

26CONTROL FUZZY ADAPTIVO CON P.I., a)CORRIENTE b)TENSIÓN

Page 27: Titulación

27

5.1. Introducción

Con el prototipo actuaremos en forma similar a la simulación:incrementando 1º la velocidad del motor (esta vez en un 10%) asíque haya alcanzado el régimen permanente, para luego despuésintroducir una carga repentina de 100% del valor nominal. Esto eshecho para dar validez a los estudios teóricos realizados y verificar laperformance del Sistema de Control.

El Sistema de Control comprende: Control Vectorial Indirecto,Control Adaptivo, Regulador P.I. y Control Fuzzy. El ControlVectorial Indirecto no será implementado, ya que se vende incluidoen el Inversor sin representar un significativo costo adicional. ElControl Adaptivo, el Regulador P.I y el Control Fuzzy seránimplementados en tiempo real mediante un programa hecho enlenguaje “C” y con auxilio de un microcomputador Pentium II.

La variación de los parámetros es la principal causa paraconsiderar el sistema no lineal. Habiéndose demostrado la totalirrelevancia de la variación de los mismos en la performance delsistema, podemos predecir que la performance que obtendremos conel prototipo será similar al obtenido en la simulación.

5. Resultado obtenidos en un prototipo, del Control Vectorialimplementado en conjunto con el Control Adaptivo y la

Lógica Fuzzy.

Page 28: Titulación

28

Mo Ge RL

VELOCIDAD SEÑAL DE MOTOR DE CONTROL

up

Fig. 8 Sistema de Control

INVERSOR ECONTROLEVETORIAL

PCPENTIUM II

64M -RAM

CONVERSOR A/D - D/A“PLACAPCL-818L”

A/DX501

D/AX503

CONTA-DOR/F

BORNERADIGITALPCLD-780

Page 29: Titulación

29

En la Fig. 8, la Placa de adquisición de datos PCL-818L recibe la señalanalógica proporcional a la velocidad del motor, emitido en los bornes 1 y 2 deX503 en el Inversor y mediante de una conversión A/D lo envía a laComputadora.

Através de un programa en Borland C++, la velocidad del motor secompara con la velocidad de referencia y el error se procesa usando ControlAdaptivo, Regulador PI y Control Fuzzy, para generar una señal de controlDigital “up” . La Placa de adquisición de datos convierte esta señal Digital (up)en analógica y através de su salida analógica se envía a los bornes 3 y 4 de X501en el inversor, con la finalidad que la velocidad del motor acompañe lavelocidad de referencia.

En los bornes 1, 3 y 4 de X501 del Inversor, se conecta un potenciómetro de4.7 K. En el borne 1 se tiene una tensión de 10V proporcionada por elInversor; en el borne 4 se tiene 0V; así entre los bornes 3 y 4 se tiene unatensión que varía entre 0 y 10V, lo que producirá una velocidad en el motorentre 0 r.p.m. y la velocidad nominal (1700 r.p.m.). Fijando la posición delpotenciómetro en un valor que corresponda a la velocidad inicial requerida. Elcontrol realimentado realizado através de la tensión de control up se concretizaal aplicar up en los bornes 3 y 4 y adicionar de esta manera el valor de tensiónde corrección determinado por up a la tensión ya establecida por elpotenciómetro , que me había determinado una velocidad inicial.

5.3 Proceso

Page 30: Titulación

30

Page 31: Titulación

31

El Programa de Control de velocidad, que comprende el Control Adaptivo,el Control Fuzzy y el Regulador P.I. fue elaborado en lenguaje C++ concompilador Borland 5.0 y interface gráfica basada en el sistema DOS, esto paraque el tiempo de control del sistema se aproxime lo más posible de un control entiempo real.

La filosofía empleada en la elaboración del mismo consistió en hacer unprograma ágil y simple, pero que cumple su cometido.

Para realizar el programa en SIMNON es preciso identificar todas lasvariables de estado y aislar sus derivadas, sin necesidad de tener en cuenta elorden o el número de variables y constantes presente en la ecuación.

En un lenguaje como el “C” es importante el ordenamiento en que se vanpresentando las variables y constantes, por lo que en un trabajo previo se hizo eldespeje de cada variable en función del tiempo dejando las expresionesmatemáticas lo más simple posible, para abreviar el tiempo de operación delsistema por la computadora.

5.4 Programa de Control en Borland C++

Page 32: Titulación

32

Page 33: Titulación

33

En la Fig. 9 se presenta el gráfico de los testes realizados con el ControlFuzzy-Adaptivo y Regulador P.I. realizado en Borland C++. Estando el motoren una velocidad base de 675 r.p.m. (obtenida con el potenciómetro); en unaexcursión de 5 segundos se presenta: primero la variación de 10% en lavelocidad cuando ha transcurrido un segundo , a los 3 segundos se coloca unacarga repentina de 100% del torque nominal.

El resultado muestra que la velocidad del motor (color verde en el gráfico)acompaña muy de cerca la velocidad de referencia (color rojo en el gráfico) y lacarga repentina produce una variación apenas visible en la velocidad del motora pesar de la gran ampliación que tiene el gráfico, esto confirma la granestabilidad que adquiere el sistema cuando se incorpora el Control Fuzzy, elControl Adaptivo y el Regulador P.I.

5.5 Testes y resultados del Control del sistema

Page 34: Titulación

34

1. El Control Vectorial-Adaptivo-Fuzzy con P.I., por la característica deinvariabilidad ante variación de los parámetros permite su representaciónmatemática con un modelo simplificado, lo que facilitó el estudio de simulacióncon el SIMNON y posteriormente su implementación en tiempo real con elBorland C++.

2. De acuerdo a los resultados prácticos obtenidos se puede concluir que el sistemaimplementado es robusto, con gran estabilidad y se obtiene rápida respuesta alcontrol para obtener la velocidad deseada del motor.

3. El uso cada vez mayor de los motores asincrónicos para aquellos casos donde serequiere controlar la velocidad del motor con mucha exactitud, permite obtenertodas las ventajas que el motor asincrónico tiene sobre el motor de corrientecontinua.

6. Conclusiones

Page 35: Titulación

35

La principal contribución en este trabajo ha sido el alto grado de performanceobtenido en la simulación del Control Vectorial más Control Difuso-Adaptivo conregulador P.I., que supera los obtenidos en los trabajos publicados de la bibliografíaespecializada. Esto es importante porque las mismas constantes del regulador P.I. y delcomputador Fuzzy obtenidas en la simulación fueron usados en el programa en BorlandC++ para la implementación en tiempo real, con óptimo resultado. Por otra parte laadaptación del método de las alturas en este proceso tanto en la simulación como en laimplementación, permitió minimizar el tiempo en las múltiples simulaciones procesadasy realizar un control más efectivo en la implementación en tiempo real.