Está en la página 1de 26

ICA-ESIME

SIMULACIN DEL CONTROL DIFUSO DE UN MOTOR DE CD

DIC. 2000

REPORTE DEL PROGRAMA FUZZY PARA LA SIMULACIN DEL CONTROL DIFUSO DE UN MOTOR DE CD

Autor: Salvador Saucedo Flores


C. Electrnico: saucedo8@prodigy.net.mx

SEPI-ESIME (Becario COFAA)


Telfono: 5729-6000 ext 54632

CONTENIDO
INTRODUCCION 2 ALGORITMO DE MAMDANI 2 MODELO NO LINEAL DE UN MOTOR DE C.D. 4 CORRIENTE DE CAMPO CONSTANTE 5 CORRIENTE DE ARMADURA CONSTANTE 6 FORMATO DEL ARCHIVO DE ENTRADA 7 EJEMPLO PARA ALGORITMO DE MAMDANI CON CONTROL POR ARMADURA 8 ENTRADA DE DATOS DE MANERA DIRECTA 11 EJEMPLO DE CORRIDA PARA ALGORITMO DE TAKAGISUGENO CON CONTROL POR CAMPO 13 CONTROL PD CON LIMITES POR ARMADURA 17 CONCLUSIONES 21 BIBLIOGRAFIA 21

1. 2. 2.1 2.2 3. 4. 5. 6. 7.

AUTOR: Salvador Saucedo

PAG. 1 DE 1

ICA-ESIME

SIMULACIN DEL CONTROL DIFUSO DE UN MOTOR DE CD

DIC. 2000

INTRODUCCION El programa FUZZY.EXE est desarrollado en lenguaje C de BORLAND para el sistema operativo DOS y permite simular el control de velocidad de un motor de corriente directa definido mediante sus parmetros. Presenta nueve reguladores lineales, uno muestreado, y dos difusos. Produce la grfica de la salida y del control contra el tiempo, as como de la corriente de armadura o de campo contra el tiempo y el plano de estado de la velocidad angular. Genera dos archivos ASCII con los resultados de la simulacin y puede recibir los datos desde un archivo de entrada tipo texto. Se pueden aplicar diferentes tipos de seal tanto en la referencia de velocidad como en el par externo que constituye la variable de perturbacin. El usuario puede desarrollar muy fcilmente cualquier modelo mediante un simple editor de texto (como EDIT) o bien usando FUZZY y salvando los datos que se alimentaron al programa. El programa calcula los criterios de control, conocidos por sus siglas en ingls como ITAE, IAE e ISE, con el fin de comparar diversos juegos de parmetros del regulador usado. El programa concuerda en resultados con MATLAB y SIMULINK como se ver en el ltimo ejemplo. 1. ALGORITMO DE MAMDANI

Es uno de los mtodos de control difuso ms sencillos de aplicar y tiene muchos aos de haber sido divulgado y ha dado lugar a muchas variantes del mismo. El programa FUZZY lo implementa con cinco funciones de membresa para el error en el periodo de muestreo k, cinco funciones de membresa para la variacin del error en dicho periodo y otras cinco funciones de tipo barra para calcular la variacin del control aplicado. Ver la figura 1 para notar la simbologa usada por el programa. En nuestro caso el error ser la diferencia entre la velocidad angular medida y la velocidad angular deseada esto es: e(k) = (k) - r(k) (1)

donde k es un entero que denota el periodo actual de muestro; es la velocidad angular del motor y r(t) es la seal de referencia o valor deseado de la velocidad. La otra entrada para el controlador de Mamdani es la variacin de la seal de error, misma que viene dada por: e(k) = e(k) - e(k-1) (2)

La salida del regulador ser el voltaje de armadura cuando tengamos el control por armadura, o el voltaje de campo cuando usemos el control por campo.

AUTOR: Salvador Saucedo

PAG. 2 DE 2

ICA-ESIME

SIMULACIN DEL CONTROL DIFUSO DE UN MOTOR DE CD

DIC. 2000

