document11

10
Universidad de Pamplona I.I.D.T.  A 75 RevistaColombianade  Tecno log ía s d e Av anza d a ISSN:1 69 2- 725 7 Volumen 1- 2003 ISSN:1692-7257 Volumen 1 No 3 - 2004 CONTROLADOR FUZZY INDUSTRIAL ING. ALEXANDER ARIAS LONDOÑO ING. JUAN DIEGO LEMOS Universidad de Antioquia, Ciudad Universitaria, Bloque de Ingeniería, [email protected]  jdlemos@univers ia.net.c o Medellín . 1. INTRODUCCIÓN El controlador más conocido y utilizado e s el PID, el cual demostró su efectividad desde sus inicios; debido a esto se le han desarrollado mejoras para aumentar su aceptación dentro del mercado industrial; dentro de sus cambios esta el lazo adaptativo, que busca suplir su mayor desventaja, la necesidad de calcular sus parámetros de funcionamiento (constantes de acción  p ropo rc io na l, in te g ra l y de ri v a tiva ). Recientemente se han implementado algoritmos de control inteligente (fuzzy, neurofuzzy, redes neuronales, algoritmos genéticos, etc.), con muy buenos resultados en diferentes campos, lo cual ha desviado la mirada hacia esta “nueva” alternativa de control. A diferencia de los PID, los controladores inteligentes no necesitan de  pará metro s de func iona mient o y obtie nen resultados similares o talvez mejores que los PID. ABSTRACT :  En este artículo se muestra el desarrollo e implementación de un controlador industrial mediante algoritmos de lógica difusa. El objetivo es el de construir un dispositivo que realice las labores de control en procesos industriales, compitiendo con los controladores PID. El desarrollo se hizo a partir del microcontrolador MC68HC912B32 de Motorola, cuya CPU soporta instrucciones de lógica difusa. El algoritmo de contro l estará programado en el microcontrola dor, al igual que un conjunto de instrucciones de monitoreo y control a través de una conexión serial. El  prototipo presenta una simplicidad en el manejo para evitar confusiones y problemas con operarios inexpertos. KEYWORDS: Microcontroladores, automatización, control, fuzzy logic.

Upload: davidleonardo-galindo

Post on 18-Oct-2015

3 views

Category:

Documents


0 download

