Está en la página 1de 6

Diseo de un Sistema de Control Lgico Difuso Basado en Microcontroladores de 8 bits

Salvador Ramrez Zavala, Isidro I. Lzaro Castillo, Juan Anzurez Marn szavala@zeus.umich.mx, ilazaro@zeus.umich.mx, janzure@jupiter.umich.mx Facultad de Ingeniera Elctrica de la Universidad Michoacana de San Nicols de Hidalgo Morelia, Michoacn, 58030, Mxico

RESUMEN En este artculo se presenta el diseo y construccin de un mdulo de control de Lgica Difusa implementado con microcontroladores PIC, que puede adaptarse a diversos sistemas con pocos ajustes por parte del operador. Se presenta las ventajas y desventajas de la implementacin de un algoritmo de Lgica Difusa en microcontroladores, la descripcin de la estructura del sistema, tanto el hardware desarrollado como el algoritmo desarrollado para el control. El algoritmo de control que utiliza reglas basadas en el conocimiento del sistema es implementado en un microcontrolador PIC. El modulo del controlador puede manejar hasta un mximo de 4 variables analgicas de entrada mientras que puede entregar hasta 3 salidas, 2 de ellas analgicas (PWM) y una digital. El controlador puede acoplarse a una computadora personal (PC) para analizar grficamente el desarrollo de las variables en el tiempo y desde ah realizar los ajustes de los parmetros del sistema por medio de una interfase de computadora. Palabras Claves: Lgica difusa, Control difuso, Sistemas de Nivel de Lquido, Microcontroladores. 1. INTRODUCCIN

este artculo, se describen los pasos principales para la implementacin de un controlador de Lgica Difusa flexible. El algoritmo principal del controlador de Lgica Difusa es implementado en un microcontrolador PIC y puede ser usado para varias aplicaciones con pequeos cambios por parte del usuario. El modulo que ha sido construido para propsitos de validaciones en la enseanza de sistemas de control lineales y no lineales [2]. 2. OPCIONES DE IMPLEMENTACIN

La primera opcin para la implementacin de cualquier estrategia de control inteligente, es la computadora (sistemas expertos), sin embargo, esta tiene un par de desventajas muy importantes: su precio elevado y su tamao que en muchas aplicaciones no hace viable su uso. En la Figura 1 se muestra un comparativo entre las diferentes tecnologas que pueden usarse para la implementacin de un controlador de Lgica Difusa. Las opciones de implementacin mecnicas y electromecnicas, aunque tericamente son posibles, en la prctica no se utilizan debido a su alto costo, gran volumen y falta de flexibilidad para adaptarlas a nuevas aplicaciones.

En la actualidad se est buscando proporcionar al control de procesos un cierto grado de inteligencia, es decir que los controladores puedan presentar comportamientos ms complejos para diferentes situaciones, as como una gran variedad de aplicaciones industriales, de manera tal, que desempeen su funcin de forma mucho ms eficiente, como por ejemplo controladores que cambian los parmetros del controlador cuando las caractersticas de la planta cambian. Una de las tcnicas de inteligencia artificial de ms auge actualmente es la Lgica Difusa. Esta tcnica permite emular la manera en que las personas toman decisiones cotidianamente sin la necesidad de contar con mediciones precisas, y an as obtener conclusiones de gran valor prctico. Debido a que es una tcnica de inteligencia artificial, se esperara que un controlador de este tipo solamente se pudiera implementar en computadoras con alta capacidad de procesamiento, sin embargo, los autores de este trabajo desean mostrar que un algoritmo de Lgica Difusa se puede simplificar de tal forma que es posible implementarlo eficientemente incluso en microcontroladores, basados en tecnologa de 8 bits, que pueden ser considerados obsoletos considerando el desarrollo de los modernos microprocesadores[1]. Una de las ventajas de la implementacin de un control inteligente en un microcontrolador es que el controlador inteligente puede ejecutarse del orden de los milisegundos en tiempo real. En

Figura 1 Opciones de implementacin. En los casos donde el controlador debe estar fsicamente unido a la planta a controlar y sobre todo cuando la planta es pequea, por ejemplo un electrodomstico, la mejor opcin es usar un microcontrolador. Existen muchos tipos de stos, con caractersticas muy diferentes en cuanto al tamao de bus, memoria, velocidad, etc. Incluso es posible encontrar microcontroladores diseados especficamente para llevar a cabo tareas de control utilizando la Lgica Difusa, a estos circuitos integrados se les conoce como microcontroladores dedicados. En la Figura 2 se muestra un comparativo de velocidad de respuesta dependiendo de la complejidad, para microcontroladores de distintos tamaos de bus.

