Control de Temperatura Utilizando Lógica Difusa Temperature Controller by Using Fuzzy Logic

July 5, 2017 | Autor: Fernando Villagómez | Categoria: Java
Share Embed


Descrição do Produto

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

Lihat lebih banyak...

Comentários

Copyright © 2017 DADOSPDF Inc.