Figura 1 Funciones de membresa para el mtodo de Mamdani con cinco funciones del tipo triangular; la grfica a) son las funciones para el error; la b) sirve para la variacin del error y la c) se emplea para calcular el incremento de la seal de control El programa FUZZY usa la estructura de control PI para controlar la velocidad del motor de corriente directa. Se han usado en la prctica varias formas de las funciones de membresa pero el presente programa slo emplea la forma triangular y la trapezoidal, segn lo muestra la figura 1. Para la funciones de membresa de la salida se pueden emplear tambin diversas funciones de membresa , pero la ms fcil de aplicar es la de barras, que ser usada en los casos que presentaremos. Las siglas de los trminos linghsticos o etiquetas de las funciones de membresa significan lo siguiente: NA = Negativo Alto NB = Negativo Bajo CE = Cero PB = Positivo Bajo PA = Positivo Alto Para nuestro caso el controlador tiene dos entradas y una salida cada una de ellas con el concurso de cinco funciones de membresa por lo que se tienen 25 reglas mismas que se declaran mediante una matriz de asociacin difusa llamada FAM ( Cada una de dichas reglas

AUTOR: Salvador Saucedo

PAG. 3 DE 3

ICA-ESIME

SIMULACIN DEL CONTROL DIFUSO DE UN MOTOR DE CD

DIC. 2000

sigue la estructura IF clusula AND clusula THEN consecuencia), ello es, que si se cumplen ambas clusulas se producir la consecuencia. Se eligi a las funciones de membresa de tal modo que cualquier valor real de entrada produzca que las verdades de cada funcin sumen la unidad. El clculo de la salida se hace ponderando las salidas difusas. Veamos un ejemplo de cmo calcula el programa el incremento en la seal de control con el algoritmo de Mamdani.

e(k) = e(k) e(k-1)

Tabla 1

e(k) = salida - referencia = y(k) - r(k) NA NB CE PB 0.4 NA PA PA PB PB NB 0.3 PA PB PB CE 0.3 CE 0.7 PA PB CE NB 0.4 PB PB CE NB NB PA CE NB NB NA Matriz de Asociacin Difusa (FAM)

PA 0.6 CE NB 0.3 NA 0.6 NA NA

Supongamos que el error real produce las verdades de 0.4 y 0.6 en la funciones PB y PA, respectivamente y que la variacin del error genera la verdades de 0.3 y 0.7 en las funciones NB y CE, respectivamente, segn ilustra la tabla presentada. Las verdades del resto de las funciones son cero. Ello hace que se disparen cuatro reglas, cuyas verdades son el valor mnimo de las verdades que forman el AND. El grado de membresa de las consecuencias se calcula tomando el mximo de las mismas, por lo que la funcin difusa de salida NB tiene una verdad o grado de membresa de 0.4. Para terminar con el ejemplo la frmula de salida viene dada por u (k ) =

(salida difusa ) (Valor de etiqueta ) (salida difusa )


i i

(3)

u (k ) =

0.3 * (0) + 0.4 * (c ) + 0.6 * (2c ) 0.3 + 0.4 + 0.6

2.

MODELO NO LINEAL DE UN MOTOR DE C. DIRECTA.

El anlisis que se desarrolla a continuacin se fundamenta en el diagrama simplificado para un motor con excitacin separada dado en la figura 2. El modelo de estado espacio es no lineal y viene dado por

AUTOR: Salvador Saucedo

PAG. 4 DE 4

ICA-ESIME

SIMULACIN DEL CONTROL DIFUSO DE UN MOTOR DE CD

DIC. 2000

Rf I f Lf I a = 0 0

0 Ra La

1 0 L 0 I f f La 0 I a + I f + 0 L af L af I f Ia 0 J J

0 1 La 0

0 V f 0 V a 1 TL J

(4)

SIMBOLOGIA Va Ia Ra La Vf If Rff Lf Laf J TL = = = = = = = = = = = = = Voltaje de armadura, voltios Corriente de armadura, amperios Resistencia de armadura, ohmios Inductancia de armadura, henrios Voltaje de campo, voltios Corriente de campo, amperios Resistencia de campo, ohmios Inductancia de campo, henrios Inductancia mutua de velocidad, henrios Momento de inercia del motor, kg-m2 Coeficiente de friccin viscosa, kg-m2/s Par externo aplicado al motor, N-m Velocidad angular del motor, rad/seg.

Figura 2 2.1

Motor de CD, con excitacin separada con corriente de campo constante. CORRIENTE DE CAMPO CONSTANTE

El modelo dado por (4), cuando If es mantenida constante se convierte en lineal y resulta ahora ser

AUTOR: Salvador Saucedo

PAG. 5 DE 5

ICA-ESIME

SIMULACIN DEL CONTROL DIFUSO DE UN MOTOR DE CD

DIC. 2000

Ra L I a = a K J

K 1 La I a + La 0 J

0 V a 1 T L J

(5)

