Está en la página 1de 97

MEMORA DE ESTADA PROFESIONAL

DISEO E IMPLEMENTACIN DE UN CONTROLADOR DIFUSO EN UN dsPIC30F4011 PARA UNA HLICE DE PASO VARIABLE

PRESENTA: LUIS ALBERTO SALAZAR HERNNDEZ

PARA OBTENER EL TTULO DE: INGENIERO EN MECATRNICA

ASESORES: DR. NAZARIO BAUTISTA ELIVAR DR. W. FERMN QUERRERO SNCHEZ

ENERO 2012

Resumen
El presente trabajo de estada, cuya realizacin se llevo a cabo en el Laboratorio de Investigacin de Sistemas Dinmicos Controlables en la Facultad de Ciencias Fsico Matemticas de la Benemrita Universidad Autnoma de Puebla contiene una introduccin a la lgica difusa y al tipo de hlices utilizadas en aeronutica. Se realiza el diseo de un controlador difuso tipo Mamdani para obtener el ngulo de ataque deseado de una hlice de paso variable dependiente de la altura y la presin del aire sobre una aeronave. Se realiza la simulacin del controlador difuso en el software de LabVIEW y MATLAB para construir una tabla comparativa con los resultados obtenidos experimentalmente y para monitorear el comportamiento real del sistema, para las pruebas de laboratorio se utilizaron potencimetros lineales de 1K como entradas. Se construy un pequeo prototipo de un mecanismo pin-cremallera para efectuar el cambio de paso de la hlice. Se desarroll y program un algoritmo de control con ayuda del compilador PIC C de CCS para su implementacin en un dsPIC30F4011. Como un trabajo a futuro, se implementar el controlador diseado, sobre un planeador elctrico, teniendo como referencia un sensor de presin absoluta MPXA6115A de Freescale Semiconductor que permite el clculo de altura y un sensor de presin diferencial MPX5010 de Freescale Semiconductor para el clculo de presin del aire sobre el planeador.

Contenido

ndice de Contenido .................................................................................................................. IV ndice de figuras ........................................................................................................................ VI ndice de tablas ....................................................................................................................... VIII Introduccin .............................................................................................................................. VI Estado del arte ......................................................................................................................... VII 1. Antecedentes y definiciones bsicas 1.1. Introduccin a la lgica difusa ......................................................................................... 1.1.1. Fundamentos de los sistemas difusos .................................................................... 1.2. Sistema Propulsor ............................................................................................................ 1.2.1. Conocimientos fundamentales............................................................................... 1.2.2. Hlice de paso fijo .................................................................................................. 1.2.3. Hlice de paso variable .......................................................................................... 2. Prototipo 2.1. Sistema electrnico ......................................................................................................... 2.2. Sistema mecnico ............................................................................................................ 2.3. Conjuncin y prueba del prototipo .................................................................................. 3. Diseo e implementacin del controlador difuso 3.1. Parmetros del controlador ............................................................................................ 3.1.1. Conjuntos difusos y funciones de pertenencia ....................................................... 3.1.2. Variables lingsticas .............................................................................................. 3.1.3. Reglas difusas ........................................................................................................ 3.2. Simulacin del controlador en LabVIEW .......................................................................... 3.3. Simulacin del controlador en MATLAB ........................................................................... 3.4. Implementacin del controlador difuso ...........................................................................
4

3.4.1. Antecedentes MCU, DSP y DSC .............................................................................. 3.4.2. Microcontrolador dsPIC30F4011 ............................................................................ 3.4.3. Implementacin en el microcontrolador dsPIC30F4011 ......................................... 4. Resultados 4.1. Resultados ........................................................................................................................ 5. Conclusiones y trabajo futuro 5.1 Conclusiones ..................................................................................................................... 5.2 Trabajo futuro ...................................................................................................................

Bibliografa
A. Cdigos de Programacin

A.1. Cdigo de MATLAB ........................................................................................................... A.2. Cdigo del dsPIC30F4011 .................................................................................................

ndice de figuras

FIGURA 1.1 . . .

ndice de tablas

7ABLA 1.1 . . .

Introduccin

La lgica difusa es utilizada cuando la complejidad del proceso en cuestin es muy alta y no existen modelos matemticos precisos, para procesos altamente no lineales y cuando se envuelven definiciones y conocimiento no estrictamente definido (impreciso o subjetivo). Esta tcnica se ha empleado con bastante xito en la industria, principalmente en Japn, y cada vez se est usando en gran multitud de campos. La primera vez que se us de forma importante fue en el metro japons, con excelentes resultados. Los sistemas difusos han sido utilizados en una gran variedad de aplicaciones en ingeniera, ciencia, negocios, medicina, psicologa, entre otros campos. En ingeniera, algunas areas de aplicaciones potenciales incluye [1]:

Aviacin: Control de vuelo, control de motor, sistemas avinicos, diagnostico de fallas, navegacin. Sistemas Automatizados de autopistas: Manejo automtico, frenado, control de aceleracin de vehculos. Automviles: Frenos, transmisin, suspensin y control de motor. Vehculos autnomos: Tierra y bajo agua. Control de procesos: Temperatura, presin, control de nivel, diagnostico de fallas. Robtica: Control de Posicin y planeacin de trayectorias.

En el Laboratorio de Investigacin de Sistemas Dinmicos Controlables en la Facultad de Ciencias Fsico Matemticas (FCFM) de la Benemrita Universidad Autnoma de Puebla (BUAP) se tiene una hlice de paso variable de 30 cm de dimetro. Se requiere que se disee e implemente un controlador difuso para mantener el correcto ngulo de ataque realizando pruebas en un prototipo.

Las entradas al sistema sern propuestas en el presente trabajo como dos potencimetros lineales que simulan dos sensores para su futura implementacin, debido a que por el momento se sigue evaluando el tipo de sensores a utilizar para el sistema final en una aeronave no tripulada (UAV), aunque se conoce que las entradas fsicas al sistema deben ser la altura de la aeronave y la presin del aire. Las dos entradas analgicas provenientes de los potencimetros toman valores entre 0 volts y 5 volts. La elaboracin del prototipo es para realizar pruebas experimentales del controlador difuso en el laboratorio una vez diseado e implementado en un dsPIC30F4011. Se requiere de un seguimiento en el diseo mecnico donde se consideren todos los aspectos necesarios como peso, material, costo, entre otros para poder implementar un sistema integro ya que el principal tema de este trabajo es el diseo e implementacin del controlador difuso.

Planteamiento del Problema Se requiere un controlador difuso para una hlice de paso variable. Se cuenta con elementos fsicos como motores brushless y servomotores los cuales son necesarios acoplar en un mecanismo para obtener el ngulo deseado. El prototipo se necesita para realizar pruebas experimentales del controlador difuso. Objetivo general Disear e implementar un controlador difuso sobre una hlice de paso variable para obtener el ngulo de ataque deseado en el despegue o aterrizaje de una aeronave, as como el ngulo al alcanzar una determinada altura sobre la superficie y una velocidad de vuelo lineal. Objetivos particulares Construir un prototipo que produzca un movimiento lineal para el cambio de paso de la hlice por la mecnica de la misma. Elaborar el algoritmo del controlador difuso en lenguaje C para su implementacin en un dsPIC30F4011. Simular el controlador difuso en el Toolkit Fuzzy System Designer de LabVIEW para la comprobacin del algoritmo desarrollado en lenguaje C. Simular el controlador difuso en MATLAB para la comprobacin del algoritmo desarrollado en lenguaje C. Simular el controlador difuso en el Fuzzy Logic Toolbox de MATLAB para la comprobacin del algoritmo desarrollado en lenguaje C. Implementar el controlador difuso en un dsPIC30F4011.
10

Organizacin del trabajo El presente trabajo se encuentra distribuido en 5 captulos y 1 apndice. En el Capitulo 1, se da una introduccin al tema de lgica difusa y al tipo de hlices que son utilizadas en una aeronave. En el captulo 2, se presenta la construccin del prototipo para probar en controlador difuso, as como el equipamiento de la electrnica. En el captulo 3, se muestra el diseo, simulacin en LabVIEW y MATLAB del controlador, as como la implementacin en un dsPIC30F4011 mediante un algoritmo programado en lenguaje C. En el captulo 4, se muestran los resultados obtenidos en el trabajo desarrollado y finalmente en el captulo 5, se dan a conocer las conclusiones del trabajo realizado as como el trabajo a futuro del tema. En el apndice A, se muestran los cdigos de programacin del controlador difuso tanto en MATLAB, como el de lenguaje C para el dsPIC30F4011.

11

Estado del arte

Lot A. Zadeh es considerado el padre de la lgica difusa, aceptndose como fecha de su nacimiento 1965, el ao de la publicacin de su artculo Fuzzy Sets en la revista Information and Control. Este artculo fue el resultado de una idea, mencionada por el profesor Zadeh en 1962, sobre la necesitad de crear un nuevo tipo de matemticas, unas matemticas que permitieran expresar el conocimiento humano en trminos distintos a las distribuciones de probabilidad. Desde los inicios de la lgica difusa no slo se han producido una gran cantidad de trabajos tericos y aplicados, sino que han visto la luz multitud de productos comerciales basados en dicha teora, originando lo que ha dado en llamarse tecnologa fuzzy [2,4]. Durante la primera dcada de vida de la lgica difusa los nacientes grupos de investigacin fueron incorporando al campo difuso las estructuras matemticas tpicas: relaciones, funciones, grafos, grupos, autmatas, gramticas, lenguajes, algoritmos y programas. As, R. E. Bellman y Zadeh trabajaron en sistemas de toma de decisin en entornos difusos. G. Lako estudi el problema desde un punto de vista lingstico. J. A. Goguen investig sobre metodologas para la caracterizacin de estructuras matemticas difusas, R. E. Smith y M. Sugeno trabajaron en medidas difusas, J. C. Dunn y J. C. Bezdeck en clustering difuso, C. V. Negoita en la recuperacin de informacin difusa y H. J. Zimmermann estudi la optimizacin difusa. En 1974, S. Assilian y E. H. Mamdani, del Queen Mary College de Londres, establecieron el primer hito en cuanto a aplicacin industrial del control difuso. Mediante un sistema basado en reglas lingsticas consiguieron controlar un generador de vapor que no haban sido capaces de mantener bajo control mediante tcnicas convencionales. Esta realizacin prctica fue uno de los frutos de la Tesis Doctoral de S. Assilian. Posteriormente, en 1976, las compaas Blue Circle Cement y SIRA desarrollaron en Dinamarca un controlador para un horno de cemento, el cual incorporaba el conocimiento de operadores experimentados para su funcionamiento. De esta forma, la lgica difusa comenz poco a poco a adentrarse en los mbitos industriales. En 1977, Mamdani y King publican The application of fuzzy control

12

systems to industrial processes, en el que describen cmo emplear la lgica difusa como mtodo de control para sistemas industriales complejos. A partir de los aos 80 son las empresas japonesas las que comienzan a destacar en la utilizacin de la lgica difusa. As, Fuji Electric desarroll una planta de tratamiento de aguas que empleaba un sistema de control difuso, lo que les permiti adquirir los conocimientos necesarios para as desarrollar el primer controlador difuso de propsito general FRUITAX (Fuzzy RUle Information processing Tool of Advanced control), lanzado al mercado en 1985, y que estaba constituido bsicamente por un procesador de 16 bits junto con un sistema de inferencia difusa basado en FORTRAN. Al ao siguiente se produjo otro de los hitos ms importantes en la historia de la lgica difusa, naci el primer chip VLSI para la realizacin de inferencias difusas desarrollado por M. Togai y H. Watanabe. Los chips VLSI incrementaron en gran medida las posibilidades de eleccin de sistemas basados en reglas para aplicaciones de tiempo real. En 1987, Seiji Yasunobu y sus colaboradores de la empresa Hitachi pusieron a punto el sistema de control del metro de la ciudad de Senday. El enorme xito que tuvieron estos proyectos provoc en Japn una autntica revolucin de las aplicaciones basadas en la lgica difusa, favoreciendo que en 1988 el gobierno japons pusiese en marcha un estudio minucioso sobre el establecimiento de proyectos de lgica difusa entre las Universidades y la industria. Fruto de este estudio se implantaron dos programas de investigacin a nivel nacional sobre lgica difusa, uno de ellos liderado por el MITI (Ministry of International Trade and Industry), y el otro por la STA (Science and Technology Agency). A travs del programa dependiente del MITI se cre el consorcio denominado LIFE (Laboratory for International Fuzzy Engineering research), el cual agrupaba a ms de 50 compaas y posea un presupuesto de 5.000 millones de yenes (unos 50 millones de dlares) para seis aos. El xito de la lgica difusa no slo se ha demostrado a niveles industriales, sino tambin a nivel del mercado de consumo. En 1987, Matsushita Electric Industrial Co. (conocida fuera de Japn como Panasonic) fue la primera empresa en emplear la lgica difusa a un producto de consumo, concretamente en un sistema de ducha que controlaba la temperatura del agua. Esta misma compaa lanz en 1990 una lavadora automtica basada en lgica difusa. A partir de entonces, una gran cantidad de compaas japonesas se apresuraron a lanzar productos que utilizaban de una u otra forma la lgica difusa: hornos, cocinas, refrigeradores, etc. Actualmente son muchos los aparatos de consumo que incluyen algn tipo de controlador difuso. Por ejemplo, tanto las cmaras fotogrcas como las de vdeo suelen emplear un controlador difuso para realizar el enfoque automtico o el ajuste del tiempo de exposicin [3].En las cocinas de las casas tambin est presente la lgica difusa, ya que muchos
13

electrodomsticos la emplean en sus sistemas de control para ahorrar energa o agua, mejorando considerablemente su eciencia. La industria del automvil es otro de los sectores donde se ha aplicado la lgica difusa con mucho xito. Se han aplicado controladores difusos en sistemas de suspensin activa, en sistemas de frenado y en el control electrnico de motores. Con la acuciante necesidad de eliminar la dependencia del petrleo, casi todos los fabricantes tienen abiertas lneas de investigacin sobre vehculos hbridos. En este campo tan tremendamente complejo tambin est triunfando la lgica difusa como un excelente mtodo de control, y son muy numerosos los avances que se estn consiguiendo gracias al control difuso [2,4].

14

Captulo 1

Preliminares y definiciones bsicas


