Control de Temperatura Utilizando Lógica Difusa Temperature

Anuncio
Revista Colombiana de Física, vol. , No. , Mes 2010
Control de Temperatura Utilizando Lógica Difusa
Temperature Controller by Using Fuzzy Logic
C. Palacio-Gómez y J. García-Sucerquia*
Escuela de Física, Universidad Nacional de Colombia Sede Medellín, A.A. 3840, Medellín, Colombia
[email protected]
Recibido XXXX; Aceptado XXXX; Publicado en línea XXXX
Resumen
La lógica difusa es una herramienta de toma de decisiones. Inicialmente fue concebida como un concepto matemático con
única finalidad de involucrar datos numéricos y términos lingüísticos para representar la forma de razonamiento común
cualitativo. Esta herramienta se utiliza muy eficientemente para realizar control de variables físicas que se adaptan al conjunto de reglas de dicha lógica, como por ejemplo la temperatura. En este trabajo presenta el diseño e implementación de
un control de temperatura que utiliza lógica difusa como elemento de toma de decisiones. La temperatura es fijada a un valor preestablecido en el rango de temperaturas de 30 hasta 100 grados centígrados. El corazón del sistema es un microcontrolador PIC 16F877A el cual es conectado a un PC para monitorear y establecer en tiempo real la temperatura del sistema
controlado.
Palabras claves: Lógica difusa, PIC16F877A, JAVA®.
Abstract
Fuzzy logic is a tool for making decisions. At its beginning it was conceived as a mathematical concept with the only aim
of using numeric data and oral language terms for representing the regular way of qualitative thinking. This tool is efficiently used for controlling physical variables, like temperature and humidity, which fit the set of rules of this logic. In the
work it is presented the design and implementation of a temperature control that uses fuzzy logic as tool for making decisions. The temperature is kept at a preset value in the range of 30 to 100 Celsius degrees. The core of the system is a PIC
16F877A microcontroller which is linked to a personal computer to monitor and establish in real time the temperature of
the controlled system.
Keywords: fuzzy logic, PIC16F877A, JAVA®.
© 2010 Revista Colombiana de Física. Todos los derechos reservados.
temente dichos conocimientos y datos inexactos [1]. En la
lógica clásica un elemento pertenece, o no pertenece a un
determinado conjunto, pero si a modo de ejemplo supusiéramos que se está clasificando la estatura de las personas en
conjuntos particulares, sería injusto afirmar que una persona
con 1.79 m de estatura perteneciera al grupo “Estatura Media”, y otra con 1.80 m al de “Estatura Alta”. En lógica difusa
se soluciona este tipo de situaciones, pues allí se consideran
grados de pertenencia a los conjuntos, esto es, un elemento
1. Introducción
La lógica difusa surge de la necesidad de formalizar en un
lenguaje matemático algunas situaciones de la vida cotidiana imprecisas o sin un valor explícito, no cuantificable
numéricamente. El pensamiento humano, por ejemplo, se
construye a partir de elementos lingüísticos, no mediante
números; y si la lógica es la ciencia que busca representar el
razonamiento, debe tener en cuenta estos factores. La lógica
difusa en particular, sirve para representar muy convenien1
Palacio-Gomez et al.: Control de Temperatura Utilizando Lógica Difusa
predecir el comportamiento del sistema en el tiempo y de
esa forma obtener un valor aproximado de las constantes.
Sin embargo el ajuste final del sistema se realiza por medio
del un proceso de ensayo y error, lo que constituye en algunas situaciones limitante del control PID.
puede pertenecer a más de un conjunto en un grado determinado.
En muchas aplicaciones tecnológicas es necesario desarrollar sistemas que tomen decisiones con base en un conjunto
de variables de entrada. La lógica difusa aporta soluciones
interesantes para estas situaciones, en particular en aquellas
donde los valores de variables que determinan la salida
pueden ser agrupadas en conjuntos. Un ejemplo de este tipo
de aplicaciones es el control de variables físicas.
Una forma más moderna de control es el control por lógica
difusa [3]. La lógica difusa es una forma de lógica multivariada que trata con razonamiento aproximado más que exacto. En contraste con la lógica digital en la cual las variables
tiene únicamente los valores uno o cero, las variables en la
lógica difusa puede adoptar cualquier valor entre estos dos
valores extremos. Este rango ampliado de valores le brinda
a las variables difusas la posibilidad de tener grados de
pertenencia, porcentajes de verdad o permite calificar una
afirmación en una escala más amplia que falsa o verdadera.
Por esta características la lógica difusa se adapta mucho
mejor al mundo en el cual vivimos pues permite interpretar
expresiones de la vida cotidiana como “es muy claro”, “está
muy caliente” o “hace mucho frío”.
Controlar variables físicas como temperatura, humedad,
luminosidad entre otras, juega un papel de gran importancia
en los sectores de la vida cotidiana y/o del desarrollo tecnológico y científico. Sistemas que cubren desde el control
de la temperatura y humedad de una vivienda hasta el control de la transferencia de calor en un sistema de generación
de energía nuclear, pueden ser enmarcados dentro de lo que
se denomina sistemas de control [2].
En todos los sistemas de control se establece un valor predeterminado de la variable física de interés; este valor se denomina en Inglés setpoint. Se realiza una medición del valor
de la variable en el sistema físico y se considera diferencia
entre esta medición y el setpoint. Dicha diferencia se denomina el error del sistema e  t  y la forma como éste se
En este trabajo se presenta la aplicación de la lógica difusa
al diseño de un control de temperatura que opera en el rango
de los 30 a los 100 grados centígrados. El control se diseñó
con base en nueve conjuntos difusos. En la siguiente sección se hace una breve introducción al control difuso. En la
sección 3 se presentan los resultados y se finaliza con algunas conclusiones.
procese determina la clase de control. Dentro de los sistemas clásicos de control el más difundido es el PropocionalIntegral-Derivativo (PID), e ilustrado en la fig. 1. En éste, la
sección proporcional (P) reacciona de acuerdo al error actual del sistema; el valor integral (I) genera su salida de
acuerdo a la suma del error en el tiempo y la acción derivativa (D) determina la acción con base a la rata de cambio
temporal del error. El sistema PID es ampliamente utilizado
y se emplea en sistemas de control de temperatura, humedad, velocidad de motores, etc.
Setpoint
+
e t 