donde K es la constante contraelectromotriz, y viene dada por K = LafIf En este caso se dice que tenemos control por armadura, por que el controlador incluye un amplificador de potencia para producir el voltaje de armadura, Va. La funcin de transferencia que relaciona la velocidad (salida se inters) con el voltaje aplicado resulta ser: ( s ) Va ( s ) = K JLa s + ( Ra J + La )s + Ra + K 2
2

(6)

La funcin de transferencia que relaciona la salida con la perturbacin es: ( s ) TL ( s ) = ( R a + La s ) JLa s + (Ra J + La )s + Ra + K 2
2

(7)

La figura 3 representa en forma de diagrama al conjunto de ecuaciones (6) y (7).

Figura 3 Diagrama a bloques del motor de CD con excitacin separada y corriente constante de campo. 2.2 CORRIENTE DE ARMADURA CONSTANTE

El modelo dado por (4) resulta ahora ser lineal y viene dado por:

AUTOR: Salvador Saucedo

PAG. 6 DE 6

ICA-ESIME

SIMULACIN DEL CONTROL DIFUSO DE UN MOTOR DE CD

DIC. 2000

Rf I f = L f K1 J

1 0 I f + L f 0 J

0 Va 1 T L J

(8)

donde la constante K1 es igual al producto LafIa 3. FORMATO DEL ARCHIVO DE ENTRADA

El archivo para recibir datos es de tipo texto y tiene el nombre DIFUSO.DAT y se ve como sigue:
0.0100 240.0 240.0 1.80 1 1 1 h Va Vf Laf r T tipo 5.000 39.58 1.0 1.200 120 0.6 240.0 0.35 0.012 120.0 29.2

14

20.0

Tfinal Omega Ia Ra La If Rf Lf J beta To (rengln para definir tipo de seal en la referencia) (rengln para definir tipo de seal en perturbacin) I(0) w(0)

Tal archivo se puede formar con un editor de textos o desde el programa FUZZY y conviene que tenga la segunda parte que sirve para recordar el orden de los datos h = Tfinal = omega = To = r = paso de integracin Tiempo total de simulacin Velocidad nominal Par nominal externo, en Nm entero que define tipo de funcin en r(t): 0 implica que r(t) 0.0; 1 que r(t) omega; 2 para un escaln cuya amplitud y tiempo de inicio deben darse a continuacin de r; 3 para que r(t) sea una senoide dando a continuacin su amplitud y frecuencia en rad/s; y finalmente, 4 para definir una onda cuadrada cuya altura, frecuencia en hertz e inicio deben darse a continuacin mediante tres nmeros reales. entero que define tipo de funcin en p(t): 0 implica que p(t) 0.0; 1 que p(t) To; 2 para un escaln cuya amplitud y tiempo de inicio deben darse a continuacin de T; 3 para que p(t) sea una senoide dando a continuacin su amplitud y frecuencia en rad/s, y finalmente 4 para definir una onda cuadrada cuya altura, frecuencia en hertz y tiempo de inicio deben darse a continuacin mediante tres nmeros reales.
PAG. 7 DE 7

AUTOR: Salvador Saucedo

ICA-ESIME

SIMULACIN DEL CONTROL DIFUSO DE UN MOTOR DE CD

DIC. 2000

tipo = entero que define el control: 1 para armadura y 2 para control por campo.

4.

EJEMPLO DE CORRIDA PARA ALGORITMO DE MAMDANI CON CONTROL POR ARMADURA

Se corri el programa con los datos dados en el recuadro anterior y produjo el archivo de resultados FUZZY.RES, que es tipo texto
h: 0.0100s Va: 240.0000V Vf: 240.0000V J: 1.2000Nm Tfinal: 5.000s W: 120.000rad/s To: 29.200Nm Ia: 39.5800A Ra: 0.600 La: 0.012H Laf: 1.8000H If: 1.0000A Rf: 240.000 Lf: 120.000H beta: 0.3500kg-m2/s

Control por armadura: W(s)/Va(s) = 1.8000 / { W(s)/P(s) = ( - 0.6000 - 0.0120s)/ ( Seal de referencia: r(t) = 120.0000 Variable de perturbacin: p(t) = 29.2000 Matriz A: -50.000 -150.000 1.500 -0.292 Matriz B: 83.3333 0.0000 0.0000 -0.8333

0.0144s^2 + 0.0144s^2 +

0.7242s + 0.7242s +

3.4500 }, rad/Vs 3.4500), rad/Nms