El objetivo fundamental que persigue este captulo, es describir los conceptos que permitan comprender y disear sistemas que, en alguna fase de su implementacin, usen trminos relativos a la interpretacin del conocimiento basado en la teora de la lgica difusa, as como conocer los diferentes tipos de hlices utilizadas en aviacin.

1.1. Introduccin a la lgica difusa


En 1965, el profesor de teora de sistemas de la Universidad de California (Berkeley), Lot A. Zadeh public su famoso artculo Fuzzy Sets. En este trabajo present a la comunidad cientca internacional la idea de conjunto difuso, y por e xtensin, de lo que se conocera como lgica difusa. Desde entonces, el trmino lgica difusa, o fuzzy logic, ha sido empleado desde dos puntos de vista diferentes: por un lado, la forma estricta del trmino hace referencia a un sistema lgico que generaliza la lgica digital clsica para admitir el razonamiento impreciso o bajo incertidumbre; por el otro, en un sentido ms amplio y muy comnmente utilizado, la lgica difusa engloba todas las teoras y tecnologas que emplean conjuntos difusos. En cualquier caso, la lgica difusa ha conseguido en menos de medio siglo revolucionar la tecnologa e impulsar la inteligencia articial mediante la conjuncin de los fundamentos matemticos, la lgica y el razonamiento [2]. La lgica difusa es una lgica multivaluada que permite valores intermedios para poder denir evaluaciones convencionales. De esta forma, no se determina si un elemento pertenece o no a un conjunto, sino la calidad de la pertenencia evaluada en un rango completo desde la no pertenencia hasta la pertenencia con la mxima calidad posible. Esta caracterstica permite el anlisis del razonamiento aproximado, mucho menos estricto que la lgica bivaluada tradicional.
15

Tomando como base la imprecisin del razonamiento humano, pero bajo un planteamiento matemtico, la lgica difusa es capaz de generar la respuesta a una situacin basndose en el conocimiento adquirido sobre sta, que podr ser inexacto e incompleto. Por ejemplo, mediante la lgica clsica se puede denir un conjunto de personas altas, pero esto obliga a establecer una frontera clara que separe este subconjunto del resto de elementos, como una altura de 1,80 m. Este razonamiento clsico dejara a las personas de 1, 79 m de estatura fuera del conjunto de personas altas. Es evidente que este razonamiento tan estricto de la lgica clsica choca frontalmente con el razonamiento humano, mucho ms vago e impreciso. La lgica difusa permite establecer lmites suaves (o difusos) para los conjuntos, haciendo que no todo tenga que ser blanco o negro, sino que es posible la existencia de niveles de grises. Siguiendo con el ejemplo pero desde el punto de vista difuso, se podra decir que una persona que mida 1,90 m est claro que es alta, o la calidad de su pertenencia al conjunto de personas altas es 1. Una que mida 1,50 m est claro que no lo es, es decir, tiene un grado de pertenencia 0 a dicho conjunto. Con las alturas intermedias se podra decir que la calidad de su pertenencia al conjunto variara entre 0 y 1, siendo mayor el grado de pertenencia cuanto ms alta sea la persona a clasicar, por ejemplo 0,25 para las personas de 1,60 m y 0,75 para las de 1,80 m. As, una persona de 1,79 m no estara excluida del conjunto de personas altas, aunque la calidad de su pertenencia a dicho conjunto sera menor que la de otra persona de mayor estatura. Desde sus inicios la lgica difusa ha tenido que enfrentarse con constantes ataques por parte de sus detractores, y su nacimiento no fue todo lo prometedor que hoy cabra esperar viendo el xito que ha alcanzado. Pese al rechazo que gran parte de la comunidad cientca expresaba inicialmente a esta teora, en muchos casos tan solo por su nombre o por hacer nfasis en el concepto de imprecisin, se fueron creando grupos de investigacin sobre esta temtica tanto en Europa como en Estados Unidos. La posterior incorporacin de los pases asiticos al desarrollo difuso fue fundamental para dar el ltimo impulso a la teora de Zadeh. La capacidad de las empresas japonesas para aplicar la lgica difusa a sus productos, unida a la estrecha colaboracin de estas empresas con las Universidades japonesas, fomentaron la transferencia de los conocimientos sobre lgica difusa al campo de la ingeniera y el control. Como el propio Zadeh dijo en una entrevista concedida a La Vanguardia en el ao 2004,. . . en Japn antes de discutir tericamente mi lgica se pusieron a hacerla funcionar en la prctica, y se impuso. As, desde los aos 80 Japn es el lder indiscutible del mercado de las aplicaciones borrosas y foco de innumerables avances de esta teora [2].

16

1.1.1. Fundamentos de los sistemas difusos


Se considera un sistema difuso, cuando al menos uno de sus componentes emplea lgica difusa. La planta dentro de un sistema de control, es el sistema fsico que se desea estudiar, controlar o monitorizar, de forma que la lgica difusa no estar implcitamente presente en ella; sin embargo, la lgica difusa puede utilizarse para obtener un modelo de la planta (modelo difuso), el cual, permitir conocer el comportamiento de la misma tanto de forma matemtica como lingstica. El controlador es el elemento que, mediante la aplicacin de distintas seales de control, intenta provocar que la planta tenga el comportamiento deseado por el diseador, segn distintos criterios de desempeo, calidad y/o robustez. El algoritmo de control implementado por ste puede estar realizado mediante lgica difusa, denominndose en tal caso controlador difuso. En muchas ocasiones se utilizan controladores difusos cuando el modelo de la planta es desconocido, o demasiado complejo como para ser obtenido, por lo que se suele hablar de sistema de control difuso siempre que se emplea un controlador basado en lgica difusa en el sistema. A continuacin se describen las deniciones y operaciones principales de la lgica difusa, as como las fases y conceptos asociados a la generacin de conocimiento basado en un conjunto de reglas.

a) Conjuntos difusos y funciones de pertenencia


Los conjuntos difusos son una extensin de los conjuntos ordinarios que permiten tratar la imprecisin de forma matemtica. Un conjunto ordinario contiene la totalidad de los entes que poseen una propiedad comn. Es decir, dada una propiedad de denicin de un conjunto, todos los elementos que cumplan dicha propiedad pertenecern al conjunto, y el resto no. Cuando la propiedad es clara, la pertenencia o no de los elementos a un conjunto queda perfectamente denida, sin embargo, si la denicin de un conjunto se realiza de forma ambigua o imprecisa, ser imposible saber con certeza si ciertos elementos pertenecen o no al conjunto. Por ejemplo, dado un conjunto de nmeros, su pertenencia al conjunto de nmeros mayores de 100 est perfectamente denida, pero la pertenencia de stos al conjunto de nmeros mucho mayores de 100 ya no estara tan clara, al ser su denicin imprecisa. La diferencia entre un conjunto difuso y uno ordinario es que los lmites de los difusos no estn denidos de forma estricta, sino mediante una funcin denominada funcin de
17

pertenencia. En la lgica clsica, un elemento pertenecer o no a un determinado conjunto (grado de pertenencia 1 0 respectivamente), mientras que en la lgica difusa, un elemento puede pertenecer a un conjunto con un grado de pertenencia entre 0 y 1. Al igual que en la lgica clsica, los valores 1 y 0 representan respectivamente la pertenencia absoluta o no del elemento al conjunto, pero en el caso difuso se puede pertenecer a un conjunto con un grado intermedio. Un concepto fundamental en la teora de conjuntos difusos es el grado de pertenencia. El grado de pertenencia representa la calidad, expresada con un nmero entre 0 y 1, con la que un elemento pertenece a un determinado conjunto; es decir, la compatibilidad del elemento con el concepto representado por el conjunto. La funcin que permite obtener el grado de pertenencia de un elemento a un conjunto difuso se denomina funcin de pertenencia, y se suele denotar mediante el smbolo griego . La funcin de pertenencia del conjunto difuso A se denota como A, y el grado de pertenencia del elemento x al conjunto difuso A, como A(x). El dominio de denicin de la funcin de pertenencia del conjunto A se conoce como universo de discurso de dicho conjunto, y recoge todos los posibles valores de la variable x que pueden ser evaluados mediante la funcin de pertenencia A(x). De esta forma, un subconjunto difuso A de un conjunto X, puede denirse mediante una aplicacin A que relaciona cada elemento x X con su grado de pertenencia al conjunto A, A(x) *0, 1+. El grado de certeza de la armacin x pertenece a A depende de la denicin de la aplicacin A(x), de forma que mientras ms se aproxime el grado de pertenencia a uno, mayor veracidad tendr dicha armacin [2,4].

Definiciones bsicas
Denicin 1.1 Conjunto difuso. Sea X un conjunto no vaco, un conjunto borroso A est caracterizado por: A(x): X *0, 1+, (1.1)

donde A(x) representa el grado de pertenencia del elemento x sobre el conjunto borroso A para cada x X. A est completamente determinado por el conjunto de pares: A = {(x, A(x)), x X} (1.2)

Como se observa en la expresin (1.2), un conjunto difuso queda caracterizado mediante su funcin de pertenencia.

18

En la Figura 1.1, se pueden observar distintos ejemplos de funciones de pertenencia, todas ellas con un universo de discurso X *5, 5+. La primera, A(x), es la funcin de pertenencia de un conjunto ntido, ya que slo genera grados de pertenencia 0 1, mientras que el resto son funciones de pertenencia difusas: B(x) es una funcin de pertenencia no convexa denida a trozos, C(x) una gaussiana y D(x) una funcin de pertenencia S.

Figura 1.1 Ejemplos de funciones de pertenencia. Denicin 1.2 Conjunto difuso normalizado. Sea A un conjunto difuso denido en X, se dice que A es un conjunto borroso normalizado si y slo si 0 A(x) 1. Dado que un grado de pertenencia mayor de uno no tiene mucho sentido lgico, normalmente siempre se emplean conjuntos borrosos normalizados, aunque no se mencione explcitamente. Denicin 1.3 Conjunto difuso nulo o vaco. Sea A un conjunto difuso denido en X, se dice que A es un conjunto difuso nulo o vaco, A = , si y slo si A(x) = 0, x X. Es decir, A es un conjunto difuso nulo si no existe ningn elemento cuyo grado de pertenencia al conjunto sea distinto de cero.

19

Denicin 1.4 Frontera de un conjunto difuso. Sea A un conjunto difuso denido en X, la frontera de A es el subconjunto de X cuyos elementos tienen grados de pertenencia en A comprendidos entre cero y uno. Denicin 1.5 Peso o altura de un conjunto difuso. Sea A un conjunto difuso denido en X, el peso o altura de A es el mximo valor de la funcin de pertenencia A. Si A es un conjunto difuso normal (y normalizado), su peso ser 1.

Tipos bsicos de funciones de pertenencia


