1. PROCESOS INTELIGENTES
CONTROL DIFUSO DE TEMPERATURA
utilizando MATLAB
Fernando D. Siles Nates
Doctor en Ing. Mecánica
Magister en Ing. de Mantenimiento
Ing. Mecatrónico –CIP :139515
2. CONTROLADOR DIFUSO DE TEMPERATURA-MODELO MAMDANI
El propósito de los sistemas de control difuso es
simplemente el uso de estrategias de control que realiza
el ser humano. Los sistemas de control difuso hacen uso
del conocimiento humano y de su experiencia, por lo
tanto también se pueden llamar sistemas de control
inteligente. Su empleo en la construcción de sistemas que
reproduzcan esquemas de razonamiento aproximado. Las
estrategias en sistemas de control convencional PID
(proporcional integral derivativo) son expresadas por
medio de funciones matemáticas, los sistemas basados
en lógica difusa pueden controlar más adecuadamente
procesos que estén gobernados por reglas intuitivas que
difícilmente pueden expresarse por medio de
constructores matemáticos complejos y su gran ventaja
es la fácil modificación.
3. CONTROLADOR DIFUSO DE TEMPERATURA-MODELO MAMDANI
Los sistemas de control difuso son el foco de
interesantes aplicaciones de la teoría de conjuntos
difusos y la lógica difusa, en el reciente desarrollo de
sistemas tecnológicos e industriales.
Los sistemas de control difuso están constituidos de cuatro
módulos:
4. CONTROLADOR DIFUSO DE TEMPERATURA-MODELO MAMDANI
MÓDULO DE FUZIFICACIÓN
(DIFUSOR): Consiste en recibir
unos valores numéricos y
asociarles predicados vagos por
medio de unos conjuntos
borrosos.
MÓDULO DE BASE DE REGLAS: Es
una base de datos generada por
experiencia, sentido común o
intuición y es utilizada para
gobernar el comportamiento del
sistema, son de la forma SI –
ENTONCES. .
MÓDULO DE INFERENCIA: Evalúa
que regla (o reglas) del sistema se
activará ante determinado valor
de entrada.
Módulo de defuzificación
(Concresor): Consiste en obtener
un valor numérico para cada una
de las salidas del sistema a partir
de los conjuntos borrosos a los
que pertenece.
5. CONTROLADOR DIFUSO DE TEMPERATURA-MODELO MAMDANI
Existen varias técnicas de
defuzificación, las más
utilizadas son método del
centroide, método de
semifallo y método de la
media ponderada.
MÉTODO DEL CENTROIDE (CENTRO DE GRAVEDAD): Consiste en crear para la salida del
sistema una función de pertenencia a un nuevo conjunto obtenido como unión de aquellos a
los que pertenece parcialmente el valor de salida. Esta nueva función puede calcularse
mediante la suma de las funciones de pertenencia de estos conjuntos, pero multiplicadas
aritméticamente por el grado de pertenencia de la salida al conjunto que ya fue calculado en
la fase anterior de evaluación de las reglas de control.
MÉTODO DE SEMIFALLO (SINGLETON): Consiste en calcular un promedio de los centroides de
las funciones de pertenencia de los conjuntos de salida activados. Al ser funciones simétricas,
los centroides coinciden con el punto medio. Para la ponderación se utilizan los pesos de las
reglas activadas, o grados de pertenencia de la salida a los conjuntos correspondientes.
MÉTODO DE LA MEDIA PONDERADA: Se trata de un sencillo cálculo promedio entre los
valores de salida que se obtendrían para cada uno de los conjuntos borrosos multiplicados
ponderadamente por el peso de la correspondiente regla o grado de pertenencia del conjunto.
6. CONTROLADOR DIFUSO DE TEMPERATURA-MODELO MAMDANI
En esta práctica se realizará la definición de un sistema difuso de control en el que la variable a controlar será la
temperatura, el estudiante definirá las entradas, salidas y las reglas necesarias y comprobará si el sistema se comporta
de manera correcta conforme a su diseño.
7. CONTROLADOR DIFUSO DE TEMPERATURA-MODELO MAMDANI
Ebrahim Mamdani fue el encargado de
mostrar la aplicación de la lógica difusa en los
sistemas de control en 1974, desarrollando el
primer control fuzzy práctico para regular un
motor de vapor.
Para esta entrada, vamos a ejemplificar el uso del
controlador difuso controlando la variable temperatura
de nuestro Laboratorio de Temperatura, pero
adicionalmente haremos la simulación en Simulink, si tu
solamente deseas ver como programar el fuzzy con
matlab.
8. A continuación presentaremos la
practica concerniente a la aplicación
de un controlador difuso MODELO
MAMDANI , en este caso haremos uso
de MATLAB y SIMULINK , con el fin de
controlar la variable de temperatura (
se podrá configurar las reglas y
funciones de membresía
respectivamente)
CONTROLADOR DIFUSO DE TEMPERATURA-MODELO MAMDANI
Verificamos la instalación del
TOOLBOX DE FUZZY DE MATLAB , tal
como lo hemos realizados en las
ultimas 2 sesiones de laboratorio
9. CONTROLADOR DIFUSO DE TEMPERATURA-MODELO MAMDANI
Debemos de recordar que la BASE DE LA
LOGICA DIFUSA COMO HERRAMIENTA
PARA TOMAR DECISIONES TIENE QUE VER
CON EL RAZONAMIENTO APROXIMADO Y
ADICIONALMENTE EL RAZONAMIENTO
APROXIMADO GENERA PROPOSICIONES
EN EL FOMARTO “SI EN TONCES “ , el cual
permite generar implicación que permite
traducir el conocimiento de un experto en
una base de reglas que eventualmente
toman decisiones
A continuación vamos a diseñar un sistema
de control de un sistema sencillo para lo
cual se genera una regla de base de
conocimiento a través del procesamiento
del error
10. CONTROLADOR DIFUSO DE TEMPERATURA-MODELO MAMDANI
La siguiente grafica o primera grafica representa la salida de un sistema y suponemos que el
sistema responde a un referencia especifica cualquiera ( ES CONSTANTE) y se le denomina
r(t). Tomar en cuenta que el sistema de control es de lazo cerrado , por lo tanto el
comportamiento de la señal ( GRAFICA DE COLOR VERDE) , es como un sobre impulso que
tiene un pico elevado al comienzo y luego se estabiliza y SE MANTENIEN LA VARIABLE DE
CONTROL SOBRE L REFERENCIA DE MANERA ESPECÍFICA
y(t)
r(t)
A partir de la primera grafica se calcula el error , la cual es la variable que se va a procesar,
por lo tanto se tiene que :
e(t) = r(t)-y(t) .. EL ERROR SERÍA LA DIFERENCIA ENTRE LA REFERENCIA Y LA
SEÑAL DE SALIDA
Tomando en cuenta la variable temporal del error , se podría también calcular la derivada
del error :
𝒆 𝒕 = 𝒓 𝒕 − 𝒚(𝒕) →
𝒅𝒆(𝒕)
𝒅𝒕
Con ello se tendrían dos graficas mas
11. y(t)
r(t)
e(t)
La primera grafica corresponde al error en el tiempo y la segunda a la derivada
del error
de(t)/d(t)
(t)
(t)
(t)
Ahora considerando la primera grafica , tomamos puntos de referencia a partir
de la grafica de la señal en color verde y trazamos rectas paralelas y punteadas
( LÍNEAS VERTICALES DE COLOR NEGRO PUNTEADAS)
A continuación se grafica el error e(t) , considerar para ello la ecuación:
e(t) = r(t)-y(t) , la grafica resultante solo es una aproximación del
comportamiento
La derivada del error por otro lado tendría el comportamiento que se muestra.
CABE RESALTAR QUE EN TODOS LOS CASOS , LA TENDENCIAL AL FINAL DE LA
CURVA ES DE ESTABILIZACIÓN
CONTROLADOR DIFUSO DE TEMPERATURA-MODELO MAMDANI
12. y(t)
r(t)
e(t)
de(t)/d(t)
(t)
(t)
(t)
Existen algunas posibilidades para el error , en el caso particular de sistemas
de control , lo que se pretende es que el error este muy cerca de cero y la
derivada sea cero también lo que significa que no hay variaciones fuera de un
rango específico.
Con las graficas ya existentes , vamos a trazar las referencias cercanas a cero
con una línea punteada en color verde
CONTROLADOR DIFUSO DE TEMPERATURA-MODELO MAMDANI
13. y(t)
r(t)
e(t)
de(t)/d(t)
(t)
(t)
(t)
Como se puede ver en la grafica , existen tres posibilidades para el error:
POSITIVO (P) , negativo (N) o también puede ser cero (Z) , , ello es plasmado
en cada grafica como se observa. El mismo razonamiento se aplica a la
derivada del error
P
N
Z
P
N
Z
A partir de las dos variables ( ERROR Y DERIVADA DEL ERROR) que forman
parte de la base el conocimiento como variables de proceso , nos conlleva a
DEFINIR TRES CONJUNTOS DIFUSOS PARA EL ERROR Y TRES CONJUNTOS
DIFUSOS PARA LA DERIVADA DEL ERROR
CONTROLADOR DIFUSO DE TEMPERATURA-MODELO MAMDANI
14. y(t)
r(t)
e(t)
de(t)/d(t)
(t)
(t)
(t)
P
N
Z
P
N
Z
CONJUNTOS DIFUSOS PARA EL ERROR Y LA DERIVADA DEL ERROR
e(t)
Z
-0.5 0.5
CONTROLADOR DIFUSO DE TEMPERATURA-MODELO MAMDANI
La grafica muestra una línea horizontal
la cual constituye la línea del error e(t)
, a partir de cero se tienen tres casos ,
el primero es cuando el error vale cero
(GRAFICA DE COLOR VERDE) con
valores en un rango de -0.5 a 0.5 ( LOS
VALORES DEPENDEN DE LA CONDICION
DEL SISTEMA Y DE LO QUE EL EXPERTO
DEFINA
El conjunto difuso negativo tendrá
una transición trapezoidal ( GRAFICA
DE COLOR AZUL) y el conjunto difuso
positivo de igual manera otra
transición trapezoidal (GRAFICA DE
COLOR AMARILLO)
N P
N (CONJUNTO DIFUSO NEGATIVO)
P (CONJUNTO DIFUSO POSITIVO)
Z (CONJUNTO DIFUSO CERO)
15. y(t)
r(t)
e(t)
de(t)/d(t)
(t)
(t)
(t)
P
N
Z
P
N
Z
CONJUNTOS DIFUSOS PARA EL ERROR Y LA DERIVADA DEL ERROR
e(t)
Z
-0.5 0.5
CONTROLADOR DIFUSO DE TEMPERATURA-MODELO MAMDANI
Para el caso de la grafica de la derivada
del error , se tendría algo muy similar
solo que se cambian limites ( AHORA
DE -1 A 1 , SE RECALCA QUE DICHOS
VALORES DEPENDEN DEL EXPERTO)
N P
de(t)/d(t)
Z
-1 1
P
N
A partir de ambas graficas de
comportamiento difuso , se generan
dos tablas , tal como se verifica
16. y(t)
r(t)
e(t)
de(t)/d(t)
(t)
(t)
(t)
P
N
Z
P
N
Z
CONJUNTOS DIFUSOS PARA EL ERROR Y
LA DERIVADA DEL ERROR
e(t)
Z
-0.5 0.5
CONTROLADOR DIFUSO DE TEMPERATURA-MODELO MAMDANI
N P
de(t)/d(t)
Z
-1 1
P
N
e(t) : ERROR
N Z P
de(t)/d(t)
N
Z
P
Como se observa se ha n colocado las posibilidades
de los conjuntos difusos del error e(t) ( NEGATIVO –
N , CERO-Z Y POSITIVO –P)
De igual forma , la derivada del error como otra
variable de decisión , también puede ser NEGATIVO
–N , CERO-Z Y POSITIVO –P
Para cada combinación , debemos de tomar una
decisión , lo que nos obliga a generar conjuntos
difusos de salida
17. y(t)
r(t)
e(t)
de(t)/d(t)
(t)
(t)
(t)
P
N
Z
P
N
Z
CONJUNTOS DIFUSOS PARA EL ERROR Y LA DERIVADA DEL ERROR
e(t)
Z
-0.5 0.5
CONTROLADOR DIFUSO DE TEMPERATURA-MODELO MAMDANI
N P
de(t)/d(t)
Z
-1 1
P
N
e(t) : ERROR
N Z P
de(t)/d(t)
N
Z
P
Δu(t)
𝑢 𝑘 = 𝑢 𝑘 − 1 + Δ𝑢(𝑘)
0
Z
0.25 0.5
-0.25
-0.5
PP PG
NG NP
Lo que se hace a continuación es definir un cojunto difuso de
la variable de salida que corresponda al incremento de la
señal de control Δu(t) , siendo la ley de control discreta:
𝑢 𝑘 = 𝑢 𝑘 − 1 + Δ𝑢(𝑘)
u(k-1) , representa el valor anterior
Δu(t) , representa el incremento de la señal de control en
cada caso , se definen 5 posibilidades:
1. Que no se incremente en lo absoluto la señal de control
, le llamaremos el CONJUNTO DIFUSO Z , la forma que
tiene la grafica es lineal y representa un único valor
llamado valor nítido de salida LLAMADO SINGLETON. Los
valores SINGLETON se utilizan en control para simplificar el
proceso de DEFUSIFICACIÓN . La defusificación devuelve
un valor nítido del procesamiento del sistema difuso. Antes
de llegar a la DEFUSIFICACIÓN ,primero debemos
FUSIFICAR , luego hacer la INFERENCIA , lo que implica
una serie de operaciones . Ciertamente la operación
mayor corresponde a la operación de agregación, y si
usamos un BLOQUE MAMDANI , la agregación es el MAX-
MIN
18. y(t)
r(t)
e(t)
de(t)/d(t)
(t)
(t)
(t)
P
N
Z
P
N
Z
CONJUNTOS DIFUSOS PARA EL ERROR Y LA DERIVADA DEL ERROR
e(t)
Z
-0.5 0.5
CONTROLADOR DIFUSO DE TEMPERATURA-MODELO MAMDANI
N P
de(t)/d(t)
Z
-1 1
P
N
e(t) : ERROR
N Z P
de(t)/d(t)
N
Z
P
Δu(t)
𝑢 𝑘 = 𝑢 𝑘 − 1 + Δ𝑢(𝑘)
0
Z
0.25 0.5
-0.25
-0.5
PP PG
NG NP
2. Definimos otros SINGLETON en 0.25 como un valor
POSITIVO PEQUEÑO (PP)
3. Definimos también un SINGLETON en 0.5 como un valor
POSITIVO GRANDE (PG)
4. Definimos un SINGLETON en -0.25 como un valor
NEGATIVO PEQUEÑO (NP)
5. Definimos un SINGLETON en -0.5 como un valor
NEGATIVO GRANDE (NG)
DE ESTA MANERA SE DEFINEN LOS CONJUNTOS
DIFUSOS DE SALIDA
19. y(t)
r(t)
e(t)
de(t)/d(t)
(t)
(t)
(t)
P
N
Z
P
N
Z
CONJUNTOS DIFUSOS PARA EL ERROR Y LA DERIVADA DEL ERROR
e(t)
Z
-0.5 0.5
CONTROLADOR DIFUSO DE TEMPERATURA-MODELO MAMDANI
N P
de(t)/d(t)
Z
-1 1
P
N
e(t) : ERROR
N Z P
de(t)/d(t)
N NG
Z NP
P NP
Δu(t)
𝑢 𝑘 = 𝑢 𝑘 − 1 + Δ𝑢(𝑘)
0
Z
0.25 0.5
-0.25
-0.5
PP PG
NG NP
Para el llenado de la tabla se tiene que tomar en cuenta
el conocimiento del experto , es así que tenemos los
siguientes casos:
1. ERROR NEGATIVO Y DERIVADA DEL ERROR NEGATIVA =
NEGATIVO GRANTE ( LA SEÑAL DE CONTROL DEBE
DECREMENTARSE DE MANERA SIGNIFICATIVA)
2. ERROR NEGATIVO Y DERIVADA CERO = NEGATIVO
PEQUEÑO
3. ERRO NEGATIVO Y DERIVADA DEL ERROR POSITIVA
=NEGATIVO PEQUEÑO
Para la siguiente columna:
1. CUANDO EL ERROR ES CERO Y LA DERIVADA NEGATIVA
= NEGATIVO PEQUEÑO
2. CUANDO EL ERROR ES CERO U LA DERIVADA ES
CERO=CERO – EN ESTE CASO SE ESTÁ SOBRE LA
REFERENCIA
3. CUANDO EL ERROR ES CERO Y LA DERIVADA ES
POSITIVA =POSITIVO PEQUEÑO
20. y(t)
r(t)
e(t)
de(t)/d(t)
(t)
(t)
(t)
P
N
Z
P
N
Z
CONJUNTOS DIFUSOS PARA EL ERROR Y LA DERIVADA DEL ERROR
e(t)
Z
-0.5 0.5
CONTROLADOR DIFUSO DE TEMPERATURA-MODELO MAMDANI
N P
de(t)/d(t)
Z
-1 1
P
N
e(t) : ERROR
N Z P
de(t)/d(t)
N NG NP PP
Z NP Z PP
P NP PP PG
Δu(t)
𝑢 𝑘 = 𝑢 𝑘 − 1 + Δ𝑢(𝑘)
0
Z
0.25 0.5
-0.25
-0.5
PP PG
NG NP
Para la ultima columna tenemos:
1. CUANDO EL ERROR ES POSITIVO Y LA DERIVADA ES
POSITIVA = POSIIVO GRANDE
2. CUANDO EL ERROR ES POSITIVO Y LA DERIVADA ES
CERO = POSITIVO PEQUEÑO
3. ERROR POSITIVO Y DERIVADA NEGATIVA = POSITIVO
PEQUEÑO
CON EL DESARROLLO DE LA TABLA SE GENERA LA
BASE DEL CONOCIMIENTO A PARTIR DE UN
ANALISIS QUE TENDRIA UN EXPERTO SOBRE LA
OPERACIÓN DEL SISTEMA.
21. CONTROLADOR DIFUSO DE TEMPERATURA-MODELO MAMDANI
Abrimos SIMULINK desde el Commad
Windows de Matlab , podemos digitar
o escribir la palabra SIMULINK y
automáticamente nos llevará al
entorno de simulink y luego de ello
creamos un MODELO NUEVO
22. CONTROLADOR DIFUSO DE TEMPERATURA-MODELO MAMDANI
Para la configuración del controlador difuso ,
inicialmente vamos a elaborar el diagrama de LAZO
CERRADO DEL CONTROLADOR ,tal como se puede ver
en la figura ( proceso culminado)
23. CONTROLADOR DIFUSO DE TEMPERATURA-MODELO MAMDANI
Función escalón
Sumador +/-
A la salida del sumador , saldrá el error y este irá
conectado a un multiplexador
El error lo vamos a derivar porque estamos
interesados en conocer el cambio del error que
sucede
24. CONTROLADOR DIFUSO DE TEMPERATURA-MODELO MAMDANI
Al multiplexor ingresa el
error y el cambio del error
Vamos a saturar el cambio
del error para que este se
mantenga dentro de los
limites preestablecidos
Las dos entradas ingresan al
FUZZY LOGIC TOOBLOX
CONTROLLER
25. CONTROLADOR DIFUSO DE TEMPERATURA-MODELO MAMDANI
A la salida del controlador difuso ,
utilizaremos un bloque integrador (PI)-
Acción integradora de tal manera de poder
seguir una referencia del tipo escalón
Posterior a ello se realiza una saturación ,
suponiendo que la PLANTA que viene dada por los
bloques contiguos , en el elemento final de control
tendrá un limite máximo y mínimo . Entonces la
saturación se establecerá en el valor de 100 como
el máximo del elemento final de control y cero como
el mínimo del elemento final de control
BLOQUES DE PLANTA
26. CONTROLADOR DIFUSO DE TEMPERATURA-MODELO MAMDANI
En este caso estamos controlando un sistema de temperatura , el
cual viene representado por una función de TRANSFERENCIA DE
PRIMER ORDEN G(S) ESTRUCTURADA TAL COMO SE VE (SE
TOMAN DATOS DE PRUEBA), la cual presenta un retardo ( THETA)
el cual es un bloque conocido en simulink como TRANSPORT
DELAY de valor de 12.78
Finalmente tenemos la salida la temperatura , a la cual estamos
realimentando y la llevamos al mismo tiempo a un MULTIPLEXOR
(MUX)
27. CONTROLADOR DIFUSO DE TEMPERATURA-MODELO MAMDANI
En la parte superior observamos la salida , la cual también va
conectada al MULTIPLEXOR y luego ambas mediante el
multiplexor ser mostradas en un SCOOP ( OSCILOSCOPIO) y de
esta manera observar la dinámica de un sistema.
28. CONTROLADOR DIFUSO DE TEMPERATURA-MODELO MAMDANI
Utilizando simulink vamos a
construir paso a paso el modelo (
DIAGRAMA DE BLOQUES ) antes
explicado
29. CONTROLADOR DIFUSO DE TEMPERATURA-MODELO MAMDANI
Nos dirigimos a la pestaña library
browser en la parte superior se la
ventana y abrimos la librería de
simulink
30. CONTROLADOR DIFUSO DE TEMPERATURA-MODELO MAMDANI
Una vez ingresado a la librería ,
empezamos a seleccionar y
configurar cada componente el
sistema
31. CONTROLADOR DIFUSO DE TEMPERATURA-MODELO MAMDANI
BLOQUE TEMPERATURA :
SOURSES-STEP
BLOQUE SUMA/RESTA : MATH
OPERATIONS-SUM
BLOQUE DERIVATIVE: CONTINUOS
-DERIVATIVE
BLOQUE SATURATION:
COMMONLY USED BLOCK –
SATURATION
BLOQUE MUX: COMMONLY USED
BLOCK –MUX
BLOQUE FUZZY LOGIC CONTROLLER:
FUZZY LOGIC TOOLBOX –FUZZY LOGIC
CONTROLLER
BLOQUE INTEGRATOR : COMMONLY
USED BLOCK –INTEGRATOR
BLOQUE TRANSFER FUNTION :
CONTINUOUS –TRANSFER FCN
BLOQUE TRANSPORT DELAY :
CONTINUOUS –TRANSPORT DELAY
BLOQUE SCOPE : SINKS-SCOPE
33. CONTROLADOR DIFUSO DE TEMPERATURA-MODELO MAMDANI
Una vez estructurado los
bloques , nos dirigimos a la
librería FUZZY de MATLAB (
podemos escribir en el
Command Windows la palabra
FUZZY) . Automáticamente se
abre el fuzzy logic designer .
El controlador fuzzy va a recibir dos
señales de entrada las cuales son : EL
ERROR DEL SISTEMA EL CUAL ES LA
DIFERENCIA ENTRE LA SEÑAL QUE SE
RECIBE DEL SENSOR QUE EN ESTE
CASO ES LA TEMPERATURA CON EL
SET POINT
Como segunda entrada será la
DERIVADA DEL ERROR
PRIMERA ENTRADA
SEGUNDA ENTRADA
34. CONTROLADOR DIFUSO DE TEMPERATURA-MODELO MAMDANI
En nuestro controlador
colocamos dos entradas tal
como se verifica (INPUT –ADD
VARIABLE)
35. CONTROLADOR DIFUSO DE TEMPERATURA-MODELO MAMDANI
Renombramos los nombres de cada
una de las entradas como aparece
e: error
e´: derivada del error
u: Señal de salida que
posteriormente será integrada
36. CONTROLADOR DIFUSO DE TEMPERATURA-MODELO MAMDANI
Configuramos ahora nuestras
entradas , para lo cual iniciamos con
la primera , en este caso el error “e”
Procederemos a configurar las
funciones de membresía o
pertenencia de la entrada.
37. CONTROLADOR DIFUSO DE TEMPERATURA-MODELO MAMDANI
RECORDAR QUE:
FUNCIONES DE PERTENENCIA O MEMBRECÍAS (µ O MF)
Una función de pertenencia es una curva que define el
grado, entre uno y cero, en que las variables pertenecen a
los conjuntos difusos, se definen según el experto,
analizando el sistema a controlar. Toman formas, las más
conocidas son: Singlentons, trapezoidales, triangulares,
sinoidales, gaussianas, entre otras. Estas funciones toman
valores lingüísticos definidos por el mismo experto según
el comportamiento de las variables.
EN EL CASO DE LA FIGURA , SE TIENE FUNCIONES DEL TIPO
TRIANGULAR
38. CONTROLADOR DIFUSO DE TEMPERATURA-MODELO MAMDANI
Los triángulos vistos , son conocidos como
las variables lingüísticas y las utilizamos
para poder definir el universo donde
controlaremos el sistema . En la imagen en
el eje inferior , en universo va de 0 a 1 , sin
embargo se puede modificar en el rango
39. CONTROLADOR DIFUSO DE TEMPERATURA-MODELO MAMDANI
Para el caso del error “e” , se verifica que
es un sistema de temperatura el cual
máximo llega a 100 °C y como mínimo se
tiene la temperatura ambiente de 25 °C
El error podría oscilar entre 80 y -80 y
depende del setpoint que se le coloca
40. CONTROLADOR DIFUSO DE TEMPERATURA-MODELO MAMDANI
Para el caso nuestro , definimos un
universo del discurso mas grande tal como
se verifica : -100 a 100
41. CONTROLADOR DIFUSO DE TEMPERATURA-MODELO MAMDANI
Ahora procederemos a configurar las
funciones de pertenencia , para lo cual
suprimimos las funciones preestablecidas
Para este caso , se va a definir siete
variables lingüísticas de entrada
Como se muestra en el diagrama de
bloques del control fuzzy la primera
variable de entrada es el error, debido a
que es la diferencia que hay entre el valor
de referencia, con los datos de la variable
del sistema o proceso.
42. CONTROLADOR DIFUSO DE TEMPERATURA-MODELO MAMDANI
Las siete variables van a caracterizar el
error del sistema de control de
temperatura.
Cabe resaltar que no necesariamente
pueden ser 7 , lo mas practico es que
funcione con 3 , sin embargo con fnes de
aprendizaje se utilizan 7 para que de esta
forma se alcance todo el universo del
discurso
43. CONTROLADOR DIFUSO DE TEMPERATURA-MODELO MAMDANI
Las variables se agrupan de la siguiente
manera
VARIABLES NEGATIVAS VARIABLE EN CERO
VARIABLES PARA LAS POSITIVAS
• eNG (Error negativo grande) indica
cuando la salida del error está muy por
encima del valor de referencia. (
ERROR MUY LEJOS O CERCA A -100)
• eNM (Error negativo medio) indica
cuando la salida del error está
medianamente por encima del valor
de referencia. ( ERROR CERCA A -50)
• eNP (Error negativo pequeño) indica
cuando la salida del error está por
encima pero con muy poca diferencia
del valor de referencia. ( ERROR CERCA
A -10)
• **RECORDAR QUE ESTAMOS EN UNA
ESCALA DE -100 A 100
• ePP (Error positivo pequeño) indica
cuando la salida del error está por
debajo pero con muy poca diferencia
del valor de referencia. ( ERROR DE +
10 O +20)
• .
• ePM (Error positivo medio) indica
cuando la salida del error está
medianamente por debajo del valor de
referencia. ( ERROR CERCA A +50)
• ePG (Error positivo grande) indica
cuando la salida del error está muy por
debajo del valor de referencia. (
ERROR CERCA A +90)
• eZ (Error cero) indica cuando la salida
del error es igual al valor de
referencia.( NO HAY NINGUN ERROR)
44. CONTROLADOR DIFUSO DE TEMPERATURA-MODELO MAMDANI
En el editor fuzzy , agregamos las
funciones de membresía para el error “e”
con la opción ADD MFS
Elegimos el tipo de función triangular (
trimf) . En el caso del numero de funciones
de membresía colocamos 7 , damos en ok
45. CONTROLADOR DIFUSO DE TEMPERATURA-MODELO MAMDANI
Se muestra las 7 funciones de membresía ,
la versatilidad del entorno es que nos
permite modificar los parámetros y el
nombre de cada una de las funciones .
Modificamos según lo previsto
46. CONTROLADOR DIFUSO DE TEMPERATURA-MODELO MAMDANI
Como se observa las7 funciones fueron
configuradas de manera tal que se
encuentran simétricamente espaciadas . Sin
embargo cabe destacar que dichos rangos
pueden ser modificados según el criterio
47. CONTROLADOR DIFUSO DE TEMPERATURA-MODELO MAMDANI
Podemos hacer múltiples pruebas
, modificando los rangos , tal como
se presenta:
48. CONTROLADOR DIFUSO DE TEMPERATURA-MODELO MAMDANI
Como se puede observar los rangos oscilan en 25 puntos
Debemos de repetir el procedimiento para la derivada del error
“e´” y para la salida “u”
49. CONTROLADOR DIFUSO DE TEMPERATURA-MODELO MAMDANI
Para el caso de la
derivada del error ,
configuramos los rangos
en el eje inferior entre -4
y 4 respetivamente
De igual manera que el
caso anterior
configuramos 7
funciones de membresía
y modificamos sus
nombres como en el
caso anterior
50. CONTROLADOR DIFUSO DE TEMPERATURA-MODELO MAMDANI
Configuración de los
rangos para cada una de
las funciones de
pertenencia de la
derivada del error “e ´”
51. CONTROLADOR DIFUSO DE TEMPERATURA-MODELO MAMDANI
Repetimos el mismo
procedimiento para la salida
“u”, la cual en este caso , los
rangos irán de -3 a 3
respectivamente
Tomar en cuenta que los
rangos parciales en este caso
varía de 0.25 en 0.25
respectivamente.
Recordar que : Mientras mas
grande será el universo de
discuros , la acción del control
es mas fuerte
52. CONTROLADOR DIFUSO DE TEMPERATURA-MODELO MAMDANI
Verificamos que la derivada del
controlador para este caso dado
que es una temperatura , se tiene
un error y por lo tanto la derivada
es el CAMBIO del error
Sin embargo como la temperatura es una
variable lenta , el cambio que se presenta es
muy SUAVE ( ocurre muy poco cambio) . Es
por ello que el universo del discurso utilizado
para la derivada del error es pequeño el cual
oscila entre -4 y 4 respectivamente
53. CONTROLADOR DIFUSO DE TEMPERATURA-MODELO MAMDANI
Las reglas pueden ser configuradas como el
experto mejor plantee la solución del caso .
Para nuestro caso vamos a colocar todas las
combinaciones posibles, dado que existen 7
funciones de membresía tanto para el error ,
derivada del error y la salida
La elaboración de las reglas del sistema difuso
se hacen mediante la tabla FAM, la cual
involucra todas las combinaciones posibles
que puede presentarse en el proceso.
54. CONTROLADOR DIFUSO DE TEMPERATURA-MODELO MAMDANI
DERIVADA DEL ERROR ( 7 FUNCIONES)
ERROR
(7 FUNCIONES)
FUNCIONES O REGLAS
DE INFERENCIA
Al ser 7 funciones de transferencia
en la entrada ( ERROR) y siete en
la salida (DERIVADA DEL ERROR) ,
da una matriz de 7 x7 y un total de
49 combinaciones o REGLAS
55. CONTROLADOR DIFUSO DE TEMPERATURA-MODELO MAMDANI
Las reglas son extraídas de la tabla FAM mostrada
anteriormente a través de los antecedentes que se
enuncian en la primera fila y la primera columna,
dando como resultado la intersección entre los
antecedentes involucrados, por ejemplo, las tres
primeras reglas se constituyen de la siguiente
manera:
1.If (e is eNG) and (de is deNG) then (u is UFNG)
2.If (e is eNG) and (de is deNM) then (u is UFNG)
3.If (e is eNG) and (de is deNP) then (u is UFNG)
epg ** corregir
56. CONTROLADOR DIFUSO DE TEMPERATURA-MODELO MAMDANI
ADICIONAMOS TODA LAS 49 REGLAS SEGÚN EL
CASO
57. CONTROLADOR DIFUSO DE TEMPERATURA-MODELO MAMDANI
Se pueden verificar las reglas de
manera grafica también
58. CONTROLADOR DIFUSO DE TEMPERATURA-MODELO MAMDANI
Una vez concluido el proceso , exportamos el
controlador MAMDANI , para lo cual le damos en
FILE-EXPORT-TO WORKSPACE colocamos el
nombre : PI_PUZZYL
Como se verifica el nombre cambia
automáticamente y también se verifica en el
WORKSPACE DE MATLAB : PI_PUZZYL
Podemos hacer también el proceso de GUARDAR:
FILE-EXPORT-FILE
59. CONTROLADOR DIFUSO DE TEMPERATURA-MODELO MAMDANI
Teniendo configuradas las
reglas , ahora verificamos el
diagrama de bloques:
60. CONTROLADOR DIFUSO DE TEMPERATURA-MODELO MAMDANI
Configuramos la saturación en
un rango de -4 a 4 en el
universo del discurso
61. CONTROLADOR DIFUSO DE TEMPERATURA-MODELO MAMDANI
La saturación la colocamos en un rango de 100 como el
máximo del elemento final de control y 0 como el
mínimo del elemento final de control
62. CONTROLADOR DIFUSO DE TEMPERATURA-MODELO MAMDANI
Para el caso del retardo consideramos un valor de
12.78
63. CONTROLADOR DIFUSO DE TEMPERATURA-MODELO MAMDANI
Configuramos el BLOQUE
FUZZY LOGIC CONTROLLER y le
colocamos el nombre elegido ,
en este caso: PI_PUZZYL
Luego simulamos
64. CONTROLADOR DIFUSO DE TEMPERATURA-MODELO MAMDANI
En el STEP verificamos la forma
de la grafica en la respuesta .
Vemos que se estableció un
SETPOIN DE 50 , vemos que la
variable de control empieza a
evolucionar hasta estabilizarse
en la referencia . Hemos
utilizado un tiempo de
simulación de 600