Vector para salida C: 0.000 1.000 Condiciones Iniciales: Corriente de armadura, Ia(0) = 14.0000 velocidad angular, w(0) = 20.0000 las races en lazo abierto del sistema son: p1 = -5.3280 p2 = -44.9600 Sistema de control fuzzy muestreado El paso de integracin h debe ser T/4, donde T =0.040 es el periodo de muestreo El tiempo final debe ser 125*T o 500h. El control u viene dado por: El mtodo de Mamdani con 5 zonas para el error y 5 para cambio en la salida Para obtener 25 reglas difusas para definir a las 5 salidas difusas las que se promedian para generar la salida real del controlador (incremental) La funcin CE (cero) est entre -a y a para la entrada del error valor de a = 5.0000 La funcin CE (cero) est entre -b y b para la entrada del cambio

AUTOR: Salvador Saucedo

PAG. 8 DE 8

ICA-ESIME

SIMULACIN DEL CONTROL DIFUSO DE UN MOTOR DE CD

DIC. 2000

Valor de b = 3.0000 La funcin PB es igual a c, y la funcin PA es 2*c para la salida difusa Valor de c = 6.0000 Matriz de Asociacin Difusa (FAM): Error = salida - referencia NA NB NA 12.000 12.000 NB 12.000 6.000 CE 12.000 6.000 PB 6.000 0.000 PA 0.000 -6.000

c a m b i o

e n s a l.

CE 6.000 6.000 0.000 -6.000 -6.000

PB 6.000 0.000 -6.000 -6.000 -12.000

PA 0.000 -6.000 -12.000 -12.000 -12.000

Valor de lmite del control, M = 264.0000 ITAE = 57.2338 IAE = 99.8714 ISE = 7916.5806

Como se puede observar el programa reporta los parmetros usados, las funciones de transferencia, el modelo de estado, las condiciones iniciales, el tipo de control, los parmetros del controlador y los criterios de control.

Figura 4 Respuesta en tiempo para entradas en escaln en r(t) y p(t) de valor nominal a partir de condiciones iniciales

AUTOR: Salvador Saucedo

PAG. 9 DE 9

ICA-ESIME

SIMULACIN DEL CONTROL DIFUSO DE UN MOTOR DE CD

DIC. 2000

Figura 5

Velocidad del motor y corriente de armadura de la corrida

Figura 6 Plano de estado para velocidad y corriente de armadura. Notar que la corriente de armadura alcanza un mximo razonable, que es el objetivo principal del control.
AUTOR: Salvador Saucedo PAG. 10 DE 10

ICA-ESIME

SIMULACIN DEL CONTROL DIFUSO DE UN MOTOR DE CD

DIC. 2000

5.

ENTRADA DE DATOS DE MANERA DIRECTA

A continuacin de exhibe el dilogo en el monitor cuando el usuario da por primera vez los datos para formar el archivo DIFUSO.DAT.
---- Seccin de Posgrado (Control Inteligente) de ESIME ---- Tomar datos de archivo Solucin de un motor de (s^2 + a1*s^1 + a2)Y(s) y controlador lineal o DIFUSO.DAT? (S/N)N CD con Modelo en el Dominio de Laplace del tipo: = b1*U(s) + (b2 + b3*s)*P(s) difuso, mediante el mtodo Runge-Kutta-Fehlberg

Paso de integracin en segundos, h? 0.01 Tiempo final en segundos, Tfinal? 5 Velocidad angular nominal en rad/s? 120 Voltaje nominal de armadura, Va, en voltios? 240 Corriente nominal de armadura, Ia, en amperios? 39.58 Resistencia de armadura, Ra, en ohmios? 0.6 Inductancia de armadura, La, en henrios? 0.012 Voltaje nominal de campo, Vf, en voltios? 240 Corriente nominal de campo, If, en amperios? 1 Resistencia de campo, Rf, en ohmios? 240 Inductancia de campo, Lf, en henrios? 120 Inductancia mutua entre campo y armadura, Laf, en henrios? 1.8 Momento de inercia de motor, J, en kg-m2? 1.2 Coeficiente de friccin viscosa del motor, B, en kg-m2/s? 0.35 Par nominal externo, To, en N-m? 29.2 seleccionar tipo de seal de referencia: Esta seal se compara con w(t): --- 0 r(t) = 0.0 1 r(t) = vel. nominal (W) 2 escaln Ar*u(t-Tir) 3 senoide Ar*sen(Wr*t) 4 pulso entre 0.0 y Ar con frec. Wr --- 1 seleccionar tipo de variable de perturbacin: Esta variable es el par externo en Newton-metro: --- 0 p(t) = 0.0 1 p(t) = par nominal (To) 2 escaln = Ap*u(t-Tip) 3 senoide = Ap*sen(Wp*t) 4 pulso entre 0.0 y Ap con frec. Wp --- 2
AUTOR: Salvador Saucedo PAG. 11 DE 11