A continuacin se denirn las funciones de pertenencia ms comnmente ut ilizadas, indicando en cada caso sus caractersticas y propiedades. 1.- Funcin de pertenencia triangular. Una funcin de pertenencia triangular, Tri[a, b, c+(x), con a b c, se dene segn la expresin (1.3).

Tri[a, b, c](x) =

< < < (1.3)

Figura 1.2 Funcin de pertenencia triangular.

20

En la Figura 1.2 se representa la funcin de pertenencia Tri*6, 4, 7+(x), cuyo universo de discurso es X *10, 10+. El soporte de esta funcin coincide con el intervalo (6, 7), y su ncleo con el valor 4. 2.- Funcin de pertenencia trapezoidal. Una funcin de pertenencia trapezoidal, Trap*a, b, c, d+(x), siendo a b c d se dene segn la expresin (1.4).

< < < < (1.4)

Trap[a, b, c, d](x) =

Figura 1.3 Funcin de pertenencia trapezoidal. En la Figura 1.3 se representa un ejemplo de funcin de pertenencia trapezoidal con universo de discurso X *10, 10+. En este caso, dicha funcin puede denirse como Trap*8,5, 1, 8+(x). El soporte de dicha funcin coincide con el intervalo (8, 8), y su ncleo con *5, 1+. 3.- Funcin de pertenencia gaussiana. Una funcin de pertenencia gaussiana, Gauss[c, +(x), se dene segn la expresin (1.5), siendo c su centro y > 0 el ancho de la funcin de pertenencia. Gauss[c, ](x) = e

(1.5)
21

En la Figura 1.4 se muestra un ejemplo de funcin de pertenencia gaussiana, cuyo centro es c = 3 y su ancho = 1,5. Un posible valor nito para el soporte podra ser (c 2, c + 2), lo que en este ejemplo concreto sera (0, 6).

Figura 1.4 Funcin de pertenencia gaussiana.

4.- Funcin de pertenencia campana. Una funcin de pertenencia campana, Campana*, , c+(x), se dene segn la expresin (1.6), siendo c el centro de la funcin de pertenencia, y > 0 y = 0 dos parmetros de ajuste. El parmetro t iene relacin con el ancho de la funcin por su parte baja, o pies, mientras que el parmetro , normalmente positivo, tiene relacin con el ancho de la funcin de pertenencia por la zona alta, u hombros. Si < 0, la funcin de pertenencia toma la forma de una campana invertida y puede ser interesante para predicados de tipo negacin (Si x no es . . . ).

Campana*, , c+(x) =
1+

1
2

(1.6)

En la Figura 1.5 se pueden ver dos funciones de pertenencia campana, una con = 3 y la otra con = 3. En ambos casos se ha tomado = 4 y c = 2.

22

Figura 1.5 Funciones de pertenencia campana. 5.- Funcin de pertenencia S. La funcin de pertenencia S, S[a, b](x), siendo a b, permite establecer una transicin suave desde un valor de pertenencia nulo a un valor de pertenencia uno. Se dene segn la expresin (1.7). En la Figura 1.6 se muestra un ejemplo de funcin S, con a = 2 y b = 6. 0 2 S[a, b](x) =
2 2

<
+ 2 + 2

(1.7)

12 1

< <

6.- Funcin de pertenencia Z. La funcin de pertenencia Z, Z[a, b](x), siendo a b, permite establecer una transicin suave desde un valor de pertenencia uno a un valor de pertenencia nulo. Se dene segn la expresin (1.8).

1 12 Z[a, b](x) = 2
2 2

<
+ 2 + 2

(1.8)

< <

23

Figura 1.6 Funcin de pertenencia S. En la Figura 1.7 se muestra un ejemplo de funcin Z, con a = 2 y b = 6.

Figura 1.7 Funcin de pertenencia Z.

7.- Funcin de pertenencia singleton o punto difuso. Una funcin de pertenencia singleton, o punto difuso, denida sobre x0 es aquella funcin de pertenencia cuyo soporte y ncleo es sup(A) = nuc(A) = x0. Tambin se puede utilizar la notacin A = x0. La funcin de
24

pertenencia singleton es denominada tambin conjunto difuso escalar. En la Figura 1.8 se muestra a modo de ejemplo la funcin de pertenencia singleton A = 0,2.

Figura 1.8 Funcin de pertenencia Singleton.

Operaciones sobre conjuntos borrosos


1.- Interseccin. La operacin interseccin de dos conjuntos difusos A y B, cuyas funciones de pertenencia son A(x) y B(x), respectiv amente, se dene como un conjunto borroso C = A B cuya funcin de pertenencia se relaciona con las de A y B med iante la ecuacin (1.8). En la Figura 1.9 se muestra un ejemplo de la operacin interseccin entre dos conjuntos difusos. C(x) = AB (x) = min {A(x), B(x)}, x X La ecuacin (1.8) tambin se puede escribir de forma abreviada como: C = A B (1.9) (1.8)

La operacin de interseccin denida a travs de la funcin mnimo se suele denominar interseccin clsica, ya que fue la denida originalmente po r el profesor Zadeh. Posteriormente han aparecido otros operadores de interseccin lgica que se pueden englobar
25

en las denominadas Tnormas. Estos operadores se vern con mayor detenimiento en la denicin 1.6.

Figura 1.9 Interseccin entre conjuntos difusos.

2.- Unin. De forma anloga a la operacin interseccin, la unin de dos conjuntos difusos A y B, cuyas funciones de pertenencia son A(x) y B(x), respectivamente, puede denirse como un conjunto difuso C = A B cuya funcin de pertenencia se relaciona con las de A y B mediante la expresin (1.10). La funcin mximo se emplea para denir el operador de unin clsico, sin embargo, la operacin de unin lgica puede generalizarse a travs de las S normas, tal como se ver en la denicin 1.7. Una muestra de la operacin de unin clsica puede verse en la Figura 1.10. C(x) = AB (x) = max {A(x), B(x)}, x X La ecuacin (1.10) tambin se puede escribir de forma abreviada como: C = A B. (1.11) (1.10)

26

Figura 1.10 Unin entre conjuntos difusos.

Figura 1.11 Tnormas producto y producto acotado.

Denicin 1.6 Normas triangulares o Tnormas. Una norma triangular, o Tnorma representa un modelo genrico para la interseccin lgica (operador lgico Y o AND). La condicin de frontera que debe cumplir una funcin para que pueda considerarse como norma triangular es que sea de identidad unitaria, es decir, que T(x, 1) = x, para todo x [0, 1]. En la
27

Tabla 1.1 se muestran algunas de las principales Tnormas, y en la Figura 1.11 se presentan a modo de ejemplo el resultado de aplicar las Tnormas producto y de Lukasiewicz a dos conjuntos difusos. El orden de aplicacin de las Tnormas no afecta al resultado nal.

Tabla 1.1 Tnormas principales.

Denicin 1.7 Tconorma o Snorma. Una conorma triangular, tambin llamada T conorma o Snorma, representan un modelo genrico para la unin lgica (operador lgico O u OR). En la tabla 1.2 se muestran algunas de las principales Snormas, y en la Figura 1.12 se muestra el resultado de aplicar las Snormas sumaproducto y de Lukasiewicz a dos conjuntos difusos. Aunque las Tnormas y Snormas no pueden ordenarse, s que puede identicarse claramente la mayor y menor de ellas. As, la mayor de las Tnormas es la funcin mnimo y la menor el producto drstico. En el caso de las Snormas, la mayor es la suma drstica, y la menor la funcin mximo. El resto de Tnormas y Snormas estn comprendidas entre stas.

28

Tabla 1.2 Snormas principales.

Figura 1.12 Snormas sumaproducto y suma acotada.

29

b) Variables lingsticas
Una variable lingstica es una variable cuyos valores son palabras o sentencias en un idioma natural o articial. El concepto de variable lingstica fue introducido por Zadeh y desarrollado posteriormente por l mismo en varios trabajos. Las variables lingsticas permiten el acercamiento de la lgica difusa al lenguaje natural, facilitando la utilizacin lgica del lenguaje ordinario y eludiendo as las deciencias del lenguaje preciso en el rea del control. Tal como se puede ver en la Figura 1.13, cada trmino lingstico se representa de forma cuantitativa mediante una funcin de pertenencia o distribucin de posibilidad. En este caso, la variable lingstica edad se ha representado mediante las etiquetas lingsticas nio, joven, adulto y anciano. Los trminos nio y anciano se han creado utilizando funciones de pertenencia trapezoidales, la etiqueta joven mediante una funcin gaussiana, y adulto empleando una gaussiana doble.

Figura 1.13 Variable lingstica edad. Para un mismo universo de discurso, cuanto mayor sea el nmero de trminos lingsticos empleados para representar una variable, mayor precisin se podr obtener del sistema difuso. Evidentemente, al tener un nmero mayor de etiquetas lingsticas cada una de ellas representar un subespacio menor, por lo que se podr caracterizar el sistema ms namente; sin embargo, tambin tendr mayor complejidad. Segn Miller, el nmero de valores capaces de discriminar un ser humano vara entre cinco y nueve. Otro detalle a tener en
30

cuenta si se desea hacer un tratamiento lingstico del sistema difuso, es que normalmente se debe escoger un nmero impar de etiquetas. De esta forma existir una etiqueta central. Cuando la dimensionalidad del espacio entradasalida es grande, el nmero de reglas necesario para producir un recubrimiento sucientemente no de todo el universo d e discurso se incrementa exponencialmente. Esto es lo que se denomina problema de la dimensionalidad de los sistemas difusos. Una forma de reducir este problema consiste en emplear procedimientos automticos para la seleccin de reglas, de forma que se tenga ms precisin en las zonas que lo requieran sin aumentar excesivamente el nmero de stas. En cualquier caso, tanto para la eleccin del nmero como para la distribucin de las etiquetas lingsticas se requiere de un anlisis detallado del problema.

c) Regla difusa
Un regla difusa es una sentencia condicional que tiene la estructura SiEntonces (IfThen), siendo el conjunto de reglas de un sistema difuso lo que se conoce como base de reglas o base de conocimiento del sistema. En su forma ms simple, una regla difusa viene dada por la expresin (1.12), aunque esta expresin puede hacerse ms compleja mediante la aplicacin de operadores de negacin, unin, interseccin, modicadores lingsticos, etc. Si x es A entonces y es B (1.12)

La premisa de la regla, es decir, la condicin, se conoce como antecedente, mientras que la consecuencia se conoce como consecuente. El consecuente de una regla puede ser un conjunto difuso, un punto difuso, o una funcin dependiente de las entradas. El operador que relaciona la premisa con la consecuencia se conoce como operador de implicacin, y se representa lingsticamente con el adverbio entonces (then). Basndose en cada una de ellas se pueden generar distintas funciones en base a Tnormas y Snormas. En la Tabla 1.3 se presentan varios operadores de implicacin, siendo los ms importantes y utilizados los operadores de Mamdani y Larsen.

31

Nombre

Tabla 1.3 Operadores de implicacin. Implicacin(x, y) min {A(x), B(y)} A(x) B(y) 1 A(x) + A(x) B(y) min ,1, 1 A(x) + B(y)max ,1 A(x),min ,A(x), B(y)-max ,1 A(x), B(y)-

Mamdani (mnimo) Larsen (producto) Reichencach Lukasiewicz Willmott KleeneDienes

d) Sistema de inferencia difuso


Los sistemas de inferencia difusos son algoritmos basados en la lgica difusa y el razonamiento aproximado. En funcin de la aplicacin a la que se destine el sistema de inferencia ste puede denominarse de distintas formas: modelo difuso, sistema experto difuso, controlador difuso, memoria asociativa difusa, etc. Los sistemas de inferencia difusos se componen bsicamente de dos elementos, el motor de inferencia y la base de conocimiento, sin embargo, segn la aplicacin para que vaya a emplearse el sistema de inferencia, puede ser necesario aadir elementos adicionales, como la fuzificacin y la defuzificacin que permiten conectar al sistema de inferencia difuso con el mundo real . A continuacin se estudiarn cada uno de los elementos de un sistema de inferencia difusa, cuya conguracin puede verse en la Figura 1.14.

Figura 1.14 Sistema de inferencia difuso.


32

Fuzificacin
En muchos casos, especialmente en sistemas de control, las entradas que deben aplicarse a un sistema difuso son valores numricos concretos, no difusos, procedentes generalmente de sensores, por lo que es necesario establecer un interfaz con el motor de inferencia difusa que elabore conjuntos difusos a partir de entradas no difusas. Este interfaz se conoce como fuzificacin.

Inferencia difusa
El motor de inferencia difusa es el mecanismo que permite obtener la salida de un sistema difuso en funcin de sus reglas y las entradas que le sean aplicadas. Esta salida puede ser tanto un conjunto difuso como un valor numrico, segn se requiera por la aplicacin. Para realizar la inferencia se deben seguir los pasos siguientes: En primer lugar es necesario calcular el grado de cumplimiento de cada antecedente en funcin de la entrada del sistema. Si se utiliza un fuzicador tipo singleton, este valor se obtendr directamente de la interseccin de la entrada con la funcin de pertenencia del antecedente; mientras que si la entrada est representada por una funcin de pertenencia no singleton, ser necesario aplicar un operador de interseccin, una T norma, sobre dichos conjuntos. Una vez calculados todos los antecedentes de cada regla, se componen segn la denicin lingstica de la misma, es decir, aplicando los operadores de interseccin para condiciones Y, y los de unin para condiciones O. Esta medida proporciona un valor que representa la calidad con la que las reglas son satisfechas por la condicin de entrada del sistema difuso, esto es, su grado de activacin. Mediante el operador de implicacin, Entonces, se obtiene el consecuente resultante de cada regla. En aplicaciones relacionadas con el control de procesos, los operadores de implicacin ms utilizados son las Tnormas mnimo y producto. Al emplear el operador mnimo, la funcin de pertenencia del consecuente es recortada a la altura denida por el grado de veracidad de la regla; mientras que si se emplea el operador producto, la salida es escalada segn dicho grado de veracidad. Por ltimo, la regla composicional u operador de agregacin, combina los resultados de todas las reglas, esto es, el resultado de la base de reglas, en un nico conjunto difuso. El mximo y la suma acotada suelen ser las Snormas ms utilizadas para obtener el conjunto difuso de salida. Si la aplicacin requiere que la salida del sistema difuso sea numrica, se necesitar aplicar una defuzificacin a la misma.
33

El motor de inferencia puede verse matemticamente como un esquema de interpolacin no lineal, ya que permite la fusin de la informacin de mltiples reglas en una conclusin nica. Esta conclusin se obtiene a partir de la combinacin de los consecuentes de las reglas del sistema, ponderadas segn una funcin del grado de cumplimiento de cada una de ellas. En la Figura 1.15, se muestra un ejemplo de inferencia tanto para una entrada difusa pura (Entrada 1), como para un punto difuso (Entrada 2). El grado de activacin de la primera regla se obtiene mediante el mximo valor de la interseccin clsica entre el conjunto difuso de entrada y el del antecedente. Este valor es propagado hacia el consecuente de la regla, obtenindose el conjunto difuso de salida de sta mediante el operador de implicacin producto. Para la segunda regla, el grado de activacin se obtiene evaluando la funcin de pertenencia del Antecedente 2 en el punto dado por la Entrada 2. Este grado de activacin es propagado hacia su consecuente, obtenindose mediante el operador de implicacin mnimo el conjunto difuso de salida de la segunda regla. El conjunto difuso nal resultado de las dos reglas, obtenido con el operador de conjuncin mximo, puede observarse en la Figura 1.16.

Figura 1.15 Ejemplo de inferencia.

34

Figura 1.16 Ejemplo de defuzificacin.

Base de conocimiento
La base de conocimiento almacena las relaciones existentes entre las entradas y salidas del sistema. Basndose en este conocimiento, el proceso de inferencia obtendr las salidas asociadas a las entradas del mismo. Este elemento puede subdividirse en dos partes: la base de datos y la base de reglas. La base de datos contiene la denicin de las variables lingsticas empleadas en las reglas, es decir, las funciones de pertenencia que denen cada una de las etiquetas lingsticas. La base de reglas contiene la coleccin de reglas lingsticas del sistema. sta puede representarse como una lista de reglas, que es la forma ms habitual, o mediante una tabla o matriz de decisin, que proporciona un formato ms compacto si existen pocas variables. Existen varios mtodos para la obtencin de las reglas de un sistema difuso, entre los que cabe destacar: Basados en el conocimiento de un experto, o heursticos. Generalmente se obtiene su conocimiento mediante unos cuestionarios cuidadosamente organizados que permitan la generacin de reglas del tipo SiEntonces. Basados en las acciones de control de un operador, en funcin de los datos de entrada salida observados durante un perodo sucientemente amplio de operacin. Basados en aprendizaje mediante algoritmos automticos.

35

Defuzificacin
Cuando la salida del sistema de inferencia es un conjunto difuso pero la aplicacin requiere que sea un valor numrico concreto, es necesario emplear defuzificacin. Este elemento convierte dicho conjunto en un valor numrico del universo de discurso de salida que ser representativo de la conclusin obtenida. A continuacin se presentarn los mtodos de defuzificacin ms comunes, cuya representacin grca, respecto del conjunto difuso nal de salida difuso, puede verse en la Figura 1.16. Mtodo del centro de gravedad o del centroide . La salida numrica de esta defuzificacin se obtiene calculando el centro de gravedad del conjunto difuso de salida. Siendo D(y) el conjunto difuso de salida, su valor, mediante este mtodo , se obtiene a partir de la ecuacin (1.13). En la ecuacin (1.14) se muestra la versin para valores discretos. Aunque es ms costoso computacionalmente que otros mtodos de defuzificacin, este mtodo es sin duda el ms empleado, ya que proporciona variaciones suaves y continuas de los valores de salida.

= =

(1.13) (1.14)

