control fuzzi

23
APLICACIÓN DE CONTROLADORES PID Y FUZZY ALUMNOS Sr. Michael Rojas Trigo Sr.Joao Quispe Orocollo 07/05/2015 DOCENTE: Juan Carlos Diaz Cepedes

Upload: pablo-jose-tapia-roca

Post on 11-Sep-2015

228 views

Category:

Documents


0 download

DESCRIPTION

control

TRANSCRIPT

  • APLICACIN DE CONTROLADORES PID Y FUZZY

    ALUMNOSSr. Michael Rojas TrigoSr.Joao Quispe Orocollo07/05/2015DOCENTE:Juan Carlos Diaz Cepedes

  • IntroduccinSe utilizara un proceso de temperatura de la empresa AutomENGEN para un control de temperatura de un horno elctrico

    Se controlara con dos tipos de controlador en forma alternada, las cuales son PIDFUZZYEste proceso se llevara acabo en el programa concept 2.6

  • Descripcin del problema: Considere que el sistema a controlar es un Horno Elctrico destinado al tratamiento de piezas metlicas, por lo que la constante de tiempo del sistema es grande, alrededor de 10 minutos y un tiempo muerto de 1.5 minutos. La temperatura de trabajo del horno es de 300 C. y el transmisor esta calibrado entre 15 C y 500 C.El programa CONCEPT debe hacer que se alterne entre PID y FUZZY cada 10 segundos, considerando un periodo muerto entre ambos de 10 segundos para enfriar al horno mediante un Soplador que es accionado con un Contactor comandado desde el PLC. El escaln debe ser generado en el mismo programa CONCEPT y es de un 10 % en torno al punto de operacin. El programa CONCEPT debe llevar la rutina tpica de Start/Stop.Al dar el Stop, si la temperatura del horno es mayor a los 100 C debe funcionar por lo menos 10 segundos el soplador antes de desconectarse todo el sistema de control.

  • Clculos PreviosClculo de parmetros para controlador PIDSe toman en cuenta los datos entregados y se observa: L (retardo) = 90 seg. (Tiempo muerto=1.5min 60+30) T (constante de tiempo del sistema) = 600 seg.(10min)Se utiliza el primer mtodo de sintona de Ziegler Nichols, de modo que se obtiene : Kc = 1.2 * T / L = 1.2 * 600 seg. / 90 seg. = 8Ti = 2 * L = 2 * 90 seg. = 180 seg.Td = L / 2 = 90 seg. / 2 = 45 seg.

    Recordar estos valores de Kc (gain), Ti y Td, pues posteriormente se utilizarn para sintonizar el controlador PID

  • Se procede al clculo del set-point, utilizando la ecuacin del recta.

    Pendiente = [ 500 (C) 15 (C) ] / [ 4095 (cuentas) 0 (cuentas) ] = 0.118437118 [ C / cuentas]

    Por lo tanto la ecuacin de la recta es:Y [ C] = 0.118437118 [ C / cuentas] * X [cuentas] + 15 [ C]

  • Utilizando esta ecuacin se calcula el set-point.

    300 (C) => 2406 (cuentas)

    Adems calculamos valor de temperatura en tiempo muerto. Al aplicar a este valor un escaln de 10% llegamos al set-point.

    300 (C) / 1.1 = 273 ( C) 273 (C) => 2178 (cuentas)

    Recordar valores de temperatura en cuentas para el set-point y el tiempo muerto, ya que se utilizarn ms adelante.

  • Clculos de parmetros para controlador FUZZYEste controlador utiliza conocimientos expertos ya adquiridos. De aquel conocimiento se desprenden sus parmetros (puntos de soporte y valor de los singletons).

    Se toman los siguientes puntos de soporte:Sp 1 = 1000 (cuentas) Sp 2 = 2406 (cuentas) Sp 3 = 3500 (cuentas)

    Adems se consideran los siguientes singletons:Alto = 4095 (cuentas)Medio = 2048 (cuentas)Bajo= 0 (cuentas)

  • Cmo se efecta la secuencia?Tomando en cuenta el ejercicio determinamos la secuencia a seguir, sta es : PID, tiempo muerto, FUZZY, tiempo muerto, PID, tiempo muerto, etc. A cada una de estas estaciones le damos un tiempo de 10 segundos. Por lo tanto la secuencia se repetir cada 4 estaciones, que correspondern a 40 segundos.Realizamos un circuito que realice lo anteriormente mencionado, este es :

  • Explicacin:Al presionar la partida, sta ingresa a la memoria (RS) como un 1 lgico.Hasta que no se presione el reset (R1), la memoria tendr un 1 lgico a la salida (Q1).La salida (Q1) se multiplica por el negado del auxiliar 5, o sea por 1, (el valor inicial de aux5 es 0), obteniendo en la salida un 1 (aux2).Este 1 (aux2) ingresa al temporizador (TON)El temporizador empieza a contar hasta 40 (valor ingresado en PT), arrojando el tiempo contado en el aux4 (ET).Este tiempo se ingresa a un comparador (EQ_TIME)

  • Cuando el valor del tiempo sea igual a 40 segundos (valor ingresado en EQ_TIME) el valor en aux5 ser 1.Este 1 ingresa de forma negada (0) a AND_BOOL, y al multiplicarse con el 1 de Q1 se obtiene un 0 en aux2.Este 0 ingresa al TON y hace que ET sea 0.Este 0 ingresa a EQ_TIME y al no ser igual a 40 segundos enviara un 0 a la salida (aux5).Este 0 ingresa de forma negada (1) a AND_BOOL y se multiplica por el 1 de Q1 obteniendo un 1 en aux2.Se repite el ciclo desde el punto 3.

  • Control de Tiempos Se haba mencionado ya la secuencia a seguir : PID, tiempo muerto, FUZZY, tiempo muerto, PID, tiempo muerto, etc. A fin de controlar dicha secuencia se toman en cuenta los siguientes tiempos: 0 - 10 seg. => Funcionamiento PID 10 - 20 seg. => Tiempo Muerto 20 - 30 seg. => Funcionamiento FUZZY 30 - 40 seg. => Tiempo Muerto

    Y se implementa un circuito que sea capaz de realizar lo anteriormente descrito.

  • Explicacin: GT_TIME: 1 lgico cuando la entrada (aux4) es mayor al valor ingresado; 0 cuando no se cumpla tal condicin. LT_TIME: 1 lgico cuando la entrada (aux4) es menor al valor ingresado; 0 cuando no se cumpla tal condicin.

    El bloque AND_BOOL multiplica los valores provenientes de los bloques anteriores y el resultado se obtiene en la salida. Las variables pidd y fuz manejan el funcionamiento de los distintos controladores, PID y FUZZY respectivamente.

  • Controlador tipo PID

  • Explicacin:Cuando se ingresa un 0 al parmetro MAN el controlador funciona. Este parmetro se utiliza para habilitar o deshabilitar el controlador, mediante la variable pidd. Cuando esta variable (pidd) sea 1 el controlador PID se habilitar y la variable SALPID adoptar el valor de la salida del controlador.El parmetro HALT se mantiene en 0.El parmetro SP nos indica el set point.El parmetro PV nos indica la seal de entrada al controlador.Los parmetros EN_P, EN_I, EN_D en (1) habilitan el funcionamiento de los valores en GAIN, TI, TD.YMAX e YMIN indican los valores lmites de control en cuentas.Los parmetros GAIN, TI, TD se ingresan una vez calculados los parmetros del controlador.NOTA: Las variables de entrada y salida al controlador son de tipo entero, pero dentro del controlador se manejan como reales a fin de evitar un error de punto flotante. Tener en cuenta la variable de salida (SALPID), ya que se utilizar ms adelante.

  • Controlador tipo FUZZY

  • Explicacin:En los parmetros S1, S2, S3 se ingresan los puntos de soporte utilizar en controlador.En los parmetros MDiSi2, MDiSi4, MDiSi6 se ingresan los distintos singletons con los cuales se realizar la defuzyficacin.El parmetro ZERO_Y se mantiene en 0.

    Se tiene el bloque MULT_INT, que multiplica la salida del controlador fuzzy con el valor de la variable fuz (convertida a entero).El valor de la variable SALFUZZ depender de la variable fuz. Cuando fuz sea 0, SALFUZZ ser igual a cero; a su vez, cuando fuz sea 1, SALFUZZ adoptar el valor de la salida del controlador fuzzy.

    Recordar la variable SALFUZZ, pues se utilizar ms adelante.

  • Control de la Parada La parada STOP tiene dos condiciones :Cuando la salida (THorno,V.C) est por encima de los 100 C (718 cuentas);se activa un soplador en 10 seg en la cual debe de haber un retardo de 10 segundos antes de desconectar totalmente el sistema de control PID o FUZZY. Cuando la salida est por debajo de los 100 C (719 cuentas); y la parada se realiza en forma instantnea.

  • Explicacin condicin 1Si la salida es mayor a 718 cuentas y se pulsa el botn de parada, la salida de AND_BOOL (en la parte superior) ser 1.Este 1 ingresar a la memoria (RS), permitiendo as que la salida de este bloque igualmente sea 1 (Q1).El temporizador (TON) comenzar a contar 10 segundos (valor ingresado en PT) y transcurrido ese tiempo el parmetro Q del temporizador ser 1 e ingresar al bloque OR_BOOL. Adems la salida de EQ_TIME ser 1, lo que provocar el reset de la memoria del circuito de parada. Basta con que una entrada del bloque OR_BOOL sea 1 para que tambin lo sea su salida, por lo tanto la variable AUX1 ser 1.Este 1 ingresar en el parmetro R1 de la memoria (RS) del circuito de secuencia, produciendo as el reset de esta memoria y la detencin de todo el proceso.

  • Explicacin condicin 2Si la salida es menor a 718 cuentas y se pulsa el botn de parada, la salida de AND_BOOL (en la parte inferior) ser 1.Basta con que una entrada del bloque OR_BOOL sea 1 para que tambin lo sea su salida, por lo tanto la variable AUX1 ser 1.Este 1 ingresar en el parmetro R1 de la memoria (rs) del circuito de secuencia, produciendo as el reset de esta memoria y la detencin de todo el proceso.

  • Control de la SalidaSe debe tener en cuenta lo siguiente: En el tiempo muerto la salida debe ser de 273 C (2178 cuentas), pero en la parada (stop) del sistema de control del horno este valor(Thorno) deber ser 0C o 0 cuentas.La salida del proceso en un momento deber ser la del controlador PID, en otro la del controlador FUZZY, y en otro la correspondiente a tiempo muerto; todo esto sin la accin alguna del operador.

  • Explicacin con el funcionamiento de algn controlador:Basta con que este funcionando alguno de los dos controladores para que la salida de AND_BOOL sea 0.La salida de MULT_INT tambin ser 0.El bloque ADD_INT sumar los valores provenientes de MULT_INT (0) y de los otros dos controladores PID,FUZZY, uno de los cuales ser 0.La valor de la salida ser igual al valor de la salida del controlador en funcionamiento.

    Explicacin en tiempo muerto: No estar funcionando ningn controlador, por lo que la salida de AND_BOOL ser 1, e ingresa a MULT_INT.Aux1 ser 0 (al no haberse presionado el botn parada) y Q1 adopta el mismo valor.Al negarse entra como 1 al MULT_INT.MULT_INT efecta la multiplicacin y arroja a la salida el valor de 2178.Este valor se suma con los valores de los dos controladores (ambos 0), obteniendo como salida el valor de 2178.

  • Explicacin en la parada:Como vimos en el control de la parada, al presionar el botn de detencin el valor de AUX1 ser 1.Al entrar a la memoria (RS) provoca que la salida igual sea 1.Al negarse, la entrada a MULT_INT es cero.La salida de MULT_INT es 0 tambin.Este 0 se suma con la salida de los dos controladores PID,FUZZY(ambos 0, por haberse detenido el proceso).Finalmente la salida es 0.

  • FIN