ICA-ESIME

SIMULACIN DEL CONTROL DIFUSO DE UN MOTOR DE CD

DIC. 2000

Amplitud de escaln, Ap, en N-m? 25.8 Instante de inicio del escaln, Tip, en segundos? 1 seleccionar tipo de control: --- 1 Control por armadura (If = cte) 2 Control por campo (Ia = cte) --- 1 Corriente de armadura inicial, Ia(0) en amperios? 14 Velocidad angular inicial, w(0) en rad/s? 20 Formar archivo DIFUSO.DAT con los datos recibidos (s/n) S El modelo de estado viene dado por: Control por armadura d Ia dtw = -50.0000 1.5000 -150.0000 Ia 83.3333 -0.2917 w + 0.0000 14.0000, w(0)= 20.0000 0.0000Va -0.8333Tp

cond. iniciales: Ia(0) = salida: y(t) = w(t)

Corregir dichos datos? (S/N)N Salvando datos en archivo FUZZY.RES.. las races en lazo abierto del sistema son: p1 = -5.3280 p2 = -44.9600 el sistema es estable Pulse tecla ENTER para continuar... Desea ver grfica de ayuda (s/n) ?N seleccionar tipo de controlador: Casos 14 y 15 segn curso en SEPI de David Romero R.: ---- 0 Proporcional 8 PID con inter. + lmites 1 Proporcional + lmites 9 PID sin interaccin 2 PI 10 I-PD 3 PI + lmites 11 Basado en Modelo 4 PD 12 lazo abierto 5 PD + lmites 13 muestreado 6 PI + antisaturacin 14 fuzzy (Mamdani) 7 PID con interaccin 15 fuzzy (Takagi-Sugeno) ---- 14 El tiempo final debe ser 125*T o 500h. El control u viene dado por: El mtodo de Mamdani con 5 zonas para el error y 5 para cambio en la salida

AUTOR: Salvador Saucedo

PAG. 12 DE 12

ICA-ESIME

SIMULACIN DEL CONTROL DIFUSO DE UN MOTOR DE CD

DIC. 2000

Para obtener 25 reglas difusas para definir a las 5 salidas difusas las que se promedian para generar la salida real del controlador (incremental) La funcin CE (cero) est entre -a y a para la entrada del error Dar valor ( positivo ) de a: 5 Etc,etc

6.

EJEMPLO DE CORRIDA PARA ALGORITMO DE TAKAGISUGENO CON CONTROL POR CAMPO

El algoritmo de Takagi-Sugeno que viene implementado en el programa FUZZY es con estructura PI y viene definido mediante seis parmetros de control. Para llevar a cabo la fuzzificacin emplea dos funciones de membresa segn se ilustra en la figura 7, donde p2 y p1 constituyen los dos primeros parmetros que el usuario debe fijar para sintonizar al controlador.

Figura 7

Funciones de membresa trapezoidales para fuzzificar el error.

El algoritmo de Takagi-Sugeno es ms popular que el de Mamdani, principalmente porque se pueden emplear varias tcnicas tanto para su sintona como para su anlisis de estabilidad. Los otro cuatro parmetros de controlador son: Kpa Kia Kpb Kib = = = = Ganancia proporcional para la funcin ALTO Ganancia integral para la funcin ALTO Ganancia proporcional para la funcin BAJO Ganancia integral para la funcin BAJO

El algoritmo es incremental y viene dado por: u(k) = (Kpa + Kia)e(k) - Kpae(k-1) si error es ALTO con grado de membresa 1.0 u(k) = (Kpb + Kib)e(k) - Kpbe(k-1) si error es BAJO con grado de membresa 1.0 u(k) = ALTO[(Kpa + Kia)e(k) - Kpae(k-1)] + BAJO[(Kpb + Kib)e(k) - Kpbe(k-1)] en la regin de transicin entre ambas funciones.

AUTOR: Salvador Saucedo

PAG. 13 DE 13

ICA-ESIME

SIMULACIN DEL CONTROL DIFUSO DE UN MOTOR DE CD

DIC. 2000