Mtodo de la mxima pertenencia. Siendo D(y) el conjunto difuso de salida, el valor numrico obtenido mediante la defuzificacin del mximo se corresponde con el valor de para el que alcanza su mximo valor. Puesto que pueden existir mltiples valores para los que tenga un mismo valor mximo, se hace necesario escoger algn mtodo para elegir el valor de . Estos mtodos son (ver gura 1.16): el menor de los mximos, el centro de los mximos y el mayor de los mximos. La defuzificacin de la mxima pertenencia se caracteriza por ser de muy fcil implementacin, sin embargo, genera cambios bruscos en la salida que en muchas aplicaciones no son admisibles. Mtodo del centroide indexado. Este mtodo calcula el centro de gravedad de la parte correspondiente al conjunto difuso inferido cuyo grado de pertenencia sea mayor de un determinado valor .

36

e) Tipos de sistemas difusos


En funcin de la forma de las reglas y del tipo de entradas y salidas, se distinguen cuatro tipos de sistemas difusos: los sistemas puros, los sistemas de tipo Mamdani, los de Sugeno o TSK y los modelos aditivos de Kosko o SAM, junto con algunas variantes como los modelos de Tsukamoto.

Sistema difuso puro


Los sistemas difusos puros son sistemas cuyas entradas y salidas son conjuntos difusos. Al no necesitar realizar ninguna transformacin sobre las entradas o salidas, estn compuestos tan slo por la base de conocimiento y el motor de inferencia.

Modelo Mamdani
El esquema de control difuso de Mamdani consta, segn se muestra en la gura 1.14, de un motor de inferencia, una base de conocimiento y unos interfaces tanto de fuzificacin como de defuzificacin para procesar las entradas y salidas del sistema. Los sistemas difusos de tipo Mamdani presentan una serie de ventajas que propician su utilizacin en el mbito del control: Los modelos de tipo Mamdani se comportan como aproximadores universales. Pueden utilizarse en aplicaciones reales, ya que tratan con facilidad entradas y salidas reales. Proporcionan un marco natural para la inclusin del conocimiento de expertos en forma de reglas lingsticas. Existe gran libertad a la hora de escoger el mtodo de inferencia difusa, as como los interfaces de fuzificacin y defuzificacin. Por el contrario, tambin poseen una serie de limitaciones: Falta de exibilidad debido a la rigidez con que se particionan los espacios de entrada y salida. No existe una distincin clara entre el conocimiento experto y la denicin de las variables lingsticas incluidas en las reglas difusas. Cuando las variables de entrada al sistema dependen unas de otras, es muy complicado obtener una particin difusa adecuada de los espacios de entrada. El tamao de la base de conocimiento depende directamente del nmero de variables y trminos lingsticos que existan en el sistema.
37

La interpretabilidad del sistema est ligada a la utilizacin de un nmero no excesivo de reglas, lo cual generalmente va en contra de la precisin del sistema difuso implementado.

La base de reglas de un sistema Mamdani se congura mediante un conjunto de reglas de la forma:


Regla 1 1 2 2

(1.15)

donde 1 , 2 , . . ., son las entradas del sistema, 1 , 2 , . . . , n son los conjuntos difusos del antecedente de la regla , = 1..R, denidos en los universos de discurso de sus entradas asociadas, es la salida del sistema, y el conjunto difuso consecuente de la regla , denido en el universo de discurso de la salida . En este tipo de sistemas, tanto las entradas , i = 1...n, como la salida son valores numricos.

El grado de activacin de la regla, , se obtiene mediante la aplicacin del operador de interseccin, que normalmente ser alguna de las Tnormas. La salida difusa del motor de inferencia, B, se calcula agregando mediante una regla composicional, normalmente una S norma, los efectos de todas las reglas del sistema. Finalmente, la defuzificacin calcula la salida numrica del sistema. Ntese que en los sistemas de tipo Mamdani tanto los antecedentes como los consecuentes estn formados por conjuntos difusos, mientras que las entradas y salidas son valores numricos. Uniendo la interpretabilidad de sus reglas a la capacidad aproximadora universal de estos modelos, se tiene que los modelos difusos de Mamdani son una herramienta tremendamente poderosa para el anlisis y control de sistemas complejos. No obstante, una buena aproximacin con un modelo difuso de tipo Mamdani puede requerir de un nmero elevado de reglas, por lo que la interpretabilidad del sistema queda mermada conforme aumenta su complejidad.

Modelo aditivo estndar, SAM


SAM por sus siglas en ingls (Standard Additive Model), es un caso particular de los modelos difusos aditivos. Fue propuesto por Bart Kosko. La principal ventaja de los modelos aditivos es su eciencia, ya que las reglas pueden precomponerse en un formato menos costoso computacionalmente.

38

El esquema de inferencia de un sistema SAM es similar al de los modelos TSK que se vern posteriormente, ya que ambos generan su salida en base a la suma ponderada de las consecuencias de cada una de las reglas de la base de conocimiento. Sin embargo, la estructura de las reglas de un sistema SAM es idntica a las de los modelos de Mamdani, por lo que podran considerarse como una variacin de stos. No obstante, existen cuatro diferencias fundamentales entre los esquemas de inferencia de los sistemas SAM y Mamdani: En los modelos SAM la entrada (x) se considera siempre como un punto difuso. Para la inferencia se utiliza el operador producto, frente al operador mnimo que suele emplearse en los modelos de Mamdani. Frente al operador mximo que emplean los modelos de Mamdani, en los modelos SAM la combinacin nal (D) de las conclusiones parciales de cada regla difusa (Dr), se realiza mediante una suma ponderada segn los pesos . Esta forma de operar sita a los modelos SAM ms cerca estructuralmente de los modelos TSK que de los Mamdani. La salida (y) de un modelo aditivo estndar se calcula mediante la adicin de las salidas parciales ponderadas, mientras que en los de Mamdani se debe especicar una defuzificacin.

Modelo de Tsukamoto
Este modelo, propuesto por Tsukamoto en 1979, se caracteriza por representar el consecuente de cada regla difusa mediante un conjunto difuso con una funcin de pertenencia montona. La salida inferida por cada regla es un valor numrico inducido por el grado de activacin de la regla. La salida global se toma como la media ponderada de todas las salidas parciales. Este tipo de modelos permiten eliminar el consumo de tiempo correspondiente a la defuzificacin, sin embargo, no son modelos muy utilizados por no ser tan transparentes como los de Mamdani o Sugeno. El mecanismo de inferencia no sigue estrictamente la regla composicional de inferencia y la salida es siempre numrica, incluso cuando las entradas son difusas.

Modelo TakagiSugenoKang (TSK)


Los investigadores japoneses Takagi y Sugeno, con la posterior incorporacin de Kang, propusieron un tipo de sistema difuso que en lugar de emplear reglas completamente lingsticas, utiliza como consecuente una funcin de las variables de estrada del sistema. Este tipo de sistemas se conoce como modelos TakagiSugenoKang (TSK), modelos TakagiSugeno
39

(TS) o de forma ms simplicada, modelos Sugeno. Una regla tpica de un sistema TSK tiene la forma:
Regla 1 1 2 2 ()

(1.16)

donde , i = 1..n, son las entradas del sistema e es la salida inferida por la regla . Los elementos son los conjuntos difusos del antecedente de la regla , denidos en los universos de discurso de sus entradas asociadas. La consecuencia inferida a partir de la regla se calcula con la funcin (), dependiente de las entradas del sistema. La funcin consecuente, (), puede escogerse libremente, aunque los consecuentes ms utilizados en este tipo de sistemas son los polinomios de grado 0 y de grado 1. La salida de un sistema TSK se calcula mediante la suma ponderada o el promedio ponderado del efecto individual de todas sus reglas. La suma ponderada es la suma de los valores obtenidos por la funcin consecuente, ponderadas por el grado de activacin de cada una de las reglas. El promedio ponderado consiste en dividir la suma ponderada por el sumatorio de las fuerzas de activacin de las reglas. La salida aplicando la suma ponderada o el promedio ponderado, se obtiene mediante la aplicacin de las ecuaciones (1.17) (1.18), respectivamente.

= =

=1
=1 =1

(1.17) (1.18)

La estructura de un sistema difuso TSK, es ligeramente distinta de la estructura tpica vista en los apartados anteriores. Dispone como todo sistema difuso de un motor de inferencia y una base de conocimiento, pero como las entradas al sistema son siempre numricas, y su efecto sobre las salidas se calcula directamente mediante la aplicacin de las ecuaciones anteriores, no es necesaria la fuzificacin. La salida de cada una de las reglas es un valor numrico, de forma que tampoco se requiere defuzificacin para generar la salida del sistema. No obstante, es imprescindible algn mecanismo para agregar todas las conclusiones parciales de las reglas en una nica salida. Para ello se utilizan la suma ponderada o el promedio ponderado. Aunque es muy comn nombrar a esta operacin como defuzificacin, sobre todo al promedio ponderado que se le suele denominar defuzificacin centro promedio, esto no es estrictamente correcto, ya que su entrada no es un conjunto difuso. Los sistemas difusos TSK son una poderosa herramienta para el modelado de sistemas complejos y altamente no lineales, ya que son aproximadores universales tanto de la funcin
40

como de su derivada. Adems, si se utiliza como consecuente un polinomio de orden 1 completo, es decir, con el trmino afn distinto de cero, un sistema TSK tambin puede aproximar de forma universal la 2 derivada de una funcin. La utilizacin en los sistemas TSK de un consecuente polinmico permite aproximar funciones con gran precisin y con un nmero mucho menor de reglas que los sistemas de tipo Mamdani. No obstante, este aumento de precisin se consigue a costa de empeorar la interpretabilidad de las reglas.

1.2. Sistema propulsor


La hlice es un rgano mecnico giratorio que produce una impulsin sobre el aparato en que va montada. Cuando la hlice va instalada delante del motor que la hace girar, o del aparato, se llama hlice tractora. Si va detrs, se conoce como hlice propulsora.

1.2.1. Conocimientos fundamentales


Las hlices se componen de un cubo o ncleo central y de unas palas, con superficies helicoidales al funcionar, que estn unidas a l. El cubo o ncleo gira movido por el motor. Como la hlice esta dentro de la atmosfera, al girar produce una cierta presin sobre el aire. La reaccin del aire sobre la hlice da lugar a una traslacin de todo el conjunto (hlice, motor, avin) en el sentido del eje del giro, que depender de la inclinacin media de las palas con respecto a dicho eje. En funcionamiento normal dicha inclinacin produce un movimiento de avance, pero si se puede variar la inclinacin, la impulsin hacia adelante puede desaparecer, e incluso invertirse dando un empuje de retroceso o frenado [5]. Las hlices actuales tienen, en general, 2, 3 o 4 palas. (Se han llegado a ensayar de 10 palas). Cada pala puede admitirse que est constituida por una serie de infinitas alas elementales (de envergadura diferencial) yuxtapuestas. Los perfiles de estas alas elementales constituyen las secciones sucesivas de una pala, cortando la hlice paralelamente al eje de rotacin. Como es natural, las caractersticas de una hlice dependen: de la velocidad del avin en la direccin del eje de la hlice; del numero de vueltas que da la hlice, en la unidad de tiempo; del dimetro de la hlice; del numero de palas; y de los ngulos que forman las cuerdas de los perfiles con el plano de rotacin. Al girar, la hlice avanza. El avance en una revolucin se llama paso efectivo de la hlice. La trayectoria el helicoidal. Si lo que avanza es y el radio de la seccin que consideramos es , el ngulo de la trayectoria helicoidal desarrollado () se puede calcular por la ecuacin (1.19):
41

= 2

(1.19)

El paso efectivo es menor que el paso geomtrico, que es el avance que tendr la seccin considerada si se moviera en un medio rgido, es decir, el que describir la cuerda geomtrica del perfil. Hay otro paso, llamado paso aerodinmico, que es el que describir la lnea de sustentacin nula del perfil. En conjunto, los tres pasos pueden representarse como se indica en la Figura 1.17. El paso a lo largo de una pala puede ser uniforme o variable, aunque, normalmente, es variable. Si el paso geomtrico fuese uniforme, los ngulos de ataque sucesivos iran disminuyendo, siendo menores cuanto ms cerca del extremo exterior de la pala estuvieran las secciones. La mayora de las hlices no tienen un paso geomtrico uniforme. Los perfiles bsicos de las palas, que ms se suelen usar, son el Clark-Y y el R.A.F.-6 como se muestra en la Figura 1.18. Sin embargo, se han hecho pruebas con otros perfiles, tales como el USA 35B y los N.A.C.A. 2R200; 6400; 4400 (para la mitad interior) y 2400-34 (para la mitad exterior), y, algunas veces, cuando los extremos de las palas se acercan a la velocidad del sonido, se han utilizado, en el 25% exterior de las palas, perfiles tales como los de las series N.A.C.A. 16, para altas velocidades.

Figura 1.17 Pasos caractersticos de una hlice.

En los ensayos efectuados con los perfiles Clark-Y y R.A.f.-6 se ha visto que el rendimiento mximo, con el primero, llega a ser alrededor de un 3% mayor que con el segundo. Sin embargo, el segundo es superior al primero, para el despegue. El Clark-Y es ventajoso para pequeos ngulos de ataque, y el R.A.F.-6 para grandes ngulos de ataque.

42

Figura 1.18 Perfiles bsicos de las palas en una hlice.

Cerca del cubo o ncleo central deben emplearse perfiles relativamente gruesos, porque, en esa zona, los efectos de las fuerzas centrifugas y los momentos de flexin son elevados. Afortunadamente, las fuerzas aerodinmicas, en dicha parte, tienen menor importancia, por lo que, aunque los perfiles sean peores, desde el punto de vista aerodinmico, no afectan demasiado a la traccin. Es posible utilizar el mismo perfil base, pero aumentando el espesor e y haciendo que la seccin resultante sea biconvexa. En las caractersticas de una hlice, despus del dimetro lo ms importante es el paso. Actualmente se suele dar, por los laboratorios experimentales, el paso geomtrico correspondiente a la seccin situada a 0.75R, 0.7R o 2/3R, siendo R el radio de la hlice. La relacin entre este paso y el dimetro de la hlice se llama paso relativo. Llamando al radio de un seccin, el paso geomtrico seria: 2 . . Para la seccin correspondiente al radio 0.75R, por ejemplo, dicho paso sera: 2 . 0.75 . y el paso relativo:
2 .0.75 . 2

(1.20)

= 0.75 . . = 2.356 .

(1.21)

