Вы находитесь на странице: 1из 20

Automatizacin Industrial Mecatrnica Control Fuzzy-P de una Planta de Iluminacin

Control Fuzzy-P de una Planta de Iluminacin Fuzzy-P Control of a Lighting Plant


Jaramillo Rodrguez Luis Enrique
E-mail: lui_ao87@yahoo.com

Villacs Jara Harold David


E-mail: haroldavidvj@hotmail.com

Abstract The PID controller is still a good alternative to control dynamic processes, offering quick response times and a relatively simple adjustment process. The fuzzy control, however, has an interpretative character that is similar the form of the human brain work. This article presents the performance of Fuzzy-P control, which involves a change in the configuration of fuzzy control loop for adjusting P classical control gains. It will explain the scheme of the Fuzzy-P controller and its operation, showing the advantages over traditional P control applied to a lighting plant. The lighting plant consists on a LDR as light sensor, signal conditioning and a leds matrix as an actuator. Keywords: P controller, dynamic processes, Fuzzy control, Fuzzy-P controller, lighting plant Resumen El controlador PID sigue siendo una buena alternativa para controlar procesos dinmicos, ofreciendo tiempos de respuesta rpidos y un proceso de ajuste relativamente simple. El control difuso, en cambio, es de carcter interpretativo asemejndose a la forma de trabajar del cerebro humano. En este artculo se presenta la realizacin de un control Fuzzy-P, que involucra un cambio en la configuracin del lazo de control Fuzzy para el ajuste de ganancias del control clsico P. Se explicar el esquema del controlador Fuzzy-P y su funcionamiento, mostrando las ventajas sobre un control P tradicional aplicado a una planta de luz. La planta de luz consta de un LDR como sensor de luz, acondicionamiento de seal y una matriz de leds como actuador. Palabras clave: Controlador PID, procesos dinmicos, control Fuzzy, controlador Fuzzy-P, planta de Iluminacin.

1 INTRODUCCIN
Este controlador hbrido tiene por objeto mejorar la respuesta del sistema en estado transitorio y en estado estable. Se analiz las diferentes respuestas utilizando las variables de control kp, kd y ki, observndose que no presentan ninguna mejora en la respuesta de un sistema de iluminacin, razn por la cual se lleg a implementar un control Fuzzy P. El controlador Fuzzy-P que se va a implementar debe llegar a controlar la planta de luz sobre un setpoint enviado por computador con la constante kp del control P clsico que se obtienen del bloque de control difuso. Se plante la necesidad de un error en estado estacionario de cero, y una respuesta transitoria rpida con poco sobrepico. Entonces se va a tener un control en el que las entradas van a ser el error y el error derivativo, y las salidas ser nicamente la constante Kp.

Automatizacin Industrial Mecatrnica Control Fuzzy-P de una Planta de Iluminacin

2 DISEO DE LA PLANTA-MATERIALES Y MTODO


ACONDICIONAMIENTO DE SEAL Como se puede apreciar en la figura 1, se observa que el acondicionamiento del sensor LDR est formado por un divisor de voltaje con un potencimetro de 10 K para regular la sensibilidad. La seal que arroja el LDR pasa a un seguidor armado con el circuito integrado LM324. La seal de salida del seguidor pasa al conversor anlogo digital del pic 16F877A. El rango de salida del sensor con el acondicionamiento est entre 1.16 V a 4.98 V. La alimentacin para el divisor de voltaje es de 5 voltios, y para el circuito LM324 es de 12 voltios.

Figura 1. Acondicionamiento de la seal del LDR

A la salida del seguidor se coloc un filtro pasabajos para eliminar el ruido presente en el circuito de
acondicionamiento. Se tiene una frecuencia de corte de:

PLACA DE LEDS Para la matriz de leds se ocup un transistor BD139, con 5 columnas de slo dos leds cada una para que la corriente alcance a encender los focos cuando el transistor conmute. El transistor BD139 se escogi debido a que tiene una corriente de colector de 1.5 A, mientras que transistores como el 2N3904 slo soportan una corriente de colector de slo 200 mA.