El control por campo es ms lento que el control por armadura por lo que se tuvieron que aumentar los tiempos tanto de h, el lapso de integracin como el tiempo de simulacin. El resultado se envi al archivo FUZZY.RES, que se ofrece a continuacin:
h: 0.0300s Va: 240.0000V Vf: 240.0000V J: 1.2000Nm Tfinal: 15.000s W: 120.000rad/s To: 29.200Nm Ia: 39.5800A Ra: 0.600 La: 0.012H Laf: 1.8000H If: 1.0000A Rf: 240.000 Lf: 120.000H beta: 0.3500kg-m2/s

Control por campo: W(s)/Vf(s) = 71.2440 / { 144.0000s^2 + 330.0000s + 84.0000 }, rad/Vs W(s)/P(s) = ( - 1.0000 )/ ( 1.2000s + 0.3500), rad/Nms Seal de referencia: r(t) = 120.0000 Variable de perturbacin: p(t) = 29.2000 Matriz A: -2.000 0.000 59.370 -0.292 Matriz B: 0.0083 0.0000 0.0000 -0.8333 Vector para salida C: 0.000 1.000 Condiciones Iniciales: Corriente de campo, If(0) = velocidad angular, w(0) =

0.4000 20.0000

las races en lazo abierto del sistema son: p1 = -0.2917 p2 = -2.0000 Sistema de control fuzzy muestreado El paso de integracin h debe ser T/4, donde T =0.120 es el periodo de muestreo El tiempo final debe ser 125*T o 500h. El control u viene dado por: El mtodo de Takagi-Sugeno con dos funciones difusas para el error Para obtener 3 reglas difusas para definir a la salida real (incremental) La zona media est comprendida entre p1 y p2 para la entrada del error valor de p2 = 16.0000 valor de p1 = 8.0000 El control PI se fija con Kpa y u(k) = u(k-1) + (Kpa + Kia)e(k) Valor de gan. proporcional, Kpa Valor de ganancia integral, Kia Kia para error alto: - Kpa*e(k-1) = 5.0000 = 0.2000

El control PI se fija con Kpb y Kib para error bajo: u(k) = u(k-1) + (Kpb + Kib)e(k) - Kpb*e(k-1)
AUTOR: Salvador Saucedo PAG. 14 DE 14

ICA-ESIME

SIMULACIN DEL CONTROL DIFUSO DE UN MOTOR DE CD

DIC. 2000

Valor de ganancia gan. proporcional, integral, Kib Kpb = 4.0000 0.3000 valor del lmite del control, M = 288.0000 ITAE = 798.5336 IAE = 318.7225 ISE = 19154.3398

Figura 8 Velocidad angular y voltaje de campo, para control por campo con el algoritmo difuso de Takagi-Sugeno. El programa FUZZY agrega al algoritmo visto la posibilidad de que el usuario acote la salida, por lo que en este caso se permiti que el voltaje de campo sobrepasara el nivel nominal del mismo con un 20% extra, hasta llegar a 288V. Se aprecia de la figura 8 que los valores de estado permanente son los nominales, esto es 120 rad/s para y 240V para el voltaje de campo, Vf. Como ya se mencion, el programa FUZZY produce adems dos grficas ms: la primera es la de la velocidad y la corriente que son las dos variables de estado; y la del plano de estado que grfica una contra la otra. Estas grficas se exhiben en las figuras 9 y 10 a continuacin. El ratn sirve como una especie de vernier para leer los valores de las grficas para cualquier valor de tiempo.

AUTOR: Salvador Saucedo

PAG. 15 DE 15

ICA-ESIME

SIMULACIN DEL CONTROL DIFUSO DE UN MOTOR DE CD

DIC. 2000

Figura 9 Velocidad angular y corriente de campo para el control por campo mediante el controlador de Takagi-Sugeno.

Figura 10

Plano de estado Velocidad versus corriente de campo.

AUTOR: Salvador Saucedo

PAG. 16 DE 16

ICA-ESIME

SIMULACIN DEL CONTROL DIFUSO DE UN MOTOR DE CD

DIC. 2000

7.

CONTROL PD CON LIMITES POR ARMADURA

Con el fin de mostrar un controlador tradicional lineal con un motor ms pequeo que el usado en los dos ejemplos difusos se edit el archivo DIFUSO.DAT con dicha meta. A continuacin se ofrece el archivo FUZZY.RES producto de varias tentativas para obtener una respuesta satisfactoria.
h: Va: Vf: J: 0.0100s 24.0000V 60.0000V 0.1200Nm Tfinal: 5.000s W: 60.400rad/s To: Ia: 27.5000A Ra: 0.200 La: 0.004H If: 1.0000A Rf: 60.000 Lf: 25.000H beta: 0.0350kg-m2/s 6.150Nm Laf: 0.3000H