Los perfiles aerodinmicos que componen una hlice estn sujetos a las mismas leyes y principios que cualquier otro perfil aerodinmico, por ejemplo un ala. Cada uno de estos perfiles tiene un ngulo de ataque, respecto al viento relativo de la pala que en este caso es cercano al plano de revolucin de la hlice, y un paso (igual al ngulo de incidencia). El giro de la hlice, que es como si se hicieran rotar muchas pequeas alas, acelera el flujo de aire hacia el borde de salida de cada perfil, a la vez que deflecta este hacia atrs (lo mismo que sucede en un ala). Este proceso da lugar a la aceleracin hacia atrs de una gran masa de aire, movimiento que provoca una fuerza de reaccin que es la que propulsa el avin hacia adelante. En la Figura 1.19 se ilustran lo ngulos de la hlice.

43

Figura 1.19 ngulos de la hlice.

Las hlices se clasifican bsicamente en hlices de paso fijo y hlices de paso variable. Se denomina paso de la hlice al ngulo que forma la cuerda de los perfiles de las palas con el plano de rotacin de la hlice.

1.2.2. Hlice de paso fijo


En este tipo de hlices, el paso est impuesto por el mejor criterio del diseador del aeroplano y no es modificable por el piloto. Este paso es nico para todos los regmenes de vuelo, lo cual restringe y limita su eficacia; una buena hlice para despegues o ascensos no es tan buena para velocidad de crucero, y viceversa. Una hlice de paso fijo es como una caja de cambios con una nica velocidad; compensa su falta de eficacia con una gran sencillez de funcionamiento [6]. En aviones equipados con motores de poca potencia, la hlice suele ser de dimetro reducido, y est fijada directamente como una prolongacin del cigeal del motor; las RPM. de la hlice son las mismas que las del motor. Con motores ms potentes, la hlice es ms grande para poder absorber la fuerza desarrollada por el motor; en este caso entre la salida del motor y la hlice se suele interponer un mecanismo reductor y las RPM de la hlice difieren de las RPM del motor, este tipo de acoplamientos se ilustran el Figura 1.20.

44

Figura 1.20 Acoplamientos de hlice de paso fijo.

1.2.3. Hlice de paso variable


Este tipo de hlice, permite al piloto ajustar el paso, acomodndolo a las diferentes fases de vuelo, con lo cual obtiene su rendimiento ptimo en todo momento. El ajuste se realiza mediante la palanca de paso de la hlice, la cual acciona un mecanismo que puede ser mecnico, hidrulico o elctrico. En algunos casos, esta palanca solo tiene dos posiciones: paso corto (menor ngulo de las palas) y paso largo (mayor ngulo de las palas), pero lo ms comn es que pueda seleccionar cualquier paso comprendido entre un mximo y un mnimo. Para entender cmo funciona el paso variable, partimos de: (1) La mayora de los motores de combustin interna obtienen su mxima potencia en un punto cercano al mximo de RPM. (2) La potencia requerida para volar de forma econmica a velocidad de crucero es usualmente menor a la potencia mxima. El paso corto, ver Figura 1.21, implica menor ngulo de ataque de la pala y por tanto menor resistencia inducida, por lo que la hlice puede girar ms libre y rpidamente, permitiendo el mejor desarrollo de la potencia del motor. Esto le hace el paso idneo para maniobras en las que se requiere mxima potencia: despegue y ascenso, aunque no es un paso adecuado para rgimen de crucero. Este paso es como las marchas cortas (1, 2) de la caja de cambios de un automvil, que se emplean para arrancar o subir cuestas empinadas pero no son eficientes para viajar por autopista. Con estas marchas el motor de un automvil alcanza rpidamente su mximo de RPM, lo mismo que el motor de un avin con paso corto en la hlice.
45

El paso largo, ver Figura 1.21, supone mayor ngulo de ataque y por ello mayor resistencia inducida, lo que conlleva menos RPM en la hlice y peor desarrollo de la potencia del motor, pero a cambio se mueve mayor cantidad de aire. Con este paso, decrece el rendimiento en despegue y ascenso, pero sin embargo se incrementa la eficiencia en rgimen de crucero. Volviendo al ejemplo de la caja de cambios, este paso es como las marchas largas (4, 5), que son las ms adecuadas para viajar por autopista pero no para arrancar o subir una cuesta empinada. Con estas marchas, el motor del automvil no desarrolla sus mximas RPM, pero se obtiene mejor velocidad con un consumo ms econmico, exactamente lo mismo que un avin con la hlice puesta en paso largo. En algunos manuales, se identifica el paso corto con velocidades pequeas del avin debido a que las maniobras en las cuales est indicado este paso (despegue, ascenso) implican baja velocidad en el avin. Por la misma razn se identifica el paso largo con altas velocidades (crucero) [6].

Figura 1.21 Hlice de paso variable.

46

Captulo 2

Prototipo
Este captulo muestra la construccin de un prototipo para producir un movimiento en las palas de la hlice lo cual repercute en el ngulo de ataque y el paso. De igual forma se presenta la instalacin de la parte electrnica y el sistema de propulsin.

2.1. Sistema electrnico


En el armado del sistema electrnico se comprenden la implementacin de movimiento para el sistema de control, el sistema de radio control y el sistema de alimentacin elctrica. Para esta etapa se utilizan materiales y equipo de acuerdo a lineamientos de aeromodelismo con los que cuenta el Laboratorio de Sistemas Dinmicos Controlables. En la implementacin de movimiento para el sistema de control se utiliza un servomotor A6030 de la marca Spektrum que se muestra en la Figura 2.1 [7].

Figura 2.1 Servomotor Spektrum A6030.


47

Las especificaciones de este tipo de servomotores son: Tipo: Standard/Digital Dimensiones: 40*20*37 mm Peso: 52 g Torque: 20 Kg-cm @6 V Velocidad: 0.15 sec/60 @6 V Engranaje: Metlico de titanio Voltaje de operacin: 4.8 a 6.0 V (4 o 5 celdas)

A este servomotor se le aplica el controlador difuso ya que se le adapta un mecanismo de pin-cremallera como se muestra ms adelante en la seccin 2.2. El objetivo es mandar un determinado PWM para que el paso de la hlice cambie en funcin a la altura que alcance la aeronave y la presin que existe sobre la parte frontal de la misma. Otro elemento utilizado es el motor brushless (sin escobillas) 480B BL Outrunner Motor, 960Kv Reverse Shaft, ver Figura 2.2, el cual es el encargado de dar el giro a la hlice, es decir, es el motor que entrega las RPM a las que trabaja la hlice ya que esta acoplado de forma directa.

Figura 2.2 Motor brushless. De a cuerdo a sus especificaciones el motor gira a un mximo de 11520 RPM @ 12v y a un mnimo de 6720 RPM @ 7v. La palabra brushless se puede traducir como "sin escobillas", las escobillas son los elementos que hacen contacto en el colector de un motor comn. En los motores de DC ms pequeos, son de una aleacin de cobre y en motores ms grandes son de un compuesto a base de carbn. Estos motores carecen de colector y escobillas o carbones. En
48

vez de funcionar en DC funcionan en AC, la mayora se alimentan con una seal trifsica, esta seal idealmente debera ser sinusoidal, pero en la prctica son pulsos, haciendo que la seal sea un continua pulsante o bien una continua con mucho componente de AC sin embargo se los clasifica como de DC porque al igual que los motores comunes tienen imanes permanentes. Los circuitos reguladores de velocidad (ESC) son los encargados de hacer funcionar el motor, en el caso de radiocontrol, lo que hacen es medir el tiempo de 1ms a 2ms como un servo estndar y transformarlo en un mximo y mnimo de RPM para el motor. Tienen bsicamente dos formas de operar, puede ser seteado a una cierta cantidad de vueltas, supongamos 7000 RPM, para la cual debera entregar cierta corriente programada. Si la carga aumenta, como podra ser el caso de un rotor de helicptero, entonces el regulador, debera entregar ms corriente para que se mantengan esas 7000 RPM, el regulador controla la forma del pulso contraelectromotriz (EMF) y as ajusta la corriente de salida. La otra forma, la cual es la ms comn y que usa la mayora es que el motor inyecta un cierto valor de corriente y luego mide cual es la velocidad del motor al medir el EMF, de esta forma se auto ajusta [13]. El circuito regulador de velocidad utilizado con el motor brushless antes mencionado es el 30-Amp Pro Switch-Mode BEC Brushless ESC ilustrado en la figura 2.3.

Figura 2.3 Regulador de velocidad 30-Amp Pro Switch-Mode BEC Brushless. Otro de los dispositivos que se utilizan es el receptor y el transmisor de radio, los cuales sirven para controlar el avin desde tierra. Se utiliza un control especializado para aeromodelos de gran escala aeromodelismo de la misma marca de los servomotores, Spektrum. Este control cuenta con emisor (5-Channel DX5e) y receptor (AR500 5-Channel sport receiver), los cuales se muestran en la Figura 2.4. Este control tiene la principal caracterstica de que trabaja en modulacin DSM2/DSMX, tecnologa de Spektrum para garantizar un buena comunicacin, el sistema de radio transmite simultneamente en dos frecuencias, creando
49

doble ruta de RF, y el receptor que se tiene es doble, uno para cada frecuencia del transmisor. Esta redundancia, mas el hecho de que cada uno de los receptores se encuentra en una posicin ligeramente diferente la cual expone a cada uno a un ambiente de RF diferente, crea un enlace de RF a prueba de errores en todas condiciones [7].

(a) Transmisor de RF para control del avin.

(b) Receptor de RF para control del avin.

Figura 2.4 Control RF para el avin (Spektrum DX7). Las Especificaciones del transmisor son: No. de canales: 5 Modulacin: DSM2 Banda: 2.4 GHz Caractersticas de programacin: Aviones y Helicpteros

Las Especificaciones del receptor son: No. de canales: 5 Modulacin: DSM2 Banda: 2.4 GHz Tamao: 21.6 x 30.1 x 12.3 mm Peso: 7 g Rango de voltaje: 3.5-9.6 V Resolucin: 2048 Tamao de antena Principal: 30 mm (2). Secundaria: 30 mm(2)
50

El receptor cuenta con las 5 salidas de los canales de control, en estas salidas se conectan los servos que se van a controlar. Las 5 salidas son: AILE (Aileron) En este canal se conecta el servo A6030 para prueba manual del mecanismo. GEAR Este canal es usado cuando el avin tiene tren de aterrizaje plegable RUDD (Rudder) En este canal se conectan servos que controlan al timn. ELEV (Elevators) En este canal se conectan servos que controlan los elevadores. THRO (Throttle) En este canal se conecta el motor brushless.

2.2. Sistema mecnico


En base a la hlice de paso variable que se ilustra en la Figura 2.5, de dos palas con un dimetro de 30 cm, el cambio de paso se utiliza para optimizar el rendimiento del motor de avin principalmente cuando se vuela a velocidad crucero. Esta hlice contiene un mecanismo interno que permite por medio de un anillo de giro independiente de la hlice, jalar y/o empujar con un movimiento lineal en el eje horizontal para aumentar o reducir el paso de las palas. Se puede regular el paso con un tope y unos tornillos esclavos que se tiene en la tapa, estos mecanismos se muestran en la Figura 2.6. El diseo de esta hlice y el mecanismo es de patente mexicana de los aos 70's [8]

a) Paso corto.

b) Paso largo.

Figura 2.5 Hlice de paso variable.


51

La hlice de paso variable tiene un desplazamiento lineal de 7.5mm para producir el cambio de paso corto a paso largo.

Figura 2.6 Mecanismo de la hlice de paso variable.

En base a las caractersticas previamente mencionadas se opto por construir un mecanismo pin-cremallera, ver Figura 2.7, ya que permite transformar un movimiento circular (del servomotor) en un movimiento lineal utilizando una rueda llamada pin y una pieza rectilnea llamada cremallera. El pin es una pieza dentada circular que gira sobre su propio eje. La cremallera, que es realmente un engrane recto o plano, puede tener dientes rectos para acoplarse con un engrane recto, o dientes en ngulo, para acoplarse con un engrane helicoidal. Cuanto ms rpidamente gira la rueda, ms rpidamente se desplaza la cremallera [9].

52

Figura 2.7 Mecanismo piom-cremallera.

Por cada vuelta completa que realice el pin, la cremallera se desplazar linealmente tantos dientes como tenga el pin. Por tanto se desplazar una distancia ( ):

= , donde: = distancia recorrida por la cremallera = no. de dientes del pin = no. de dientes por centmetro de la cremallera

(2.1)

Se consigui un pin y una cremallera en un deshuesadero de componentes electrnicos, ver Figura 2.8. La cremallera cuenta con 8 dientes por cm (n) y el pin tiene un total de 93 dientes. En base a la ecuacion (2.1) se calcula la distancia que recorrera la cremallera al dar una vuelta completa el pin, lo cual da como resultado una distancia de 11.625cm. A este resultado aplicamos una sencilla regla de tres para calcular el nmero de grados necesarios para producir un desplazamiento lineal de 7.5mm tomando en consideracin que 360 equivale a los 11.625cm calculados. Como resultado se obtiene un desplazamiento angular de 23.22. Se decidi hacer girar el servomotor 23 para no forzar el mecanismo hasta sus topes mecnicos.

53

Figura 2.8 Pin y cremallera.

Una vez que se obtuvo la cantidad de grados que es necesario mover el servomotor para llevar a la hlice del paso corto al paso largo, se continuo con la elaboracin de piezas para el prototipo, para lo cual se utilizo Nylamid, por su fcil maquinabilidad y por su peso reducido.

2.3. Conjuncin y prueba del prototipo


La cremallera fue montada sobre un extremo de una placa delgada de Nylamid, ver Figura 2.9, por medio de 3 tornillos de 1/8 de pulgada, la cual desliza por unas canaletas maquinadas del mismo material, ver Figura 2.10. En el extremo contrario a la cremallera, est unida al anillo de la hlice otra pequea placa para realizar la accin de empujar o jalar y as provocar el cambio de paso como se ilustra en la Figura 2.11. Tambin se utilizaron dos placas de aluminio; en la primer placa se fij el motor brushless, el cual controla las RPM de la hlice, la segunda placa se utiliz para fijar el servomotor que har girar el pin los 23 necesarios para efectuar el cambio de paso como se observa en la Figura 2.12. Las dos placas de metal estn unidas a un pedazo de metal por medio de tornillos de 1/4 de pulgada para asegurar su correcta posicin como se ilustra en la Figura 2.13