Figura 3. Sistema de control bsico sin referencia.

Figura 2 Comparativo de velocidades en microcontroladores. Figura 4. Sistema de control de Lgica Difusa con referencia. En la grfica se aprecia fcilmente que los microcontroladores dedicados presentan la mejor respuesta de velocidad para aplicaciones relativamente complejas. Sin embargo, en este trabajo se analiza la viabilidad y los detalles de implementacin de un algoritmo de control difuso programado en un microcontrolador de propsito general de 8 bits, ya que estos adems de ser de bajo costo y tener alta disponibilidad, tienen alto valor didctico. Por esta razn, el ejemplo de aplicacin utilizado para validar dicho algoritmo es un Control de Nivel de Liquido, (CNL). Cuyos componentes principales son, naturalmente, el sistema de Nivel de Liquido donde se controlara la altura del mismo, un sensor de nivel de lquido, una bomba para la alimentacin del nivel de lquido, etapas de acondicionamiento de seal y el microcontrolador de 8 bits. CONTROL CON LGICA DIFUSA Cuando el modelo de un sistema fsico es totalmente conocido, el diseo del controlador permite un amplio rango de utileras de diseo de control, especialmente cuando el sistema puede ser considerado lineal. Pero en la prctica tales condiciones son no ideales. En general las ecuaciones que modelan al sistema son no lineales y solamente parcialmente conocidas. En estos casos, el uso de la inteligencia artificial es la mejor opcin. En particular, la Lgica Difusa proporciona las herramientas matemticas que tratan formante este tipo de incertidumbres. Por lo que la Lgica Difusa es una verdadera aproximacin que trata el tipo de conocimiento del proceso humano. Debido a esto, los controladores basados en Lgica Difusa requieren de un conocimiento especializado del comportamiento del sistema a controlar. Existen dos esquemas generales donde la Lgica Difusa es considerada, estos se muestran en las Figura 3 y 4. En el esquema de la Figura 3 el sistema retroalimentado no tiene una seal de referencia. Este tipo de sistemas de retroalimentacin son especialmente usados en aplicaciones donde los niveles de salida son decididos en la etapa de diseo y se mantienen constantes durante la operacin del sistema. Para aplicaciones que requieren mayor flexibilidad, el esquema de control de la Figura 4 es preferible, en este esquema se utiliza la seal de referencia para controlar la salida del sistema, esta seal adems puede ser cambiada durante la operacin del sistema. Es importante mencionar que el esquema de la Figura 4 muestra algunos detalles del modulo diseado. En este caso las entradas del controlador son error (e) y cambios de error (e), adems de esto, la salida del controlador puede ser seleccionada en forma directa o de forma incremental. El algoritmo de control de Lgica Difusa diseado se compone fundamentalmente de tres partes que son: Fuzzificacin, Evaluacin de reglas y Defuzzificacin, como se muestra en la Figura 5.

Figura 5. Diagrama de bloques bsico del controlador. En general el algoritmo de control Lgico Difuso puede ser diseado como sigue [3]: 1) 2) Definir las variables de entrada y de control. Definir los conjuntos difusos (Fuzzificacin), es decir, determinar las variables lingsticas y funciones de pertenencia. Las funciones de membresa usadas en este trabajo son de la forma triangular y trapezoidal, debido a que estas formas tienen la ventaja de ser fcilmente implementadas en microcontroladores ya que solo se requieren cuatro parmetros para definirlas. Esto se muestra en la Figura 6. Las funciones de membresa en el universo de discusin (rango de la variable) se numeran para su identificacin dentro del cdigo fuente del microcontrolador comenzando con cero para la primera funcin de la primera variable y continuando en secuencia para la siguiente entrada y de la misma forma se procede para las salidas como se muestra en la Figura 7. Diseo de la base de reglas, que determinar cules reglas se activaran bajo que condiciones. Las base de reglas tienen la forma: SI Antecedente_1 consecuente 1 Y Antecedente_2 ENTONCES

3)

Donde el consecuente representa la conclusin obtenida, cuya fuerza o validez depende del grado en que se cumplan las afirmaciones difusas representadas por las funciones de membresa de los antecedentes.