Control por armadura: W(s)/Va(s) = 0.3000 / { W(s)/P(s) = ( - 0.2000 - 0.0040s)/ ( Seal de referencia: r(t) = 60.4000 Variable de perturbacin: p(t) = 6.1500 Matriz A: -50.000 -75.000 2.500 -0.292 Matriz B: 250.0000 0.0000 0.0000 -8.3333

0.0005s^2 + 0.0005s^2 +

0.0241s + 0.0241s +

0.0970 }, rad/Vs 0.0970), rad/Nms

Vector para salida C: 0.000 1.000 Condiciones Iniciales: Corriente de armadura, Ia(0) = 20.0000 velocidad angular, w(0) = 34.0000 las races en lazo abierto del sistema son: p1 = -4.4040 p2 = -45.8900 con valor de lmite de a = 36.000 Controlador lineal. Ganancia Kp = 15.000 Tipo PD. Tiempo Derivativo Td = 0.100 Las races en lazo cerrado del sistema son: p1 = -9.8120 p2 = -70.2400 - 304.4200j p3 = -70.2400 + 304.4200j

FUZZY implementa la accin derivativa en la lnea de realimentacin mediante la funcin de transferencia:


AUTOR: Salvador Saucedo PAG. 17 DE 17

ICA-ESIME

SIMULACIN DEL CONTROL DIFUSO DE UN MOTOR DE CD

DIC. 2000

1 + TD s 1 + TD s /10
La corrida con MATLAB, seguida por la ejecucin del modelo mediante SIMULINK produce los mismos polos de lazo cerrado.

Figura 11. Control PD+lmites de un motor con control por armadura. Velocidad angular y voltaje de armadura versus tiempo.

Como puede apreciarse en la figura 11 la respuesta no tiene oscilaciones pues se busc que esa fuera la forma mediante los parmetros K = 15.0 y T = 0.1 fijando la saturacin en 36V. Dichos valores se mantuvieron al usar MATLAB.

AUTOR: Salvador Saucedo

PAG. 18 DE 18

ICA-ESIME

SIMULACIN DEL CONTROL DIFUSO DE UN MOTOR DE CD

DIC. 2000

Figura 12.

Velocidad angular y corriente de armadura contra el tiempo.

AUTOR: Salvador Saucedo

PAG. 19 DE 19

ICA-ESIME

SIMULACIN DEL CONTROL DIFUSO DE UN MOTOR DE CD

DIC. 2000

echo on

AUTOR: Salvador Saucedo

PAG. 20 DE 20

ICA-ESIME

SIMULACIN DEL CONTROL DIFUSO DE UN MOTOR DE CD

DIC. 2000

AUTOR: Salvador Saucedo

PAG. 21 DE 21

ICA-ESIME

SIMULACIN DEL CONTROL DIFUSO DE UN MOTOR DE CD

DIC. 2000

% ARMADURD.M armadura

Simula el control PD de un motor de CD, controlado por

AUTOR: Salvador Saucedo

PAG. 22 DE 22

ICA-ESIME

SIMULACIN DEL CONTROL DIFUSO DE UN MOTOR DE CD

DIC. 2000

AUTOR: Salvador Saucedo

PAG. 23 DE 23

ICA-ESIME

SIMULACIN DEL CONTROL DIFUSO DE UN MOTOR DE CD

DIC. 2000