54

Figura 2.9 Cremallera montada en placa de Nylamid.

a) Vista superior frontal.

b) Vista inferior.

Figura 2.10 Canaletas por donde desliza la placa que contiene a la cremallera.
55

Figura 2.11 Placa que sujeta al anillo de la hlice. Placa de sujecin

Figura 2.12 Placas de aluminio que sujetan al servomotor y al motor brushless.


56

Figura 2.13 Sujecin de la placas de aluminio.

2.14 ngulo que da soporte al prototipo.


57

Para la prctica colocacin del prototipo en cualquier superficie plana y evitar accidentes con la hlice al ser accionado el motor brushless., se sold un ngulo de pulgada y media para dar soporte al sistema, ver Figura 2.14. El prototipo final se muestra en la Figura 2.15, donde se puede apreciar en a) la vista frontal, en b) la vista superior, en c) la vista lateral derecha y en d) la vista lateral izquierda.

a) Vista frontal.

b) Vista superior.

c) Vista lateral derecha.

d) Vista lateral izquierda.

Figura 2.15 Diversas vistas del prototipo.


58

Captulo 3

Diseo e implementacin del controlador difuso


En este captulo se desarrolla el diseo del controlador difuso en base a un sistema difuso tipo Mamdani. Se simula el controlador en las plataformas de LabVIEW y MATLAB para observar su correcto funcionamiento y en la parte final del captulo se muestra la implementacin del controlador difuso en un microcontrolador dsPIC30F4011.

3.1. Parmetros del controlador


El diseo del controlador difuso, se realiza en base a un sistema difuso tipo Mamdani, por la fcil inclusin del conocimiento de expertos en forma de reglas lingsticas para la manipulacin de la hlice de paso variable, as como la facilidad que muestra para trabajar con entradas y salidas reales. Como T-norma se utiliza el producto.

3.1.1 Conjuntos difusos y funciones de pertenencia


Las entradas que se proponen implementar son un sensor de altura que se simula como el sensor 1 ya que la altura a la que se encuentra el planeador es un factor determinante para cambiar de paso de la hlice, as como un sensor de presin del aire sobre el planeador como sensor 2 para ajustar el paso correcto. Cada entrada o sensor se representa por 5 funciones de pertenencia; dos funciones trapezoidales a los extremos para limitar los valores de 0 y 5 (volts), as como tres funciones
59

triangulares en el centro con una relacin de proporcionalidad a las entradas de voltaje de los potencimetros, lo cual resulta en un universo de discurso entre -1.25 y 6.25 como se muestra en la Figura 3.1.

Figura 3.1 Conjuntos difusos de entrada s1. Se definen cinco conjuntos difusos de salida PWM como cinco funciones de pertenencia triangulares, los cuales se encuentran entre los centros: 2980 y 33941 que corresponde al valor que ser enviado al servomotor para ajustar el paso de la hlice como se ilustra en la Figura 3.2. Los valores pico de las funciones de pertenencia, es decir donde se encuentran los centros son; 2980 que equivale a una posicin de 90 en el servo, 3083.5, 3187,3290.5 y 3394 que equivale a 113.

Figura 3.2 Conjuntos difusos de salida PWM.

En la seccin 3.4.3. se especifica porqu de los valores del los conjuntos difusos de salida.

60

3.1.2 Variables lingsticas


A los conjuntos de entradas difusas se le asignaron cinco etiquetas lingsticas correspondientes a las cinco funciones de pertenencia que tiene cada entrada. La variable lingstica para la primera entrada s1 se le asigno el nombre de sensor1 y a la entrada s2 se le asigno el nombre de sensor2.

sensor1 = Pot1= s1 = altura; sensor2 = Pot2 = s2 = presin del aire 0v = NG (etiqueta lingstica Negativo Grande) 1.25v = NP (etiqueta lingstica Negativo Pequeo) 2.5v = Z (etiqueta lingstica Zero) 3.75v = PP (etiqueta lingstica Positivo Pequeo) 5v = PG (etiqueta lingstica Positivo Grande)

De forma grfica la variable lingstica sensor1, as como las etiquetas lingsticas correspondientes a los conjuntos difusos de entrada s1 se pueden observar en la figura 3.3.

Figura 3.3 Variable y etiquetas lingsticas de la entrada s1. Para los conjuntos de salida PWM se asigna la variable lingstica Duty y las mismas etiquetas lingsticas que a las entradas como se muestra a continuacin:
61

PWM =Duty 2980 = NG (etiqueta lingstica Negativo Grande) 3083.5 = NP (etiqueta lingstica Negativo Pequeo) 3187 = Z (etiqueta lingstica Zero) 3290.5 = PP (etiqueta lingstica Positivo Pequeo) 3394 = PG (etiqueta lingstica Positivo Grande)

De forma grfica la variable lingstica Duty, as como las etiquetas lingsticas correspondientes a los conjuntos difusos de salida PWM se pueden observar en la figura 3.4.

Figura 3.4 Variable y etiquetas lingsticas de la salida PWM.

3.1.3 Reglas difusas


La Tabla de reglas difusas, ver Tabla 3.1, se define en el presente trabajo como una tabla sinttica para probar el controlador difuso sobre la hlice en donde las entradas como se mencion anteriormente son dos potencimetros que entregan valores entre 0 y 5 volts. La salida difusa es el valor del Duty que es asignado al valor del PWM del servomotor. Para asignar salidas difusas a Duty se parte de que el sensor 1 representa mayor peso a comparacin del

62

sensor 2 en el cambio de paso de la hlice ya que la altura es determinante en el control de la hlice. Tabla 3.1 Base de Reglas
Duty NG NP Z PP PG NG NG NG NP Z PP NP NG NG NP Z PP Sensor 2 Z PP NG NG NG NG NP Z PP PP PP PG PG NG NP Z PP PG

Debido a la mecnica del prototipo, se tiene que invertir el sentido de giro del servomotor para el correcto cambio de paso, por lo cual solo se modifico la Tabla 3.1 de bases de reglas, lo cual da como resultado la Tabla 3.2.

Tabla 3.2 Base de Reglas modificada debido a restricciones mecnicas.


Duty NG NP Z PP PG NG PG PG PP Z NP NP PG PG PP Z NP Sensor 2 Z PP PG PG PG PG PP Z NP NP NP NG PG PG PP Z NP NG

3.2. Simulacin del controlador en LabVIEW


Una vez determinada la estructura del controlador difuso, se simula el mismo en el Toolkit Fuzzy System Designer de LabVIEW para analizar su comportamiento y comparar resultados con el algoritmo desarrollado en lenguaje C que se muestra en la seccin 3.4. La ubicacin de este Toolkit dentro de LabVIEW se ilustra en la Figura 3.5 [12]. Dentro del Toolkit se construyen las funciones de pertenencia para cada variable de entrada previamente definida en la seccin 3.1. En la Figura 3.6 se ilustran las funciones de pertenencia para la entrada del sensor1. A su vez la salida Duty tambin se construye con los valores previamente definidos en la seccin 3.1 como se ilustra en la Figura 3.7. Las reglas son definidas en base a la Tabla 3.2 con una conectiva de antecedente AND producto (a), un
63

Sensor 1

Sensor 1

consecuente de implicacin mnimo (Mamdani) (b) como se menciono al principio del presente captulo y un mtodo de defuzificacin de los ms empleados, el centro de rea (c) como se ilustra en la Figura 3.8.

Figura 3.5 Toolkit Fuzzy System Designer

Figura 3.6 Construccin de las funciones de pertenencia del sensor1.


64

Figura 3.7 Construccin de las funciones de pertenencia de la salida Duty.

Figura 3.8 Elaboracin de la tabla de reglas. Para realizar la simulacin del controlador en LabVIEW, en la pestaa Test System se asignan valores a las entradas sensor1 y sensor2 para monitorear el comportamiento del sistema. En la Figura 3.9 se ilustra una prueba del sistema donde las entradas son 0 y como salida se obtiene 3393.97.
65

Figura 3.9 Prueba del sistema en LabVIEW.

En la Figura 3.9, de igual forma se puede observar en la parte inferior el nmero de reglas que son activadas, as como el peso de cada una en la decisin tomada. Para el caso de la entradas igual a 0 la regla que se dispara es la 1, es decir cuando sensor1 y sensor2 son NG la salida Duty es PG como en la Tabla de reglas 3.2. En la ventana de simulacin se puede observar una curva tridimensional, ver Figura 3.10, que representa la relacin de 2-entradas 1-salida. Si se quiere observar un grafica ms suave es necesario incrementar el nmero de muestras de las entradas desde la ventana de simulacin (Number of input X samples). A partir de esta curva se puede deducir que la entrada 1, es decir el sensor1, tiene mayor peso puesto que representa al sensor de altura.

66

Figura 3.10 Superficie de mapeo del controlador difuso en LabVIEW.

3.3. Simulacin del controlador en MATLAB


Con el fin de tener una simulacin del controlador difuso en un lenguaje de programacin de alto nivel, similar al que ser implementado posteriormente en el dsPIC30F4011, se utiliza MATLAB para comprobar el controlador. MATLAB ofrece comandos relacionados directamente al control difuso por lo que la programacin se facilita de una manera considerable. El cdigo completo se encuentra en el apndice A. Al ejecutar el programa, se piden dato por dato las entradas del controlador, es decir, los potencimetros. Los valores deben ser un nmero cualquiera entre 0 y 5 que equivale al rango de voltaje que se defini previamente en el presente captulo, como se ilustra en la Figura 3.11. Una vez asignados los valores a cada entrada, el programa entrega la salida u, ver Figura 3.12, que ser programada en el dsPIC directamente al ciclo de trabajo del PWM que mueve el servomotor, es decir el Duty.

67

a) Asignacin del valor del sensor 1.

b) Asignacin del valor de sensor 2.

Figura 3.11 Asignacin de valores a entradas del controlador.

Figura 3.12 Valor de la seal de control (Duty).

68

Al igual que LabVIEW, MATLAB tiene un Toolbox que permite simular de manera grfica un controlador difuso por medio del FIS Editor. Este Toolbox se abre al escribir la palabra fuzzy en el Command Window de MATLAB, el cual se puede observar en la Figura 3.13.

Figura 3.13 FIS Editor.

En la ventana principal del FIS Editor es posible modificar parmetros importantes del controlador, tales como; el mtodo de implicacin, el mtodo AND, el tipo de fuzificacin, entre otros. Se cre un controlador tipo Mamdani con dos entradas y una salida al igual que en LabVIEW. Las entradas se designaron con el mismo nombre, sensor 1 y sensor2 con cinco funciones de pertenencia cada una y con un universo de discurso de -1.25 a 6. La salida se nombra Duty con el mismo universo de discurso que en LabVIEW, es decir de 2876.5 a 3497.5 con cinco funciones de pertenencia triangulares con centros equidistantes.

69

Figura 3.14 Editor de Reglas de FIS Editor. La base de reglas se elabor en funcin a la Tabla 3.2, que se muestra en la Figura 3.14. El Toolbox contiene un visualizador de reglas al cual se le pueden asignar valores de entrada para obtener una salida en base a la estructura del controlador. De manera de comprobacin se utilizaron los valores mostrados en la Figura 3.12 como entrada, el resultado se muestra en la Figura 3.15.

70

Figura 3.15 Simulacin del controlador difuso en el FIS Editor. Otra caracterstica del FIS Editor es que permite ver la superficie de mapeo correspondiente a las entradas y salida del controlador como LabVIEW, esta superficie que se crea, ver Figura 3.16, es prcticamente idntica a la observada en la Figura 3.10 por lo cual se demuestra que los resultados de las simulaciones son satisfactorias.

71

Figura 3.16 Superficie de mapeo del controlador difuso en MATLAB.

3.4. Implementacin del controlador difuso


Una vez simulado y observado el correcto funcionamiento del controlador difuso en LabVIEW y MATLAB se desarrolla un algoritmo en lenguaje C programado en el compilador C de CCS para su implementacin en un dsPIC30F4011.

72

3.4.1 Antecedentes MCU, DSP y DSC


Los microcontroladores clsicos, denominados de forma resumida MCU, son circuitos integrados que contienen un procesador digital complejo junto a diversos perifricos auxiliares que facilitan el desarrollo de las aplicaciones a las que se dedican. De forma resumida puede decirse que los DSP son microcontroladores dotados de los recursos fsicos y lgicos necesarios para poder soportar aplicaciones especficas del procesamiento digital de seales. Las instrucciones aritmticas complejas de los MCU, ver Figura 3.17, se ejecutan en varios ciclos, mientras que las de los DSP solo precisan uno. En los DSP siempre se dispone de conversores AD rpidos y precisos. Dado el carcter marcadamente matemtico de los programas para DSP, estos estn preparados para ser programados con lenguajes de alto nivel, como C. La velocidad y el rendimiento de los DSP son muy superiores a los habituales en los MCU. [10]

(a)

(b)

Figura 3.17- En (a), fotografa de un microcontrolador convencional o MCU, en (b) un DSP. Se puede definir un procesador digital de seales o DSP como un procesador monochip diseado para resolver un conjunto de operaciones matemticas sobre una seal continua o analgica del mundo real, como sonidos e imgenes, expresada digitalmente como corresponde al sistema representado en la Figura 3.18. Este procesador de seales se ha convertido en una de las ms poderosas herramientas tecnolgicas en las que se sustentaran la ciencia y la ingeniera del siglo XXI.

73

Figura 3.18 El procesamiento digital de seales bsicamente se descompone en 3 etapas: conversin de la seal analgica en digital (CAD), procesamiento de la seal digital y la conversin de la seal procesada a una forma analgica (CDA).

