Your SlideShare is downloading. ×
Fuzzy pid
Fuzzy pid
Fuzzy pid
Fuzzy pid
Fuzzy pid
Fuzzy pid
Fuzzy pid
Fuzzy pid
Fuzzy pid
Fuzzy pid
Fuzzy pid
Fuzzy pid
Fuzzy pid
Fuzzy pid
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Fuzzy pid

3,030

Published on

CONTROL DE UNA PLANTA DE LUZ

CONTROL DE UNA PLANTA DE LUZ

1 Comment
1 Like
Statistics
Notes
No Downloads
Views
Total Views
3,030
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
151
Comments
1
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Análisis e Implementación de un Control Fuzzy PID de Iluminación usando Matlab 2012 Análisis e Implementación de un Control Fuzzy PID de Iluminación usando Matlab Miguel Alejandro Ruiz Cruz Ingeniería Mecatrónica Escuela Politécnica del Ejercito miguelalejoruiz@gmail.comResumen:Se implementa un control Fuzzy PID, sobre una planta de iluminación, con el fin de tener un banco depruebas, donde se analizaran las diferentes ventajas y desventajas que posee, frente a los controles, difuso yPID utilizados comúnmente. Se pretende utilizar las ventajas de cada tipo de control para optimizando elfuncionamiento de la planta de iluminación. Para ello se utilizara una LDR como sensor de luz, un circuito deacondicionamiento, un circuito de control, una matriz de 20 Leds como actuador y la ayuda del software deMatlab, en donde se encuentra el control. El PIC controla víaAbstract:In these project will be implemented, PID and fuzzy controls, in order to evaluate, the differentadvantages and disadvantages that each one in the control of lighting. We will identify and tune thesystem by different methods, for these is used as light sensor a LDR , a conditioning circuit, a control circuit,an array of 20 LEDs as an actuator, which change their percentage of lighting using PWM technique and thehelp of Matlab software, where is the control.Introducción:El control a implementar, debe ser capaz de estabilizar la planta de luz, en el menor tiempo posible con unerror en el estado estacionario nulo, sin presentar sobre picos en todo rango de trabajo, sin importar el tipode perturbaciones que se le someta a la planta. Se analizaran las ventajas que posee un controlador Hibridofrente a los controles difuso y PID. para lo cual se va a utilizar el software Matlab con el fin de programar losdiferentes controles, y visualizar las diferentes graficas de control.Sensor:El sensor que se utilizo en la planta de luz fue una LDR (Light Dependent Resistence), dispositivo cuyaresistencia óhmica es una función de la iluminación recibida sobre su superficie (fotorresistencia). Laresistencia óhmica disminuye, a medida de que la iluminación aumenta, sobre la superficie de la LDR.La dependencia entre resistencia e iluminación es de la forma: [1]Las LDR son unos dispositivos sensibles, económicos y fáciles de conseguir, con tiempos de respuesta acambios repentinos del nivel luminoso entre las decenas a centenas de milisegundos, sin embargo no es unsensor lineal, presenta poca estabilidad térmica y problemas de histéresis. 1
  • 2. Análisis e Implementación de un Control Fuzzy PID de Iluminación usando Matlab 2012Acondicionamiento:Para poder medir el porcentaje de iluminación de la planta de luz, es necesario convertir los cambios deresistencia de la LDR a cambios de voltaje por lo cual se utilizara un divisor de voltaje, un circuito operacionalconfigurado como seguidor con ello logramos que la salida sea la misma tensión que la entrada,independientemente de la carga que se le acopla. Además se implemento un pasa bajos para eliminar elruido presente en nuestro circuito de acondicionamiento, con una frecuencia de corte igual:Se obtuvo a la salida del circuito de acondicionamiento, un voltaje de 1.4 voltios cuando el actuador seencontraba a su máximo porcentaje de iluminación, y 5 voltios cuando el actuador se encontraba apagado. Figura 1: Circuito de acondicionamiento implementado.Adquisición de datos:El envió y recepción de datos se realizo por medio de una comunicación serial, por lo cual se escogió el PIC16F877A, ya que este presenta, entradas analógicas y digitales, conversor análogo/digital, salida de PWM ycomunicación serial.Cabe recalcar que se utilizo una comunicación maestro-esclavo, siendo el maestro el controlador (Matlab), yel esclavo el PIC, por lo cual solo cuando el controlador requiera datos, solicita al PIC que se los envié y soloen este instante se realiza la comunicación.En este punto es importante destacar que se debe elegir la frecuencia con que se va a adquirir y generar lamuestra de datos. Este factor es muy importante ya que la mala elección de la frecuencia de muestreo podríaconllevar a una mala representación de las señales adquiridas y generadas. La frecuencia de muestreo será 3veces el tiempo en el que se tarda en realizar todas las instrucciones el procesador, en este caso vendríahacer el micro controlador. Por lo cual nuestro tiempo de muestreo será de 0.04 segundosControl PID:La idea básica de un control PID, es tomar la información, presente, pasada, del sistema y tratar de predecirsu funcionamiento en el futuro, para producir una señal de control, manteniendo a la variable de proceso enun punto deseado. La parte proporcional, da una señal de control proporcional al error. (información actual) La parte integral da una señal de control proporcional al error acumulado (información pasada) La parte derivativa da una respuesta proporcional a la derivada del error (información futura). 2
  • 3. Análisis e Implementación de un Control Fuzzy PID de Iluminación usando Matlab 2012Matemáticamente un control PID queda descrito por la siguiente ecuación:La señal de control es u(t) el error es la diferencia entre la señal de referencia y la salida, e(t)=r(t)-y(t) y Kp, Ki,Kd son las constantes de control.Análisis e Implementación del Control P.La planta de luz, es un sistemas que reacciona muy rápido a cualquier estimulo aplicado, además es muysensible ante cualquier tipo de perturbaciones, haciendo esto un sistema difícil de controlar con todas lascondiciones impuestas. Ya que el sistema es de primer orden es suficiente un controlador tipo P, por mediode su implementación , se mejoran las características en estado transitorio.Sintonizando la constante proporcional, por diferentes métodos y analizando con cuál de ellas se obtiene uncontrol de la planta de luz más adecuado se obtuvo una constante proporcional igual a 0.5. El control con una Kp igual a 0.5, presento buenos resultados en la mayoría de los casos, sin embargo existenciertos rangos de operación donde el control presenta sobre picos elevados, o un tiempo de establecimientoalto.El control P por sí solo no es capaz de mejorar, los dos parámetros, a la vez, si se mejora el Máximo pico , eltiempo de establecimiento incrementa, y viceversa, estos dos parámetros son inversamente proporcionales.Razón por la cual se plantea realizar un control difuso, el cual modifique la constante proporcional, en eltiempo, mejorando el tiempo de establecimiento y reduciendo los sobre picos.Control Difuso.En un sistema difuso, el valor de entrada real (proveniente de sensores) es convertido a un valor difuso vía elproceso de Fusificación, este valor es enseguida introducido al proceso lógico difuso comúnmente llamado 3
  • 4. Análisis e Implementación de un Control Fuzzy PID de Iluminación usando Matlab 2012Mecanismo de inferencia, en donde es continuamente evaluado en un conjunto de reglas, en donde seencuentra el conocimiento del experto en el sistema, este proceso genera un valor de salida difuso, el cual estransformado a un valor de salida real a través del proceso de Defusificación. La estructura básica de unSistema de Lógica Difusa se muestra a continuación. Figura 9: Bloques del control difuso.Métodos de Defusificación.Para obtener a partir del conjunto difuso de salida, que resulta la agregación de todas las reglas, un resultadoescalar, se aplican métodos matemáticos, que son: método del máximo, método del centroide y método dela altura. Se utilizo el método del centroide ya métodos usualmente llevan a señales de salida continuas, estoquiere decir que no hay saltos bruscos con un cambio pequeño a la entrada, además este método es usadogeneralmente en las aplicaciones de control en lazo cerrado.Tipos de Controladores Difusos.Los controladores difusos se pueden clasificar en dos tipos: Controlador tipo Takagi-Sugeno y controladortipo Mamdami. Para el diseño de un controlador tipo Takagi-Sugeno se necesita un conocimientocuantitativo de la planta, en cambio para el tipo Mamdami no se necesita sino un conocimiento mucho másempírico. Es por esta razón que se utilizo un controlador tipo Mandami, ya que no se presenta unconocimiento cuantitativo de la planta de luz.Análisis e Implementación del Control Difuso.La adecuada implementación de un control difuso, se encuentra en el conocimiento que se tenga sobre elsistema a controlar, por lo cual se estudio como responde la planta de luz en las diferentes condiciones. Conlo cual se observo que el sistema no entrega un dato fijo a la entrada del controlador, por lo cual se decidióobviar un rango de error ocasionado, por ruidos. Es por ello que el control difuso propone control másestable, en menor tiempo, pero con un error en estado estacionario mayor. 4
  • 5. Análisis e Implementación de un Control Fuzzy PID de Iluminación usando Matlab 2012Como se puede observar en la grafica, el control llega a estabilizarse mas rápido sin sobre picos sin embargoel erro en estado estacionario es mayor que el control P implementado.Análisis e Implementación del Control Difuso P.El control P no es suficiente para controlar los Máximos Picos y presentar el mismo tiempo de estabilización,y el control difuso presenta un error en estado estacionario muy alto, es por ello que es necesario laimplementación de un Control Difuso, el cual va a controlar la constante proporcional del control P, para queel sistema de iluminación llegue a tener una respuesta en lo posible sin Sobre picos y lo más rápida posible.Además ya que el sistema no entrega un dato fijo a la entrada del controlador, ocasionando errores en laparte estacionaria, razón por la cual se decidió que el control difuso de una constante proporcional de cerocuando el sistema se encuentre en el estado estacionario, donde el control P no daba respuestas adecuadaspor la presencia de ruido. Obteniendo de esta manera un control más regularEl control se realizara, mediante un control difuso, el cual presente, como entradas el punto de referencia delsistema, y el error del sistema, dando como salida una constante proporcional adecuada, para que elcontrolador P, de como resultado una respuesta satisfactoria en todo el rango de funcionamiento delsistema.Pasos del Control difuso. Identificación de las Variables lingüísticas y de términos Lingüísticas.Una variable lingüística es aquella que puede tomar por valor términos del lenguaje natural en el caso delproblema planteado nuestras variables serán Personas, Error etc. Además contiene una colección deatributos representados por un conjunto difuso. Estos atributos reciben el nombre de Términos Lingüísticos.Estos términos lingüísticos vienen a constituirse en las funciones de membresía de una variable lingüística. Tabla 1: Descripción de las variables lingüísticas. 5
  • 6. Análisis e Implementación de un Control Fuzzy PID de Iluminación usando Matlab 2012 Variable Lingüística Set Iluminación Error Kp Muy Bajo Cero Cero Bajo Muy bajo Muy bajo Términos Medio Bajo Bajo Lingüísticos Alto Medio Medio Muy alto Alto Alto Fusificación. Figura 10: Funciones de membrecías, Fusificación de variables. Base de Conocimientos Tabla 2: Tabla FAN para la implementación del control difuso Set Kp Muy bajo Bajo Medio Alto Muy Alto Cero Cero Cero Cero Cero CeroError Medio Bajo Medio Bajo Medio Bajo Medio Bajo Medio Bajo Medio Bajo Bajo Medio Bajo Bajo Bajo Medio Medio Medio Bajo Medio Medio Medio Alto Alto Medio Medio Medio Alto Alto 6
  • 7. Análisis e Implementación de un Control Fuzzy PID de Iluminación usando Matlab 2012 Motor de Inferencia: Figura 11: Reglas del funcionamiento de la planta de luz Defusificación. Figura 12: Defusificación de las variables.Resultados obtenidos del Control Difuso: 7
  • 8. Análisis e Implementación de un Control Fuzzy PID de Iluminación usando Matlab 2012 Figura 13: Respuesta del control difuso a una entrada escalón. Figura 14: Respuesta del control Difuso a perturbaciones:Análisis de Resultados. Los controladores P y Difuso, presentaron resultados aceptables, con tiempos de establecimientos alrededor de los 0.3 segundos, además presentaron una buena respuesta bajo perturbaciones, llegando los dos a estabilizarse en menos de 0.5 segundos después de ellas. El control difuso aunque no reduce, el error en estado estacionario, presentaba un control más uniforme, y no tan oscilatorio como el control P. El control difuso, no presenta ningún sobre pico, cuando alcanza el punto deseado, a diferencia del controlador P, sin embargo el error en estado estacionario es considerablemente mayor, presentando un error en estado estacionario de hasta el 11%, a diferencia del control P el cual es del 2%. Con el control Difuso P, se obtuvieron menores de sobre picos, obteniendo un máximo sobre pico del 7.25%, además el error en estado estacionario fue igual que el control P, lo cual indica que presenta gran exactitud a diferencia del control difuso, además los tiempos de establecimientos, en promedio fueron mejores que los controles Difuso y P. Referenci Mp [%] ts[s] ess[%] a [%] P Difuso Difuso P P Difuso Difuso P P Difuso Difuso P 10 8.2 0 0 0.4 0.35 0.21 2 NA 2 20 41 0 0 0.19 0.4 0.35 2 11.1 2 8
  • 9. Análisis e Implementación de un Control Fuzzy PID de Iluminación usando Matlab 2012 30 0 0 0 0.15 0.38 0.32 2 NA 2 40 0 0 0 0.15 0.37 0.21 2 9.24 2 50 0 0 0 0.17 0.3 0.2 2 NA 2 60 0 0 0 0.17 0.37 0.18 2 7.65 2 70 4.9 0 0 0.16 0.4 0.12 2 NA 2 80 0 0 0 0.19 0.14 0.17 2 5.76 2 90 0 0 0 0.24 0.1 0.12 2 NA 2 Se logro omitir el control, en el estado estacionario, cuando existe la presencia de señales erradas al ingreso del (Matlab). Manteniendo el mismo control con rangos de errores bajos, Estas señales pueden ocurrir por la presencia de ruidos, por que el microntrolador no envía datos fijos a la planta, y por la pérdida de datos en la comunicación serial. Se presento mejores resultados cuando se realizo el controlador en una función de Matlab, que realizar el control desde el modo grafico, ya que en el modo grafico el tiempo de procesamiento de datos aumenta de 5 a 10 veces.Conclusiones. El controlador difuso es fácil de implementar, ya que para ello solo se necesita tener conocimiento del comportamiento de la planta, y de las condiciones de control, en cambio para poder implementar un controlador PID, además de conocer el comportamiento de la planta, se necesita sacar un modelo lineal, identificar el tipo de planta y calcular las constantes de control. El tiempo de muestreo es el factor más importante para que los dos controladores den los resultados deseados, para es recomendable calcular el tiempo que tarda el microcontrolador al ejecutar su programa, y multiplicarlo por tres, y este será el tiempo de muestro, además se recomienda para sistemas de respuestas rápidas, optimizar el programa del microcontrolador, con el fin de disminuir el tiempo de muestreo. El tiempo de muestreo utilizado es de 0.04 segundos. El control Difuso P mejoro considerablemente la respuesta de la planta de luz, obteniendo sobre picos de hasta el 7%, y se redujo considerablemente el tiempo de estabilización en un 10% al del control P. El control Difuso P, logro presentar un control más estable, en el estado estacionario, evitando las señales erradas enviadas por el microcontrolador. Aunque se realizo un filtro pasa bajos, y se utilizo un seguidor de voltaje no se alcanzaron los resultados esperados, observándose variaciones de señal, aun cuando la señal de control no variaba, razón por la cual el control se decidió no cambiar la señal de control cuando el error es muy bajo, obteniéndo un control más estable.Referencias: Rojas, Sistemas Difusos & MatLab, 2010. http://www.dia.uned.es/~Rojas/.../Sistema%20Difuso%20MatLab.pdf L. Reznik, Fuzzy Controllers, Victoria University of Technology,Melbourne, Australia, 1997. R. Rocafuerte, Teoría de Control Difuso,Universidad del Distrito, México, 2009. http://www.udm.mx/controladorfuzzy&source=web &cd.pdf 9
  • 10. Análisis e Implementación de un Control Fuzzy PID de Iluminación usando Matlab 2012 K. Passino, S. Yurkovich, Fuzzy Control,Department of Electrical Engineering Addison-Wesley, 1998. Introduction to Fuzzy Logic using MatLab. Sivanandam Sumathi and Deepa.Anexos:Programa de control realizado en Matlab. %Limpia los valores de las variables clear all clear LUMENES; clear tiempo; clear VOLTAJE clear luxes clear LUX clear Set_point clear Error %Verifica si existe un instrumento conectado PS=instrfind; if PS~=isempty(PS) fclose(PS); delete(PS); clear PS; end %Incializacion del puerto serial PS=serial(COM3); % puerto serial utilizado %Configuracion del puerto serial set(PS,Baudrate,9600); % se configura la velocidad a 9600 Baudios set(PS,StopBits,1); % se configura bit de parada a uno set(PS,DataBits,8); % se configura que el dato es de 8 bits, debe estar entre 5 y 8 set(PS,Parity,none); % se configura sin paridad set(PS,Terminator,CR/LF); % “c” caracter con que finaliza el envío set(PS,OutputBufferSize,1); % ”n” es el número de bytes a enviar set(PS,InputBufferSize ,1); % ”n” es el número de bytes a recibir set(PS,Timeout,5); % 5 segundos de tiempo de espera %Apertura del puerto serial fopen(PS); %Declaracion de variables cont=1; aux=1; T=0.04; %Limites min=1; 10
  • 11. Análisis e Implementación de un Control Fuzzy PID de Iluminación usando Matlab 2012 max=100; %Set point inicial sp_ing=40; TIEMPO=0; sp=sp_ing envio=0; Error(1)=0; control(1)=0; VOLTAJE(1)=0; LUX(1)=0; %Control Difuso P while (aux<50) aux=aux+1; %Lectura del archivo FIS salida=readfis(fuzzyeset4); %Escritura de la senal de control fwrite(PS,envio); pause(0.03) %Lectura del puerto VOLTAJE(aux)=fread(PS) %Relacion voltaje luminosidad Luxes_actual= (-0.00003958*(VOLTAJE(aux))^3 +0.02374*(VOLTAJE(aux))^2 - 4.859*(VOLTAJE(aux)) +351); % Matrices de las variables a graficar LUX(aux)=Luxes_actual; tiempo(aux)=TIEMPO; TIEMPO=aux*T; Set_point(aux)=sp_ing; error=sp-LUX(aux); error1=error; Error(aux)=error; if (error1>100) error1=100; end %Evalua el archivo FIS, Control FUZZY Kp=evalfis([abs(error1) sp_ing ],salida); %Control P p=Kp*error; cont=cont+1; control(cont)=control(cont-1)+p; %Saturador if (control(cont)>max) control(cont)=max; elseif (control(cont)<min) control(cont)=min; end %Asignacion de variables controld(aux)=control(cont); envio=control(cont);11
  • 12. Análisis e Implementación de un Control Fuzzy PID de Iluminación usando Matlab 2012 %Graficas subplot(2,1,2);plot(tiempo,controld) title(VOLTAJE vs Tiempo) limitemax=TIEMPO; AXIS([0 limitemax 0 240]) subplot(2,1,1); plot(tiempo,LUX,b) hold on subplot(2,1,1); plot(tiempo,Set_point,r) limitemax=TIEMPO; AXIS([0 limitemax 0 110]) title(Luxes vs tiempo) end; %Finaliza la comunicacion fclose(PS); delete(PS); clear PS; Programa del microcontroladorprogram pDeclaracion de variablesdim current_duty as bytedim ent_analogica as floatdim enviar as byteSub proceso de iniciosub procedure InitMain() ADCON1=128 Configuracion de las entradas analogicas TRISA = 255 COnfiguracion del puerto a como entrada PWM1_Init(1300) Incia PWM a 1.3kHzend submain:Prgrama PrincipalInitMain()Incia la comunicacion serial UART1_Init(9600) delay_ms(100)Ciclo de trabajo current_duty= 0 PWM1_Start() Incia el PWM PWM1_Set_Duty(current_duty) inicio: Inicia el ciclo if (UART1_Data_Ready() <> 0) then Si el dato es recivido escribe current_duty = UART1_Read() lectura del dato PWM1_Set_Duty(current_duty*2.55) delay_ms(10) 12
  • 13. Análisis e Implementación de un Control Fuzzy PID de Iluminación usando Matlab 2012 ent_analogica = 255*(ADC_Read(0)/1023) Lectura del dato analogico enviar=ent_analogica UART1_Write(enviar) Envio del dato end if goto inicio Vuelve a inicioend. Control en Modo Grafico. Diseño del circuito impreso del Acondicionamiento. Diseño del circuito impreso de la adquisicion, y envio de datos. 13
  • 14. Análisis e Implementación de un Control Fuzzy PID de Iluminación usando Matlab 201214

×