Figura 2. Circuito de la matriz de leds

Automatizacin Industrial Mecatrnica Control Fuzzy-P de una Planta de Iluminacin

SUPRESIN DE RUIDO DE LA FUENTE Con el fin de suprimir los ruidos de la fuente, se coloc en paralelo capacitores de 2200 uf a la salida de la fuente de 5 y 12 voltios. COMUNICACIN SERIAL Y PWM EN MIKROBASIC Se va a usar el pic 16F877A nicamente para la recepcin y envo de datos mediante comunicacin serial. Luego de configurar las variables a usar y el puerto de entrada, se inicializa el comando para PWM a 5 khz, y el mdulo UART para comunicacin serial (asncrona full duplex) a 9600 baudios.

UART1_Init(9600) PWM1_Init(5000) PWM1_Start() En un lazo infinito debe estar la lectura de datos, la conversin de la entrada anlogica a pwm hasta 255, la escritura para el envio de pwm al actuador y por ltimo se pone un delay que vendra a ser el tiempo de muestreo. while true if (UART1_Data_Ready()<>0) then percent=UART1_Read() eanalogica = 255*(ADC_Read(0)/1023) dato_envio = eanalogica UART1_Write(dato_envio) Delay_ms(100)
COMUNICACIN SERIAL EN MATLAB El cdigo de programacin en Matlab empieza con la configuracin de la comunicacin serial. Entonces se debe establecer algunos parmetros como: velocidad, bit de parada, el nmero de bits del dato, la paridad, carcter de finalizacin de envo, nmero de bytes a enviar y recibir, el tiempo de espera.
PS=serial('COM6'); % puerto usado % se configura la velocidad a 9600 Baudios % se configura bit de parada a uno % se configura que el dato es de 8 bits, % % % % % se configura sin paridad c caracter con que finaliza el envo n es el nmero de bytes a enviar n es el nmero de bytes a recibir 5 segundos de tiempo de espera

set(PS,'Baudrate',9600); set(PS,'StopBits',1); set(PS,'DataBits',8); debe estar entre 5 y 8 set(PS,'Parity','none'); set(PS,'Terminator','CR/LF'); set(PS,'OutputBufferSize',1); set(PS,'InputBufferSize' ,1); set(PS,'Timeout',5);

Tambin se necesitan los comandos para abrir y cerrar el puerto.

Automatizacin Industrial Mecatrnica Control Fuzzy-P de una Planta de Iluminacin

fopen(PS); fclose(PS);

Se necesita comandos para leer el puerto y para el envo de datos.


fread(PS,1, 'char'); %leo el puerto y almaceno fwrite(PS,envio);

TIEMPO DE MUESTREO
Para el tiempo de muestreo es necesario calcular la suma del tiempo en que se demora el pic en realizar todas las instrucciones ms los retardos en el programa. Debido a que se usa un oscilador de 4Mhz, y teniendo la frmula para el tiempo de instruccin:

Se tiene que el tiempo de instruccin es de 1us. En el programa se tiene 46 lneas de cdigo ms un retardo que se plante de 100 ms. Entonces:

El tiempo de muestreo debe ser tres veces mayor al tiempo que se demora el pic en realizar las instrucciones.

3 FUNCIN DE TRANSFERENCIA
Para obtener la funcin de transferencia de la planta fsica empezaremos por obtener la ecuacin del sensor en base al porcentaje de iluminacin que ingresamos a la planta, es as que mediante una seal porcentual de PWM, aumentamos la iluminacin en un rango de 0 a 100 [%], obteniendo as una variedad de datos de voltaje que sern guardados en vectores, con lo cual obtenemos la ecuacin caracterstica del sensor.

Figura 3. Adquisicin de datos

Automatizacin Industrial Mecatrnica Control Fuzzy-P de una Planta de Iluminacin

Figura 4. Ecuacin caracterstica del sensor