% Autor: Salvador Saucedo Diciembre de 200. Curso: Teora de Control IV % Armadura: La = inductancia en Henrios, Ra = resistencia en Ohms, Va = voltaje nominal Ia = corriente % Campo: Lf = inductancia en H, Rf = resistencia en Ohms, Vf = voltaje nominal, If = corriente % J = mom. de inercia, en kg-m2, beta = coef. de friccin viscosa, en kgm2/s, Laf = inductancia mutua % omega = velocidad angular nominal en rad/s, To = par externo nominal en Nm % Se puede ejecutar el modelo KRONPD.MDL de SIMULINK despus, % si as se desea, para simular control con lmites t = 0:0.008:4; % define escala de tiempo La = 0.004; Ra = 0.2; Va = 24.0; Ia = 27.5; Lf = 25.0; Rf = 60.0; Vf = 60.0; If = 1.0; Laf = 0.3; J = 0.12; beta = 0.035; To = 6.15; omega = 60.4; K = Laf*If; U = [omega*(t>0.0);To*(t>0.0)]'; edo = {'Ia' 'w'}; entr = {'Va' 'To'}; % etiquetas A = [-Ra/La -K/La; K/J -beta/J]; % matriz de estado B = [1/La 0;0 -1/J]; C = [0 1]; D = [0 0]; [num1,den1]=ss2tf(A,B,C,D,1) [num2,den2]=ss2tf(A,B,C,D,2); Kp = 15; Kd = 0.1; nd = [Kd 1]; dd = [Kd/10 1]; % Kd = gan. derivativa [Ad,Bd,Cd,Dd] = tf2ss(nd,dd); sys2=ss(Kp); Bi = [sys2.b 0]; Ci = [sys2.c; 0]; Di = [sys2.d 0;0 1]; sys1 = ss(A,B,C,D,'statename',edo,'inputname',entr,'outputname',{'w'}); sys2 = ss(sys2.a,Bi,Ci,Di,'inputname',{'r' 'To'}); sys3 = series(sys2,sys1); sys4=ss(Ad,Bd,Cd,Dd,'statename','xd'); sys5 = feedback(sys3,sys4,[1],[1]); eig(sys5) x0 = [14 20 0]; % condiciones iniciales Ia(0) = 14A [Y,T,X]=lsim(sys5,U,t,x0); u=Kp*(U(:,1)-(Cd*X(:,3)+Dd*Y)); plotyy(t,Y,t,u); % omega y Va contra el tiempo grid on title('Velocidad angular y voltaje de armadura') xlabel('tiempo') disp ' oprimir una tecla para seguir..' pause plot(X(:,1),Y) grid on title('Velocidad angular vs corriente de armadura')

La figura 12 ofrece la respuesta obtenida con el mdulo kronPD.MDL, que coincide plenamente con el resultado de FUZZY.

AUTOR: Salvador Saucedo

PAG. 24 DE 24

ICA-ESIME

SIMULACIN DEL CONTROL DIFUSO DE UN MOTOR DE CD

DIC. 2000

Figura 13. Velocidad angular obtenida empleando los mismos valores, mediante MATLAB y SIMULINK.

AUTOR: Salvador Saucedo

PAG. 25 DE 25

ICA-ESIME

SIMULACIN DEL CONTROL DIFUSO DE UN MOTOR DE CD

DIC. 2000

CONCLUSIONES
El programa FUZZY es una herramienta adecuada para la simulacin de un motor de corriente directa definido mediante sus parmetros de diseo. El programa es fcil de usar pues cuenta con ayuda en lnea para tal fin, adems de que produce salida tanto hacia la pantalla como hacia archivos tipo texto que permiten su explotacin con fines didcticos. Adems de los dos algoritmos difusos ya vistos, FUZZY permite simular varios controladores continuos tradicionales, como el PID, amn de que permite simular la respuesta de lazo abierto. En un futuro prximo el programa tendr la parte adaptable, para autosintonizarse mediante una red neuronal.

BIBLIOGRAFIA
[1] Corts Mateos, Ral Tesis Doctoral de SEPI-ESIME, agosto de 1997.

[2] Hernndez M. , Gerardo C. Control Difuso de Velocidad de un Motor de Corriente Directa, Tesis de Grado SEPI-ESIME, enero de 1997. [3] Olgun Salinas, Daniel et al Anlisis de la Operacin Dinmica de la Mquina de Corriente Continua en base a la Teora de Kron 8ava Conferencia Cientfica de Ingeniera y Arquitectura. Habana Cuba, 1994. [4] Chuen Chien Lee Fuzzy Logic in Control Systems:Fuzzy Logic ControllerPart I IEEE Trans. on Systems, Man and Cybernetics, Vol. 20, N 2, pp 404-418, marzo de 1990. [5] Chuen Chien Lee Fuzzy Logic in Control Systems:Fuzzy Logic ControllerPart II IEEE Trans. on Systems, Man and Cybernetics, Vol. 20, N 2, pp 419-435, marzo de 1990. [6] Mamdani, E. H. Application of Fuzzy Algorithm for Control of Simple Dynamic Plant Proc. IEE Vol 121, N 12, pp 1585-1588, 1974. [7] Dorf, Richard Sistemas Modernos de Control Teora y Prctica, A. Wesley IA, 1989. 2da edicin. [8] Ogata, K. Ingeniera de Control Moderna, 3. Edicin; Prentice-Hall, 1997.
FILE:DIFUSO.DOC

AUTOR: Salvador Saucedo

PAG. 26 DE 26