Figura 7. Diagrama del proceso de Defuzzificacin. Figura 6. Funcin de membresa. ESTRUCTURA GENERAL DEL SISTEMA DE CONTROL En la Figura 8 se muestra una fotografa del modulo diseado. El modulo permite hasta 4 entradas analgicas y 3 salidas; dos de las salidas son anlogas (PWM) y una digital. Adems de permitir hasta 30 funciones de membresa.

Figura 7. Numeracin de las funciones de membresa. 4) Diseo de la unidad de procesamiento difuso, esta proporcionara la salida difusa (Evaluacin de Reglas). Para la evaluacin de una regla, se usa el operador MIN, el cual considera el valor de verdad menor entre los antecedentes como grado de verdad de la regla completa. Los grados de verdad de cada una de las funciones de membresa antecedentes y consecuentes se almacenan dentro de un mismo arreglo en el microcontrolador (llamado Mbf_Degree). Esto se muestra en la Figura 6. Figura 8. Fotografa del modulo diseado Los elementos principales del modulo controlador se enlistan a continuacin: 1) 2) 3) Interruptor principal. Botn de Reset. Interruptor de seleccin de operacin del controlador (Figura 3 o Figura 4). Cuando se encuentra apagado, el controlador opera en el modo que corresponde a la Figura 3, en este caso todas las entradas van directamente al controlador. Cuando esta activo, lee el valor de referencia del potencimetro correspondiente, calculando el error y el cambio de error. 4) Potencimetro de referencia 1. Este potencimetro esta relacionado con el interruptor 3. 5) Interruptor de activacin del mdulo de referencia 2. Su funcin es similar a la del interruptor 3. 6) Potencimetro de referencia 2. Su funcin es similar a la del potencimetro 4, pero aplicada al interruptor 5. 7) Pantalla de cristal lquido (LCD). Cuando el controlador esta en ejecucin muestra los valores numricos de entrada y salida. Cuando el controlador esta detenido, el LCD es usado para cambiar los parmetros importantes del controlador. 8) Indicadores de 7 segmentos. Muestran el valor de referencia, cuando se selecciona este modo. 9) Teclado matricial. Permite la introduccin de parmetros en el controlador. 10) Bornes de entrada al sistema. 11) Puerto RS-232, para comunicacin con la PC. 12) Salida digital. (conector DB25).

Figura 6. Diagrama del proceso de evaluacin. 5) Determinar el mtodo para quitarle lo difuso a la salida (Defuzzificacin), es decir, cambiar accin de control difusa correspondiente, a un valor real que se aplicara al sistema, donde en este caso se utiliza la tcnica del Centroide (centro de masa o centro de momentos), sta, se calcula de acuerdo a la ecuacin 1.

Centroide =

x ( x)dx ( x)

(1)

donde x es la variable de salida y ( x) es el grado de pertenencia de las funciones de membresa. El diagrama de bloques como es implementado en el microcontrolador este proceso se muestra en la figura 7.

13) Fuente de alimentacin. Estos voltajes se encuentran disponibles con la finalidad de alimentar a los circuitos de acondicionamiento de seal en caso necesario. 14) Bornes de salida analgica PWM. La Figura 9 muestra el diagrama de bloques correspondiente al modulo diseado.

El ultimo PIC16F876 maneja la operacin del modulo relacionado con los datos de referencia cuando opera en el modo de la Figura 4. La Figura 12 muestra el detalle de la conexin.

Figura 12. Circuito manejador de la pantalla LCD SOFTWARE DEL CONTROLADOR En este trabajo se utilizaron dos diferentes tipos de software. El software de los microcontroladores que esta escrito en lenguaje C (PIC C HI-TECH) [5]. Este lenguaje es compatible con lenguaje ensamblador; as uno puede incluir funciones totalmente en ensamblador. Tambin se creo una interfase grafica para la PC solamente con la finalidad de monitorear las variables y parmetros del controlador cuando se disponga de una PC. Esta interfase es creada en LabWindows [6]. La interfase para el modulo diseado se muestra en la Figura 13.

