Title | Fuzzy - Desarrollo de ejercicios de control bajo lógica difusa utilizando Matlab |
---|---|
Author | Pablo Garrido |
Course | Sistemas de Control para la Automatización |
Institution | Universidad Tecnológica de Chile |
Pages | 39 |
File Size | 2.3 MB |
File Type | |
Total Downloads | 54 |
Total Views | 140 |
Desarrollo de ejercicios de control bajo lógica difusa utilizando Matlab...
Área Académica Electricidad y Electrónica Ingeniería en Automatización y Control Industrial (T73-4) Automatización y Control Industrial (B7-7)
Informe N°1 Desarrollo Ejercicios FUZZY Análisis De Sistemas De Control Con Tecnología De Lógica Difusa, Redes Neuronales
Asignatura: Automatización de los Sistemas Eléctricos Sección: 60-A Nombre del académico:
Fecha de entrega 22 de noviembre de 2019
Contenido Introducción..................................................................................................................................................................... 3 Objetivo........................................................................................................................................................................... 3 Desarrollo........................................................................................................................................................................ 4 Ejercicio n°1:
......................................................................................................................................................... 4
Ejercicio n°2:
....................................................................................................................................................... 21
Ejercicio n°3:
....................................................................................................................................................... 26
Conclusiones.................................................................................................................................................................. 34 Bibliografía..................................................................................................................................................................... 34
Desarrollo ejercicios FUZZY
2
Introducción La lógica difusa es una técnica de la inteligencia artificial que trabaja desde un método simple para poder concluir con alguna interrogante planteada y a través de una información imprecisa o incompleta puede trabajar para llegar a una respuesta concreta. Este tipo de inteligencia trata de ser muy parecida a la inteligencia del ser humano ya que no necesita de mucha información para lograr tomar decisiones precisas. En este informe se presentarán el actuar de la lógica difusa en los sistemas de control eléctricos y como está varía dependiendo de los datos a trabajar desde el software utilizado “Matlab”.
Objetivo
Analizar los conjuntos difusos, funciones y características aplicados al control de la lógica difusa.
Implementar los conocimientos y teoría aprendida en clase para lograr el desarrollo de los ejercicios.
Diseñar un sistema de control utilizando método de lógica difusa Mamdani para los ejercicios que lo requieran.
Analizar las especificaciones de desempeño del sistema de control para diseñar compensadores para sistema de control utilizando el criterio de Rout Hurwitz y la segunda regla de sintonización de Ziegler-Nichols, para construcción de controlador PID.
Desarrollo ejercicios FUZZY
3
Desarrollo Ejercicio n°1:
(40%)
Se tiene un proceso para el control de nivel de un estanque como el mostrado en la figura. Un motor de corriente continua permite abrir una válvula mientras gira. Se despreciarán la inductancia del motor y la fricción entre el motor y la válvula para mayor simplicidad. La altura del agua en el estanque se relaciona con el ángulo de giro del motor mediante la ecuación: τ
h ( t )=∫ [ 6.66 θ ( t ) −h(t) ] dt 0
La constante del motor es Km=7.7 y la inercia del mismo es J=0.00777 [kg*m2] Las ecuaciones diferenciales mecánicas del sistema vienen dadas por:
Las ecuaciones eléctricas las pueden obtener aplicando leyes de Kirchoff.
Desarrollo ejercicios FUZZY
4
a) Diseñar un controlador PD+I fuzzy que permita controlar el proceso de llenado del estanque a un valor de 7.96 [mca]. La función de transferencia con la que se debe trabajar en el proceso es G=H/Vi. Ecuaciones diferenciales:
Datos:
(Ec. 1)
Km= 7.7 2
J= 0.00777 [kg*m ]
(Ec. 2)
Ka= 50
(Ec. 3)
K= 1
Ecuaciones Eléctricas:
V a=50 V i=V b+ 10ia
(Ec.
4)
Desarrollo ejercicios FUZZY
5
Desarrollo Matemático Paso 1: Derivar la función principal para eliminar la integral τ
h ( t )=∫ [ 6.66 θ ( t ) −h(t) ] dt 0
Paso 2:
t 6.66 θ ( t ) −h(¿) h' (t)=¿ Derivar la función resultante para obtener
θ'
Paso 3:
t 6.66 θ ' ( t )−h '(¿) 2 d h =¿ dt 2 Reemplazar Ec.1 en el paso 3 Paso 4
t 6.66 w ( t )−h ' (¿) d2 h =¿ 2 dt Derivamos
w (t ) para obtener w ' (t )
Paso 5 2 d3 h d h ' =6.66 w (t)− 2 3 dt dt
Despejar ' w (t )=
w ' (t ) de la Ec.2 y reemplazar en paso 5 Km∗i a J
Paso 6
Desarrollo ejercicios FUZZY
6
d3 h dt
3
+
Despejar
ia=
d 2 h 6.66∗Km∗ia = 2 J dt ia de la Ec.4 y reemplazar en paso 6
50V i−V b 10
Paso 7 2
d3 h d h + 2 = 3 dt dt
6.66∗Km ∗50 V i−V b J 10
Paso 8 Despejar
V b=
v b de la Ec.3
θ '(t) K
Paso 9: Despejar
θ' (t)=
V b=
θ '(t ) del paso 3 y reemplazar en V b del paso 8
(
1 d 2 h dh ∗ 2+ dt 6.66 d t
)
(
2 1 d h dh + ∗ 6.66∗K d t 2 dt
)
Paso 9
( ((
2
)
d h dh + ∗1 3 2 dt 2 dt d h d h 6.66∗Km = ∗ 5 0 V − + i 2 10 J 6.66∗K dt 3 dt
)
Paso 10: Reemplazar las constantes
( ((
)
d2 h + dh ∗1 2 dt 2 dt 6.66∗7.7 d3 h d h 5 0 V − + = ∗ i 6.66∗1 dt 3 dt 2 10∗0.00777
)
Desarrollo ejercicios FUZZY
7
Paso 11 Resolver la ecuación
( ((
) ))
2 d3 h d h d 2 h + dh ∗0.15 + =660∗ 50 V i− 3 2 dt2 dt dt dt
Paso 12
(
3
2 d h d2 h 0.15∗d h 0.15∗dh − + 2 =660∗ 50 V i− 3 2 dt dt dt dt
)
Paso 13 3
d h d2 h + 2 =¿ 3 dt dt
2
33000 V i−99
d h dh −99 dt dt 2
Paso 14 2 3 d h + 100∗d h + 99 dh =33000 V i 2 3 dt dt dt
Paso 15 Aplicar Laplace al paso 14
s 3 H (s)+100 s2 H (s )+ 99 sH (s )=33000V i (s ) Paso 16 Ordenar la ecuación para obtener la función de transferencia del tipo G=H/Vi.
G (s )=
H (s) 33000 = V i (s) s 3 +100 s 2+99 s
Con la función de transferencia se procede a trabajar con Fuzzy.
Desarrollo ejercicios FUZZY
8
Diseño Fuzzy
Matriz PD FUZZY (T. Brehm; S. Rattan, IEEE) Donde: NB=Negativo Grande NM= Negativo Mediano NS= Negativo Pequeño ZO= Cero PS= Positivo Pequeño PM= Positivo Mediano PB= Positivo Grande
Programa Fuzzy Logic Designer de Matlab
Desarrollo ejercicios FUZZY
9
Función de membresía de las entradas
Función de membresía de la salida
Desarrollo ejercicios FUZZY
10
Diseño Fuzzy Simulink
Gráfica de la salida del sistema
Nota: A la salida del sistema se aplicó un bloque saturador, ya que el sistema es estable en sí, pero al variar las ganancias este no está regulando al valor deseado, por esta razón se aplicó el bloque para limitar la salida al valor solicitado.
Desarrollo ejercicios FUZZY
11
Desarrollo ejercicios FUZZY
12
b) Diseñar un controlador PI+D fuzzy.
Diseño Fuzzy
Matriz PI FUZZY (T. Brehm; S. Rattan, IEEE) Donde: NB=Negativo Grande NM= Negativo Mediano NS= Negativo Pequeño ZO= Cero PS= Positivo Pequeño PM= Positivo Mediano PB= Positivo Grande
Programa Fuzzy Logic Designer de Matlab
Función de membresía de las entradas
Función de membresía de la salida
Desarrollo ejercicios FUZZY
14
Diseño Fuzzy Simulink
Grafica de la salida del sistema
Nota: A la salida del sistema se aplicó un bloque saturador, ya que el sistema es estable en sí, pero al variar las ganancias este no está regulando al valor deseado, por esta razón se aplicó el bloque para limitar la salida al valor solicitado.
c) Sintonizar mediante sisotool un PID mediante Z-N y controlar el sistema mediante dicho controlador.
Grafica del sistema sin el compensador
Configuración del compensador
Función de transferencia del compensador
Configuración del filtro
Desarrollo ejercicios FUZZY
17
Desarrollo ejercicios FUZZY
18
Grafica del sistema con el compensador y el filtro
Desarrollo ejercicios FUZZY
19
d) Realizar un control PID convencional sintonizado con segundo método de Z-N (a mano) y comparar las respuestas con los controladores anteriores. ¿Cuál de todos se comportó de mejor manera? Justifique su respuesta mediante comentarios y gráficas de MATLAB.
Función de transferencia del sistema
G (s )=
33000 s 3+ 100 s2 +99 s
Función de transferencia del sistema a lazo cerrado
H ( s) =
33000 k 3 2 s +100 s + 99 s+33000 k
Aplicando criterio de Ruth- Hurwitz para encontrar el
3
k cr
Despejando k de
s 1 99 0
s1
s 100 33000 k
9900−33000 k > 0
9900−33000 k 100 0 s 33000 k
k<
2
s
1
−9900 −33000
k 0 Los rangos de k son: 0 < k < 0.3 Por lo tanto
k cr =0.3
Aplicado criterio de Ziegler-Nichols 3
2
s +100 s + 99 s + 9900
Reemplazando las s por jw 3
2 ( jw ) +100( jw ) + 99 jw + 9900
Factorizar la parte real y la imaginaria
( 9900−100 w2) + j ( −w3 +99 w )=0
w cr
−w 3+ 99 w=0/w
− j w 3−100 w2 +99 jw+9900=0
Despejar w para encontrar
2
−w +99=0 99=w2 /√ 9.95=wcr
Desarrollo ejercicios FUZZY
20
Desarrollo ejercicios FUZZY
21
Pcr =
w cr se procede a encontrar el Pcr
Con el
2π 2π =0.63 = wcr 9.95 k cr y el w cr
Con el Nichols
se calculan los parámetros para el PID con la tabla del 2° Método de Ziegler-
kp=0.6∗k cr =0.6∗0.3
kp=0.18 Ti=0.5∗Pcr =0.5∗0.63 Ti=0.315
(s)
Td=0.125∗Pcr =0.125∗0.63 Td=0.07875
(s)
Ganancias para Matlab
kp=0.18 ki=
kp 0.18 = Ti 0.315
ki=0.5714 kd = kp∗Td=0.18∗0.07875 kd=0.014175
Desarrollo ejercicios FUZZY
22
Diseño PID Simulink
Ajuste de los parámetros PID calculados
Grafica del sistema
Desarrollo ejercicios FUZZY
23
¿Cuál de todos se comportó de mejor manera? Justifique su respuesta mediante comentarios y gráficas de MATLAB.
Comparación de las graficas Donde: PD+I Grafica amarilla PI+D Grafica verde PID sintonizado Z-N Grafica morada
De los 4 controladores el que mejor funciona es sisotool (grafica de abajo), ya que la gráfica entregada se comporta de una mejor a los requerimientos dados y no es tan brusca en los cambios. Dado que los controladores PD+I y la PI+D se tuvo que aplicar un saturador a la salida para que se pudiera ajustar al setpoint solicitado por lo cual se está forzando la salida para que llegue al valor deseado. El PID ajustado a mano de igual manera es inestable en este caso, al aplicar una sintonización fina puede que se comporte de una mejor manera, pero en este ejercicio no es lo solicitado.
Desarrollo ejercicios FUZZY
24
Ejercicio n°2:
(30%)
Se desea controlar la temperatura de un edificio residencial variando la velocidad de un sistema de bombeo. La lógica indica que a mayor temperatura mayor velocidad y por tanto intrínsecamente la presión subiría y viceversa. Para ello se dispone de los siguientes instrumentos: Un transmisor de temperatura que cubre un rango de -10°C hasta 80°C. Un transmisor de presión de 2 hasta 185 [psi] La velocidad de la bomba deberá cubrir un rango de 300 hasta 3600 [rpm] Diseño de un controlador Fuzzy hecho a la medida del proceso mediante funciones de pertenencias trapezoidales (para arranque suave de la motobomba). Complete la tabla con los datos faltantes para comprobar el diseño difuso:
Temperatura (°C)
Presión (psi)
-6.31
2
-1.1
100
0
60.88
Velocidad (rpm)
25 157.69
300
80
1800 185
3600
(Tabla completa al final del ejercicio)
Desarrollo ejercicios FUZZY
25
Diseño Fuzzy Se crean las dos entradas del sistema correspondiente a las variables de temperatura y presión, al igual que la salida correspondiente a la velocidad de la bomba.
Se procede a crear las funciones de membresía del tipo trapezoidales como lo solicita el ejercicio para todas nuestras variables de entrada y salida.
Funciones de membresía para las entradas
Desarrollo ejercicios FUZZY
26
Función de membresía de la salida
Con las funciones de membresía creadas y con los rangos establecidos se procede a la creación de la base de conocimiento o FAM.
Temperatura/presión MF F N C MC
MB ML ML ML ML ML
B ML ML ML ML ML
N ML ML ML ML N
A ML ML ML L R
MA ML ML ML L MR
Donde: Entradas Temperatura MF= Muy Fría F= Fría N= Normal C= Caliente MC= Muy Caliente
Presión MB= Muy Baja B= Baja N= Normal A= Alta MA= Muy Alta
Salida Velocidad ML= Muy Lento L= Lento N= Normal R= Rápido MR= Muy Rápido
Desarrollo ejercicios FUZZY
27
Con estas 25 combinaciones se crean las reglas para que el controlador Fuzzy trabaje.
Con la creación de las reglas se puede observar la superficie que abarcara nuestro controlador Fuzzy para las entadas y salidas.
Desarrollo ejercicios FUZZY
28
Ya con el controlador listo se procede a completar la tabla solicitada, ingresando los datos ya establecidos para así completar los faltantes.
Temperatura (°C)
Presión (psi)
Velocidad (rpm)
-6.31
2
369
-1.1 0
100 60.88
374 376
25 40
120 157.69
377 300 (382)
80
86
1800
80
185
3600 (3360)
Nota: Por razones de los rangos de los trapecios no se pudo llegar a los valores exactos solicitados en la tabla, quizás al agregar más variables a la FAM u otros tipos de funciones de membresía que complementen a las funciones trapezoidales se pueda llegar a los valores exactos solicitados.
Desarrollo ejercicios FUZZY
29
Ejercicio n°3:
(30%)
Se tiene un proceso de control para un brazo robótico, mediante el mando de un servomotor gobernado por un controlador fuzzy. Las mediciones realizadas antes de controlar el proceso fueron las siguientes:
Corriente (mA) 0 2 3 4 5 7 9 11 12 14 15 16 19 20
Ángulo (grados) -8,32 19,68 33,68 47,68 61,68 89,68 117,68 145,68 159,68 187,68 201,68 235,66 280,98 360
a) Realice un control PI fuzzy para regular el ángulo de giro de la pinza del robot.
Creación de las variables en matlab para la obtencion de la funcion de transferencia.
Desarrollo ejercicios FUZZY
30
Programa para la obtención de la función de transferencia del sistema
Ingresamos las variables al programa en el dominio del tiempo
Seleccionamos la cantidad de zeros y polos para la función de transferencia
Desarrollo ejercicios FUZZY
31
Se seleccionó 2 polos y ningún zero ya que el ajuste de estimación para los datos fue de un 84.62%, el cual fue el mayor porcentaje dentro de las posibilidades que existían.
Se exporta la función de transferencia del sistema para diseñar el compensador Fuzzy.
Desarrollo ejercicios FUZZY
32
Diseño Fuzzy
Matriz PI FUZZY (T. Brehm; S. Rattan, IEEE) Donde: NB=Negativo Grande NM= Negativo Mediano NS= Negativo Pequeño ZO= Cero PS= Positivo Pequeño PM= Positivo Mediano
PB= Positivo Grande
Programa Fuzzy Logic Designer de Matlab
Desarrollo ejercicios FUZZY
33
Función de membresía de las entradas
Función de membresía de la salida
Desarrollo ejercicios FUZZY
34
Diseño Fuzzy Simulink
Gráfica de la salida del sistema
Desarrollo ejercicios FUZZY
35
b) Compare la respuesta con un P convencional autosintonizado. Conclusiones y gráficas de respaldo.
Constante proporcional para el P convencional
Diseño del P convencional Simulink
Grafica de la salida del P.
Desarrollo ejercicios FUZZY
36
Comparación de las gráficas
Como se logra observar en las gráficas el controlador tipo P es más efectivo y rápido para la estabilización del sistema, ya que presenta un pequeño overshoot y la estabilización es casi inmediata. No como lo es el caso del controlador PI FUZZY, el cual no cuenta con overshoot, pero el tiempo de estabilización es más lento. Pero aun así los dos tipos de controladores responderían bien al sistema de movimiento del brazo robótico.
Desarrollo ejercicios FUZZY
37
Conclusiones
• Utilizando los conocimientos impartidos en clase acerca de la lógica difusa fue • posible implementar un sistema difuso utilizando la herramienta fuzzy de MATLAB. • Utilizando los conocimientos impartidos en clase Desarrollo ejercicios FUZZY
38
acerca de la lógica difusa fue • posible implementar un sistema difuso utilizando la herramienta fuzzy de MATLAB. •
Utilizando los conocimientos impartidos...