Esta ecuacin se ingresar en Matlab, obteniendo as una salida en porcentaje de iluminacin. Una vez hecho esto se puede obtener la funcin de transferencia de la planta. Entonces para la planta se tiene que la entrada es luminosidad y la salida tambin es luminosidad, ambas en un rango de [0 a 100%]. Mediante programacin en Matlab, se enva datos de entrada para obtener los datos de luminosidad a la salida. Con esto podemos ver cmo la seal de salida vara segn la seal de entrada, y con las matrices ya podemos obtener la funcin de transferencia de la planta.

Figura 5. Luminosidad de entrada y salida

Las matrices de entrada y salida se guardaron, y se procedi a usar el comando ident de Matlab para la identificacin de la planta.

Automatizacin Industrial Mecatrnica Control Fuzzy-P de una Planta de Iluminacin

Figura 6. Modelo de Funcin de Transferencia de segundo orden

El modelo que se tom para obtener la funcin de transferencia es de un sistema de segundo orden sin retardo, obteniendo un coeficiente de 97.12%.

Figura 7. Identificacin de la planta

Figura 8. Funcin de Transferencia de la Planta

La funcin de transferencia de la planta queda de la siguiente forma:

Automatizacin Industrial Mecatrnica Control Fuzzy-P de una Planta de Iluminacin