TRANSCRIPT

  • Universidad de PamplonaI.I.D.T.A 75

    Revista Colombiana deTecnologas de Avanzada

    ISSN:1692-7257 Volumen 1 - 2003ISSN:1692-7257 Volumen 1 No 3 - 2004

    CONTROLADOR FUZZY INDUSTRIAL

    ING. ALEXANDER ARIAS LONDOOING. JUAN DIEGO LEMOS

    Universidad de Antioquia,Ciudad Universitaria, Bloque de Ingeniera,[email protected]@universia.net.coMedelln

    .1. INTRODUCCIN

    El controlador ms conocido y utilizado es elPID, el cual demostr su efectividad desdesus inicios; debido a esto se le handesarrollado mejoras para aumentar suaceptacin dentro del mercado industrial;dentro de sus cambios esta el lazo adaptativo,que busca suplir su mayor desventaja, lanecesidad de calcular sus parmetros defuncionamiento (constantes de accinproporcional, integral y derivativa).

    Recientemente se han implementadoalgoritmos de control inteligente (fuzzy,neurofuzzy, redes neuronales, algoritmosgenticos, etc.), con muy buenos resultadosen diferentes campos, lo cual ha desviado lamirada hacia esta nueva alternativa decontrol. A diferencia de los PID, loscontroladores inteligentes no necesitan deparmetros de funcionamiento y obtienenresultados similares o talvez mejores que losPID.

    ABSTRACT: En este artculo se muestra el desarrollo e implementacin de un controlador industrial mediantealgoritmos de lgica difusa. El objetivo es el de construir un dispositivo que realice las laboresde control en procesos industriales, compitiendo con los controladores PID. El desarrollo sehizo a partir del microcontrolador MC68HC912B32 de Motorola, cuya CPU soporta instruccionesde lgica difusa. El algoritmo de control estar programado en el microcontrolador, al igual queun conjunto de instrucciones de monitoreo y control a travs de una conexin serial. Elprototipo presenta una simplicidad en el manejo para evitar confusiones y problemas conoperarios inexpertos.

    KEYWORDS:Microcontroladores, automatizacin, control, fuzzy logic.

  • Universidad de PamplonaI.I.D.T.A76

    ISSN:1692-7257 Volumen 1 No 3 - 2004Revista Colombiana deTecnologas de Avanzada

    2. DISEO DEL HARDWARE

    El corazn del hardware del controlador es latarjeta del microcontrolador de MotorolaMC68HC912B32, desarrollada por PropuestaDinmica, a partir de ella se implement elControlador; donde se encuentra lacomponente de software del diseo y en superiferia los dems componentes necesariospara realizar las labores concernientes alcontrol.

    El diagrama de bloques del figura 1 muestra laestructura general del controlador y lainterconexin de todas las partes que loconforman. Se puede observar que elmicrocontrolador es la parte central,y a su alrededor se presentan los demselementos como son: la fuente deAlimentacin de energa para el sistema, losmdulos de visualizacin tanto el Display deCristal Liquido como el panel de LEDs, elmdulo de comunicacin con el computadory el sistema de entrada/salida (I/O).

    2.1 Interface de entrada/salidaEs la parte encargada de tomar la seal deentrada, y ejercer la accin control sobre laplanta. Esta interface esta compuesta en suetapa de salida por unconversor Digital/Anlogo (DAC0808), el cuales alimentado por las salidas del controladorcorrespondientes al puerto B (PORTB) delmicrocontrolador, su salida en corriente esacondicionada para obtener una salida envoltaje en el rango de 0 a 10v.

    El diseo se realiz como sigue: - Se toma elvalor recomendado para la resistencia enla entrada del DAC Vref+ (R3), que es de 5Kpara un voltaje de 12v, se selecciono un valorcomercial de 5.6K con el mismo voltaje. La

    corriente mxima de salida (NationalSemiconductor, 1999) se presenta cuandotodos los bits de entrada del DAC estn enalto, esto produce una corriente mxima de2.14mA, como se observa en la siguiente

    ECUACIN:

    - El amplificador tiene un voltaje de salida dadopor: Vout=R1xIout. Para obtener un voltajemximo de 10v se calcula una resistencia de4.7K

    - Los dems valores de resistencias ycondensadores utilizados son losrecomendados por la hoja de datosdel fabricante(National Semiconductor, 1999).

    - El amplificador (Figura 2) tiene un voltaje desalida dado por: Vout=R1xIout. Para obtenerun voltaje mximo de 10v se calcula unaresistencia de 4.7K. -

  • Universidad de PamplonaI.I.D.T.A 77

    Revista Colombiana deTecnologas de Avanzada

    ISSN:1692-7257 Volumen 1 - 2003ISSN:1692-7257 Volumen 1 No 3 - 2004

    Los dems valores de resistencias ycondensadores utilizados son losrecomendados por la hoja de datos delfabricante.

    - Se puede seleccionar la salida de controlen modo de PWM, correspondiente al bit 0del puerto P (PP0) del microcontrolador(Motorola, 1999), cuyo ciclo de dureza es elmismo valor digital de la accin de controlpara brindar una alternativa de control. - ElPWM es amplificado (Grafico 3) en magnitudpor medio de un optoacoplador, el cual loque hace es tomar el pulso de 5v que sale delmicrocontrolador y lo acopla a la fuente de12v; esto hace que el PWMest a disposicin del usuario para suutilizacin. La entrada al controlador es unaseal analgica con un rango entre 0-10v, lacual es acondicionada (Figura 4) para sersuministrada al bit 3 (ADDR03) del conversorAnlogo/Digital del microcontrolador; dichoacondicionamiento consta de un divisor devoltaje para reducir su magnitud a 0-5v, luego

    un buffer con un Amplificador Operacionalpara evitar que choques de corriente pasendirectamente al microcontrolador y por ltimoun par de diodos para impedir que el valor delvoltaje salga del rango que soporta elConversor A/D (Motorola, 1999), los cualesentran en conduccin cuando el valor se saledel rango.

    los componentes necesarios para la interfaceDe entrada/salida son los siguientes: U1 - Conversor D/A - DAC0808. U2 - Amplificador operacional doble -L M 3 5 8 N . UK1 - Optoacoplador - 4N35. D1, D2 - Diodos - 1N4148. C1 - Condensador - 0.1F/50v. R1, R2, R4, R5, R7 - Resistencias - 4.7 K. R3 - Resistencia - 5.6 K. R6 - Resistencia - 680 .2.2 Etapas de visualizacin

    La visualizacin de la informacin se realizade tres formas: por medio de la comunicacinserial con un computador, a travs de unDisplay de Cristal Liquido de 2 filas x 16columnas, y una barra de LEDs.

    La visualizacin en el LCD se realiza de modo

  • Universidad de PamplonaI.I.D.T.A78

    ISSN:1692-7257 Volumen 1 No 3 - 2004Revista Colombiana deTecnologas de Avanzada

    constante y es controlado por seis lneas, dosde control y cuatro de datos (configuracin a4 bits), las cuales corresponden a seis bits delpuerto A (PORTA), adems cuenta con unpotencimetro para controlar el contraste dela visualizacin.

    2.3 Comunicacin con el computadorLa interface serial es el estndar RS232 enconfiguracin Modem-Null, la cual consisteen realizar la comunicacin serial sinprotocolo, para lo cual fue necesario

    cortocircuitar las lneas de controlde la comunicacin en el terminal DB 9, comoson RTS con CTS (7 y 8) y DCD con DTR yDSR (1,4 y 6) (Valvano, 2000); adems se debeconfigurar la sesin de HiperTerminal en elcomputador a 9600 bps, 8 bits de datos, 1 bitde parada, ninguna paridad y ningn controlde flujo. El diagrama esquemtico semuestra en la figura 5.

    Los componentes requeridos para elEnsamble de lainterface RS232 son los siguientes: IC1 - Chip de interface RS232 - MAX232. X1 - Conector DB 9 hembra - F09 HF. C1, C2, C3, C4, C5 - Condensadores - 10F/25v.

    2.4 Teclado de controlEl teclado de control del sistema consta de 2pulsadores conectados directamente a dospines del puerto T (PT7 y PT6), con los cualesse incrementa y decrementa el Set Point delcontrolador, e inmediatamente el

  • Universidad de PamplonaI.I.D.T.A 79

    Revista Colombiana deTecnologas de Avanzada

    ISSN:1692-7257 Volumen 1 - 2003ISSN:1692-7257 Volumen 1 No 3 - 2004

    microcontrolador lo actualiza y realiza elprocedimiento de control.

    3. DISEO DEL SOFTWARE

    La componente de software del controladores la programacin del microcontrolador, lacual se hizo a travs del compilador en C paraHC12 ICC12 para Windows versin 5. Eldiagrama de flujo general del programa en elmicrocontrolador se muestra en laFigura 6

    Los procesos de inicializacin de puertos,interrupciones y perifricos se refieren a las

    instrucciones que permiten definir elcomportamiento de los puertos como entradao salida. Las interrupciones se habilitan pararealizar todas las labores dispuestas en elcontrolador y los perifricos (como el LCD)que requieren de un proceso de programacinantes de ser utilizado para la labor que

    cumple. En el modo de espera, elmicrocontrolador entra en un modo de bajoconsumo de energa en los momentos en queninguna labor se est realizando,solo sale de l cuando se presente unainterrupcin en el microcontrolador.Las tareas son actividades especficas dentrodel esquema del controlador; comoactividades se tienen las siguientes: Desarrollo del proceso de control Fuzzy. Atencin al cambio de Set Point por lospulsadores. Actualizacin de los datos en el LCD. Comunicacin serial con el PC. Actualizacin de la barra de LEDsFig. 6. Diagrama de Flujo

    3.1 Inicializacin

    Inicializacin de PuertosEl microcontrolador tiene registros donde seconfigura el comportamiento de los puertos,estos son llamados registros de control. Losbits de control se pueden programar con ceroso unos, haciendo que los pines del puertosean de entrada o salida respectivamente. Lospuertos utilizados son:

    Seis lneas del puerto A para controlar lavisualizacin en el display de cristal liquido)(Valvano, 2000) (PA7 con RS, PA6 con E, PA5con D4, PA4 con D5, PA3 con D6 y PA2 conD7). Todo el puerto B, el cual es la salida digitalhacia el conversor digital/anlogo (PB7 conA1, PB6 con A2... y PB0 con A8).

    Cinco lneas del puerto DLC, para el controlde la barra de LEDs (PDLC2 a PDLC6).

    Inicializacin de Perifricos- Serial La comunicacin serial estaconfigurada a 9600 baudios, 8 bits de datos,

  • Universidad de PamplonaI.I.D.T.A80

    ISSN:1692-7257 Volumen 1 No 3 - 2004Revista Colombiana deTecnologas de Avanzada

    ninguna paridad y un bit de parada.- Anlogo a Digital Se adquieren datos por elcanal 4 (ADDR04), con conversin secuenciala 8 bits.- Timer de muestreoEst configurado como Output Compare, conpreescalado de 8; lo cual combinado con elreloj del sistema (8Mhz), genera un tic de 1s,para ser utilizado en el programa principal enla administracin de tareas.- Display de Cristal LiquidoEl display es configurado a cuatro bits, ellasse encuentran en el puerto A.- Teclas de incremento y decrementoSe configuran los Timers 6 y 7 como InputCapture, con ello se capturan los flancos desubida; con la posibilidad de dejar presionadala tecla para obtener el mismo efecto en formacontinua.- PWM Se pone a funcionar el PWM, con unafrecuencia de 10 Khz., alineado a la izquierday ciclo de dureza iniciado en cero.

    3.2 Realizacin de tareas Proceso deControl Fuzzy

    El proceso es realizado en varias etapas,para mayor claridad se explican las etapas yluego se ponen las rutinas: Un timer de muestreo el cual despierta elproceso, cada 200s, activando la etapa deadquisicin de datos en el ATD. Conversin Analgica a Digital, la cualentrega el resultado del Pen Point en unrango de 0 a 255; para luego activar la rutinaFuzzy. Rutina de control Fuzzy, esta toma losdatos del Set Point y el Pen Point paraentregar la accin de control. El tiempo demuestreo est acorde con el tiempo quetarda la rutina Fuzzy en realizarse, el cual serige por la siguienterelacin: NC = 37S + 3R + 47; donde NC es el

    nmero de ciclos, S es el nmero de conjuntosdifusos y R es el nmero de reglas; con loanterior, para 11 conjuntos difusos y 121reglas, para un mximo de 817 ciclos, y comoel reloj del sistema es de 8MHz, cada ciclotarda 0.125s, por la tanto la rutina gasta 103saproximadamente.

    Actualizacin del dato de control, con el valorentregado por la rutina Fuzzy, se renuevan losdatos del conversor Digital a Anlogo(PORTB) y el ciclo de dureza del PWM (PP0).Despus de realizado lo anterior se activanlas banderas de atencin a interrupciones ytareas.

    Atencin a teclas de controlLas teclas funcionan con una sola pulsacino dejndolas presionadas. Las interrupcionespor captura de entrada se utilizan paraincremento y decremento. Cuando se dejanpresionadas, el cambio se realiza cada 100ms.

    VisualizacinEsta se compone de un Display de CristalLiquido,donde se muestran estandarizados de0 a 100%:AC: Accin de Control.EA: Error Absoluto.SP: Set Point.PP: Pen Point.Tambin incluyen unos LEDs devisualizacin del error absoluto, los cualesvan de 0 a 10%.

    Comunicacin con el computadorEsta se encarga de la transmisin y la recepcinpor serial, en ella se tienen algunos comandosdisponibles en la recepcin, pueden ser enmaysculas o minsculas y son de un solocarcter, ellos son: H h: Muestra una ayuda en lnea. S s: Muestra el Set Point, Pen Point, Error

  • Universidad de PamplonaI.I.D.T.A 81

    Revista Colombiana deTecnologas de Avanzada

    ISSN:1692-7257 Volumen 1 - 2003ISSN:1692-7257 Volumen 1 No 3 - 2004

    Absoluto y Accin de Control. I i: Incrementa Set Point. D d: Decrementa Set Point.C c: Limpia pantalla de Hiper Terminal.

    Modo de EsperaEl microcontrolador se pone en un modo debajo consumo hasta que una interrupcin lodespierte, luego continua realizando las tareasconsecutivamente.

    Funciones generalesSon algunas funciones utilizadas en las rutinaspreviamente explicadas, ellas realizanconversiones de nmeros a cadenas decaracteres, y tambin cambios de rango.

    3.3 conjuntos y reglas del controlador fuzzy

    El diseo de los conjuntos y las reglas se basaen un conocimiento emprico sobre el sistemaque se quiere controlar. En este trabajo sedesarrollan unos conjuntos y reglas quepueden ser tpicos para sistemas simples, sise quiere se pueden cambiar al criterio de cadadiseador (Zadeh, 1965). La estructura decontrol se muestra en el Figura 7

    Conjuntos Difusos de las Variables de EntradaSet Point: En el momento de montar el controlen la prctica se suelen usar nombres, losconjuntos difusos se muestran en la figura 8.Para evitar confusiones entre variables, el SetPoint se llama in1, se definirn sus conjuntoscomoBajo in1_0Medio in1_1Alto in1_2Pen Point: Se llama in2, sus conjuntos sern(Figura9):Bajo in2_0

    Medio in2_1Alto in2_2Conjuntos Difusos de la variable de salidaEn la prctica se uso un microcontroladorMC68HC912B32, el cual trabaja coninstrucciones difusas y para realizar losclculos utiliza funciones de salida singleton(Kosko, 1997), por comodidad se trabajarsobre lo que se espera directamente.

    La salida de control (Figura 10) se podrallamar out,y sus conjuntos:Bajo out_0Medio out_1Alto out_2

    Reglas que Gobiernan el SistemaEstas reglas se sacaron de forma que no hayacambios bruscos y el sistema se comporte demanera ptima. if Set Point es Bajo y Pen Pointes Bajo entonces Salida de Control es Baja ifSet Point es Bajo y Pen Point es Medioentonces Salida de Control es Baja if Set Pointes Bajo y Pen Point es Alto entonces Salidade Control es Media if Set Point es Medio yPen Point es Bajo entonces Salida de Controles Media if Set Point es Medio y Pen Point esMedio entonces Salida de Control es Mediaif Set Point es Medio y Pen Point es Alto

  • Universidad de PamplonaI.I.D.T.A82

    ISSN:1692-7257 Volumen 1 No 3 - 2004Revista Colombiana deTecnologas de Avanzada

    entonces Salida de Control es Mediaif Set Point es Alto y Pen Point es Bajoentonces Salida de Control es Media if SetPoint es Alto y Pen Point es Medio entoncesSalida de Control es Alta if Set Point es Altoy Pen Point es Alto entonces Salida de Controles AltaCon una matriz de reglas se da una miradams clara del comportamiento de las reglasdel sistema, la matriz se presenta acontinuacin:La salida de control est dada por las que estnen cursiva y negrilla.La forma en que se programan los conjuntos

    y reglas en el microcontrolador es el siguiente(Motorola, 1997)://FuzzyPara el anterior conjunto de reglas sedesarroll una funcin en lenguajeensamblador para poder aprovechar lasinstrucciones de lgica difusa que soportael microcontrolador (Motorola, 1997) y fuecreada con el fin de que el cdigo principal

    en C pudiera hacer uso de ella como lafuncin FuRuDe() (Van, 1994),

    el cdigo es el que sigue:

  • Universidad de PamplonaI.I.D.T.A 83

    Revista Colombiana deTecnologas de Avanzada

    ISSN:1692-7257 Volumen 1 - 2003ISSN:1692-7257 Volumen 1 No 3 - 2004

    4. CONCLUSIONES

    1. Es posible controlar por medio de tcnicasdifusascualquier proceso industrial, con lamayor facilidad y con el mnimo de errores,basta con conocer su comportamiento generalpara estructurar una serie de conjuntosdifusos y sus respectivas reglas.

    2. Los algoritmos de control difuso presentan

  • Universidad de PamplonaI.I.D.T.A84

    ISSN:1692-7257 Volumen 1 No 3 - 2004Revista Colombiana deTecnologas de Avanzada

    REFERENCIAS BIBLIOGRFICAS

    (1). (Kosko, 1997) Kosko, B. Fuzzy Engineering University of Southern California. 1997, 547pages. ISBN 0133537315 - Prentice Hall.

    (2) (Motorola, 1997) 68HC12, CPU12 ReferenceManual, Motorola, 1997.

    (3) (Motorola, 1999) MC68HC912B32 Advance Information, rev 2.0, Motorola, 1999.(National Semiconductor, 1999) ]

    (4) National Semiconductor Database, Analog and Interface products. NationalSemiconductor, 1999.

    (5)(Valvano, 2000) Valvano, J. W. Embedded Microcomputers Systems, Real TimeInterfacing, Pacific Grove,Brokes/Cole, 2000.

    (6) Van, 1994) VAN , T. Programming Microcontrollers in C, San Diego, TechnologyPublishing, 1994.

    (7)(Zadeh, 1965) Zadeh, L. A. Fuzzy Sets. Journal of Information and Control, 8: 338-353,1965.

    la ventaja de funcionar sin estar variandoparmetros de funcionamiento, pero es posibleque para diferentes plantas sea necesario crearotro sistema de conjuntos y reglas que brindenmayor precisin.

    3. El desarrollo del controlador con unmicrocontrolador que soporta instruccionesde lgica difusa, facilita las labores de control,

    ya que el tiempo de procesamiento de reglases mucho ms eficiente y rpido.

    4. El sistema fue probado con plantas desegundo y cuarto orden, con las cualesfuncion bastante bien, presentando un bajoerror absoluto en estado estable y rapidez enla respuesta sin sobreimpulsos grandes.