Los DSP pueden asemejarse a los clsicos microcontroladores, pero incorporando arquitecturas y recurso especiales para poder controlar de forma optima los requerimientos especficos y los algoritmos manejados en el procesamiento digital de seales analgicas. Las aplicaciones modernas mezclan las funciones tpicas MCU con las de procesamiento digital de seales (DSP). Esta situacin ha impulsado a Microchip a fabricar un circuito hibrido MCU/DSP, cuyo manejo es similar a los clsicos microcontroladores pero que incluyen las principales prestaciones de los DSP. As ha nacido el Controlador Digital de Seales, abreviadamente DSC (Digital Signal Controller), que rene las caractersticas de un microcontroladores PIC de16 bits y las de un DSP de gama baja. Los DSC son unos dispositivos que combinan la arquitectura y la programacin de los microcontroladores PIC de 16 bits con los recursos hardware software necesario para soportar las prestaciones fundamentales de los DSP. La primera generacin de DSC, denominada dsPIC30F, constituy un intento por parte de Microchip de facilitar el acercamiento al mundo del procesamiento digital de seales a sus usuarios de MCU de 8 y16 bits. Con esta intencin se ha mantenido el entorno de la arquitectura y juego de instrucciones de los MCU tradicionales, pero aadiendo la funcionalidad y los principales requisitos de los DSP, para facilitar la transicin a sus clientes habituales. Posteriormente, la segunda generacin de DSC, llamada dsPIC33F, ha potenciado las capacidades, el nmero de perifricos y el rendimiento, permitiendo acceder a campos de aplicacin ms complejos. dsPIC es un nombre genrico que se utiliza para referirse a los Controladores Digitales de Seales (DSC) que ha diseado Microchip Technology Inc. Para facilitar a los usuarios de sus microcontroladores PIC la transicin al campo de las aplicaciones de los Procesadores Digitales de Seales (DSP) [10,11].
74

3.4.2 dsPIC30F4011
El modelo seleccionado es el dsPIC30F4011 de 40 pines con empaquetado fsico PDIP (Plastic Dual Inline Package) como se ilustra en la Figura 3.19. Algunos de los rasgos ms caractersticos del microcontrolador son: Arquitectura Harvard modificada 83 instrucciones bsicas Ancho de instrucciones de 24 bits y un ancho de datos de 16 bits 48KB en su memoria de programa 2 KB en memoria RAM 1 KB en memoria EEPROM Velocidad de operacin de hasta 30 MIPS 16 registros de trabajo de 16 bits Instrucciones DSP son de 1 ciclo 16-bit Compare/PWM funciones de salida 6 PWM canales de salida 10-bit Convertidor Analgico Digital (ADC)

Figura 3.19 Pin diagram dsPIC30F4011 40-Pin PDIP. Una de las razones por la cual fue seleccionado el dsPIC30F4011 es por el voltaje de operacin, que es de 5 volts a diferencia del voltaje de operacin de la familia de los dsPIC33F que es de 3.3 volts. El ADC de 10 bits es suficiente para obtener una buena lectura de los
75

potencimetros y la prctica programacin en un lenguaje de alto nivel, para este caso lenguaje C es otra garanta para implementar el controlador difuso en un microcontrolador dsPIC30F4011.

3.4.3 Implementacin en el dsPIC30F4011


El objetivo principal del programa que se desarrolla en el compilador PIC C de CCS es primeramente leer dos potencimetros por medio de los canales AN2 y AN3 del ADC, los cuales sern tratados como los sensores de altura y presin del aire. Una vez capturados estos datos, se procede a obtener el valor de pertenencia en cada conjunto difuso correspondiente a cada entrada, es decir sensor 1 y sensor2. Al realizar el proceso de fuzificacin, el valor resultante es el que ser asignado al registro de duty que cambia el PWM para mover el servomotor en funcin a la tabla de reglas difusas para conseguir el cambio de paso deseado de la hlice. Para la programacin del controlador se utiliza un oscilador de cristal de 4 MHz lo que permite trabajar como mximo a 16MIPS y a una frecuencia interna del dsPIC de hasta 64 MHz con la configuracin del fusible XTPLL16 que multiplica la frecuencia del cristal por 16, mejorando de forma considerable la velocidad de procesamiento. La frecuencia a la que trabaja el servomotor Spektrum que se describe en la seccin 2.1 es de 45.45 Hz, es decir el periodo de la seal PWM es de 22ms. La duracin del pulso para mover el servo de 0 a 180 es de 0.68ms a 2.3ms lo que equivale a un periodo de trabajo de 1.62ms. En base a los 23 que se tiene que mover el servomotor para recorrer de forma lineal los 7.5mm se establecen los centros de las funciones de pertenencia o membresa de la salida difusa. Como las funciones de pertenencia de salida son triangulares con centros equidistantes, los valores que toman estos centros son obtenidos en relacin a un origen en 90, esto con la finalidad de no forzar al servomotor al llevarlo a uno de sus extremos ya sea 0 o 180. El valor inicial es de 1.49ms para 90. Para obtener los siguientes periodos para llevar el servomotor a 95.75, 101.5, 107.25 y finalmente 113 se realiza una regla de tres como la que se muestra en la ecuacin 3.1 donde x equivale al incremento en el periodo de trabajo cada 5.75.
.81 =90 =5.75

(3.1)

76

De la ecuacin 3.1 se obtiene , que equivale a 0.05175ms. Esto da como resultado que las duraciones de los pulsos para 90, 95.75, 101.5, 107.25 y 113 sean 1.49ms, 1.54175ms, 1.5935, 1.64525ms y 1.697ms respectivamente. Una vez obtenidos los valores a los cuales el servomotor tiene que trabajar para efectuar un movimiento angular de 23, es necesario adaptar estos valores a un registro del dsPIC que equivale al duty del PWM. Para obtener 1.49 ms en el duty que corresponden a 90 en el servomotor se utiliza la ecuacin 3.2.

(3.2)

en donde: t= tiempo en ms, Fosc=frecuencia de operacin del sistema = 64MHz, Preesacaler=divisin del Timer_2 utilizado como comparador de PWM = 8.

De la ecuacin 3.2 y los datos proporcionados, se obtiene como resultado 2980 en el duty para mover el servo motor a 90 y tener ah nuestra posicin inicial u origen. De la misma manera se calculan los valores necesarios para los siguientes cuatro centros de los conjuntos difusos de salida donde 113 corresponde a 3394, 107.25 = 3290.5, 101.5 = 3187 y 95.75 = 3083.5. A la salida del controlador el duty tiene una variacin de 414 unidades, entre 2980 y 3394, que producen el recorrido lineal de 7.5mm, lo que da como resultado que por cada unidad en el duty exista un desplazamiento lineal igual a 18. 1159 m. Como parte final de la implementacin se elabora un sistema embebido como se ilustra en la Figura 3.20, en el se integran el microcontrolador dsPIC30F4011, dos potencimetros que simulan los sensores de altura y presin del aire, un conector de alimentacin de la tarjeta, un conector de alimentacin del servomotor, una pantalla de cristal liquido (LCD) y un conector para el servomotor.

77

Cabe sealar que la tarjeta desarrollada se toma en consideracin como una tarjeta de prueba y no la tarjeta que ser implementada de manera final en un planeador. La LCD se utiliza para monitorear el correcto funcionamiento del controlador difuso haciendo diversas comparaciones con las simulaciones en LabVIEW y MATLAB, por lo cual en la versin final la LCD no ser necesaria.

Figura 3.20 Sistema embebido

78

Captulo 4

Resultados
En el presente capitulo se dan a conocer los resultados obtenidos de la implementacin del controlador difuso en un dsPIC30F4011 para comprobar su desempeo. A su vez, se hace una comparacin con las simulaciones previamente realizadas en LabVIEW y MATLAB para visualizar el correcto funcionamiento del controlador. Las pruebas se realizaron de manera de comprobacin en el laboratorio debido a que el fin particular de este trabajo es disear e implementar un controlador difuso para la hlice de paso variable. La Figura 4.1 muestra en funcionamiento la tarjeta desarrollada donde el monitoreo de las entradas se visualiza en el LCD. La entrada del sensor1 que corresponde a la altura se muestra como e en el LCD, a su vez la entrada del sensor 2 que corresponde a la presin del aire se muestra como d en la primera lnea. El valor que ser asignado al duty del PWM en el dsPIC se muestra en valor flotante de lado izquierdo y en valor entero de lado derecho en la segunda lnea del LCD. En la Figura 4.2 se ilustra la medicin del PWM por medio de un osciloscopio marca Tektronix para comprobar el correcto ancho de pulso que ser enviado al servomotor. En a) se puede observar que el duty tiene un valor de 3083 lo cual corresponde a un ancho de pulso de 1.54175ms como se puede observar en b).

79

Figura 4.1 Sistema embebido en funcionamiento.

Figura 4.2 Medicin del ancho de pulso.

80

En la Figura 4.3 se ilustra la primera prueba realizada con el motor brushless apagado, es decir, que la hlice no tiene giro alguno para poder visualizar el cambio de paso de forma clara. En a) se muestra la hlice con paso corto y en b) se muestra el paso largo.

a) Paso corto. .

b) Paso largo.

Figura 4.3 Prueba del sistema con motor brushless apagado.

En la Figura 4.4 se ilustra la primera prueba realizada con el motor brushless encendido girando a su mxima velocidad, es decir, 11520 RPM @ 12v. Como se puede observar en a), las palas de la hlice se ven ms delgadas por el efecto de giro donde se representa el paso corto, a comparacin de b), donde las palas se aprecian ms grandes, es decir el paso largo de la hlice donde se deja pasar la mayor cantidad de aire lo que produce un mayor desplazamiento lineal con las misma RPM.

81

a) Paso corto. .

b) Paso largo.

Figura 4.4 Prueba del sistema con motor brushless encendido.

Una vez realizadas las primeras pruebas y observado que el funcionamiento del mecanismo es el adecuado para cambiar el paso de la hlice de forma proporcional al duty, se elabora una tabla comparativa, ver Tabla 4.1, de los resultados experimentales y los resultados simulados en LabVIEW y MATLAB de los centros de los conjuntos difuso, es decir, valores de 0, 1.25, 2.5, 3.75 y 5 para las entradas, con el fin de comprobar el desempeo del controlador difuso.

82

Tabla 4.1. Comparacin de resultados experimentales y simulados con valores de entrada en los centros de los conjuntos difusos. ENTRADAS SALIDA (duty) volts Lenguaje C (dsPIC) MATLAB LabVIEW e=s1 d=s2 Entero Flotante 5 4.975 2980 2980 2980 2980.08 3.748 4.975 3083 3083.6 3083.8 3083.73 2.497 4.975 3187 3187.3 3187.5 3187.27 1.256 4.975 3293 3293.3 3293.4 3292.52 0 4.975 3393 3393.3 3394 3393.97 5 3.748 2980 2980 2980.3 2980.33 3.748 3.748 3083 3083.7 3083.8 3083.74 2.497 3.748 3188 3188 3188.3 3187.87 1.256 3.748 3392 3392 3392 3392.03 0 3.748 3394 3394 3394 3393.97 5 2.497 3083 3083.4 3083.5 3083.5 3.748 2.497 3084 3084.3 3084.6 3084.25 2.497 2.497 3290 3290.9 3291 3290.69 1.256 2.497 3093 3093 3393 3393.24 0 2.497 3394 3394 3394 3393.97 5 1.256 3083 3083.4 3083.5 3083.5 3.748 1.256 3186 3186.2 3186.3 3186.43 2.497 1.256 3290 3290.8 3291 3290.69 1.256 1.256 3393 3393 3393 3393.24 0 1.256 3394 3394 3394 3393.97 5 0 3083 3083.5 3083.5 3083.5 3.748 0 3187 3187 3187.3 3187.15 2.497 0 3290 3290.7 3291 3290.69 1.256 0 3392 3392 3393 3393.23 0 0 3393 3393 3394 3393.97

La Tabla 4.1, se elabor en base al los datos mostrados en el LCD del sistema embebido. Los mismos datos que se visualizan en la LCD se capturan como entradas en las simulaciones de LabVIEW y MATLAB para obtener la salida correspondiente. En funcin de la Tabla de 25 reglas difusas previamente declarada, se observa que la salida difusa cambia a sus 5 estados NG, NP, Z, PP y PG de forma proporcional al valor del sensor1 y el sensor 2. En la Tabla 4.2 se muestran la comparacin de resultados experimentales y simulados con valores aleatorios diferentes a los centros de los conjuntos difusos de las entradas, de

83

manera que se pueda tener un panorama ms amplio del desempeo del controlador implementado. Tabla 4.2 Comparacin de resultados con valores aleatorios diferentes a los centros de los conjuntos difusos de entrada. ENTRADAS SALIDA (duty) volts Lenguaje C (dsPIC) MATLAB LabVIEW e=s1 d=s2 Entero Flotante 4.877 4.613 2992 2992.8 2992.9 2991.19 4.687 3.435 3031 3031.5 3031.6 3030.9 3.279 4.203 3124 3124.3 3124.4 3123.6 2.829 1.5 3252 3252.3 3252.5 3252.27 2.346 0.747 3305 3305.9 3306 3305.17 1.871 2.761 3330 3330.1 3330.3 3329.66 1.612 3.279 3340 3340.9 3341.1 3341.57 1.163 4.222 3354 3354.9 3355 3354.8 0.777 4.452 3359 3359.5 3359.5 3359.76 0.874 1.871 3394 3394 3394 3393.94

Para tener una mayor perspectiva del movimiento lineal que se produce para cambiar el paso de la hlice, en la Figura 4.5 se muestran las posiciones de la hlice cuando el duty toma los cinco valores correspondientes a los centros de la salida difusa, es decir, 2980, 3085.5, 3187, 3290.5 y 3394.

84

a) Duty = 2980 =NG.

b) Duty = 3083.5 = NP.

c) Duty = 3187 = Z.

d) Duty = 3290.5 = PP.

85

e) Duty = 3394 = PG. Figura 4.5 Cinco posiciones principales de la hlice de paso variable.

86

Captulo 5

Conclusiones y trabajo futuro


En este ultimo capitulo se dan a conocer las conclusiones y propuestas de trabajo futuro sobre el sistema implementado.

5.1. Conclusiones
Los resultados mostrados en el captulo 4 demuestran que el controlador difuso diseado e implementado en el presente trabajo se comporta de manera satisfactoria en el control de paso de la hlice cuando las entradas provienen de dos potencimetros que varan la seal de entrada entre 0 y 5 volts. El prototipo mecnico construido cumpli con el objetivo de producir un movimiento lineal de 7.5mm en base a un movimiento angular proveniente del servomotor al que se le aplico el controlador difuso de 23, con lo cual se obtienen 414 posiciones para el cambio de paso de la hlice, que equivale a una resolucin de 18. 1159 m por unidad en el duty. Este prototipo fue necesario para poder comprobar el correcto funcionamiento del controlador en un sistema real. El algoritmo del controlador difuso que se desarroll en lenguaje C y cuya implementacin se llevo a cabo en un dsPIC30F4011, demostr tener un desempeo ptimo para la variacin de paso de la hlice. La simulacin del controlador difuso en el Toolkit Fuzzy System Designer de LabVIEW permiti observar de forma grfica el comportamiento del sistema, lo cual dio como resultado una superficie de control donde se puede monitorear la salida del controlador en base a las entradas provenientes de dos potencimetros.