P
K P e t 
I
K I  e  d
2. Introducción al control difuso
El control difuso es una forma de control adaptativo en el
cual el controlador usa lógica difusa para tomar las decisiones en lo relativa al ajuste del proceso. Esta lógica permite
interconectar de una manera directa variables de tipo análogo que toman valores en un continuo, a sistemas discretos
como los de los computadores que manipulan variables con
valores definidos en un conjunto discreto. La lógica difusa
es una forma de lógica de computación donde si algo está o
no está incluido en un conjunto se soporta en una escala
graduada en la cual múltiples factores son considerados y
valorados por el computador. La idea esencial del control
difuso es crear una clase de inteligencia artificial que tenga
en cuenta numerosas variables, formula una teoría de como
mejorar el sistema, ajusta el proceso y aprende de los resultados.
+
t
-
D
0
KD
+

Proceso
+
d e t 
dt
Fig. 1. Esquema general de un control PID
2.1 Conjuntos difusos
La posibilidad que brinda la lógica difusa de proveer sistemas de cómputo discreto con valores que pertenecen a un
continuo se debe a la selección apropiada de los conjuntos
difusos [4] que describen el sistema a controlar. Los conjuntos difusos son aquellos en los cuales sus miembros tienen
un grado de pertenencia, de forma tal que el cien por ciento
de la pertenencia de un miembro se puede dividir entre los
El proceso de optimización del sistema de control PID se
lleva a cabo por medio del cálculo de las constantes del
sistema, Kp, KI y KD, ver fig. 1. Este proceso puede ser llevado en su primera aproximación por medio de la modelación del sistema a controlar, proceso el cual generalmente
tiene un alto costo computacional. Esta modelación permite
2
rev. col. fís.(c), vol. , No. , (2010)
diferentes conjuntos difusos que definen el sistema. En la
fig. 2, se muestran como el rango de temperatura de un
sistema ha sido divido en cinco conjuntos difusos (ver colores en la versión en línea). Si en un tiempo dado la temperatura del sistema está ubicada entre T1 y T2, ilustrado por la
línea vertical sólida en este intervalo, la variable temperatura actual tendrá pertenencia al conjunto desde T0 hasta T2
y al conjunto desde T1 hasta T3. Similarmente para la situación que se ejemplifica, aprovechando la posibilidad que
brinda la lógica difusa de utilizar el lenguaje de la vida
cotidiana para describir el sistema, se puede afirmar que
para dicho tiempo el sistema esta entre Helado y Frio, según
se puede ver de la fig. 2. El proceso de convertir un valor
único de la variable física a controlar en un conjunto de
valores de pertenencia a los conjuntos difusos se denomina
en Inglés “fuzzification”.
1
Helado
Frío
Ambiente
Tibio
T0 T1
T2
T3
T4
3. Implementación de control de temperatura por control difuso.
Atendiendo a las posibilidades que brinda el control difuso,
se desarrolló un sistema de control de temperatura en el
rango de 30 hasta 100 grados centígrados, que utiliza algoritmos de lógica difusa. En las secciones a continuación se
presenta: i) la definición de los conjuntos difusos empleados, ii) los algoritmos de toma de decisiones, el sistema de
control de potencia tipo PWM y iii) la interfaz gráfica que
permite el manejo del sistema de control por parte de un
usuario.
3.1 Definición de los conjuntos difusos del sistema
Para esta aplicación se escogieron ocho conjuntos difusos
tal forma que la naturaleza de los elementos pertenecientes
a ellos correspondiera a un valor ∆T, que es la diferencia
entre el valor de setpoint y el valor actual de la temperatura.
Puesto que el control puede tanto aumentar como disminuir
la temperatura del ambiente controlado, se tuvieron en
cuenta conjuntos con valores positivos y negativos, según se
ilustra en la fig.3 De acuerdo a los valores de pertenencia a
él o los conjuntos, el algoritmo de toma de decisiones determina la salida más adecuada que conlleve a alcanzar la
temperatura de setpoint de la manera más eficiente.
Caliente
0
T5
T
1
setpoint
Neg
Sig/.
Neg
Sig/.
Neg.
Neg.
Sig/.
Alto
Medio
alto
bajo
bajo
Sig/.
bajo
Medio
Alto
alto
Fig. 2. Ilustración de conjuntos difusos para un rango de temperatura arbitrario
Ahora, una vez determinado el porcentaje de pertenencia de
de la variable física bajo control a los diferente conjuntos
difusos, un algoritmo de toma de decisiones estable cual
debe ser la salida del sistema de control para lograr alcanzar
y/o mantener la variable física en el valor determinado por
el setpoint. Si como en el ejemplo ilustrado en la fig. 2 el
valor actual de la temperatura se encuentra por debajo del
valor deseado y establecido en el setpoint (línea vertical
punteada en la fig. 2), el sistema de control difuso debe
tomar la decisión de suministrar energía al sistema de forma
tal que su temperatura aumente.
De igual forma la salida del sistema de control difuso puede
ser un ensamble de conjuntos difusos, que determinan como
se aplica la salida al sistema que se desea controlar; siguiendo con nuestro ejemplo, estos conjuntos difusos de
salida deben determinar la forma como se suministra la
energía al sistema. De las pertenencias de la variable resultante a los conjuntos difusos de salida se obtiene un único
valor que se aplica al sistema. Este proceso se denomina en
inglés “defuzzification” y puede ser llevado a cabo por el
método del centroide, o el método de la altura, entre otros
[3].
∆T
0
-70
-35
0
35
70
Fig. 3. Conjuntos difusos de la implementación
La elección del número de conjuntos así como su distribución no sigue algún criterio en particular. Simplemente se
encontró que con cuatro y medio para la disminución y
cuatro y medio para el aumento de la temperatura del sistema, se logró un desempeño satisfactorio del algoritmo de
toma de decisiones.
3.2 Algoritmo de toma de decisiones
De acuerdo al valor setpoint y a la temperatura actual del
sistema se calcula el valor ∆T. Según el valor particular ∆T,
una estructura if múltiple determina el conjunto(s) difuso(s)
a el(los) cual(es) este ∆T pertenece, y suministra igualmente
el valor de pertenencia que oscila entre 0 y 1 para cada uno
de ellos, por medio de una función de pertenencia. En la fig.
3 se observa que los conjuntos difusos están formados por
líneas rectas que obedecen a una ecuación particular de
acuerdo a su ubicación en el plano de coordenadas. El valor
de la función de pertenencia para un determinado conjunto,
3
Palacio-Gomez et al.: Control de Temperatura Utilizando Lógica Difusa
señal que administra el suministro de potencia del controlador fue 244 Hz y el ciclo de utilidad de esta se varío desde
100% hasta 0% tanto para calentar como para enfriar. Si el
ciclo de calentamiento es diferente de 0% el de enfriamiento
será 0%, y viceversa. Puesto que el valor del PWM está
codificado en 8-bit, el 100% de ciclo de utilidad corresponde a 255, y 0% corresponde lógicamente a 0.
es el valor en el eje y dado por la ecuación de la(s) recta(s)
que coincida(n) con el intervalo donde se encuentre el ∆T
en evaluación. Si la estructura if determina que ∆T pertenece a un único conjunto, desde luego su grado de pertenencia
será igual a 1. Después de determinados los grados de pertenencia a los conjuntos difusos se obtiene la salida del
sistema, es decir la defuzzification, por medio del método
del centroide [3]. En este método esencialmente evalúa el
centro de masa de las pertenencias a los conjuntos de la
variable difusa. A manera de ejemplo en la fig. 3 se ha pintado una línea sólida vertical que señala un valor de ∆T
particular. Para ese ∆T la estructura if determina una pertenencia a los conjuntos Medio y Alto, y la función de pertenencia establece 36.67% al conjunto Alto y 46.67% al conjunto Medio, respectivamente. Con estos valores el método
del centroide arroja un valor de salida de 99.45. Este valor
es el que determina el ciclo de utilidad del PWM, como se
ilustra en la siguiente sección. En la fig. 4 se ilustra el
método del centroide para la situación en la cual el valor de
∆T esta representado para la línea sólida y la salida del
proceso de defuzzification se ilustra con la línea punteada.
Los porcentajes de pertencia se representan por medio de
los polígonos sólidos. La salida de este proceso es el valor
∆T defuzzificado.
1
3.4 Interfaz gráfica de usuario.
Adicionalmente al manejo del PWM del sistema el microcontrolador se encarga de la comunicación serial entre éste
y un computador personal (PC). Esta comunicación tiene
como finalidad la recepción y envió de los parámetros de
operación del sistema de control. La interfaz gráfica se
diseñó haciendo uso de JAVA®. Ésta presenta al usuario la
temperatura en tiempo real, una gráfica de la evolución
temporal de la misma y una tabla donde se consignan los
datos de temperatura y tiempo. Otra función de la interfaz
es permitir la selección del setpoint por medio de un cuadro
de texto. En esta entrada de texto el usuario ingresa un valor
deseado de temperatura, es decir un setpoint, que se encuentre entre los límites impuestos en el sistema. Este valor es
comunicado vía RS-232C al microcontrolador y este último
realiza la operación requeridas para satisfacer el pedido del
usuario. La interfaz tiene el aspecto representado en la fig.5.
Línea del
centro de
masa
0
0
∆T
Fig. 4. Ilustración del método del centroide para conjuntos con
pertenencia según figuras sólidas.
3.3 Sistema de control de potencia por PWM
El valor defuzzificado arrojado por el algoritmo de toma de
decisiones, permite ejercer una influencia directa sobre el
ambiente controlado, ya sea aumentando o disminuyendo la
temperatura. Esta acción sobre el sistema controlado es
realizado por medio de un sistema de modulación de ancho
de pulso (PWM) [5]. Con el valor defuzzificado se varía el
ciclo de utilidad del PWM acorde con el requerimiento de
enfriamiento o calentamiento del ambiente controlado. El
sistema de PWM fue implementado en un microcontrolador
PIC 16F877A [6] con el uso del módulo CCP y el timer2 de
dicho microcontrolador. La frecuencia a la cual se generó la
Fig.5. Interfaz gráfica desarrollada en JAVA® que muestra el
valor actual de la temperatura y su evolución histórica. De igual
forma se muestra el cuadro de ingreso del setpoint.
4
rev. col. fís.(c), vol. , No. , (2010)
Conclusiones
A pesar del amplio desarrollo de los sistemas clásicos de
control los PID, el uso del control difuso cobra validez en el
desarrollo de sistemas de bajo costo económico y/o computacional. Estos sistemas permiten su implementación con el
uso de sistemas microntrolados de 4- ó 8-bit, lo que los hace
muy compactos y de reducido precio.
En este trabajo únicamente se obtuvo un valor de PWM
para el sistema dependiente de la acción específica que se
deseaba realizar. No se realizaron experimentos con actuadores que modificaran el ambiente a conveniencia del usuario. Esta etapa del proyecto determinará las características
de los elementos de potencia para el control realizado. Dichos elementos dependen lógicamente de las dimensiones
del ambiente a controlar, por consiguiente la estructura de
dicha sección de potencia será decidida únicamente por el
usuario acorde con sus necesidades.
Agradecimientos: Los autores agradecen el apoyo de la
Dirección de investigación y la Faculta de Ciencias de la
Universidad Nacional de Colombia Sede Medellín.
Referencias
[1] GJ Klir, B Yuan. Fuzzy sets and fuzzy logic: theory and
applications. NJ, USA. Prentice-Hall, Inc. Upper Saddle River, 1994.
[2] K. Ogata. Modern control engineering. USA. Prentice-Hall,
Inc., 1996.
[3] Von Altrock, Constantin. Fuzzy logic and NeuroFuzzy applications explained. Upper Saddle River, NJ: Prentice Hall,
1995.
[4] L. A. Zadeh. Fuzzy sets: Information and Control. 1965. 8 (3)
pág. 338–353.
[5] DG Holmes, TA Lipo. Pulse width modulation for power
converters: principles and practice. Wiley, 2003.
[6] Microchip Technology Inc. PICmicro™. Mid-Range MCU
Family Reference Manual. Chandler, AZ, USA. December
1997. DS33023A.
5
Descargar