Figura 9. Diagrama de bloques del modulo diseado. Haciendo uso de la Figura 5 se describirn algunos detalles con la idea de que esta informacin pueda ser til para futuros desarrollos. Existen 3 microcontroladores en nuestro prototipo: un PIC16F877 y dos PIC16F876. El PIC16F877 esta localizado en el modulo principal del control (Figura 5) y es el responsable de realizar las operaciones del controlador Lgico Difuso. El cdigo del control Lgico Difuso reside en este microcontrolador. Este microcontrolador tambin trata los datos provenientes del teclado y los de entrada y salida del controlador, as como la comunicacin serial con la PC cuando se utiliza. En el modulo principal tambin se encuentra un PIC16F876 que maneja el LCD, se decidi colocar este microcontrolador para disminuir las tareas del PIC16F877 causada por las rutinas necesarias para desplegar datos en el LCD. Los detalles de conexin del PIC16F877 son mostrados en la Figura 10, mientras los detalles de la conexin con el LCD se muestran en la Figura 11. La comunicacin entre estos dos microcontroladores se realizo a travs del protocolo SPI (Serial Peripherical Interface) [4].

Figura 13. Panel principal de la interfase grfica en la PC RESULTADOS Para ilustrar el uso del modulo diseado y su flexibilidad, se aplico este a un control de Sistema de Nivel de Liquido (SNL). El propsito de esta implementacin es controlar a travs de la Lgica Difusa la altura deseada dentro de un tanque de nivel de lquido. En nuestro experimento la seal de entrada al controlador fueron error y cambio de error (Figura 4), La altura deseada se ajusta con el potencimetro de referencia, la altura actual del nivel de lquido se obtiene del tanque de la seal proveniente de un Sensor de Presin. En esta aplicacin y en algunas otras aplicaciones es necesario utilizar acondicionamientos de seal para acoplar el sensor de nivel al controlador diseado. La implementacin de este controlador se muestra en la fotografa de la Figura 14. Cabe mencionar que las salidas y entradas del modulo de control diseado necesitan ser acondicionadas para proporcionar los niveles de seal deseados para el SNL. Para esta aplicacin se utiliza un amplificador para acoplar la seal del sensor al controlador y

Figura 10. Diagrama de bloques de la conexin del microcontrolador principal

Figura 11. Circuito manejador de la pantalla LCD

para la salida se diseo una fuente del tipo modulacin de ancho de pulso para poder manejar la bomba que alimenta el lquido al tanque. Estos circuitos de acondicionamiento se pueden observar en la misma fotografa de la Figura 14. Un diagrama de bloques mas detallado de esta prueba del controlador se muestra en la Figura 15.

En la Figura 16 se muestra una fotografa del display del modulo diseado (LCD) durante la operacin del controlador. Tabla 1. Matriz de Reglas para el SNL Error TANQUE Z NG NP Cambio de Error Z PP PG Z Z Z Z Z Z Z PP Z Z PP PG Z PP PG PG PP PG PG PG NG NG Z Z Z PP Z PG Z

Figura 14. Control de un Sistema de Nivel de Liquido.

Figura 15. Resultados del controlador Lgico Difuso

Figura 15. Diagrama de bloques del control de un SNL.

En el caso general para SNL, las reglas y funciones de membresa pudieran ser diferentes para diferentes SNL dependiendo del comportamiento del SNL o del conocimiento que el diseador tiene acerca del sistema. Por lo que no hay una solo solucin para este SNL. En este caso las reglas que fueron encontradas para el comportamiento deseado se muestran en la Tabla 1. Algunos otros usuarios pueden encontrar otro conjunto de reglas, sin embargo, el nuevo conjunto de reglas puede ser programado fcilmente en nuestro modulo. Esto en realidad muestra ilustra la flexibilidad de nuestro modulo. La Figura 16 muestra el comportamiento del controlador al aplicarle un cambio de referencia de altura de nivel de lquido. La respuesta se proporciona en valores que maneja el microcontrolador de 8 bits (0 a 255) debida a que el modulo puede utilizarse para algn otro sistema. Estos valores fueron graficados con la ayuda de una computadora personal En la grafica de respuesta se muestra la seal de referencia, la seal de control y la seal proveniente del sensor de nivel de lquido (o sea la altura de nivel de lquido). Se puede ver que el controlador rpidamente ajusta los parmetros para mantener las nuevas condiciones de operacin. Adems, se puede ver otra ventaja de la interfase de PC, donde se muestran las funciones de membresa y como evolucionan durante el funcionamiento del controlador. Esta interfase tambin permite que el operador seleccione cuales variables sern graficadas.

Figura 16. Modulo de Display del modulo del controlador CONCLUSIONES Se presento una aplicacin de los microcontroladores PIC y la Lgica Difusa, adems de la descripcin de un modulo de laboratorio construido para propsitos de enseanza. Con este modulo una gran variedad de controladores Difusos pueden ser programados y probados incrementando la capacidad terica y practica de los estudiantes. Se vio como las operaciones requeridas para implementar un algoritmo de lgica difusa se pueden simplificar suficientemente, como para ser implementadas en un microcontrolador de 8 bits. Los requerimientos de memoria son pequeos y el tiempo de ejecucin para cada ciclo de control