87

La simulacin del controlador difuso en MATLAB fue necesaria para establecer una comparacin con los resultados experimentales y los datos obtenidos en la simulacin de LabVIEW debido a que, la programacin en MATLAB es de alto nivel, as como el lenguaje C, con lo cual se demostr la funcionalidad del controlador en un software con estructura similar al algoritmo implementado a diferencia de la programacin grafica de LabVIEW. La simulacin del controlador difuso en el Fuzzy Logic Toolbox de MATLAB permiti observar de forma grfica el comportamiento del sistema con otra plataforma diferente a LabVIEW, lo cual dio como resultado una superficie de control prcticamente exacta en ambos casos, as se demuestra el correcto funcionamiento del controlador en lenguajes de programacin grficos. La implementacin del algoritmo de control en un sistema embebido para el control de la hlice de paso variable mostr un comportamiento excelente para las pruebas de laboratorio, en donde se monitoreo en base a una LCD la salida del duty para el PWM del servomotor y en base a esta salida se pudo obtener una tabla comparativa con las simulaciones en MATLAB y LabVIEW para establecer el adecuado funcionamiento del controlador. De manera general el proyecto realizado en la estada, cumple con la expectativa de realizar el diseo y la implementacin de un controlador difuso en un dsPIC30F4011 para una hlice de paso variable en pruebas de laboratorio.

5.2. Trabajo futuro


El trabajo de tesis se puede ampliar con diversos trabajos a futuro, esto con la finalidad de poder implementar el controlador difuso en un planeador elctrico. Es necesario analizar de forma detallada el mecanismo para poder ajustarlo a un planeador que se tenga en el Laboratorio de Sistemas Dinmicos Controlables, esto con el fin de poder hacer pruebas reales ya que en el presente trabajo solo se hicieron pruebas de laboratorio. Para esto se necesita considerar el tipo de material, debido a que el peso es un factor importante a considerar en la aeronave. La implementacin de los sensores de altura y de presin del aire sobre la aeronave en el sistema embebido, son indispensables para poder realizar pruebas reales en un planeador, cabe resaltar que las pruebas necesarias para probar la fiabilidad del controlador ya fueron realizadas con xito en el laboratorio, por lo cual es cuestin de calibrar los sensores para su correcto funcionamiento. En dado caso que las entradas de voltaje cambien respecto al diseo elaborado del controlador, el cdigo de programacin es bastante amigable, por tal motivo la
88

modificacin de unas cuantas lneas o parte de ellas ser necesario para ajustar los nuevos valores que se requieran. Otro trabajo que se puede realizar para tener la comparacin del rendimiento del controlador difuso es obtener el modelo matemtico de la hlice para poder as involucrar de manera completa los elementos que repercuten en el cambio de paso y as determinar si el controlador implementado es lo suficientemente eficiente para trabajar este tipo de hlices con las entradas propuestas de altura y presin del aire.

89

Bibliografa

[1] Passino K., Yurkovich S. Fuzzy Control. Addison-Wesley, 1998. [2] Barragn P.A. J. Sntesis de Sistemas de Control Borroso Estables por Diseo. PhD tesis, Departamento de Ingeniera Electrnica, de Sistemas Informticos y Automtica, Universidad de Huelva, 2009. [3] Oscal T. C., Yao-Chou L., and Hwai-Tsu C. Fuzzy reasoning processor for camera image autofocus. Visual Communications and Image Processing95, (1995) 347354. [4] Vlez V. M. A. Metodologa para mantener la interpretabilidad en el modelado utilizando sistemas borrosos. PhD tesis, Departamento de Ingeniera Electrnica, de Sistemas Informticos y Automtica, Universidad de Huelva, 2011.

[5] Ordoez R. R. C. Aplicacin tcnica de la aerodinmica . Mxico DF. [6] Muoz M. A., Nociones bsicas de Vuelo. Espaa, 2002. [7] DX5e 5-Channel Full Range DSM2 2.4GHz Radio System, SPEkTRUM Radio userss guide, 2008. [8] Flores S. G. Prototipo de Vehculo areo no tripulado. Universidad Politcnica de Pachuca, 2011.

[9] Krar, Chek. Tecnologa de las Mquinas Herramienta. Alfaomega, 2002. [10] Angulo U. J. M., Etxebarria R. A., Angulo M. I., and Trueba P. I. dsPIC Diseo prctico de aplicaciones. Mc Graw Hill, 2008. [11] Benito U. M. Apuntes de: Sistemas embebidos. Universidad de Murcia, 2009. [12] LabVIEW PID and Fuzzy Logic Toolkit User Manual, National Instruments, 2009. [13] Circuitos electrnicos de Radio Control, http://www.e-radiocontrol.com.
90

Apndice A

Cdigos de Programacin
A.1. Cdigo de MATLAB
%% Controlador Difuso clear all close all clc disp(' Controlador Difuso ' ); disp(' '); a=input ('Valor de sensor1 (0-5 v): '); b=input ('Valor de sensor2 (0-5 v): '); %Conjuntos difusos de sensor1 s1NG=trapmf (a, [-1.25, -1.25, 0, 1.25]); s1NP=trapmf (a, [0, 1.25, 1.25, 2.5]); s1Z=trapmf (a, [1.25, 2.5, 2.5, 3.75]); s1PP=trapmf (a, [2.5, 3.75, 3.75, 5]); s1PG=trapmf (a, [3.75, 5, 6.25, 6.25]); %Conjuntos difusos de sensor2 s2NG=trapmf (b, [-1.25, -1.25, 0, 1.25]); s2NP=trapmf (b, [0, 1.25, 1.25, 2.5]); s2Z=trapmf (b, [1.25, 2.5, 2.5, 3.75]); s2PP=trapmf (b, [2.5, 3.75, 3.75, 5]); s2PG=trapmf (b, [3.75, 5, 6.25, 6.25]); %FAM (centros MF)
91

T= [3394, 3394, 3394, 3394, 3394; 3394, 3394, 3394, 3394, 3290.5; 3290.5, 3290.5, 3290.5, 3187, 3187; 3187, 3187, 3083.5, 3083.5, 3083.5; 3083.5, 3083.5, 3083.5, 2980, 2980]; sensor1= [s1NG s1NP s1Z s1PP s1PG]; %en i sensor2= [s2NG s2NP s2Z s2PP s2PG]; %en j num=0; den=0; for i=1:5 for j=1:5 prod (i,j)=sensor1(i) * sensor2(j); %implicacin producto area (i,j)=207*(prod(i,j)-(prod(i,j)^2/2)); %Area bajo MF num1 (i,j)=T (i,j)*area(i,j); %Matriz de fuerza a partir de los valores de entrada num=num1 (i,j)+num; %Sumatoria Numerador den=area (i,j)+den; %Sumatoria Denominador end end %Salida u=num/den

A.2. Cdigo del dsPIC30F4011

/************************** CONTROLADOR DIFUSO *****************************/ #include <30F4011.h> // Microcontrolador a utilizar #device adc=10 // Resolucin del ADC #include <math.h> // Libreras #FUSES XT_PLL16 // XT Crystal Oscillator mode with 16X PLL #FUSES PR // Primary Oscillator #FUSES NOPUT // No Power Up Timer #FUSES NOBROWNOUT // No brownout reset #FUSES NOPROTECT // Code not protected from reading #FUSES NOWDT // No Watch Dog Timer #FUSES MCLR // Master Clear pin enabled
92

#use delay (clock=64000000)

// Frecuencia de trabajo // Configuracin del LCD

#define LCD_ENABLE_PIN PIN_D0 #define LCD_RS_PIN PIN_D2 #define LCD_RW_PIN PIN_D3 #define LCD_DATA4 PIN_F1 #define LCD_DATA5 PIN_F4 #define LCD_DATA6 PIN_F5 #define LCD_DATA7 PIN_F6 #include <lcd.c> #define ADC_TAD_MUL_1 0x0100

/************************* DEFINICION DE FUNCIONES ***************************/ void iniciaFAM(); // sensor1 MF float s1_NG(float x); float s1_NP(float x); float s1_Z(float x); float s1_PP(float x); float s1_PG(float x); // sensor2 MF float s2_NG(float x); float s2_NP(float x); float s2_Z(float x); float s2_PP(float x); float s2_PG(float x); // MF triangular y trapezoidal float trimf(float a, float b, float c, float x); float trapmf(float a, float b, float c, float d, float x); /************************** ***VARIABLES GLOBALES *****************************/ float sensor1,sensor2; int16 ang1, ang2; unsigned int16 duty; float defuzzy;
93

// Matriz de memoria asociativa difusa

float32 h=0,num=0,den=0; int i=0,j=0,k=0; float pos[4][3],FAM[5][5]; int cont=0; float xs1[5]; float xs2[5]; /************************** PROGRAMA PRINCIPAL *****************************/ void main() { setup_timer2(TMR_INTERNAL | TMR_DIV_BY_8,0xABDF); setup_compare(2, COMPARE_PWM | COMPARE_TIMER2); setup_adc_ports(sAN2|sAN3|VSS_VDD); //setup_adc(ADC_CLOCK_DIV_2|ADC_TAD_MUL_1); #asm mov #0x0101, W4; mov W4,0x02A4; mov #0x80E0, w4; mov w4, 0x02A0; #endasm set_tris_B(0x0F); // Configuracin de puertos set_tris_D(0x00); set_tris_F(0x00); lcd_init(); iniciaFAM(); while(k==0){ num=0; den=0; cont=0; for (i=0;i<=4;i++){ // Limpiar arreglos xs1[i]=0; xs2[i]=0; } // sensor1 & sensor2 set_adc_channel(2); // sensor1=Altura por canal 2 delay_us(5); ang1=read_adc(); sensor1= (5.0 * ang1 / 1023.0); // valor entre 0 y 5 resolucin de 10 bits delay_us(5); set_adc_channel(3); // sensor2=Presin del aire por canal 3
94

//periodo de 22ms para servos

delay_us(5); ang2=read_adc(); sensor2= (5.0 * ang2 / 1023.0); // Evaluacin del grado de pertenencia xs1[0]=s1_NG(sensor1); xs1[1]=s1_NP(sensor1); xs1[2]=s1_Z(sensor1); xs1[3]=s1_PP(sensor1); xs1[4]=s1_PG(sensor1); xs2[0]=s2_NG(sensor2); xs2[1]=s2_NP(sensor2); xs2[2]=s2_Z(sensor2); xs2[3]=s2_PP(sensor2); xs2[4]=s2_PG(sensor2); for (i=0;i<=4;i++){ if (xs1[i]>0){ for (j=0;j<=4;j++){ if (xs2[j]>0){ pos[cont][0]=xs1[i]; // posicin xs1 pos[cont][1]=xs2[j]; // posicin xs2 pos[cont][2]=FAM[i][j]; // posicin de salida "centro MF" cont++; } } } } for (i=0;i<=3;i++){ h= pos[i][0] * (pos[i][1]); num+= pos[i][2] * 207 * ( h-( h * h / 2.0)); // x+=y is x=x+y "Sumatoria" den+= 207 * ( h-( h * h)/ 2.0); } defuzzy= num / den; // Flotante if(defuzzy>3394){ // Se establecen lmites mximo y mnimo duty=(int16)3394;} // Entero de 16 bits, resolucin del Duty else if(defuzzy<=2980) { duty=(int16)2980;} else { duty=(int16)defuzzy;}
95

set_pwm_duty(2,duty); // Periodo del ciclo de trabajo lcd_gotoxy(1,1); printf(lcd_putc,"s1=%0.3fs2=%0.3f",sensor1,sensor2); lcd_gotoxy(1,2); printf(lcd_putc,"u=%.1f d=%4ld",defuzzy,duty); delay_ms(10); // periodo de muestreo } } // MF triangular float trimf(float a, float b, float c, float x) { if(x>=a && x<=b){ return (x-a)/(b-a); }else if (x>=b && x<=c){ return (c-x)/(c-b); }else{ return 0; } } // MF Trapezoidal float trapmf(float a, float b, float c, float d, float x) { if(x>=a && x<=b){ return (x-a)/(b-a); }else if (x>=b && x<=c){ return 1; }else if (x>=c && x<=d){ return (d-x)/(d-c); }else{ return 0; } } // sensor1 (Altura) float s1_NG(float x){ return trapmf(-1.25,-1.25,0,1.25,x);} float s1_NP(float x){ return trimf(0,1.25,2.5,x);} float s1_Z(float x){ return trimf(1.25,2.5,3.75,x);}
96

float s1_PP(float x){ return trimf(2.5,3.75,5,x);} float s1_PG(float x){ return trapmf(3.75,5,6.25,6.25,x);} // sensor2 (Presin del aire) float s2_NG(float x){ return trapmf(-1.25,-1.25,0,1.25,x);} float s2_NP(float x){ return trimf(0,1.25,2.5,x);} float s2_Z(float x){ return trimf(1.25,2.5,3.75,x);} float s2_PP(float x){ return trimf(2.5,3.75,5,x);} float s2_PG(float x){ return trapmf(3.75,5,6.25,6.25,x);} // BASE DE REGLAS void iniciaFAM() { // sensor1 (FILAS) sensor2 (COLUMNAS) SALIDA: centros de MF

// NG NP Z PP PG FAM[0][0]=3394; FAM[0][1]=3394; FAM[0][2]=3394; FAM[0][3]=3394; FAM[0][4]=3394; //NG FAM[1][0]=3394; FAM[1][1]=3394; FAM[1][2]=3394; FAM[1][3]=3394; FAM[1][4]=3290.5; //NP FAM[2][0]=3290.5;FAM[2][1]=3290.5;FAM[2][2]=3290.5;FAM[2][3]=3187; FAM[2][4]=3187; //Z FAM[3][0]=3187; FAM[3][1]=3187; FAM[3][2]=3083.5;FAM[3][3]=3083.5;FAM[3][4]=3083.5; //PP FAM[4][0]=3083.5;FAM[4][1]=3083.5;FAM[4][2]=3083.5;FAM[4][3]=2980; FAM[4][4]=2980; //PG }

97

También podría gustarte