Universidad Tecnologica de Queretaro Digitally signed by Universidad Tecnologica de Queretaro DN: cn=Universidad Tecnologica de Queretaro, c=MX, o=Universidad Tecnologica de Queretaro, ou=UTEQ, [email protected] Date: 2007.05.21 16:31:19 -06'00' UNIVERSIDAD TECNOLÓGICA DE QUERÉTARO Voluntad * Conocimiento * Servicio IMPLEMENTACIÓN DE UNA PLATAFORMA PARA DISEÑO DE SISTEMAS DE CONTROL DIFUSO CENTRO DE FÍSICA APLICADA Y TECNOLOGÍA AVANZADA, UNAM Reporte de Estadía para obtener el Título de Técnico Superior Universitario en Electrónica y Automatización LEÓN ORTIZ DIANA Santiago de Querétaro, Qro. Octubre de 2006 UNIVERSIDAD TECNOLÓGICA DE QUERÉTARO Voluntad * Conocimiento * Servicio IMPLEMENTACIÓN DE UNA PLATAFORMA PARA DISEÑO DE SISTEMAS DE CONTROL DIFUSO CENTRO DE FÍSICA APLICADA Y TECNOLOGÍA AVANZADA, UNAM Reporte de Estadía para obtener el Título de Técnico Superior Universitario en Electrónica y Automatización ASESOR DE LA EMPRESA M.I. DOMINGO RANGEL MIRANDA ASESOR DE LA ESCUELA ING. MANUEL MELÉNDEZ ROMERO ALUMNO DIANA LEÓN ORTIZ Santiago de Querétaro, Qro. Octubre de 2006 Agradecimientos Agradezco a dios por darme la vida, fuerza y amor necesario para poder concluir con un ciclo más de mi vida. A mi mamá Ofelia, a mi hermana Clau porque son mis dos pilares más grandes, siempre están conmigo y sobre todo porque me apoyan en todas mis locuras. Gracias por confiar en mi dándome la oportunidad de estudiar; las amo. A toda mi familia: tíos, tías, primos y abuelitos; que me apoyan y se preocupan por mi: gracias, sin ustedes no seria quien soy. Gracias a todos mis maestros en la escuela, ya que no sólo me enseñaron las clases establecidas, sino que me enseñaron de la vida; gracias por compartirme su sabiduría. Pero sin menospreciar al resto de mis maestros, me permito mencionar a mi asesor Manuel Meléndez, por brindarme su apoyo desde que inicié en la UTEQ hasta estos momentos, que estoy concluyendo. Al centro de investigación CFATA por darme la oportunidad de realizar mi proyecto de titulación; sobre todo a Edgar Méndez: fue un gran placer trabajar con usted, porque no sólo me ayudó con mis dudas técnicas, sino que me brindó su amistad, gracias. A Domingo Rangel, más que asesor y maestro en la UTEQ, fue un gran amigo, gracias. A Rodrigo Velásquez aunque su especialidad es otra, aprendí mucho de él: gracias Rodrigo por enseñarme que no se debe juzgar un libro por su portada. A Sergio y Esteban que siempre han estado en todo momento apoyándome a mi lado, quiero que sepan que más que amigos, son mis hermanos; gracias por todo. Por último pero muy importantes: mis amigos. Les doy las gracias a mis viejos y nuevos amigos; por brindarme su amistad y paciencia, no los menciono porque nunca acabaría, pero sé que saben quienes son, gracias por estar con migo en los buenos y en los malos momentos de mi vida. Compartimos muchas experiencias, y lo importante fue que lo vivimos juntos. Gracias. ¡GRACIAS! AGRADECIMIENTOS ÍNDICE INTRODUCCIÓN CAPÍTULO I ASPECTOS GENERALES DE LA EMPRESA Pág. 1.1 Empresa……………………………………….……………….........…………..12 1.1.1 Áreas de investigación…………………………………….......…………14 1.1.2 Área académica…………………………………………….........……....15 1.2 Misión……………………………………………………………............……...15 1.3 Visión……………………………………………….……………….....….……16 1.4 Política de calidad…………………………………………........………………17 1.5 Organigrama……………….…………………..………….…….......…….…….18 1.6 Campo de desarrollo ...................................…………………..…….......………19 1.7 Proceso general de producción………………………………………….....……19 CAPÍTULO II DEFINICIÓN DEL PROYECTO 2.1 Antecedentes……………………………………………………..……..……….21 2.2 Definición del proyecto…………………………..…………..….………………21 2.3 Objetivos………………………………..……………………….....……………22 2.4 Alcances……………………………………..……………………………….….22 Pág. 2.5 Plan de trabajo………………………..………………………………………….23 2.5.1 Separación de actividades............................................................................23 2.5.2 Secuencia de actividades ............................................................................24 2.5.3 Asignación de tiempos................................................................................ 25 2.5.4 Grafica de Gantt...........................................................................................27 CAPÍTULO III MARCO TEÓRICO 3.1 Introducción a la lógica difusa..............................................................................29 3.1.1 Historia.........................................................................................................30 3.1.2 Lógica difusa................................................................................................31 3.1.3 Control difuso ….........................................................................................33 3.1.4 Aplicaciones de control difuso.....................................................................34 3.2 Características del control PID............................................................................36 3.2.1 Control proporcional P ................................................................................36 3.2.2 Control proporcional-integral PI..................................................................38 3.2.3 Control PID ................................................................................................40 3.3 Microcontroladores...............................................................................................41 3.4 DSP……………………………………………………....…………………….. 44 3.5 FPGA…………………………………………………….......………………….45 Pág. CAPÍTULO IV DESARROLLO DEL PROYECTO 4.1 Sistema no lineal...................................................................................................48 4.2 Sistema de control no lineal mediante lógica difusa.............................................48 4.3 PID vs Control difuso...........................................................................................49 4.4 Planteamiento........................................................................................................51 4.4.1 Características de la plataforma...................................................................52 4.4.2 Proveedores comerciales para software.....................................................52 4.4.3 Características del software.........................................................................54 4.4.4 Proveedores comerciales para hardware......................................................60 4.4.5 Características del hardware........................................................................61 4.4.6 Consecuencias..............................................................................................65 CAPÍTULO V EVALUCIÓN ECONÓMICA Y RESULTADOS OBTENIDOS 5.1 Evaluación económica..........................................................................................68 5.2 Resultados obtenidos........................................................................................... 70 CONCLUSIONES Conclusiones.........................................................................................................75 Pág. BIBLIOGRAFÍA Y PÁGINAS CONSULTADAS EN INTERNET Bibliografía.......................................................................................................... .77 Páginas consultadas de internet............................................................................78 GLOSARIO ANEXO A ANEXO B ANEXO C Introducción El proyecto se realizó en el laboratorio de instrumentación y desarrollo, que pertenece al Centro de Física Aplicada y Tecnología Avanzada (CFATA) campus Juriquilla; el cual pretende desarrollar una plataforma para el control difuso mediante la búsqueda del software y hardware comercial. Con este proyecto se pretende explorar otro tipo de análisis para sistemas no lineales, los cuales en la actualidad son difíciles de controlar; esta lógica permite analizarlos desde otras perspectivas, ya que por ejemplo no sólo involucra el conocimiento del diseñador, sino también la experiencia del operador o del experto en el proceso. Primero se dará una pequeña introducción acerca de la lógica difusa, especificando los inicios de tal lógica, después se dará una breve explicación referente al control difuso, el cual viene más específico en el ANEXO A. Ya teniendo la bases se procederá a localizar a los diferentes software comerciales, y a sus proveedores. Se verán las características de cada uno y después se realizará la selección. Ya teniendo el software, se procederá a seleccionar el hardware compatible. Teniendo los dos elementos, se dará como terminado el proyecto. CAPÍTULO I ANTECEDENTES GENERALES DE LA EMPRESA Empresa El Centro de Física Aplicada y Tecnología Avanzada (CFATA) fue creado en 1991, en las instalaciones del Instituto de Física de la Universidad Nacional Autónoma de México (UNAM). En 1998, después de un exitoso desarrollo y parte del proceso de descentralización de la UNAM, el departamento se trasladó al campus Juriquilla, donde el 1 de abril del 2002 se transforma en una entidad independiente al aprobar el Consejo Universitario su conversión de Centro. Se establece así el Centro de Física Aplicada y Tecnologías Avanzadas (CFATA), con la idea de reunir los esfuerzos que diversas disciplinas realizan en el campo de las aplicaciones de la física, para impulsar el conocimiento científico y el desarrollo tecnológico, y enfocarlos a la solución de los problemas de mayor importancia para la sociedad. Fig. 1.1 Centro de Física Aplicada y Tecnologías Avanzadas Campus Juriquilla CFATA cuadrados; está ubica en un complejo científico arquitectónico de 600 metros su personal académico está integrado por 11 investigadores y 10 técnicos académicos de tiempo completo, la infraestructura principal cuenta con 12 laboratorios de investigación, un área de cómputo de gran capacidad, una biblioteca especializada, un taller mecánico, 2 salas para estudiantes, 2 salas audiovisuales y áreas administrativas. Los objetivos específicos del Centro de Física Aplicada y Tecnología Avanzadas son: 1. Realizar investigaciones científicas básicas, aplicadas y aplicables del más alto nivel, dentro del campo de la ciencia física, manteniendo un alto nivel de publicación en las revistas de mayor prestigio. 2. Contribuir con la formación de recursos humanos de alto nivel en Física Aplicada, mediante la impartición de cursos y la dirección de tesis en licenciatura y posgrado, así, como dentro y fuera de los programas de la UNAM, enfatizado la interacción académica con instituciones regionales. 3. Establecer lazos estrechos de colaboración con la industria nacional, para favorecer la relación académica-industrial, a través de proyecto conjunto de desarrollo tecnológico, transferencia de la tecnología desarrollada en el Centro, generación de microempresas y consultoría. 4. Participar en actividades de desarrollo científico y cultural de la región, con su participación en la divulgación científica, cursos de actualización y vocacionales, así también en exposiciones y visitas guiadas. 1.1.1 Áreas de investigación Las principales áreas de investigación en las que trabaja CFATA son: 1. Ingeniería molecular de materiales, orientadas principalmente al desarrollo de materiales cerámicos, polimétricos y compositos, para diseñar recubrimientos, bio materiales, fibras ópticas, cementos y concretos. 2. Física biomédica, enfocada al estudio teórico y de aplicaciones tecnológicas de las ondas de choque, para la conservación de alimentos, desinfección por ondas de choque, litro tripsia extracorporal y ortopedia. 3. Simulación de sistemas mediante el desarrollo de modelos para predecir las propiedades físicas y químicas de nuevos materiales, en mecanismos fundamentales de agregación, en la estructura de los materiales complejos, en las propiedades de transporte de sistema auto similares e interfaces en metales. 1.1.2 Área académica La formación del estudiante en las áreas científica y tecnológica es una actividad fundamental del personal académico de CFATA. Esta actividad se realiza principalmente en los programas de posgrado, contando así con: 1.2 • Posgrado en Ciencias Químicas, • Posgrado en Ingeniería, • Posgrado en las Ciencias Físicas, • Posgrado en las Ciencias en Ingeniería de Materiales de la UNAM, • Posgrado en el Programa de Doctorado en Ingeniería de la UAQ. Misión La misión del Centro de Física Aplicada y Tecnología Avanzada es “realizar investigaciones aplicables dentro de las ciencias físicas con un enfoque netamente interdisciplinario”. Elementos: 1. Investigaciones Aplicadas: es aquella que está dirigida al uso de áreas de competencia del centro. 2. La Investigación Aplicable: es aquella en que se realizo el objetivo a corto, mediano o largo plazo, de crear nuevas oportunidades de aplicación tecnológicas del conocimiento científico, sin que se medie necesariamente un problema específico que resolver. 3. El enfoque ínter disciplinario confiere también al Centro una personalidad única, ya que permite el concurso de diversas especialidades donde las ciencias físicas tiene una aplicación directa e indirecta. Contribuir activamente al enriquecimiento de la ciencia y tecnologías nacionales e internacionales en el ámbito de la Universidad Nacional Autónoma de México. Realizar investigaciones básica y aplicada así como la formación de recursos humanos en los niveles de licenciatura y posgrado. Favorecer la vinculación de las actividades científicas y tecnológicas con la industria y la sociedad. 1.3 Visión Desarrollar una investigación que sea útil y trascendente, que merezca el reconocimiento nacional e internacional. Publicar los logros en revistas de alto impacto y contar con laboratorios y equipos especializados de alta tecnología. Ser el polo por excelencia en el posgrado en ciencias de materiales, contando con un programa de formación y capacitación de recursos humanos de alta calidad. Establecer una estrecha vinculación con el sector productivo del país, desarrollo investigación básica y aplicada de excelencia 1.4 Política de calidad La función principal dentro de la política de calidad del centro física aplicada y tecnología avanzada de la UNAM es: “Realizar actividades de investigación básica y aplicada, de docencia y difusión de los conocimientos científicos con la participación activa de su personal y la mejora continua de sus procesos”. 1.5 Organigrama Jefe de departamento de CFATA Sección académica Simulación y sistemas Preparación de muestras Lab. de polímeros Lab. de choque débiles Lab. caracterización óptica Lab. atmosférica controlada Lab. microscopía controlada Lab. fullerenos Lab. fibras ópticas Lab. instrumentación y desarrollo Sección de vinculación Proyectos de la industria Intercambio académico Estudiantes asociados Sección de servicios administrativos Personal, compras, inventarios Contabilidad y presupuesto Biblioteca Taller mecánico Intendencia y vigilancia Fig. 1.2 Organigrama del departamento de CFATA – Campus Juriquilla. 1.6 Campo de desarrollo El Centro de Física Aplicada y Tecnologías Avanzadas es un centro de investigación básica y de desarrollo tecnológico, enfocado a dar soluciones a problemas de científicos, tecnológicos e impartir cátedras de posgrados. Cuenta con personal altamente capacitado y tiene una alta productividad, que se refleja en altos índices de publicaciones en revistas internacionalmente de reconocido prestigio. El Centro tiene entre sus principales directrices la de impulsar el desarrollo nacional y regional, y contribuir a la generación de conocimiento con reconocimiento internacional. 1.7 Proceso general de producción El Centro de Física Aplicada y Tecnologías Avanzadas tiene entre sus principales funciones la formación del profesionista de alto nivel, la realización de investigaciones y desarrollo de tecnologías. Estas funciones se realizan conforme al interés explicito de impulsar el desarrollo del país mediante diversos apoyos a los sectores productivos. Por el carácter académico de las actividades desarrolladas, la efectividad del trabajo desempeñado por su personal se mide mediante el número y la calidad de sus publicaciones en revistas especializadas y por el impacto de los desarrollos tecnológicos efectuados. CAPÍTULO II DEFINICIÓN DEL PROYECTO 2.1 Antecedentes El laboratorio de instrumentación y desarrollo en CFATA requiere trabajar con un control que pueda facilitar el análisis a sistemas de control no lineal, que permita utilizar la experiencia del personal (cualquiera que sea su especialidad, título o área de desarrollo dentro de un proceso). El control que cumplió con las expectativas fue el control de la lógica difusa, el cual se especializa en el conocimiento común, que es mayoritariamente lingüístico cualitativo. 2.2 Definición del proyecto En el laboratorio de instrumentación y desarrollo se implementará una plataforma de desarrollo para el diseño de sistemas de control por medio de lógica difusa, a través de la búsqueda y selección de software y hardware comercial. Con esta implementación, el personal del laboratorio de instrumentación podrán practicar y relacionarse con dicha lógica. Inteligencia artificial es una característica de la lógica difusa, que trabaja con el conocimiento y experiencia del trabajador, cualquiera que sea su especialidad. Los controladores borrosos son las aplicaciones más importantes de la teoría borrosa; trabajan de una forma bastante diferente a los controladores convencionales; el conocimiento experto se usa en vez de ecuaciones diferenciales para describir un sistema. Este conocimiento puede expresarse de una manera muy natural, empleando variables lingüísticas que son descritas mediante conjuntos borrosos. 2.3 Objetivo Se pretende implementar una plataforma para el diseño de sistemas de control difuso en el Laboratorio de Instrumentación y Desarrollo, donde sea posible editar, simular y generar los algoritmos difusos que sean necesarios para el control de sistemas no lineales de sistemas físicos, así como su grabación en dispositivos electrónicos especializados de alto rendimiento en el procesamiento de tales algoritmos. Esta plataforma debe contener el hardware y software para cubrir la necesidad para la que fue diseñado 2.4 Alcance Este sistema permitirá generar el código necesario y ser grabado en dispositivos electrónicos comerciales con alta capacidad de procesamiento, donde, se puedan implementar los algoritmos difusos para trabajar en tiempo real; además deberá cubrir las características técnicas y de costo establecidas. Sus componentes serán seleccionados en tiempo y forma mediante la evaluación y comparación de distintos fabricantes de ese tipo de plataformas. 2.5 Plan de trabajo Las actividades se colocaron en dos formas para una comprensión favorable tanto para el alumno que realiza el proyecto como para el asesor de la empresa; una forma es un listando de las actividades que son claves para la realización del proyecto; y la otra forma es una gráfica de Gantt, la que nos ayudará a una asignación de los tiempos de una manera gráfica. 2.5.1 Separación de actividades Las actividades para la realización del proyecto son: • Estudio de los conceptos básicos de lógica y control difuso y hacer un resumen de los mismos. • Discutir con el asesor de la empresa acerca de las principales características que debe de tener el software de una plataforma para el diseño de control difuso. • Discutir con el asesor de la empresa sobre las principales características que debe de tener el hardware de una plataforma para el diseño de control difuso. • Buscar información de proveedores comerciales y extranjeros en internet, literatura especializada y libros que ofrezcan este tipo de información. • Organizar la información obtenida mediante cuadros sinópticos que resalten las características del software y del hardware. • Hacer la selección del software en base a la información anterior. • Pedir la cotización del software en base a la información anterior. • Hacer la selección del hardware en base a la información anterior. • Pedir la cotización del hardware en base a la información anterior. • Hacer la selección del software y solicitar el equipo de cómputo necesario. • Hacer la selección del hardware y solicitar el equipo necesario. • Recibir e instalar los componentes de la plataforma. 2.5.2 Secuencia de actividades 1. Estudio de los conceptos básicos de lógica y control difuso y hacer un resumen de los mismos. 2. Discutir con el asesor de la empresa acerca de las principales características que debe de tener el software de una plataforma para el diseño de control difuso. 3. Discutir con el asesor de la empresa sobre las principales características que debe de tener el hardware de una plataforma para el diseño de control difuso. 4. Buscar información de proveedores comerciales y extranjeros en internet, literatura especializada y libros que ofrezcan este tipo de información. 5. Organizar la información obtenida mediante cuadros sinópticos que resalten las características del software y del hardware. 6. Hacer la selección del software en base a la información anterior. 7. Pedir la cotización del software en base a la información anterior. 8. Hacer la selección del hardware en base a la información anterior. 9. Pedir la cotización del hardware en base a la información anterior. 10. Hacer la selección del software y solicitar el equipo de cómputo necesario. 11. Hacer la selección del hardware y solicitar el equipo necesario. 12. Recibir e instalar los componentes de la plataforma. 2.5.3 1. Asignación de tiempos Estudio de los conceptos básicos de lógica y control difuso y hacer un resumen de los mismos. (2 semanas). 2. Discutir con el asesor de la empresa acerca de las principales características que debe de tener el software de una plataforma para el diseño de control difuso. ( 1 semana). 3. Discutir con el asesor de la empresa sobre las principales características que debe de tener el hardware de una plataforma para el diseño de control difuso. ( 1 semana). 4. Buscar información de proveedores comerciales y extranjeros en internet, literatura especializada y libros que ofrezcan este tipo de información. ( 2 semanas). 5. Organizar la información obtenida mediante cuadros sinópticos que resalten las características del software y del hardware. ( 2 semanas). 6. Hacer la selección del software en base a la información anterior. (1 semana). 7. Pedir la cotización del software en base a la información anterior. (1 semana). 8. Hacer la selección del hardware en base a la información anterior. (2 semanas). 9. Pedir la cotización del hardware en base a la información anterior. (1 semana). 10. Hacer la selección del software y solicitar el equipo de cómputo necesario. ( 1 semana). 11. Hacer la selección del hardware y solicitar el equipo necesario. (1 semana). 12. Recibir e instalar los componentes de la plataforma. ( 1 semana). 2.5.4 Grafica de Gantt CAPÍTULO III MARCO TEÓRICO 3.1 Introducción a la lógica difusa A pesar de su corta historia tiene un crecimiento muy rápido, ya que es capaz de resolver problemas relacionados con la incertidumbre de la información o del conocimiento, proporcionando un método formal para la expresión del conocimiento en forma entendible y comprensible por los humanos. En los últimos años se han investigado y desarrollado diversas tecnologías relacionadas con funciones y características humanas de campos cercanos al psicológico (inteligencia artificial) y a los procesos biológicos (redes neuronales, algoritmos genéticos y programación evolutiva). Estas tecnologías conocidas como "tecnologías inteligentes" representan el conocimiento de una forma a la vez entendible por los humanos y manejable por los sistemas informáticos. La lógica difusa es el elemento de desarrollo de dichas tecnologías. Se podría considerar como un lenguaje que permite trasladar sentencias sofisticadas del lenguaje natural a un formalismo matemático. El conocimiento se adquiere y se trabaja con él de una manera inferencial y deductiva, por medio de un razonamiento simbólico. Obteniéndose, para la resolución de un problema, un conjunto de hechos inciertos denominados conjuntos difusos y a sus reglas lógica difusa. 3.1.1 Historia Sus orígenes se remontan hasta 2,500 años. Aún Aristóteles consideraba que existían ciertos grados de veracidad y falsedad. Platón había considerado ya grados de pertenencia. La idea de que la lógica produce contradicciones fue popularizada por el filósofo y matemático británico Bertrand Russell, a principios del siglo XX. Estudio las vaguedades del lenguaje, concluyendo con precisión que la vaguedad es un grado. El filosofo austriaco Ludwing Wittgenstein estudió las formas en las que una palabra puede ser empleada para muchas cosas que tienen algo en común. La primera lógica de vaguedades fue desarrollada en 1920 por el filósofo Jan Lukasiewicz, visualizó los conjuntos con un posible grado de pertenencia con valores de 0 y 1, después los extendió a un número infinito de valores entre 0 y 1. El término de conjunto difuso aparece por primera vez en 1965 cuando el profesor Lotfi A. Zadeh, de la Universidad de Berkeley en USA, publicó un artículo titulado “Conjuntos difusos” (Fuzzy sets). Paralelamente, ciertos investigadores se han inclinado por la lógica difusa en problemas ciertamente difíciles. En 1966 el Dr. Peter N. Marinos, de Bell Labs. publicó “Fuzzy Logic”. En 1972 Prof. Michino Sugeno, de TIT escribió “Fuzzy Measure” . Así en 1975, el profesor Mamdani en Londres desarrolló una estrategia para el control de los procedimientos y presentó los resultados más esperanzadores que se han obtenido sobre la conducción de un motor a vapor. En 1978, la sociedad danesa F. L. Smidth realizó el control de un horno de cemento. Esta es la primera aplicación real industrial de la lógica difusa. Al final de los años 1980 se produce un verdadero boom que hace hablar. Los productos del gran consumo, máquinas de lavar, aparatos de fotografía y otros aparatos “fuzzy logic” son numerosos. En la industria, se contempla el tratamiento de aguas, las grúas portuarias, los metros, los sistemas de ventilación y de climatización. 3.1.2 Lógica difusa La lógica difusa es un súper conjunto de la lógica clásica convencional que fue extendida para abarcar el concepto de “parcialmente verdad” (valores entre lo "absolutamente cierto" y lo "absolutamente erróneo"). La lógica borrosa esta fundada en el concepto " Todo es cuestión de grado”, lo cual permite manejar información vaga o de difícil especificación en el caso de que quisiéramos cambiar con esta información el funcionamiento o el estado de un sistema especifico. Es entonces posible con la lógica borrosa gobernar un sistema por medio de reglas de “sentido común” las cuales se refieren a cantidades indefinidas. Las reglas involucradas en un sistema borroso, pueden ser aprendidas con sistemas adaptables que se aprenden al “observar”' como operan las personas los dispositivos reales, o estas reglas pueden también ser formuladas por un experto humano. En general la lógica borrosa se aplica tanto a sistemas de control como para modelar cualquier sistema continuo de ingeniería, física, biología o economía. La intención de la lógica difusa es de crear un formalismo para manipular de forma más eficiente la imprecisión y la vaguedad del razonamiento humano expresado lingüísticamente, para poder trasladarlo a un lenguaje matemático formal. Utiliza valores de verdad que no necesariamente son “deterministas”; por ejemplo, al calificar que “el cielo es azul” uno está tentado a graduar qué tan “azul”, en efecto, es el cielo; e igualmente, si “un vehículo se mueve rápido”, también se está obligado a considerar qué tan rápido es el vehículo, aunque esto último no implique necesariamente cuantificar la velocidad del vehículo con toda precisión. Su enfoque considera que un conjunto no tiene un frontera clara para pertenecer o no a él. La lógica borrosa es definida como un sistema matemático que modela funciones no lineales, que convierte unas entradas en salidas acordes con los planteamientos lógicos que usan el razonamiento aproximado. 3.1.3 Control difuso Base de conocimiento Codificación (Fuzzificación) Sistema de inferencia Decodificación (Defuzzificación Sistema de control Variables de estado (entrada) Variables de control (salida) Fig. 3.1 Estructura de un controlador difuso Los controladores difusos son las aplicaciones más importantes de la teoría difusa. Ellos trabajan de una forma diferente a los controladores convencionales; el conocimiento experto se usa en vez de ecuaciones diferenciales para describir un sistema. Este conocimiento puede expresarse de una manera muy natural, empleando las variables lingüísticas que son descritas mediante conjuntos difusos (ANEXO A). En la figura 3.1 se muestra la arquitectura de un control difuso en donde: • Base de conocimiento: Contiene el conocimiento asociado al dominio de la aplicación y los objetos de control; proporciona las definiciones necesarias para determinar las reglas lingüísticas de control y manipula los datos difusos del controlador. • Sistema de codificación (fuzzificación): La operación que convierte los valores reales de entrada en conjuntos difusos; permite suavizar el comportamiento del sistema ampliando el rango de influencia de la variable. • Sistema de Inferencia: Es el núcleo del controlador, infiere las acciones de control simulando el proceso de decisión humano usando una implicación difusa y las reglas de inferencia de la lógica difusa. • Sistema de decodificación (defuzzificación): Convierte los valores difusos de las variables de salida en valores conceptos dentro del universo de discurso correspondiente. 3.1.4 Aplicaciones de control difuso En el área médica se ha empleado para el diagnóstico, desde campos como la acupuntura, hasta el análisis de ritmos cardíacos. Dentro del apoyo a la toma de decisiones se ha utilizado para la búsqueda de caminos críticos en la ejecución de proyectos y asesoramiento a la inversión. En el campo de control de sistemas en tiempo real, destaca el control de un helicóptero por órdenes de voz y el control con derrapaje controlado de un modelo de coche de carreras. Dentro del sector automovilístico existen gran números de patentes sobre sistemas de frenado y cambio de marcha automáticos (Nissan). En el sector de fabricación de electrodomésticos se ha diseñado un gran número de aplicaciones neuro-difusas como las lavadoras que evalúan la carga y ajustan por sí mismas el detergente necesario, la temperatura del agua y el tipo de ciclo de lavado (Matsushita, Hitachi, Siemens); tostadores de pan controladores de para la calefacción y aire acondicionado, televisores (Sony), que automáticamente ajusta el contraste, el brillo y las tonalidades de color. Para el control de maquinaria destaca el control de frenado de Sendai realizado por Hitachi (en funcionamiento desde Julio de 1987) para detener los trenes rodando rápidamente a lo largo de la ruta, frenado y acelerando suavemente, deslizándose entre las estaciones, parando con precisión sin perder un sólo minuto o sacudir fuertemente a los pasajeros. Se ha utilizado para el control de una maquina de perforación de túneles y para el control de ascensores (Mitsussbishi-Elec., Hitachi, Fuji Tech) que mejoran la eficiencia en el procedimiento manual que siempre se presenta cuando grandes grupos esperan para usar el ascensor al mismo tiempo, o para grúas en el manejo y elevación de contenedores (Hitachi). Se han aplicado también al procesado de imágenes y al reconocimiento de caracteres que reconocen los números de los cheques bancarios utilizando un sensor CCD y un microcontrolador. Se utiliza también en verificaciones de ortografía, los cuales sugieren una lista de palabras probables para reemplazar una palabra mal escrita o en correctores de voz para seguir un listado de probables palabras para sustituir a una mal dicha. 3.2 Características del control PID Proporcional integral derivativo (PID) es un control cuyo objetivo es mantener su salida en un nivel predeterminado. Y el cual para mantener constante la salida tiene que medir la salida y controlar la entrada, lo cual provoca la diferencia de ambas una diferencia denominada error; el error es tratado de tres formas diferentes simultáneamente. 3.2.1 Control proporcional m(t ) = m + Kc(r(t ) − c(t )) m(t ) = m − Kc e(t ) Ecuación 3.2.1.1 Ecuación 3.2.1.2 Donde: m(t)= Salida del controlador . r(t)= Punto de control. c(t)= Variable que se controla (señal que proporciona el transmisor). e(t)= Señal de error (es la diferencia entre el punto de control y la variable controlada) Kc= Ganancia del controlador. m = Valor base. El significado de m es la salida del controlador cuando el error es cero; pero generalmente se fija durante la calibración del controlador. Las ecuaciones 3.2.1.1 y 3.2.1.2 son ecuaciones que puede describir el funcionamiento de un control proporcional, la primera ecuación nos indica que es para un controlador de acción inversa. En las ecuaciones se puede ver que la salida del controlador en proporcional al error entre el punto de control y la variable que se controla. La ganancia del controlador da la proporcionalidad que en este caso es Kc, con la cual se determina cuánto se modifica la salida del controlador con un cierto cambio de error. Figura 3.2.1.1 Desviación del control proporcional La desventaja de este control es que maneja una desviación o error de estado estacionario en la variable que se controla. Tal desviación se puede ver en la figura 3.2.1.1, en donde el valor de la ganancia Kc1 es menor que el valor de la ganancia Kc2; y demuestra que mientras el valor de la ganancia es mayor, la desviación es menos pero la respuesta se hace más oscilatoria. La mayoría de fabricantes de controladores no utilizan el término “Ganancia” para designar la cantidad de sensibilidad en un controlador, sino que utilizan el término “Banda proporcional” o PB. Y la relación de la ganancia con la banda proporcional es mostrada en la ecuación 3.2.1.3, además se utiliza el término 100 es porque el PB se le conoce generalmente como porcentaje de banda proporcional PB = 100 Kc Ecuación 3.2.1.3 La banda proporcional se refiere al error (expresado en porcentaje de rango que se controla de la variable que se controla) que se requiere para llevar la salida del controlador del valor más bajo hasta el más alto. 3.2.2 Control proporcional-integral PI La mayoría de los procesos no pueden controlar con una desviación (control proporcional) se debe controlar en el punto de control y en estos casos para evitar la desviación se aplica el control integral o de reajuste, por lo tanto se convierte en un control PI. m(t ) = m + Kc[r (t ) − c(t )] + Kc τI ∫ [r(t ) − c(t )]dt Ecuación 3.2.2.1 m(t ) = m + Kc e(t ) + Kc τI ∫ e(t ) dt Ecuación 3.2.2.2 donde: τ I =tiempo de integración o reajuste minutos repetición. El control PI sólo tiene dos parámetros para su ajuste que es Kc y τ I . Dopnde τ I es el tiempo que toma al controlador repetir la acción proporcional; mientras menor sea su valor, su cueva de respuesta es más pronunciada, en otras palabras, la respuesta del controlador se hace más rápida. Figura 3.2.2.1 Respuesta del control PI a un escalón en el error En un control PI, mientras el error sigue presente, el controlador se mantiene integrando y añadiéndolo a su salida hasta que el error desaparece. Pero el hecho de que el error se cero no significa que el término de la integración sea cero, por el contrario integra una función de valor cero, o añade cero a su salida, con lo cual se mantiene constante. En la figura 3.2.2.1 se ve un ejemplo de la respuesta que proporciona este control en un escalón de error. Algunos fabricantes el término “rapidez de ajuste” τI , para su parámetro de reajuste R en lugar de tiempo de ajuste τ; y la relación de estos es: τ IR = 3.2.3 1 Ecuación 3.2.2.3 τI Control PID En algunas ocasiones al control PI se le agrega otro tipo de control, el cual es el control de acción derivativa, también llamado “rapidez de derivación o precaución”, que tiene como propósito anticipar hacia donde va el proceso, mediante la observación de la rapidez para el cambio del error, su derivada. La ecuación 3.2.3.1 es su ecuación descriptiva es: m(t ) = m + Kc e(t ) + Donde: Kc τI ∫ e(t) dt + Kcτ D de(t ) dt Ecuación 3.2.3.1 τ D = La rapidez de derivación Con la acción derivativa se da al controlador la capacidad de anticipar hacia donde va el proceso, mediante el cálculo de la derivada del error. La cantidad de anticipar depende del valor del parámetro de ajuste τ D . Los controladores se utilizan en procesos donde las constantes de tiempo son largas; por ejemplo en los procesos de control de temperatura y los de concentración. Los procesos en donde las constantes de tiempo son cortas (capacitancia pequeña) son rápidos y susceptibles al ruido del proceso, algunos ejemplos son los circuitos de flujo y los circuitos para controlar la corriente en líquidos. Los procesos en donde la constante de tiempo es larga (capacitancia grande) son generalmente amortiguados y en consecuencia, menos susceptibles al ruido. 3.3 Microcontroladores Un microcontrolador es un circuito integrado o comúnmente llamado chip de alta escala de integración que incorpora la mayor parte de los elementos que configuran un controlador. Cumple con las funciones de cerebro de cualquier aplicación, que puede ser desde encender un led hasta telecontrol y es responsable de la buena funcionalidad del circuito que gobierna. Como todo cerebro, este chip tiene que procesar alguna información que tiene en su memoria y de esta manera decir que hacer. A esta información que debe tener el chip se le llama software o programa de aplicación. Es responsabilidad del programador enviar la correcta información a este chip para que trabaje adecuadamente. Puede ser visto externamente como un circuito integrado TTL o CMOS normal, pero internamente dispone de todos los dispositivos típicos de un microprocesador. Un microcontrolador dispone normalmente de los siguientes componentes: • CPU (Central Pprocessor Unit o Unidad de Procesamiento Central) quien interpreta las instrucciones de programa. • Memoria RAM (Random Access Memory o Memoria de Acceso Aleatorio) para contener los datos. • Memoria para el programa tipo ROM / PROM / EPROM. el cual memoriza las instrucciones de programa. • Líneas de E / S para comunicarse con el exterior. • Diversos módulos para el control de periféricos (temporizadores, Puertas Serie y Paralelo, CAD: Conversores Analógico / Digital, CDA: Conversores Digital / Analógico, etc.). • Generador de impulsos de reloj que sincronizan el funcionamiento de todo el sistema. Todo el funcionamiento interno del PIC se trata de manejo y configuración de bits de archivo. Los cuales se encuentran implementados en la memoria RAM y cada uno tiene una longitud de 8 bits, cada bit de cada archivo cumple con una función, por esta razón a estos archivos que ocupan las primeras posiciones de la memoria RAM se les llama registros de función específica o SRF (Special Function Register). También existen posiciones de la memoria RAM que no estan ocupados con los SFR, y nos sirven para implementar nuestros propios registros, por esto se llaman “Registros de Propósito General” (General Purpose Register). Los productos que para su regulación incorporan un microcontrolador disponen de las siguientes ventajas: • Aumento de prestaciones: un mayor control sobre un determinado elemento representa una mejora considerable en el mismo. • Aumento de la fiabilidad: al reemplazar el microcontrolador por un elevado número de elementos disminuye el riesgo de averías y se precisan menos ajustes. • Reducción del tamaño en el producto acabado: La integración del microcontrolador en un chip disminuye el volumen, la mano de obra y los stocks. • Mayor flexibilidad: las características de control están programadas por lo que su modificación sólo necesita cambios en el programa de instrucciones. El microcontrolador es en definitiva, un circuito integrado que incluye todos los componentes de un computador. Debido a su reducido tamaño es posible montar el controlador en el propio dispositivo al que gobierna. En este caso el controlador recibe el nombre de controlador embebido. 3.4 DSP DSP (digital signal processing) es una operación o transformación de una señal en un hardware digital según reglas bien definidas las cuales son introducidas al hardware a través de un software específico que puede o no manejar lenguajes tanto de alto como de bajo nivel. Las aplicaciones clásicas de los DSP's trabajan señales del mundo real, tales como sonido y ondas de radio que se originan en forma análoga. Como se sabe, una señal análoga es continua en el tiempo; cambia suavemente desde un estado a otro. Los computadores digitales, por otro lado, manejan la información discontinuamente, como una serie de números binarios, por lo que se hace necesario como primera etapa en la mayoría de los sistemas basados en DSP's transformar las señales análogas en digitales. Una vez terminada la etapa de conversión análoga – digital, los datos son entregados al DSP el cual está ahora en condiciones de procesarla. Eventualmente el DSP deberá devolver los datos ya procesados para lo cual es necesaria una etapa final que transforme el formato digital a análogo. Ejemplos de algunas aplicaciones con DSPs: • Eliminar el eco en las líneas de comunicaciones. • Lograr hacer más claras imágenes de órganos internos en los equipos de diagnóstico médico. • Cifrar conversaciones en teléfonos celulares para mantener privacidad. • Manejo de imágenes digitales. • Reproductores digitales de audio. • Cámaras digitales. • Control de motores. • Manejo de bombas, ventiladores, HVAC. • Inversores industriales. • Automatización de fábricas. • Analizar datos sísmicas para encontrar nuevas reservas de petróleo. 3.5 FPGAs Un FPGA (Field-programmable gate array (Matriz de puertas programable por un usuario en el “campo” de una aplicación)) es un a arreglo de bloques lógicos configurables (CLB) entre los cuales hay un gran número de elementos de interconexión, líneas que pueden unirlos entre sí e incluso con otras partes del FPGA. Puede haber líneas de distintas velocidades. También hay pequeños elementos en cada una de las patillas del chip para definir la forma en que ésta trabajará (entrada, salida, entrada-salida...). Se suelen llamar IOB (Input /Output Block). Aparte de esta estructura, que es la básica, cada fabricante añade sus propias ideas, por ejemplo hay algunos que tienen varios planos con filas y columnas de CLB. Los CLB contienen en su interior elementos hardware programables que permiten que su funcionalidad sea elevada. También es habitual que contengan dispositivos de memoria. La tarea del programador es definir la función lógica que realizará cada uno de los CLB, seleccionar el modo de trabajo de cada IOB e intercalarlos todos. El diseñador cuenta con la ayuda de herramientas de programación. Cada fabricante suele tener las suyas, aunque usan lenguajes de programación comunes. Estos lenguajes son los HDL (lenguajes de descripción de hardware)) los cuales pueden ser: • VHDL que es el acrónimo que representa la combinación de • Verilog • ABEL Las características de los FPGA es su flexibilidad, capacidad de procesado en paralelo y velocidad. Lo cual los convierte en dispositivos idóneos para: • Simulación y depuración en el diseño de microprocesadores. • Simulación y depuración en el diseño de ASICs. • Procesamiento de señales digitales, por ejemplo video. • Sistemas aeronáuticas y militares. CAPÍTULO IV DESARROLLO DEL PROYECTO 4.1 Sistema no lineal Los sistemas no lineales, son insurrectos (rebeldes), porque las variaciones que afectan a las condiciones iniciales no son proporcionales a las que producen en los estados siguientes. Estos sistemas adquieren importancia ya que los fenómenos naturales y sociales de la vida son irremediablemente no lineales. La mayor parte de la investigación en control no lineal se ha concentrado en ampliar metodologías lineales a los problemas no lineales. Esencialmente se convierte o se aproximan sistemas no lineales por los lineales y se aplican las técnicas tradicionales. Es a menudo muy costoso convertir un sistema no lineal y las aproximaciones lineales están llegando a ser cada vez más inexactas. 4.2 Sistema de control no lineal mediante lógica difusa Un tipo de control no lineal que esta ganando simpatizantes es el control por lógica difusa, que trata de un control que se basa en la experiencia adquirida y actúa como lo haría una persona, es un intento para desarrollar la inteligencia artificial. La necesidad de poder controlar sistemas no lineales por medio de la lógica difusa y así poder conocer a futuro las diferentes aplicaciones de tal lógica, ha causado gran interés en diferentes sectores productivos, los cuales se han dedicado a investigar la forma de facilitar la aplicación de este control. 4.3 PID vs Control difuso No se puede decir que el control difuso es mejor que el PID, o mucho menos decir que es el reemplazo del control PID, por el contrario el control difuso como otros controladores, es una alternativa con ventajas y desventajas que pretende facilitar el trabajo de control mediante nuevos métodos de análisis. Todo depende del sistema a controlar, ya que el control difuso se especializa en el control de sistemas no lineales; y el control más usado dentro de las industrias para tales sistemas es el PID. El control dentro de un sistema siempre contiene las siguientes variables: una entrada, un control, un proceso, una salida y en algunos casos una retroalimentación, como se muestra en la figura 4.3.1, ya que la finalidad del control es mantener la salida en un nivel predeterminado (setpoint). Fig. 4.3.1 Control general en un proceso La entrada es por lo regular una señal llamada error que nos ayuda a ver como se va a controlar el proceso, después esa señal pasa al control que la transforma y la lleva al proceso; el proceso da una salida la cual va hacia el resto del proceso, y una señal de la misma va hacia una retroalimentación que llega a la entrada del proceso, justo antes del control, la cual es comparada con la entrada original y el setpoint, y dará como resultado una diferencia, tal diferencia es llamada también señal de error. En este caso el se enfocará en la etapa del control , que serán analizados con el control PID y el control difuso. Los principales pasos que realiza un control PID son: proporcional, integral y derivativo (para comprender bien tal control ver en el marco teórico); el diagrama a bloques de un control PID se representa en la figura 4.3.2. Kp Entrada Salida al proceso Ki Kd Fig. 4.3.2 Diagrama a bloques de un control PID. Por su lado los pasos para realizar un control difuso son: fuzzificar, reglas difusa y defuzzificar, como se ve en el diagrama a bloques de la figura 4.3.3. d d(t) Entrada Fuzzyficador CLD Defuzzyficador Salida al proceso Reglas difusas Fig. 4.3.3 Diagrama a bloques de un control difuso. 4.4 Planteamiento Implementación de una plataforma de diseño de sistemas de control difuso mediante la búsqueda y selección de software y hardware comercial, es el titulo del proyecto a realizar y para poder desarrollarlo se debe tener perfectamente definido el proyecto para poder desenvolverlo de una forma satisfactoria: Plataforma se refiere al sistema operativo o a sistemas complejos que a su vez sirven para crear programas, como las plataformas de desarrollo que son el entorno común en el cual se desenvuelve la programación de un grupo definido de aplicaciones. Comúnmente las plataformas de desarrollo se encuentran relacionadas directamente a un sistema operativo, sin embargo, también es posible encontrarlas ligadas a una familia de lenguajes de programación o a una Interfaz de programación de aplicaciones o API por sus siglas en inglés. 4.4.1 Características de la plataforma Algunas características principales de la plataforma son: • Controlar sistemas no lineales. • Ser una base para el desarrollo de nuevos controladores. • Que sea de fácil entendimiento para todos lo que aprecien el control. • Que no tenga un precio fuera del alcance de la institución. • Que se desarrolle por medio de DSP, FPGA o microcontroladores. • Obtener un software de fácil entendimiento. 4.4.2 Proveedores comerciales para software Algunos de los principales proveedores comerciales que se encontraron para el software de lógica difusa son: • INFORM Software GmbH: es una empresa que desarrolla “Fuzzy Tech”. • Aptronix: desarrolla “FIDE”. • Togai infraligic: desarrolla TILShell. • Transfer tech: es una empresa alemana que desarrolla “FCM” (fuzzy control manager). • National instrument: desarrolla un VI difuso para Lab VIEW. • MathWorks: desarrolla un toolbox para lógica difusa en Matlab y Simulink (fuzzy logic toolbox). Los cuales serán evaluados para conocer más a fondo las características de cada producto que ofrecen. 4.4.3 Características principales del software La siguiente información son las características principales de los diferentes software difusos que se lograron encontrar. Fuzzy Tech: • Versiones para Windows y Linux. • Potente interfaz gráfica. • Modelado del sistema puede realizarse a travez de una conexión DDE, DLL o Active X (LabView, Matlab/Simulink, Excel, Access, VisualBasic, Visual C). • Produce códigos estándar ANSI, código VHDL, Código para microcontroladores (SGS-thompsom, Intel, Siemens, Microchip, Texas instrument). • Posibilidad de localizar y corregir errores (debugger) en tiempo real en sistemas con microcontroladores. • Recomendable para desarrollo en sistemas prácticos en tiempo real. FIDE: • Compila ficheros fuente y genera código objeto. • Realiza paso a paso el proceso de inferencia para obtener las salidas. • Realiza la función de trasferencia del sistema. • Convierte el código objeto en código máquina adecuado para controladores de Motorola, código MATLAB y código C. • Utiliza interfaz gráfico para modelar y controlar. • Cuenta con simulador. TILShell: • Potente interfaz de usuario para la definición gráfica del sistema. • Herramienta para la generación automática de regla utilizando la definición de entradas y salidas. • Utiliza lenguaje de especificación de controladores borrosos llamado FPL independiente del soporte físico. • Compiladores para diversos lenguajes: Código C (Fuzzy-C development system). Código máquina para microcontroladores (8051, HC11, H8, etc.). Código máquina para un circuito acelerador (FC110). Código VHDL para diseño de ASIC. FCM” (fuzzy control manager): Al construir sistemas borrosos el FCM permite: • Definir un número ilimitado de variables (entradas, salidas, etc.). • Agregar tantos términos a estas variables como se requiera. • Definir las funciones de membresía por un número ilimitado de la inflexión. • Construir los sistemas borrosos con un número ilimitado de reglas. • Definir las reglas de diversas maneras gráficas (matriz, red-plan, textual, la carta). Para probar proyectos el FCM permite: • Ofrece diversos debugmodes del múltiplo que elimina ciertos errores en los valores de la entrada. • Datos externamente generados de diversas fuentes para probar reguladores en datos verdaderos. Para la descripción gráfica clara de los valores de la entrada y de la salida en la variable permite: • Enfoque y representación de comprimido. • Ahorro y cargamento de datos registrados. • Grabación en tiempo real con los grupos fecha/hora exactos. El FCM te ofrece además (dependiendo de la versión de FCM): • La salida del código del programa para implementar la construcción del control difuso sobre la respectiva tarjeta de hardware. Dependiendo la versión, el ensamblador o los códigos binarios serán generados. • Importando y exportando de proyectos difusos por un código interpretable, portable (para la optimización o implementación externa). VI difuso: • Cada control puede tener hasta 4 entradas. • El número máximo de términos lingüísticos por cada variable lingüística son 9 • Funciones de membresía: triangular, trapezoidal, Z-Formado, S-shaped, Singleton. • Métodos de Defuzzification: Centro del área, Centro del máximo, Medio del máximo. • Usualmente se puede utilizar con Los DSP ADSP-21XX de Analog Device Fuzzy logic toolbox: • Desarrolla y analiza los sistemas de inferencia difusos. • Inferencia en los sistemas difusos con el método Mandani y Sugeno. • Capacidad de generar código C. • Simulación del sistema por medio de Simulink. • De Simulink puede generar el código C. • Disponibles para MS Windows, UNIS, y Macintosh. La tabla 4.4.3 muestra las características de los diferentes software mencionados anteriormente. Compilador CompatibiProgramas Versión Software Compañía (código que genera) lidad con para compatibles hardware LabView, C, VHDL, Matlab/ código para Microcon_ Windows FuzzyTe Inform microcon_ Simulink, trolador, y Linux ch trolador. Exel, Access, DSP, PLC VisualBasic, VisualC. Código Matlab, FIDE Aptrinix Windows Microcon_ NT trolador, Windows Microcon_ ensamblador Matlab para micros de Motorola, Java Código C, Togai maquina para TilShell infralogic NT, 95, 98 micros, VHDL trolador Transfer Código C, tech ensamblador Microcon_ Windows FCM trolador Windows, DSP, Linux, Microcon_ Macintosh trolador National DDL VI difuso - instrument MS Toolbox Math difuso Works Windows, Microcon_ UNIS, y trolador Código C - Macintosh Tabla 4.4.3.1 Características principales de los diferentes software. Con la información anterior se comenzó a hacer una selección de los primeros tres software, con ventajas y desventajas que contiene cada uno. La forma que utilizamos para hacer tal selección fue en base de las especificaciones principales del proyecto. La facilidad de compilar, y los diferentes compiladores que puedan ser útiles; después vimos las más amplias compatibilidad que existen entre los diferentes software con el hardware propuesto, al final resultaron tres candidatos: • FuzzyTech • FIDE • Toolbox difuso De los cuales sólo se escogerá uno. Empresas de Versión Software Compañía hardware compatible FuzzyTe Inform ch del Amabilidad Precio del software (pesos) software SGSthompsom, FuzzyTec Intel, Fácil Siemens, Microchip, h MCU entendimiento Texas instrument. Edition $25,190 Difícil entendimiento Motorola, FIDE Aptrinix Intel FIDE 2.0 $1500 en la programación Toolbox Math Works difuso Fácil Analog Toolbox Device difuso $895 entendimiento 2.2.4 Tabla 4.4.3.2 Características específicas de los software seleccionados. Por los resultados obtenidos en la tabla 4.4.3.2 se decidió utilizar el FuzzyTech, ya que es el que tiene más ventajas sobre los demás. Otra razón de peso es que en el laboratorio de instrumentación y desarrollo, hay una persona que ha trabajado con este software, y es el que en un futuro va a trabajar en la plataforma. 4.4.4 Proveedores para el hardware El hardware se seleccionará a partir del software seleccionado, que en este caso fue el FuzzyTech, y él es compatible con DSP y microcontroladores, pero se realizará un pequeño análisis para el FPGA, y se vera si el software puede generar código VHDL, ya que es el código con el que trabaja el FPGA. Microcontroladores: MOTOROLA: familias 68HC11XX, 68HC12XX. SGS-Thomsom: familia ST6. Microchip: PIC16CXX, PIC17CXX. Mitsubishi: 374XX. Intel: 80C196, 8096. Siemens: familia C16X. DSP: Analog Device: las familias de Blackfin, Triger Share, y ADSP. Motorola: las familias 50300, 56800, MSC810. Texas intrument: La familia del TMS320CXX. FPGA: Actel: la familia de ProASIC3, Axcelerator. Altera: la familia del MaxII. Xilinx: la familia Espartano II 4.4.5 Características del hardware La forma de seleccionar el hardware estará basada en los requerimientos de la plataforma, se usaran los tres tipos de hardware, uno a la vez, primero se implementará el microcontrolador, después el DSP, y por último se utilizará el FPGA. Microcontroladores: Una característica que se busca para los microcontroladores, es que cuenten con un encapsulado del tipo DIP, y que exista una aplicación con la lógica difusa. En la tabla 4.4.5.1 se muestra las características específicas del hardware para seleccionar. Por esta ocasión, se omitirá la familia de SGS-Thomsom: ST6, y la familia de Mitsubishi: 374XX; ya que es un poco difícil la búsqueda de tales microcontroladores, y lo que se busca es que la información referente a las características de los microcontroladores sea de fácil acceso. Empresa MOTOROLA Microchip Intel Siemens 80C196 C16X 68HC PIC 11XX, 16CXX, PIC Familia 68HC 17CXX 12XX UT Especifica- MC68 PIC SAB 80C196 ción HC12E9 16C77 80C166 KD DIP, PLCC, Encapsulados PLCC, PQFP QFP PQFP 20MHz 20MHz, 100 ns MQFP, TQFP Máxima frecuencia 33MHz 20MHz de operación Memoria de RAM: 512 programación bytes, EPROM, EEPROM: 512 RAM: 368, EPROM: 8K RAM, ROM RAM: 1K, RAM:1K, ROM: 8K WDT, 4 TMR0, TMR1, TMR0, TMR1, software WDT Timer TMR2 TMR2 timers, 3 counter /timer Modulo 1 2 2 - USART 2 USART PWM Puerto serial SPIa, SSPb, (SPI/ I2C, SPI, SCP 2 c I C , USART USART, etc) Convertidores 8 8 (8 bits) 8 10(10 bits) 38 40, 44 80 100 A/D Pines I/O Tabla. 4.4.5.1 características de los diferentes microcontroladores Las características principales de los microcontroladores se muestran en la tabla 4.4.5.1. Los diferentes encapsulados de los microcontroladores mencionados en la tabla 4.4.5.1 se muestran en el ANEXO B. La forma de seleccionar el hardware es respondiendo las siguientes preguntas: • ¿Quien tiene más capacidad de memoria? • ¿Cual es el más comercial? • ¿Cuál tiene más ventajas sobre los demás (viendo objetivamente)? • ¿Cuántos tienen encapsulado DIP? El que a simple vista tiene más herramientas, es el Microchip: PIC16CXX, PIC17CXX. Y una de las razones por la que se escogió PIC16C77, es porque es el más usado en aplicaciones con la lógica difusa. a: SPI=Master Model. b: SSP=Synchronous Serial Port. c: I2O=Master/Slave DSP: Aunque existan varias compañías que se dedican a diseñar y comercializar DSPs, la realidad es que la única que es recomendable para trabajar con FuzzyTECH son las familias TMS320 C2X/ C3X/ C4X/ C5X de Texas instrument. DSP TMS320C14 Encapsulado 68 pin, PLCC TMS320C30 TMS320C50 280 pin, PQFP; 132 pin, BQFP 181pin, CPGA ROM =2K, Memoria ROM =4K, DARAM =1K, (16 bit work) RAM =256, DAROM = 4K DARAM =1.056K, SARAM = 9K Más de 8.77 MIPS 25 MIPS 20MIPS (160ns) (40 ns) (50, 35, 25 ns) Poder requerido 5V 5V 5V Lenguaje de Ensamblador, y Ensamblador, y Ensamblador, y programación código C código C código C Floating point si si si Puerto serial 1 2 2 Velocidad Memoria del puerto 7x16 - 64K paralelo Fig. 4.4.5.2 características principales para los DSP Los DSP usados, son porque al igual que los microcontroladores, se seleccionaron a los DSP que tengan un amplio registro de uso con la lógica difusa. Y los tres anteriores son los más usados. Cabe aclara que durante el desarrollo del proyecto se acordó en no utilizar los FPGA. Por lo que sólo se mencionan unas de las distribuidoras más importantes en FPGAs. 4.4.6 Consecuencias De acuerdo con el desarrollo del los pasos, la selección será evaluada de acuerdo a las ventajas y desventajas de cada software; en este caso se decide por el programa de Fuzzy Tech MP-Pack, que ofrece una amplia aplicación para diferentes proveedores comerciales tienen una amplia variedad de familias de las cuales se puede escoger. Con las compañías que es compatible son: MOTOROLA: microcontroladores, con las familias 68HC11XX, 68HC12XX. SGS-Thomsom: microcontroladores con la familia ST6. Microchip: microconteoladores PIC16CXX, PIC17CXX. Mitsubishi: microcontroladores 374XX. Intel: microcontroladores 80C196, 8096. Siemens: microcontroladores C16X. Texas instrument: DSPs familias TMS320 C2X/ C3X/ C4X/ C5X. Y referente al hardware se utilizará primero el PIC16C77, para poder explotar sus ventajas, sus características principales se encuentran en el ANEXO D. Después se piensa usar los DSP, pero en estos momentos no existe uno seleccionado, ya que ese se va a seleccionar de acuerdo a la aplicación. CAPÍTULO V EVALUACIÓN ECONÓMICA Y RESULTADOS OBTENIDOS 5.1 Evaluación económica Los precios de los microcontroladores son en moneda nacional. El lugar en donde se realizó la compra fue en AG electrónica. Cant Producto Monto 2 PIC16C74A 118.31 Gastos de envío 134.78 Subtotal 252.31 Impuestos 93.69 Total 346.00 El precio del Software se manejo durante la compra en dólares. Pero aquí se mostrará en moneda nacional. El software se compró con la empresa INFORM. Cant Producto Monto FuzzyTECH edition MCU1 25,190.00 PACK 25,190.00 Total Dando como resultado final: Producto Monto FuzzyTECH edition MCU-PACK 25,190.00 Todo el hardware 346.00 25,536.00 Total 5.2 Resultados obtenidos • Búsqueda de información referente a la lógica difusa y control difuso. • Relacionar con los diferentes software especializados para el control difuso. • Ver las características de cada software. • Relacionarse con los proveedores de microcontroladores, DSP, y un poco con los FPGA. • Ver las características de cada compañía, y las características de cada familia. • Seleccionar un software que cumpla con los requerimientos principales del proyecto y que este al alcance del presupuesto de la institución. Son los pasos que se siguieron durante la realización del proyecto, lo que dio como resultado: un software difuso que es capaz de desarrollar un control en sistemas no lineales; en donde es posible editar, graficar y generar algoritmos difusos; la desventaja es que no puede hacer simulaciones. La pantalla principal del fuzzyTECH se muestra en la fig. 5.2.1 Todas las figuras mostradas referentes al software son del demo, ya que aun no se cuenta con el software; la desventaja es que no se puede compilar en el demo, lo que significa que aun no se han podido hacer pruebas físicas. La ventaja es que se esta usando el manual y nos relacionamos con las herramientas del fuzzyTECH. Fig. 5.2.1 Pantalla principal del software FuzzyTECH. Dentro del fuzzyTECH podemos elegir con que tipo de edición se va a trabajar. El cual hay dos formas distintas de elegir la edición: una es cuando se va a abrir el programa, desde el botón de inicio, después todos los programas, seleccionan el icono de fuzzyTECH y en el menú que se despliega se selecciona edition, en ese momento se vuelve a desplegar otro menú, pero con las diferentes ediciones que trabaja el fuzzyTECH. La otra forma es cuando esta abierto el programa entonces se puede ir a Tools, después a edición y de allí seleccionar la edición que se desee; por ejemplo, si se va a trabajar con los microcontroladores de microchip, entonces se selecciona la: fuzzyTECH 5.6 MCU-MP Edition; y si se desea trabajar con microcontroladores de motorola se selecciona: fuzzyTECH 5.6 MCU-HC08 Edition. En la figura 5.2.2 se muestra la forma de seleccionar las ediciones. Fig. 5.2.2 Forma de selección las ediciones para el hardware, en FuzzyTECH. Dependiendo a la edición seleccionada cambian los compiladores, un ejemplo se muestra en la figura 5.2.3. La edición seleccionada fue FuzzyTECH 5.55 MCU-MP y al momento de compilar se puede ver que podemos compilar en C, 16Cxx, 17Cxx, etc. Fig. 5.2.2 Forma de selección las ediciones del hardware en FuzzyTECH. En el ANEXO C se explica un ejemplo de programación en fuzzyTECH. De la misma manera se puede decir que tenemos un hardware seleccionado que es un microcontrolador de Microchip, con un tipo de encapsulado PDIP; que se muestra en la figura 5.2.2. Fig. 5.2.2 encapsulado PDIP para el microcontrolador Hasta el momento está pendiente la compra del hardware y del software seleccionado, sin embargo está la información completa para su adquisición y comenzar con las primeras pruebas. CONCLUSIONES Conclusiones Fue un poco difícil al inicio entender el proyecto, ya que es un tema del que yo no tenía conocimiento. Durante el avance fui investigando y entendiendo lo necesario como para iniciar a desarrollar el proyecto. Sé que es un tema nuevo, e incluso no muchas personas saben que existe esta lógica; por esta razón no fue fácil encontrar información. Pero con indicaciones del asesor del centro de investigación pude comprender de una manera satisfactoria. Después de entender el tema, fue más fácil encontrar la información (aunque exista poca). Al momento de contactar a los proveedores de software me fue un poco difícil porque todos proveedores son extranjeros; el idioma y los horarios no coincidían, por lo que la solucionó fue: cuando yo tenía dudas, tenía mi respuesta al día siguiente. Lo único que se invirtió fue un poco más de tiempo, pero valió la pena ya que aprendí a manejar un poco más la información en ingles. Se ha establecido una metodología para la búsqueda y selección de software y hardware especializado en base a la aplicación de los conocimientos adquiridos en la carrera de electrónica y automatización, dando como resultados satisfactorios para el laboratorio de instrumentación y desarrollo. BIBLIOGRAFÍA y PÁGINAS CONSULTADAS EN INTERNET Bibliografía Dorf, Richard C. Sistemas modernos de control. teoría y práctica. 2o edición. Addison-Wesley Iberoamericana Editorial. 203 –219 Págs. Johnson, Curtis D. Process control instrumentation technology. 7o edición. Prentice Hall Editorial. 98 – 113 Págs. Melin, P. & Castillo, O. Modelling simulation and control of non-linear dynamical systems. NY: Taylor & Francis Ing. Smith, Carlos A. y Corripro, Armando B. Control automático de procesos. teoría y práctica. 1o edición. LIMUSA Editorial. 34 - 40 Págs. Aptrinix, Company. Manual de FIDE Inform, Company. Manual del FuzzyTech Intel, Company. UT80C196KD User’s Guide. Math Works, Company. Manual of fuzzy Toolbox. Microchip, Company. PIC16C74A User’s Guide. Motorola, Company. MC68HC12E9 User’s Guide. Siemens, Company. SAB80C166 User’s Guide. Texas instrument, Company. TMS320C14 User’s Guide. Texas instrument, Company. TMS320C30 User’s Guide. Texas instrument, Company. TMS320C50 User’s Guide. Páginas de consultadas en internet Aptronix. Características del FIDE. Recuperado en Julio del 2006 de www.aptronix.com INFORM. Características del Software FuzzyTECH. Recuperado en Julio del 2006 de www.fuzzytech.com. Mathworks. Características del software de matlab fuzzy logic toolbox. Recuperado en Junio del 2006 de www.mathworks.com. National instrument. Características del FuzzyVI. Recuperado en Junio del 2006 de www.ni.com. Texas instrument. Información de los diferentes DSP compatibles con fuzzyTECH. Recuperado en Agosto del 2006 de http://focus.ti.com. Togai infralogic. Información de TILShell. Recuperado en Junio del 2006 de www.ortech-engr.com/fuzzy/togai.html. Transfer tech. Características del software FCM. Recuperado en Junio del 2006 de www.transfertech.com. GLOSARIO Conversor analógico /digital: es un dispositivo que convierte una señal analógica en una señal digital (1 y 0). Conversor digital/ analógico: es un dispositivo que convierte una señal digital en una señal analógica (corriente o voltaje). Error: es la diferencia entre la señal de referencia y la señal de salida real. Perturbación: es una señal que tiende a afectar la salida del sistema, desviándola del valor deseado. Plataforma: se refiere al sistema operativo o a sistemas complejos que a su vez sirven para crear programas, como las plataformas de desarrollo. Plataforma de desarrollo: es el entorno común en el cual se desenvuelve la programación de un grupo definido de aplicaciones. Comúnmente se encuentra relacionada directamente a un sistema operativo, sin embargo, también es posible encontrarlas ligadas a una familia de lenguajes de programación o a una interfaz de programación de aplicaciones o API por sus siglas en inglés. Proceso: operación que conduce a un resultado determinado. Señal análogica: es una señal continua en el tiempo. Señal de control: es la señal que produce el controlador para modificar la variable controlada de tal forma que se disminuya, o elimine, el error. Señal digital: es una señal que solo toma valores de 1 y 0. El PC solo envía y/o recibe señales digitales. Señal de referencia: es el valor que se desea que alcance la señal de salida. Señal de salida: es la variable que se desea controlar (posición, velocidad, presión, temperatura, etc.). También se denomina variable controlada. Sistema: consiste en un conjunto de elementos que actúan coordinadamente para realizar un objetivo determinado. Sistema de control en lazo abierto: en estos sistemas de control la señal de salida no es monitoreada para generar una señal de control. Sistema de control en lazo cerrado: es aquel en el cual continuamente se está monitoreando la señal de salida para compararla con la señal de referencia y calcular la señal de error, la cual a su vez es aplicada al controlador para generar la señal de control y tratar de llevar la señal de salida al valor deseado. También es llamado control realimentado. Sistema operativo: es un conjunto de programas destinados a permitir la comunicación del usuario con un ordenador y gestionar sus recursos de manera eficiente. Comienza a trabajar cuando se enciende el ordenador, y gestiona el hardware de la máquina desde los niveles más básicos. ANEXO A APLICACIÓN DE LA LÓGICA DIFUSA El control consiste en realizar un control de temperatura de un invernadero. Actualmente, el control de temperatura es de forma manual, y lo lleva acabo un operador, el cual cierra y abre la válvula del aire caliente, y mantiene una temperatura aproximada de 230C. El objetivo del proyecto es realizar un control por medio de lógica difusa aprovechando la experiencia del operador. Como primer paso es clasificar las posibles temperaturas que puede haber en el proceso, por ejemplo: CALIENTE, TIBIO, FRÍO. Tal clasificación (CALIENTE, TIBIO, FRÍO) es llamado conjuntos difusos. Un conjunto difuso es un conjunto con límites borrosos o no muy bien definidos. Una vez clasificadas las temperaturas del invernadero en conjuntos difusos, se les asignan valores que se les asociará a cada conjunto difuso tienen necesariamente que ver con el problema, este es el caso del invernadero. Este se hace tomando en cuenta la experiencia del operador, quien define los rangos de temperatura (T) mostrados en la figura A1, para cada conjunto. T(0C) = FRÍO T ≤18 TIBIO 18<T<30 CALIENTE T ≥ 30 Fig. A1 Intervalos de temperatura Supongamos que el invernadero mide la temperatura y su medición es de 29.90C como se muestra en la figura A2, la temperatura pertenecer al conjunto TIBIO, pero está únicamente a 0.1 grados para que se CLIENTE, se puede decir que la temperatura es prácticamente, o casi caliente pero para la clasificación se dice que esta TIBIO, de este razonamiento surge la necesidad de definir un rango donde 29.90C este dentro del conjunto CALIENTE. FRÍO TIBIO 18 CALIENTE 30 Temperatura (0C) Fig. A2 Clasificación de temperaturas. La lógica lo hace asignándole a la medición un porcentaje de pertenencia al conjunto debido a que esta numéricamente cerca del mismo, por ejemplo 29.90C es 98% pertenece a CALIENTE. Este concepto en lógica difusa es llamado grado de membresía, que puede tomar valores de 0 a 1, donde 1 representa total pertenencia al conjunto y 0 ninguna pertenencia al conjunto. De esta manera, al igual como razonamos los humanos podemos incluir en los conjuntos conceptos como: “Está poco menos que caliente” o “Está demasiado frío” e incluso “Está medio tibio”. Se definen los nuevos intervalos de los conjuntos difusos como se muestra en la figura A3, la cual es llamada función de membresía ( µ ). La forma de los intervalos se define tomando en cuenta la experiencia del operador del invernadero. A esta traducción de los valores del mundo real a Lógica Difusa, a través de funciones de membresía, se le llama Fuzzificación. Grado de membresía Función de membresía FRÍO TIBIO CALIENTE 1 18 22 26 30 Temperatura (0C) Fig. A3 Función de membresía papara temperatura En la figura A3 se pueden apreciar los siguientes elementos: • Eje Y es el grado de membresía, que describe cuantitativamente la función de membresía. • Eje X en la temperatura. • El nombre asociado (caliente, tibio, frío, etc.) es llamado significancia lingüística y describe cualitativamente la función de membresía. • La forma de la función de membresía se debe elegir de acuerdo al problema que se desea resolver, existen muchas formas diferentes entre ellas: triangular, gaussiana, trapezoidal, sigmoidal, etc. • Se puede observar que una medición de temperatura, por ejemplo 290C, se le asocia un grado de membresía tanto en Caliente como en TIBIO como se muestra en la figura A4. Lo que puede interpretarse como: 290C más que tibia o 290C es prácticamente es una temperatura mucho caliente. Grado de membresía Función de membresía TIBIO FRÍO CALIENTE 1 0.82 0.22 18 22 26 29 30 Temperatura (0C) Fig. A4 Grados de pertenencia de T = 290C. El grado de membresía asociado dependiendo de la función de membresía, es llamado grado de pertenencia (GP) y se representa: GP(290C, CALIENTE) = 0.82 GP(290C, TIBIO) = 0.22 GP(290C, FRÍO) = 0 A partir de información de la figura A3 se desea tomar la decisión de abrir o cerrar la válvula que permitirá el paso del aire caliente para controlar la temperatura y mantener el invernadero siempre a 230C, a este paso en lógica difusa se le llama inferencia. El operador del invernadero, hace esta misma función siguiendo su lógica y experiencia. Por ejemplo, el sabe que para una temperatura de 100C es necesario abrir 3 4 partes la válvula y para un temperatura de 400C hay que cerrar totalmente la válvula. Esta información será plasmada en la tabla A1.1 y en función de membresía de salida de figura A5. Temperatura Descripción FRÍO Abrir válvula de aire caliente TIBIO Entre-abrir la válvula CALIENTE Cerrar válvula de aire caliente Tabla A1.1 Reglas de lógica difusa. Al conjunto de reglas de la tabla AA1 se le llaman reglas difusas. Y pueden ser escritas de la forma SI...ENTONCES, por ejemplo: SI FRIO ENTONCES ABRE VÁLVULA SI TIBIO ENTONCES ABRE Y CIERRA VÁLVULA SI CALIENTE ENTONCES CIERRA VÁLVULA Grado de membresía Función de membresía salida CERRAR Válvula 1 0.3 ABRIR Válvula 0.5 0.7 1 Fig. A5 Función de membresía de salida. En el eje x se representa el rango de operación de la válvula; donde 1 representa una válvula totalmente cerrada, 0.3 representaría abrir la válvula al 30%. A partir de las funciones de membresía de entrada y de salida se aplica la siguiente metodología: 1. Proceso de inferencia. Para cada grado de pertenencia asociados a la medición de temperatura se generan conclusiones. Por ejemplo, para los grados de pertenencia asociados a la medición de 290C se debe concluir la acción que se realizará y existen diversos métodos, entre ellos: • Método de truncamiento, que consiste en cortar la función de membresía de salida, de tal forma que los valores mayores al grado de pertenencia asociados desaparezcan. Como se muestra en la figura A6. Grado de membresía 1 CERRAR Válvula 0.82 ABRIR Válvula 0.22 0.3 0.5 0.7 1 Válvula Fig. A6 Conclusión por método de truncamiento • Método de escalamiento, consiste en escalar la función de membresía en proporcion con el grado de pertenencia como se muestra en la figura A7. Grado de membresía 1 0.82 CERRAR Válvula ABRIR Válvula 0.22 0.3 0.5 0.7 Fig. A7 Conclusión por método de escalamiento 1 Válvula 2. Se genera la conclusión final combinando las conclusiones difusas como se muestra en las figuras A8 y A9. Grado de membresía Conclusión inferida 1 0.82 0.22 0.3 0.5 0.7 1 Válvula Fig. A8 Conclusión inferida final método de truncamiento Grado de membresía Conclusión inferida 1 0.82 0.22 0.3 0.5 0.7 1 Válvula Fig. A9 conclusión inferida final por el método de escalamiento 3. Finalmente la conclusión final se defuzzyfica, es decir, se lleva nuevamente al mundo real, esta información indica cuanto debe abrir la válvula. Para ello existen diversas técnicas de defuzyficación: • Promedio de máximos, que consiste en calcular el promedio de todas las variables que tienen el mayor valor de grado de membresía. Para el método de truncamiento se obtiene 0.195 es decir la válvula se abrirá 19.5%. Lo cual se ve de manera grafica en la figura A10. • Método de centroide, que consiste en calcular el promedio ponderado de la salida. Para el método de truncamiento se obtiene 0.346 es decir la válvula se abrirá 34.6%, como se muestra en la figura A10. Grado de membresía 1 Defuzzyficación 0.195 0.346 0.82 0.22 0.3 0.5 Fig. A10 Defuzzyficación 0.7 1 Válvula Sin embargo se puede apreciar que el correcto funcionamiento del sistema dependerá ampliamente del comportamiento de la dinámica del proceso y dicho conocimiento surge de la experiencia del operador humano. A pesar de ello, los conceptos de la lógica difusa han encontrado gran campo de aplicación en sistemas cuyo comportamiento es difícil de predecir o modelar matemáticamente. El método utilizado en esta sección puede visualizarse como controlador en lazo abierto que se ha sintonizado para una sola temperatura, lo que se desea es generalizar un problema para cualquier temperatura de referencia. ANEXO B ENCAPSULADOS El encapsulado requerido para el PIC16C77 es el PDIP que se muestra en la figura B1. Fig. B1: Encapsulado PDIP El encapsulado para el UT80C196KD de Intel es el que se muestra en la figura B2. Fig. B2: Encapsulado QFP El encapsulado PLCC es el que describe Motorola para el MC68HC12E9, y se muestra en la figura B3. Fig. B3: Encapsulado El microcontrolador de Siemens SAB80C166 tiene un encapsulado PQFP, y se muestra en la figura B4. Fig. B4: Encapsulado PQFP Para los DSP de Texas instrument, el encapsulado para el TMS320C14 es el que se muestra en la figura B5. Fig. B5 Encapsulado PLCC Para el TMS320C30 el encapsulado que tiene es el de la figura B6 y B7. Fig. B6: Encapsulado CPGA Fig. B7: Encapsulado PQFP El TMS320C50 describe un encapsulado tipo BQFP, que se muestra en la figura B8. Fig. B8: Encapsulado BQFP ANEXO C PANTALLAS PRINCIPALES DEL SOFTWARE FUZZYTECH Cuando se inicia fuzzyTECH la pantalla inicial es la que muestra la figura C1. En donde se ve que tenemos al Project Editor, que es en donde se colocan las entradas y el bloc de reglas. Fig. C1: pantalla principal de fuzzyTECH. En esta pantalla muestra el Treeview en donde se puede uno cambiar a las diferentes ventanas que se tenga; por ejemplo, a las entradas, salida, text, etc. Como se menciono anteriormente podemos cambiar las ediciones según sea el hardware que se utilice. Y de acuerdo al hardware, dependen los compiladores. En la figura C2 se muestra como se inicio colocando las entradas, el bloque de reglas y la salida. Fig. C2. Colocación de las entradas, el bloque de reglas y la salida en el Project editor. Y a su vez cuando hacemos doble clic en editor de reglas, este despliega una ventana; como se muestra en la Fig. C3. En donde podemos programar o cambiar las reglas del programa. Fig. C3: Ventana del editor de reglas. Al igual si se da doble clic en las entradas, también despliegan una ventana en donde se puede hacer cambios a los parámetros establecidos; la figura C4 muestra tales ventanas. Fig. C4: Ventanas desplegadas de las entradas. También cuando de hace doble clic en la salida se despliega una ventana en donde muestra una gráfica de comportamiento de las señales. La figura C5 lo muestra. Fig. C5: Ventana desplegada de la salida. Por último de una manera general no sólo se puede ver una por una sino que se pueden tener todas al mismo tiempo desplegadas. En la figura C6 se muestra. Fig. C6: todas las ventanas desplegadas.