usando un microcontrolador es suficientemente para satisfacer la mayora de aplicaciones en tiempo real. De acuerdo a la aplicacin en tiempo real del sistema de nivel de lquido mostrada en este trabajo nos permite suponer que la lgica difusa resulta ser una buena herramienta matemtica de solucin para aplicaciones prcticas de control usando microcontroladores de propsito general. El ajuste del modulo para controlar otros sistemas requiere de muy pocos cambios. Estos cambios incluyen leer o implementar los nuevos parmetros del controlador como son las reglas y funciones de membresa, los principales cambios radican en el acondicionamiento de seales dependiendo de las caractersticas del sistema a controlar. Una de las ventajas importantes del modulo diseado, es que una vez comprobado el funcionamiento del controlador Difuso con el modulo diseado para un sistema dado, se puede utilizar solamente el sistema mnimo del microcontrolador (sin el modulo) para realizar el control del sistema. Esto nos permitir reducir los costos del controlador a utilizar, ya que si para el controlador se utilizara algn otro tipo de herramienta disponible como es el caso de LabView y una tarjeta de adquisicin de datos los costos del controlador aumentaran. Finalmente, es importante mencionar que el controlador Lgico Difuso en tiempo real mostr un buen desempeo tanto para cambios de referencia como para la eliminacin de perturbaciones del sistema. En general, podemos decir que el modelo difuso de sistemas de control nos lleva a sistemas con un diseo relativamente simple, que sin embargo nos dan caractersticas adecuadas de control. REFERENCIAS [ 1 ] Motorola Microcontroller Technology Group Fuzzy Logic for Small Microcontroller James M. Sibigtroth Austin Texas, pag.532-535. [ 2 ] Mohammad Jamshidi, Fuzzy logic and control Software and hardware applications, Ed. Prentice Hall, Estados Unidos, 1993. [ 3 ] Ronald R. Yager and Dimitar P. Filev, Essentials of Fuzzy Modeling and Control, Ed. Wiley Interscience, 1994. [ 4 ] Microchip PIC16F87X Data Sheet, Web: www.microchip.com. [ 5 ] PIC C Manual, 1999 HI-TECH Software, Australia, Web:http://www.htsoft.com/ [ 6 ] Users Manual LabWindows/CVI 5.0, National Instrument. BIOGRAFAS: Salvador Ramrez Zavala naci en Morelia, Mich. Recibi el grado de Ingeniero Electricista en la Universidad Michoacana de San Nicols de Hidalgo, el grado de Maestro en Ingeniera Elctrica en la misma Institucin en 1990 y 1998 respectivamente. Sus reas de inters son Electrnica de Potencia, Robtica, Control e Instrumentacin.

Isidro Ignacio Lzaro Castillo naci en Cordoba, Veracruz, Mxico. Recibi el grado de Ingeniero Electricista en la Universidad Michoacana de San Nicols de Hidalgo, el grado de maestro en Ingeniera Elctrica en la misma Institucin en 1992 y 1999 respectivamente. Actualmente es Profesor Investigador de tiempo completo de la misma Facultad. Autor del libro Ingeniera de Sistemas de Control Continuo. Sus reas de inters son Calidad de la Energa, Control e Instrumentacin. Juan Anzurez Marin, naci en el estado de Puebla, Mx., en 1968. Recibi el ttulo de: Ingeniero Electricista por la Facultad de Ingeniera Elctrica de la Universidad Michoacana de San Nicols de Hidalgo en 1991; Maestro en Ciencias en Ingeniera Electrnica opcin instrumentacin por el Instituto Tecnolgico de Chihuahua en 1997 y Dr. en Ciencias en Ingeniera Elctrica por el Centro de Investigacin y de Estudios Avanzados del IPN, CINVESTAV, Unidad Guadalajara en 2007. Ha sido profesor de la Facultad de Ingeniera Elctrica de la Universidad Michoacana desde 1987 actualmente colabora tanto en los programas de Licenciatura como en Posgrado de la misma Facultad. Sus reas de inters son Confiabilidad, Instrumentacin y Control de Sistemas as como el desarrollo de algoritmos para el Diagnstico de Fallas en Sistemas no Lineales.

También podría gustarte