( Con los siguientes parmetros:

Con un coeficiente de amortiguamiento de 1.00158 (sistema sobreamortiguado).

DISEO DEL CONTROLADOR FUZZY-P


Se va a disear un controlador Fuzzy-P debido a que se manipul el control PID anterior, y se not que la variacin de la ganancia Kd y Ki no producan efectos notorios de mejora en la planta. Es decir que ni el tiempo de levantamiento ni el mximo pico mejoraban en gran proporcin. Entonces slo es necesario un control Fuzzy-P.

Color Celeste Verde Magenta Azul CONTROLADOR P

Kd 0.01 0.001 0.0001 0.00001

Un control P con la seal de entrada o del sensor de entrada, aplica los algoritmos de control, definidos y produce una salida especfica como seal actuante o como entrada a un actuador. La salida del sistema es medida por el sensor de entrada, y el proceso se repite indefinidamente. Las especificaciones de desempeo del sistema como overshoot (Mp), tiempo de levantamiento (tr), tiempo de establecimiento (ts), error en estado estable (ess), todas estas no se pueden controlar mediante una constante proporcional fija. Con un control P se puede mejorar el tiempo de establecimiento a costa de un aumento de sobrepico o viceversa. Como se puede observar a continuacin.

Automatizacin Industrial Mecatrnica Control Fuzzy-P de una Planta de Iluminacin

Figura 9. Pidtool para la obtencin de constantes

La constante obtenida en el pidtool no responde a un valor real, ya que es muy grande y desestabilizara a la planta. Entonces se plante el seteo de las ganancias mediante prueba-error. Para esto se realiz la siguiente consideracin: Kp: Tomando en cuenta que si Kp es mayor a 1, la velocidad aumenta pero el sobrepico aumenta. En cambio si Kp es menor a 1 a la velocidad disminuye y el sobrepico disminuye. Entonces se consider empezar por un valor bajo: Pero se observ que el valor ms apropiado que funcionaba en la mayora de setpoints es de Kp=0.3.

Figura 10. Respuesta a diferente Kp a un Set Point de 25.

Automatizacin Industrial Mecatrnica Control Fuzzy-P de una Planta de Iluminacin

Figura 11. Respuesta a diferente Kp a un Setpoint de 50

El valor de Kp de 0.3 es el que presenta mejores resultados en el control de iluminacin, ya que con este se logr estabilizar en un tiempo adecuado sin presentar sobrepicos ni error en estado estable. Entonces se tom un rango para la constante Kp entre 0.1 y 0.5, que es donde se obtendrn respuestas con menos pico y con un tiempo de estabilizacin ms pequeo.

CONTROLADOR FUZZY La lgica difusa permite a los sistemas tratar con informacin que no es exacta; es decir informacin que contiene alto grado de imprecisin, contrario a la lgica tradicional que trabaja con informacin definida y precisa. En los conjuntos difusos se tiene la caracterstica de que la funcin de pertenencia puede adquirir valores en el rango entre 0 y 1.

Figura 12. Esquema de un controlador Fuzzy

CONTROLADOR FUZZY-P Un controlador Fuzzy-P logra que el parmetro Kp del controlador P sea ajustado de acuerdo a los rangos de funcionamiento mediante un bloque Fuzzy. El valor de la constante Kp del controlador P convencional no siempre puede ser ajustado de forma apropiada debido a la no linealidad de la planta y de variaciones impredecibles. El propsito del controlador Fuzzy-P es mejorar el mximo pico y el tiempo de establecimiento realizando cambios en la constante proporcional. Se plante tratar de que el sistema sea sobreamortiguado sin que altere el tiempo de establecimiento. La estructura es la siguiente:

Automatizacin Industrial Mecatrnica Control Fuzzy-P de una Planta de Iluminacin

10

Figura 13. Diagrama general de un controlador Fuzzy- P

Figura 14. Diagrama de bloques del control Fuzzy-P implementado

DEFINICIN DE LAS VARIABLES Se comienza definiendo cules son las variables de entrada y salida del sistema. Para este caso el sistema tendr dos entradas y una salida. Las variables de entrada del bloque Fuzzy son el error y la variacin de error, mientras que la salida de este ser la constante Kp que ingresan al algoritmo del control P.

FUNCIONES DE MEMBRECA Y FUZZIFICACIN DE LAS VARIABLES


Para realizar las funciones de membreca es necesario establecer los rangos de las variables de entrada y salida. Se establecen las siguientes variables lingsticas, con su correspondiente rango de variacin. Variable de entrada: Error El error es la diferencia entre el setpoint el valor de la seal actual.

Debido a que se maneja como mximo valor el 100% de luminosidad, es lgico que el mximo error est cuando desde un valor de cero, se enve a una seal del 100% de luminosidad, o viceversa. Entonces el rango del error estara entre [-100,100]. En las membrecas de los extremos se decidi extender el rango hasta 140 y -140 para que no existan problemas en los lmites. Error NG NP CERO PP Negativo grande Negativo pequeo Cero Positivo [-140, -50] [-100,0] [-50, 50] [0, 100]

Automatizacin Industrial Mecatrnica Control Fuzzy-P de una Planta de Iluminacin

11

PG

pequeo Positivo grande

[50,140]

Tabla 1. Variables lingsticas para el error

Figura 15. Membrecas para el error

Variable de entrada: Error derivativo (variacin de error) El error derivativo es la diferencia entre el error actual y el anterior.

Se envi a imprimir el error derivativo en el Command Window de Matlab para determinar los valores que se tiene durante cada muestreo. A un setpoint cercano a 100% se tiene valores de aproximadamente 900, pero este valor slo se tiene una sola vez, a partir de ah los valores del error derivativo quedan en un rango entre [-200, 200]. Para tener mejores valores en los lmites, se extender el valor hasta -240 y 240. Error Derivativo NG NP CERO PP PG Negativo grande Negativo pequeo Cero Positivo pequeo Positivo grande [-240, -50] [-100,0] [-50, 50] [0, 100] [50,240]

Tabla 2. Variables lingsticas variacin de error derivativo

Figura 16. Membrecas para la variacin de error

Automatizacin Industrial Mecatrnica Control Fuzzy-P de una Planta de Iluminacin

12

Variable de salida: Kp Se tom un rango genrico de salida de Kp [0,1] (La salida entregada por el bloque Fuzzy). El verdadero rango para los valores de Kp va a ser [0.1, 0.5]. El bloque fuzzy va a arrojar un valor Kp, que luego se ingresar a una ecuacin para determinar su valor real. Esto se hace con el fin de poder cambiar los rangos de forma fcil, para no tener que cambiar cada membreca dentro del archivo de extensin fis.

Kp P Mp M Mg G Pequeo Medio pequeo Medio Medio Grande Grande [0, 0.25] [0,0.5] [0.25,0.75] [0.50,1] [0.75,1]

Tabla 3. Variables lingsticas para Kp

Figura 17. Membrecas para la salida Kp

Usando el controlador P realizado anteriormente se establecieron los rangos de Kp para los distintos setpoints, evaluando el tiempo de establecimiento y el mximo pico. Despus de haber traducido los valores deterministas de las variables de entrada a valores difusos, se plantean las reglas. Para ello se construye una tabla de doble entrada. BASES DE CONOCIMIENTO-REGLAS De/e NG NP CERO PP PG NG P P MP MP M NP P MP MP M MG CERO MP MP M MG MG PP MP M MG MG G PG M MG MG G G

Tabla 4. Reglas para la funcin de salida Kp y Kd

Automatizacin Industrial Mecatrnica Control Fuzzy-P de una Planta de Iluminacin

13

MTODO DE DEFUSIFICACIN Se emple el mtodo de Mamdani, obteniendo la salida mediante el mtodo del centroide. Se puede observar la superficie que representa la salida del controlador fuzzy como funcin de las dos seales de entrada.

Figura 18. Superficie de la funcin de salida Kp

RESPUESTAS DE LA IMPLEMENTACIN DEL CONTROLADOR FUZZY P


Las respuestas que se obtienen del sistema son las siguientes.

Figura 19. Respuesta del control Fuzzy P, a distintos Set Points. El tiempo de establecimiento fue tomado cuando el error en estado estacionario alcanz el 2%.

Setpoint 10 25 50 75 90

Mximo Pico % 25 8.72 0 8.12 7.29

Tiempo de estabilizacin (s) 0.9 1 0.75 1.05 1.15

Automatizacin Industrial Mecatrnica Control Fuzzy-P de una Planta de Iluminacin

14

Figura 20. Respuesta del control Fuzzy P, bajo perturbaciobes en un setpoint de 50.

4 RESULTADOS
El controlador Fuzzy-P implementado si cumpli con los objetivos que se plantearon al inicio, ya que se redujo el tiempo de establecimiento y se disminuy bastante el sobrepico debido a la variacin de la constante Kp que sale del bloque fuzzy. Entonces se tiene que cuando el error es muy grande, la constante Kp va a incrementar rpidamente haciendo que el tiempo de levantamiento y el de establecimiento sea ms rpido, y a medida que se acerca al setpoint la constante Kp disminuye gradualmente para evitar sobrepico. Una vez que la seal alcanza el setpoint (estado estable), la constante Kp toma un valor cercano a 0.3, que es aproximadamente la mitad del rango mximo de la constante Kp. Se dise de esta manera debido a que cuando exista una perturbacin, la primera iteracin de la accin proporcional se maneje con la mitad del rango total para que corrija ms pronto la seal de salida. Bsicamente la lgica es la siguiente: Cuando el error es grande y es positivo, el kp debe aumentar para llegar al valor del setpoint. Cuando el error es negativo y grande, el kp debe disminuir para disminuir el error en estado estable.

Figura 21. Interfaz grfica del control de luminosidad

Automatizacin Industrial Mecatrnica Control Fuzzy-P de una Planta de Iluminacin

15

Comparando la respuesta del controlador P y la del controlador Fuzzy-P se puede determinar que el segundo presenta menos sobrepico con un tiempo de estabilizacin ms rpido. Por ejemplo, para un setpoint de 50, se tiene que el control P presenta un mximo pico del 10%, mientras que para el control Fuzzy-P el sistema es sobreamortiguado. En el control P se podra tener un pico de 0% a 50% de setpoint, pero a costa de un tiempo de estabilizacin de 4 segundos, que es bastante comparado con los 0.75 segundos que se demora el control Fuzzy-P. Para la mayora de setpoints se obtiene un sobrepico de menos del 8% aproximadamente con un tiempo de establecimiento menor a un segundo.

Figura 22. Respuesta del sistema a perturbaciones en modo grfico

5 CONCLUSIONES
El circuito diseado para el acondicionamiento tuvo que ser modificado debido a que cuando se enviaba la seal directa desde la salida del seguidor al PIC se obtuvo una seal con pequeos picos en el control. Por este motivo fue necesario la implementacin de un filtro pasa bajos. En un inicio se tena en el cdigo del pic los comandos para el manejo del lcd, pero se decidi quitar este cdigo debido a que generan retardos. Si el tiempo de muestreo es demasiado grande, se perdern muchos datos durante la adquisicin, y en cambio este tiempo muy pequeo, el sistema se vuelve muy sensible al ruido y puede ser inestable en el momento del control. El tiempo de muestreo del pic debe estar sincronizado con el tiempo del Matlab. El Fuzzy-P es un control que ajusta la ganancia kp de un controlador P para que cuando el error sea grande, la kp tambin sea grande para tener un levantamiento rpido, y a medida de que que la seal llega al setpoint, la kp se atena paa evitar el sobrepico. La ganancia Kp produce sobrepico si es muy alto y puede eliminar parte del error estacionario, Ki=1Ti
que afecta el componente integral, elimina el error en estado estacionario pero puede tener como efecto secundario una afectacin de la respuesta transitoria, y Kd=Td que afecta el componente derivativo, reduce el sobrepico y mejora la respuesta transitoria. La ecuacin caracterstica del sensor puede dar problemas de inestabilidad en rangos altos cuando el LDR apunta directamente hacia la luz. En este caso la ecuacin del sensor tiene una pendiente muy vertical en rangos altos, lo que quiere decir que a pequeas variaciones de entrada se tienen grandes cambios en las salidas. Para solucionar este problema es necesario ubicar el sensor de tal forma de que no le llegue el haz de luz perpendicularmente.

Automatizacin Industrial Mecatrnica Control Fuzzy-P de una Planta de Iluminacin

16

Para evitar obtener la ecuacin caracterstica del sensor cada vez que se pruebe a la planta, se decidi
aislarla totalmente de la luz.

Si el tiempo integral es muy grande, la accin de control integral va a tender a cero; y si es este tiempo es
muy pequeo, la accin integral aumenta. Se puede notar bastante diferencia en los tiempos de estabilizacin entre el control P y el control Fuzzy-P, ya que para un mismo setpoint, con el primer control se podra tener un overshoot de 0% pero con un tiempo de estabilizacin de 4 segundos, mientras que en el control Fuzzy-P se puede tener un overshoot de 0% a un setpoint de 50% con un tiempo de 0.75 segundos. Al ejecutar el programa en modo grfico, se nota que la toma de datos se vuelve un poco ms lenta que la que se ejecuta con el archivo .m de matlab.

6 REFERENCIAS
[1]. Jantzen, Jan. Tuning of Fuzzy PID Controllers [2]. Zulfatman, Rahmat. Application of self-tuning fuzzy pid controller on industrial hydraulic actuator using system identification approach. 2009 [3]. Lorandi, Hermida, Ladrn de Guevara, Hernndez. Controladores PID y Controladores difusos. 2011 [4]. Moreno, Aros, Ribet. Diseo de un controlador pid difuso aplicado en un horno rotatorio para producir carbn activado [5]. Awang. PID-Fuzzy Controller for Grate Cooler in Cement Plant

7 ANEXOS

Circuito PCB del Acondicionamiento

Automatizacin Industrial Mecatrnica Control Fuzzy-P de una Planta de Iluminacin

17

Circuito PCB de Matriz de leds

Programa Mikrobasic program comunicacion symbol CONFIG_ADC1 = ADCON1 symbol CONFIG_PUERTO_A = TRISA Delay_ms(100) dim dato_enviar as word dim percent as word dim duty as byte dim salida as float dim eanalogica as float dim dato_envio as byte

sub procedure Conversion eanalogica = 255*(ADC_Read(0)/1023) dato_envio = eanalogica UART1_Write(dato_envio) Delay_ms(100) end sub main:

Automatizacin Industrial Mecatrnica Control Fuzzy-P de una Planta de Iluminacin

18

CONFIG_ADC1 = 128 CONFIG_PUERTO_A = 255 UART1_Init(9600) PWM1_Init(5000) PWM1_Start() percent=0 delay_ms(100) while true if (UART1_Data_Ready()<>0) then percent=UART1_Read() Conversion duty=byte(porcentaje*2.55) PWM1_Set_Duty(duty) Delay_ms(100) end if wend end. CDIGO MATLAB
clc; delete(instrfindall) %% CONFIGURACIN COMUNICACIN SERIAL PS=serial('COM6'); % puerto serial utilizado % se configura la velocidad a 9600 Baudios % se configura bit de parada a uno % se configura que el dato es de 8 bits, % % % % % se configura sin paridad c caracter con que finaliza el envo n es el nmero de bytes a enviar n es el nmero de bytes a recibir 5 segundos de tiempo de espera

set(PS,'Baudrate',9600); set(PS,'StopBits',1); set(PS,'DataBits',8); debe estar entre 5 y 8 set(PS,'Parity','none'); set(PS,'Terminator','CR/LF'); set(PS,'OutputBufferSize',1); set(PS,'InputBufferSize' ,1); set(PS,'Timeout',5); fopen(PS); set_point=AHORA; %% DECLARACIN DE CONSTANTES T=0.1; Kpmax=0.5; Kpmin=0.1; max=100; min=0; e0=0; aux=set_point; muestra=0; ut=0; ut0=0; LUMINOSIDAD=0; TIEMPO=0;

Automatizacin Industrial Mecatrnica Control Fuzzy-P de una Planta de Iluminacin

19

SET=0; ERROR=0; ERROR_DER=0; SALIDA=[]; envio=0; lum_actual=fread(PS,1, 'char'); %leo el puerto y almaceno %% MUESTREO DE DATOS Y CONTROL PID while(1) AHORA = round(get(handles.slider1,'Value')); set_point=AHORA; muestra=muestra+1; time=muestra*T; fwrite(PS,envio); pause(0.01); ent_an=fread(PS,1, 'char')/51 %leo el puerto y almaceno lum_actualec=1.6901*ent_an^4-24.205*ent_an^3+130.49*ent_an^2325.09*ent_an+334.59; LUMINOSIDAD(muestra)=lum_actualec; TIEMPO(muestra)=time; SET(muestra)=set_point; axes(handles.axes3); plot(TIEMPO,LUMINOSIDAD) hold on plot(TIEMPO,SET,'r') limitemax=time; title('CONTROL PID DE LUMINOSIDAD'); if time>5 rango= time-4.6; elseif (time<5) rango=0; end axis([rango,time,0-1,110]) xlabel('Tiempo [s]'); ylabel('Luminosidad [%]'); hold on grid on e=set_point-lum_actualec; ed=(e-e0)/T; ERROR(muestra)=e; ERROR_DER(muestra)=(e-e0)/T; axes(handles.axes4); plot(TIEMPO,ERROR) hold on limitemax=time; title('ERROR EN EL CONTROL FUZZY-P DE LUMINOSIDAD'); if time>5 rango= time-4.6; elseif (time<5) rango=0; end axis([rango,time,0-1,50]) xlabel('Tiempo [s]'); ylabel('Error [%Lum]'); hold on

Automatizacin Industrial Mecatrnica Control Fuzzy-P de una Planta de Iluminacin

20

grid on pidf=readfis('FUZZYP'); SALIDA=evalfis([e,ed],pidf); Kp1=SALIDA(1,1); Kp=(Kpmax-Kpmin)*Kp1+Kpmin;

set(handles.valore,'String',e); p=Kp*e; set(handles.valorkp,'String',Kp); ut=p+ut0; if (ut>max) ut=max; end if (ut<min) ut=min; end set(handles.valorc,'String',ut); e0=e; ut0=ut; envio=ut; pause(0.1) end

Вам также может понравиться