implementacion de un controlador adaptativo

70
Universidad de Costa Rica Facultad de Ingenier´ ıa Escuela de Ingenier´ ıa El´ ectrica Implementaci´ on de un controlador adaptativo para un proceso de laboratorio, utilizando la plataforma Arduino Por: Macarena C´ espedes Quesada Ciudad Universitaria “Rodrigo Facio”, Costa Rica Julio de 2014

description

implementacion de un control adaptativo a un proceso de laboratorio

Transcript of implementacion de un controlador adaptativo

Page 1: implementacion de un controlador adaptativo

Universidad de Costa RicaFacultad de Ingenierıa

Escuela de Ingenierıa Electrica

Implementacion de un controlador

adaptativo para un proceso de laboratorio,

utilizando la plataforma Arduino

Por:

Macarena Cespedes Quesada

Ciudad Universitaria “Rodrigo Facio”, Costa Rica

Julio de 2014

Page 2: implementacion de un controlador adaptativo
Page 3: implementacion de un controlador adaptativo

Implementacion de un controlador

adaptativo para un proceso de laboratorio,

utilizando la plataforma Arduino

Por:

Macarena Cespedes Quesada

IE-0499 Proyecto electrico

Aprobado por el Tribunal:

Dr. Jose David Rojas Fernandez

Profesor guıa

Ing. Mercedes Chacon Vasquez Ing. Federico Ruiz UgaldeProfesora lectora Profesor lector

Page 4: implementacion de un controlador adaptativo
Page 5: implementacion de un controlador adaptativo

DedicatoriaA Dios y a mis seres queridos, especialmente a mi madre Roxana Quesada

Alvarez.

v

Page 6: implementacion de un controlador adaptativo
Page 7: implementacion de un controlador adaptativo

AgradecimientosLe agradezco al profesor Dr. Jose David Rojas Fernandez por su tiempo y

disposicion para aconsejarme durante la elaboracion del presente trabajo.A mis companeros que se han convertido en amigos y que formaron parte deeste proceso.A las personas que me han apoyado a lo largo de la carrera.Profundamente agradecida con la Universidad de Costa Rica.

vii

Page 8: implementacion de un controlador adaptativo
Page 9: implementacion de un controlador adaptativo

ResumenEl objetivo primordial del presente trabajo fue implementar un control adap-tativo utilizando la plataforma Arduino en un proceso de laboratorio.El proceso que requirio control es de primer orden, por lo tanto se estudiarondistintas tecnicas de control adaptativo y se decidio utilizar el control adapta-tivo por modelo de referencia (MRAC), estableciendo un modelo deseado deprimer orden mas rapido. La regla de adaptacion se obtuvo con la teorıa deestabilidad de Lyapunov para garantizar la estabilidad del sistema.Para realizar la actualizacion de los parametros del controlador se utiliza elmetodo numerico Runge-Kutta de segundo orden, ya que mostro mejores re-sultados entre las multiples pruebas y simulaciones que se realizaron en Matlabimplementando distintos metodos.La implementacion del control se realizo utilizando un Arduino UNO, que seencarga de ejecutar el algoritmo de control.Una vez implementado el controlador el sistema logra el seguimiento del valorde referencia, de igual forma, ante perturbaciones y variaciones de parametrosdel proceso, logra retomar el valor de referencia propuesto.

ix

Page 10: implementacion de un controlador adaptativo
Page 11: implementacion de un controlador adaptativo

Indice general

Indice de figuras xiii

Nomenclatura xv

1 Introduccion 1

1.1 Alcance del proyecto . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.3 Metodologıa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2 Antecedentes 3

2.1 Control Adaptativo . . . . . . . . . . . . . . . . . . . . . . . . . 3

2.2 Reguladores autoajustables . . . . . . . . . . . . . . . . . . . . 4

2.3 Controladores adaptativos por modelo de referencia . . . . . . . 5

2.4 Metodo del gradiente (Regla del MIT) . . . . . . . . . . . . . . 6

2.5 Teorıa de estabilidad de Lyapunov para sistemas dinamicos . . 7

2.6 Metodos numericos . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.7 Arduino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

3 Desarrollo 17

3.1 Proceso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

3.2 Implementacion en Simulink . . . . . . . . . . . . . . . . . . . . 19

3.3 Seleccion del metodo numerico . . . . . . . . . . . . . . . . . . 23

4 Implementacion del Controlador 31

4.1 Algoritmo de control en Arduino . . . . . . . . . . . . . . . . . 31

4.2 Interfaz de adquisicion de datos . . . . . . . . . . . . . . . . . . 32

4.3 Conexiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

5 Resultados 37

5.1 Implementacion en el proceso . . . . . . . . . . . . . . . . . . . 37

5.2 Seguimiento del valor de referencia . . . . . . . . . . . . . . . . 37

5.3 Rapidez del Sistema . . . . . . . . . . . . . . . . . . . . . . . . 42

5.4 Comportamiento ante perturbaciones . . . . . . . . . . . . . . . 42

6 Conclusiones y recomendaciones 51

6.1 Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

xi

Page 12: implementacion de un controlador adaptativo

6.2 Recomendaciones . . . . . . . . . . . . . . . . . . . . . . . . . . 51

Bibliografıa 53

xii

Page 13: implementacion de un controlador adaptativo

Indice de figuras

2.1 Sistema adaptativo . . . . . . . . . . . . . . . . . . . . . . . . . . . 32.2 Regulador autoajustable . . . . . . . . . . . . . . . . . . . . . . . . 52.3 Controlador adaptativo por modelo de referencia . . . . . . . . . . 62.4 Control utilizando teorıa de estabilidad. . . . . . . . . . . . . . . . 112.5 Arduino UNO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152.6 PWM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

3.1 Proceso de control de flujo y temperatura. . . . . . . . . . . . . . . 173.2 Entradas y salidas del proceso de control de flujo y temperatura. . 183.3 Orificio que permite introducir perturbaciones. . . . . . . . . . . . 183.4 Entrada vs Salida proceso. . . . . . . . . . . . . . . . . . . . . . . . 193.5 Calculo del periodo . . . . . . . . . . . . . . . . . . . . . . . . . . . 203.6 Modelo vs Proceso . . . . . . . . . . . . . . . . . . . . . . . . . . . 213.7 Simulacion en Simulink . . . . . . . . . . . . . . . . . . . . . . . . 213.8 Valores de θ1 y θ2 . . . . . . . . . . . . . . . . . . . . . . . . . . . 223.9 Senal de salida del proceso . . . . . . . . . . . . . . . . . . . . . . 233.10 Senal de control del proceso . . . . . . . . . . . . . . . . . . . . . . 243.11 Senal de error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253.12 Diagrama de flujo . . . . . . . . . . . . . . . . . . . . . . . . . . . 263.13 Codigo para el Metodo de Runge-Kutta . . . . . . . . . . . . . . . 273.14 Codigo para Metodo de Euler y para Regla del Trapecio . . . . . . 283.15 Salidas obtenidas con los metodos numericos . . . . . . . . . . . . 283.16 Senal de error obtenida con los metodos numericos . . . . . . . . . 293.17 Senal de control obtenida con los metodos numericos . . . . . . . . 293.18 Senal de control para 2,5 V en la referencia . . . . . . . . . . . . . 303.19 Senal de control para cambios en la rapidez del sistema . . . . . . 30

4.1 Diagrama de flujo del codigo realizado en Arduino . . . . . . . . . 314.2 Codigo realizado en Arduino, parte I . . . . . . . . . . . . . . . . . 334.3 Codigo realizado en Arduino, parte II . . . . . . . . . . . . . . . . 344.4 Tarjeta NI USB-6009 . . . . . . . . . . . . . . . . . . . . . . . . . . 354.5 Programa de adquisicion de datos . . . . . . . . . . . . . . . . . . 354.6 Diagrama de componentes del sistema . . . . . . . . . . . . . . . . 36

5.1 Conexion del Sistema . . . . . . . . . . . . . . . . . . . . . . . . . 375.2 Conexion del Sistema . . . . . . . . . . . . . . . . . . . . . . . . . 38

xiii

Page 14: implementacion de un controlador adaptativo

5.3 Salida del Sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . 395.4 Error entre el proceso y el modelo de referencia . . . . . . . . . . . 395.5 Senal de control del sistema . . . . . . . . . . . . . . . . . . . . . . 405.6 Valor promedio de la senal de control del sistema . . . . . . . . . . 405.7 Salida del sistema para 100 ms . . . . . . . . . . . . . . . . . . . . 415.8 Parametros del controlador para 100 ms . . . . . . . . . . . . . . . 415.9 Errores producidos para 100 ms . . . . . . . . . . . . . . . . . . . . 425.10 Cambio en el codigo para τm=0,6 . . . . . . . . . . . . . . . . . . . 425.11 Senal del controlador para τm=0,6 . . . . . . . . . . . . . . . . . . 435.12 Orificio al 50% . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435.13 Senal de salida del sistema con pertubacion al 50% . . . . . . . . . 445.14 Senal de error del sistema con pertubacion al 50% . . . . . . . . . 455.15 Senal de control del sistema con pertubacion al 50% . . . . . . . . 455.16 Orificio al 100% . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465.17 Salida del sistema con pertubacion al 100% . . . . . . . . . . . . . 465.18 Comportamiento de θ1 y θ2 con perturbacion al 100% . . . . . . . 475.19 Aumento en la tension de la senal de control. . . . . . . . . . . . . 475.20 Secuencia de la variacion de las ganancias . . . . . . . . . . . . . . 475.21 Salida del sistema con variaciones en la ganancia. . . . . . . . . . . 485.22 Variacion de la ganancia. . . . . . . . . . . . . . . . . . . . . . . . 485.23 Salida del sistema con variacion en la ganancia. . . . . . . . . . . . 495.24 Comportamiento de θ1 y θ2 para variacion en la ganancia. . . . . . 495.25 Cambio en la tension para variacion en la ganancia. . . . . . . . . 50

xiv

Page 15: implementacion de un controlador adaptativo

Nomenclatura

a parametro del proceso.

am parametro del modelo de referencia.

b parametro del proceso.

bm parametro del modelo de referencia.

CERlab Control engineering research laboratory.

dt paso de integracion.

e Error entre la salida del proceso y la salida del modelo dereferencia.

γ ganancia de adaptacion.

h paso de integracion.

I integral

j1 parametro para aproximar θ2.

j2 parametro para aproximar θ2.

K Ganancia de la planta.

Km Ganancia del modelo de referencia.

k1 parametro para aproximar la salida del proceso.

k2 parametro para aproximar la salida del proceso.

J ındice de desempeno.

m1 parametro para aproximar la salida del modelo de refe-rencia.

m2 parametro para aproximar la salida del modelo de refe-rencia.

MHz mega-hertz, unidad de frecuencia.

xv

Page 16: implementacion de un controlador adaptativo

MIT Massachusetts Institute of Technology.

MRAC model reference adaptive control.

ms milisegundos.

NI national instruments.

p1 parametro para aproximar θ1.

p2 parametro para aproximar θ1.

φ pendiente estimada en metodo Runge-Kutta.

ϕ vector de senales de r y y.

PWM pulse-width modulation.

r entrada al sistema.

s segundos.

STR self tuning regulator.

t tiempo.

T constante de tiempo de la planta.

Tm constante de tiempo del modelo de referencia.

τ constante de tiempo de la planta.

τm constante de tiempo del modelo de referencia.

θ1 parametro del controlador.

θ2 parametro del controlador.

u senal de control.

Uact senal de control.

V volts, unidad de tension.

V (x) funcion de Lyapunov.

Yf valor final de la salida.

yi valor actual de la salida.

yi+1 aproximacion del siguiente valor de la salida.

ym salida del modelo de referencia.

xvi

Page 17: implementacion de un controlador adaptativo

1 Introduccion

La intencion del trabajo fue el estudio del control adaptativo, que es una tec-nica de control avanzado, con la finalidad de implementar un controlador uti-lizando esta tecnica para un proceso de laboratorio, empleando como recursoprincipal la plataforma de desarrollo Arduino. Para tal objetivo fue necesarioconsiderar las caracterısticas del proceso, y con esta informacion se analizocual metodologıa de control adaptativo se ajustaba a los intereses y alcancesdel proyecto. Logrado esto, se diseno el controlador con la metodologıa quese considero adecuada y se implemento en una tarjeta de pruebas. Se realiza-ron multiples ensayos controlando un proceso que utiliza senales estandar detension y se verifico el funcionamiento del controlador con el diseno propuesto.

1.1 Alcance del proyecto

El presente trabajo contiene la documentacion necesaria sobre conceptos deinteres acerca de control adaptativo. Ademas, se pone en practica estos con-ceptos para el diseno de un controlador utilizando esta tecnica de control,mediante simulaciones en computadora e implementacion en un proceso decontrol de flujo. No es un estudio a profundidad sobre las diferentes tecni-cas de control adaptativo. No se aplica control a diferentes procesos, solo alproceso mencionado para validar el funcionamiento del controlador disenado.

1.2 Objetivos

Objetivo general

Implementar un prototipo de controlador adaptativo en la plataforma de desa-rrollo Arduino de manera que pueda controlar un proceso a nivel de laborato-rio.

Objetivos especıficos

Para el desarrollo de este proyecto se establecieron los siguientes objetivos:

• Investigar sobre las metodologıas que existen alrededor del control adap-tativo y documentar dicha investigacion.

1

Page 18: implementacion de un controlador adaptativo

2 1 Introduccion

• Escoger una metodologıa adecuada y programar el controlador en laplataforma de desarrollo Arduino.

• Disenar e implementar un prototipo a nivel de protoboard del controla-dor, de manera que se pueda conectar a un proceso que utilice senalesestandar de tension.

• Utilizar este controlador para manipular un proceso a nivel de laborato-rio y validar el funcionamiento.

• Documentar el diseno y la programacion. Crear un sitio web (o un wiki)que contenga la documentacion realizada.

1.3 Metodologıa

El desarrollo del trabajo incluyo los siguientes pasos y procedimientos, listadosen secuencia:

1. Investigacion sobre control adaptativo en libros y publicaciones varias,de los cuales se extrajeron y documentaron los conceptos de mayor re-levancia.

2. Analisis del proceso a controlar caracterizando el comportamiento desea-do del sistema de lazo cerrado.

3. Determinacion de la ley adecuada de control adaptativo para el disenodel controlador tomando en cuenta las caracterısticas del proceso.

4. Programacion del controlador adaptativo implementando la ley de con-trol que mejor se adapto utilizando la plataforma Arduino.

5. Empleo del controlador en el proceso analizado con anterioridad paramultiples pruebas y verificacion de su funcionamiento.

6. Analisis del funciomiento del controlador y el comportamiento a la salidadel proceso.

7. Elaboracion de la documentacion del trabajo realizado, incluyendo in-vestigacion, aplicacion practica, programacion, resultados obtenidos y elanalisis de dichos resultados.

Page 19: implementacion de un controlador adaptativo

2 Antecedentes

2.1 Control Adaptativo

El control adaptativo es una tecnica de control avanzado, que se utiliza cuandola dinamica de un proceso presenta variaciones impredecibles en sus parame-tros. Por la naturaleza de estos procesos, se necesita de un controlador queeste preparado para adaptarse a estos cambios inesperados. Segun Rubio ySanchez (1996) “un controlador adaptativo es el que puede modificar su com-portamiento en respuesta a cambios en la dinamica del sistema y a las pertur-baciones”. En otras palabras, un“controlador adaptativo es un controlador conparametros ajustables y un mecanismo de ajuste de los parametros” (Astromy Wittermark, 2008). La importancia de este tipo de control radica en quemuchos procesos dependen de condiciones variantes en el tiempo, y como sedijo anteriormente, muchas veces impredecibles. Por ejemplo un sistema quese encuentre expuesto, o que dependa de condiciones ambientales, va a tenerun punto de operacion variante, por lo cual resulta necesario este mecanismode control.En la figura 2.1 se presenta un esquema general de un sistema adaptativo,donde se observa el control realimentado y las lıneas punteadas resaltan laspartes que son propiamente de control adaptativo. “El control adaptativo pue-de verse como la composicion de dos lazos, uno encargado del mecanismo de

Figura 2.1: Sistema adaptativo. Adaptado de: Astrom y Wittermark (2008)

3

Page 20: implementacion de un controlador adaptativo

4 2 Antecedentes

ajuste de los parametros del controlador y el lazo normal de realimentacionque contiene el controlador y el proceso” (Astrom y Wittermark, 2008). Ellazo de realimentacion tiene la funcion de rechazar las perturbaciones y escomunmente mas rapido que el lazo de ajuste.

El control adaptativo se puede clasificar en dos categorıas: directo e indi-recto.

Control adaptativo directo

Los parametros del controlador se ajustan de manera que el error entre lasalida de la planta y el modelo de referencia a lazo cerrado sea el mınimo, sinninguna estimacion de por medio. En otras palabras “El control adaptativodirecto cubre aquellos procesos en que los parametros del controlador se ac-tualizan directamente de una senal de error que refleja la diferencia entre elrendimiento obtenido y el deseado” (Landau et al., 2011).

Control adaptativo indirecto

Los parametros de la planta son primero estimados y el controlador escogela accion de control suponiendo que los valores estimados son correctos. Si elerror persiste, el controlador modifica su estimacion. (Chekkouri y Romeral,2001).

2.2 Reguladores autoajustables

Los reguladores autoajustables o STR por sus siglas en ingles, estan consti-tuidos por dos lazos. Uno de estos es el lazo de realimentacion en el que seencuentra el controlador y el proceso. Por otro lado, el segundo lazo cumple lafuncion de estimar los parametros del proceso por medio de un algoritmo y conestos datos se procede a realizar el ajuste de los parametros del controlador.La estructura de un sistema que utiliza este tipo de control se observa en lafigura 2.2, se muestra en lıneas punteadas el lazo adicional que realiza la logicade ajuste.Es ideal aplicar este control cuando no se cuenta con un modelo de comporta-miento del sistema o se tienen perturbaciones que no se pueden medir. SegunRubio y Sanchez (1996) “los reguladores adaptativos autoajustables tratande alcanzar un control optimo, sujeto a un tipo de controlador y a obtenerinformacion del proceso y sus senales.”

Page 21: implementacion de un controlador adaptativo

2.3. Controladores adaptativos por modelo de referencia 5

Figura 2.2: Regulador autoajustable. Adaptado de: Rubio y Sanchez (1996)

2.3 Controladores adaptativos por modelo dereferencia

Los controladores adaptativos por modelo de referencia oMRAC por sus siglasen ingles, se utilizan cuando se cuenta con un modelo de referencia, el cualindica como debe ser la respuesta a la salida del proceso con base en una senalde entrada, tal como lo menciona Rubio y Sanchez (1996) “Los controladoresadaptativos con modelo de referencia, intentan alcanzar para una senal deentrada definida, un comportamiento en bucle cerrado dado por un modelo dereferencia”.En la figura 2.3 se observa el modelo paralelo que es la configuracion mascomun, se cuenta con el lazo ordinario de realimentacion, ademas se observaotro lazo encargado de obtener el error entre el modelo de comportamientodel sistema y la salida real del proceso, dicha informacion se utiliza para elcalculo y ajuste de los parametros del controlador con la finalidad de que elerror sea mınimo. Los bloques adicionales que son propios de esta metodologıase presentan con lıneas punteadas.“El mecanismo de ajuste de los parametros en un sistema adaptativo pormodelo de referencia puede obtenerse siguiendo dos caminos: usando el metododel gradiente o aplicando teorıa de estabilidad” (Astrom y Wittermark, 2008).Tanto el control adaptativo por modelo de referecencia (MRAC ), como losreguladores autoajustables (STR), son de adaptacion continua, por lo tanto esun ciclo que se repite continuamente ajustando los parametros del controladoren tiempo real.A continuacion se introducen los metodos de ajuste de parametros para unMRAC.

Page 22: implementacion de un controlador adaptativo

6 2 Antecedentes

Figura 2.3: Controlador adaptativo por modelo de referencia. Adapatado de:Rubio y Sanchez (1996)

2.4 Metodo del gradiente (Regla del MIT)

Este metodo fue desarrollado en el Laboratorio de Instrumentacion pertene-ciente al Instituto de Tecnologıa de Massachusetts, o MIT, por sus siglas eningles, por lo tanto se conoce como la regla del MIT.Se presenta esta regla segun Rubio y Sanchez (1996), considerando que el con-trolador tiene un solo parametro ajustable θ, pero debe tomarse en cuenta queesta metodologıa es aplicable al caso en que se tengan mas parametros en elcontrolador.Para encontrar el valor de θ, es necesario contar con un ındice que indiqueel desempeno del sistema a lazo cerrado. Si se considera e como la variableque indica el error entre la salida real del lazo de control, comparado con eldeseado, un posible ındice de desempeno viene dado por:

J =1

2

e2dt, (2.1)

utilizando la tecnica de optimizacion del gradiente, donde ∇θ es la variacionde θ con respecto al ultimo valor calculado y K es llamada la ganancia deadaptacion.

∇θ(e, t) = −Kgrad(J) = −K∂J

∂θ(2.2)

Page 23: implementacion de un controlador adaptativo

2.5. Teorıa de estabilidad de Lyapunov para sistemas dinamicos 7

Donde θ varıa respecto al tiempo, se tiene:

θ = −K∂

∂t

(

∂J

∂θ

)

(2.3)

Cambiando el orden de las derivadas se obtiene (2.4).

θ = −K∂

∂θ(∂J

∂t) = −K

∂θ

(

e2

2

)

(2.4)

Finalmente se obtiene la regla del MIT en (2.5).

θ = −Ke∂e

∂θ(2.5)

Se observa que esta regla queda en terminos de la derivada parcial del errorrespecto a los parametros ajustables del controlador. La variacion del error deacuerdo con el ajuste de los parametros es llamada funcion de sensibilidad yviene dada por:

∂e

∂θ=

∂(ym − y)

∂θ, (2.6)

Donde el error es la diferencia entre la salida del modelo de referencia ym y lasalida real de proceso y.

La regla del MIT tambien puede ser utilizada cuando se requieren ajustarmuchos parametros, segun Astrom y Wittermark (2008), “El sımbolo θ debeser interpretado como un vector, y (2.6) como el gradiente del error con res-pecto a los parametros”. Sin embargo este metodo no garantiza la estabilidada lazo cerrado de un sistema adaptativo. “El sistema puede hacerse inestablesi el modelo de referencia no se escoge adecuadamente o si la ganancia deadaptacion se elige demasiado grande” (Rubio y Sanchez, 1996).

2.5 Teorıa de estabilidad de Lyapunov parasistemas dinamicos

La teorıa de estabilidad de Lyapunov esta compuesta de dos metodos: metodoindirecto o metodo de linealizacion y metodo directo o segundo metodo.

• Metodo indirecto de Lyapunov

Este metodo establece que “las propiedades de estabilidad de un sistema nolineal en las proximidades de punto de equilibrio son esencialmente las mismasque las de su correspondiente sistema liealizado simple”(Blazquez y de Miguel,2004). Dado esto, es importante tener claro que existen ciertas restricciones, yaque este metodo es aplicable cuando se trabaja alrededor de un determinadopunto de operacion.

Page 24: implementacion de un controlador adaptativo

8 2 Antecedentes

• Metodo directo de Lyapunov

Segun Blazquez y de Miguel (2004) “El metodo directo es una generalizacionde los conceptos de energıa asociados con un sistema mecanico: el movimientode un sistema mecanico es estable si el total de su energıa mecanica disminuyetodo el tiempo”. El objetivo de este metodo es obtener una funcion escalarde signo positivo que contenga los estados del sistema y adaptar una ley decontrol que logre que la funcion decrezca.El metodo directo de Lyapunov establece que para sistemas variantes en eltiempo:

x = f(x, t) , (2.7)

tiene un equilibrio x = 0 y es asintoticamente estable si existe una funcion deLyapunov, V (x), que cumple las condiciones:

V (x) > 0 para x 6= 0 definida positiva

V (x) < 0 para x 6= 0 definida negativa (2.8)

V (x) → ∞ para ‖ x ‖→ ∞

V (0) = 0

“Usualmente cuando se trabaja con sistemas adaptativos V (x) es negativasemi − definida, lo cual implica que la segunda condicion de (2.8) sea de laforma:

V (x) ≤ 0, (2.9)

por lo tanto, para comprobar que el sistema es estable basta con demostrarque V (x) es acotada” (Astrom y Wittermark, 2008).Segun Rubio y Sanchez (1996) para obtener la ley de adaptacion con estateorıa es necesario seguir los pasos:

1. Encontrar la ecuacion de error.

2. Encontrar una funcion de Lyapunov como una funcion del error entrelas senales y del error en los parametros del controlador.

3. Calcular la derivada de la funcion de Lyapunov. La derivada debe sernegativa.

4. Obtener la ley de adaptacion θ, que normalmente esta relacionada conel error y el vector de senales.

Page 25: implementacion de un controlador adaptativo

2.5. Teorıa de estabilidad de Lyapunov para sistemas dinamicos 9

MRAS de primer orden obtenido con la teorıa de estabilidad

Se tiene el procesoy = −ay + bu, (2.10)

y suponiendo que la respuesta deseada es:

ym = −amym + bmr (2.11)

La senal del controlador viene dada por:

u = θ1r − θ2y (2.12)

La senal de error entre el modelo y el proceso es:

e = y − ym, (2.13)

el comportamiento del error respecto al tiempo se obtiene utilizando (2.10),(2.11) y (2.12).

de

dt= y − ym (2.14)

de

dt= −ay + bθ1r − bθ2y + amym − bmr, (2.15)

Reemplazando ym de acuerdo a (2.13), se obtiene (2.16). El objetivo es que elerror disminuya conforme se avance en el tiempo.

de

dt= −ame− (bθ2 + a− am)y + (bθ1 − bm)r (2.16)

Se escoge una funcion que cumpla las condiciones de (2.8) y que este definidaen funcion del error y de los parametros del controlador.

V (e, θ1, θ2) =1

2

(

e2 +1

bγ(bθ2 + a− am)2 +

1

bγ(bθ1 − bm)2

)

(2.17)

Para que (2.17) sea considerada una funcion de Lyapunov su derivada respectoal tiempo debe ser negativa.

dV

dt= ee+

1

γ(bθ2 + a− am)θ2 +

1

γ(bθ1 − bm)θ1 (2.18)

dV

dt= −ame2+

1

γ(bθ2+ a− am)(

dθ2

dt− γye)+

1

γ(bθ1− bm)(

dθ1

dt+ γre) (2.19)

Entonces, es claro que para que esta funcion sea siempre negativa, se requiereque los parametros del controlador, θ1 y θ2, tomen los valores:

dθ1

dt= −γre (2.20)

Page 26: implementacion de un controlador adaptativo

10 2 Antecedentes

dθ2

dt= γye , (2.21)

con lo que se llega a que:dV

dt= −ame2 (2.22)

Como se senalo anteriormente, V (x) es negativa semi−definida, por lo tantoes necesario obtener la segunda derivada.

dV 2

dt2= −2ame

de

dt(2.23)

Sustituyendo e por (2.16):

dV 2

dt2= −2ame (−ame− (bθ2 + a− am)y + (bθ1 − bm)r) , (2.24)

como se demuestra en (2.24), la segunda derivada de la funcion de Lyapunovdepende de la entrada al sistema r, de la salida del sistema y y del error e,que son senales acotadas, lo cual implica que V (x) es tambien acotada.Por lo tanto se garantiza la estabilidad del sistema y la ley de control puedeescribirse:

dt= γϕe, (2.25)

donde ϕ es el vector de senales.

ϕ = (−r y)T (2.26)

La implementacion del control adaptativo con el proceso descrito se ilustraen el diagrama de la figura 2.4. Se observa que todas las tecnicas descritasanteriormente conllevan a la resolucion de ecuaciones diferenciales. Muchas deestas ecuaciones representan gran complejidad a la hora encontrar la solucionanalıtica. Una herramienta util cuando se requieren calculos de este tipo sonlos metodos numericos, ya que constituyen una alternativa mas simple para laresolucion de ecuaciones diferenciales.

2.6 Metodos numericos

Los metodos numericos son procedimientos iterativos, que mediante calculosaritmeticos permiten la aproximacion de la solucion de ecuaciones diferencialesy de integrales.La diferencia entre la variedad de metodos numericos existentes es el errorentre la aproximacion y el valor real. Para disminuir la magnitud de los errores,se requiere el calculo de algoritmos complicados y extensos, muchas veces

Page 27: implementacion de un controlador adaptativo

2.6. Metodos numericos 11

Figura 2.4: Control utilizando teorıa de estabilidad. Adaptado de: Astrom yWittermark (2008)

siendo necesario utilizar una herramienta de computo para realizar dichoscalculos.En la presente seccion se presentan algunas de las tecnicas de la familia deMetodos de Runge-Kutta y el metodo del trapecio que forma parte de lasformulas de integracion de Newton-Cotes.

Metodos de Runge-Kutta para solucion de ecuacionesdiferenciales ordinarias

Los metodos de Runge-Kutta permiten la solucion de ecuaciones diferencialesde la forma:

dy

dx= f(x, y), (2.27)

utilizando fomulas de este tipo:

yi+1 = yi + φh, (2.28)

en donde “la pendiente estimada φ se usa para extrapolar desde un valoranterior yi a un nuevo valor yi+1 en una distancia h. Esta formula se aplicapaso a paso para calcular un valor posterior, y por lo tanto, para trazar latrayectoria de la solucion” (Chapra y Canale, 2010). Como el valor siguientedepende del valor actual, para empezar las iteraciones es necesario contar conlos valores iniciales respectivos. La diferencia entre la variedad de metodos

Page 28: implementacion de un controlador adaptativo

12 2 Antecedentes

de Runge-Kutta radica en la manera de estimar la pendiente. La solucionmediante estos metodos conllevan a dos tipos de error: de truncamiento y deredondeo.

1. Los errores de truncamiento son originados por la naturaleza de las tecni-cas empleadas para aproximar los valores de y (Chapra y Canale, 2010).

2. Los errores de redondeo son causados por el numero limitado de cifrassignificativas que una computadora puede manejar.

Existen limitaciones para calcular el error, pues incluyen expansiones de Taylorque no son simples de obtener, ademas de que los valores verdaderos de lasolucion de las ecuaciones no se conocen. Segun Chapra y Canale (2010) “elerror de truncamiento es proporcional al tamano del paso h”, por lo tantolo recomendable para disminuir este error es que el tamano de h sea lo maspequeno posible que viene dado por:

h = ti+1 − ti, (2.29)

y se considera fijo durante los calculos.

• Metodo de Euler

Consiste en el metodo Runge-Kutta de primer orden, el cual implica la reso-lucion la siguiente ecuacion.

yi+1 = yi + f(xi, yi)h (2.30)

El nuevo valor de y se predice utilizando la primera derivada para obtener laestimacion de la pendiente en el valor actual. Entre las ventajas que presentaeste metodo, es que no es necesaria la evaluacion de derivadas parciales de or-den alto, tal como sucede con otros metodos, como los de Taylor. Sin embargo,es un metodo de baja exactitud ya que el paso de integracion debe ser muypequeno para alcanzar resultados aceptables, lo que implica mayor cantidadde calculos y mayor tiempo en encontrar la solucion.

• Metodos de Runge-Kutta de segundo orden

Los metodos de segundo orden generalemente presentan la forma:

yi+1 = yi + (a1k1 + a2k2)h, (2.31)

donde:k1 = f(xi, yi) (2.32)

k2 = f(xi + p1h, yi + q11k1h) (2.33)

Page 29: implementacion de un controlador adaptativo

2.6. Metodos numericos 13

Utilizando expansiones de Taylor, se llega a un sistema de tres ecuaciones quecontienen las cuatro incognitas.

a1 + a2 = 1 (2.34)

a2p1 =1

2(2.35)

a2q11 =1

2(2.36)

Segun Chapra y Canale (2010): “como hay una incognita mas que el nu-mero de ecuaciones, no existe un conjunto unico de constantes que satisfagalas ecuaciones. Sin embargo considerando un valor para una de las constantes,es posible determinar el valor de las otras tres.”Dando un valor a a2, se resuelven las ecuaciones, sin embargo hay infinitos va-lores que a2 puede tomar, lo que conlleva a infinitos metodos de Runge-Kuttade segundo orden.

A continuacion se presenta el metodo de Heun, el cual propone dar el valora a2 de:

a2 = 1, (2.37)

de manera inmediata se obtienen los valores para las demas incognitas.

a1 = a2 = 1 (2.38)

p1 = q11 = 1 (2.39)

Por lo tanto (2.31) adquiere la forma:

yi+1 = yi +

(

1

2k1 +

1

2k2

)

h, (2.40)

donde k1 y k2 se calculan:

k1 = f(xi, yi) (2.41)

k2 = f(xi + h, yi + k1h) (2.42)

Formulas de integracion de Newton-Cotes

“Las formulas Newton-Cotes se basan en la estrategia de reemplazar una fun-cion complicada o datos tabulados por un polinomio de aproximacion que esfacil de integrar”(Chapra y Canale, 2010).

∫ b

a

f(x) dx ∼=

∫ b

a

fn(x) dx , (2.43)

Page 30: implementacion de un controlador adaptativo

14 2 Antecedentes

donde fn(x) es un polinomio de la forma:

fn(x) = a0 + a1x+ · · ·+ an−1xn−1 + anx

n , (2.44)

donde n es el grado del polinomio. Al ser un metodo iterativo igual queRunge−Kutta, se presentan errores de truncamiento y de redondeo.

• Regla del trapecio

La regla del trapecio corresponde a la formula de Newton-Cotes en dondeel polinomio que se utiliza para realizar la aproximacion de la integral es deprimer grado.

I =

∫ b

a

f(x) dx ∼=

∫ b

a

f1(x) dx (2.45)

Segun Chapra y Canale (2010) “El calculo de f1(x) se realiza representandouna lınea recta” como se aprecia en la siguiente formula:

f1(x) = f(a) +

(

f(b)− f(a)

b− a

)

(x− a) , (2.46)

por lo tanto la integral pasa a ser de la siguiente forma:

I =

∫ b

a

(

f(a) +

(

f(b)− f(a)

b− a

)

(x− a)

)

dx, (2.47)

el resultado de la integracion es lo que se denomina la Regla del trapecio.

I = (b− a)f(a) + f(b)

2(2.48)

2.7 Arduino

Como se menciono con anterioridad, el algoritmo de control sera implementadoen la plataforma Arduino, por lo tanto, es necesario conocer funciones quepueden ser de utilidad para implementar en el controlador.En la figura 2.5 se tiene la imagen de un Arduino UNO, se va a trabajar coneste modelo porque cumple con la caracterıstica de que trabaja con rangos detension de 0 V a 5 V, al igual que el proceso a controlar, como se vera masadelante.

Funciones de Arduino

Entre la gran variedad de funciones que se encuentran disponibles, se explicanlas siguientes de acuerdo a (www.arduino.cc, 2014), que son de utilidad parael desarrollo del presente trabajo.

Page 31: implementacion de un controlador adaptativo

2.7. Arduino 15

Figura 2.5: Arduino UNO

• digitalRead(pin) y digitalWrite(pin,value)

Estas funciones permiten utilizar pines como entradas o salidas digitales res-pectivamente. En el parentesis se debe escribir el numero del pin que se em-pleara. Primero se requiere habilitar el pin a utilizar especificando si es unasalida o entrada. Si es una salida, digitalWrite() pondra en la salida BAJO oALTO, dependiendo de la instruccion dada en value. Si es una entrada, digi-talRead lee en la entrada BAJO para 0 V o ALTO para 5 V.Si el pin especificado como entrada no se conecta, la funcion digitaRead() pue-de leer BAJO o ALTO.Los pines que sirven para estas funciones son los que en 2.5 estan identificadosde 0 al 13.

• analogRead(pin)

Esta funcion permite leer los valores en la entrada de los pines designadoscomo analogicos, los cuales son A0, A1, A2, A3, A4 y A5.Se pueden leer tensiones entre 0 V y 5 V, cuentan con un convertidor analogicodigital de 10 bits que transforma la variable entre un rango de 0 a 1023 unida-des. Esto quiere decir que cada unidad equivale a 0,0049 V aproximadamente.

• analogWrite(pin,value)

La funcion analogWrite() permite escibir un valor analogico en cualquiera delos pines 11, 10, 6, 5, o 3. Para esto, utiliza modulacion por ancho de pulso, opor sus siglas en ingles PWM.La modulacion por ancho de pulso es una funcion de pulsos cuyo valor prome-dio dependera del ciclo de trabajo asignado, tal como se muestra en la figura2.6. El ciclo de trabajo se especifica dentro del parentesis en la posicion devalue y solo se admiten valores de 0 a 255.

Page 32: implementacion de un controlador adaptativo

16 2 Antecedentes

Figura 2.6: Senal PWM. Tomado de: arduino.cc

• millis() y delay()

Ambas funciones son llamadas de tiempo, esto porque millis() permite medirel tiempo en milisegundos que el arduino tarda en ejecutar un programa ofuncion. La funcion delay() espera el tiempo especificado, en milisegundos,dentro de su parentesis para realizar la proxima actividad.

Page 33: implementacion de un controlador adaptativo

3 Desarrollo

3.1 Proceso

El proceso de laboratorio en el que se implementa el control adaptativo es elde flujo y temperatura que se encuentra en el Control Engineering ResearchLaboratory (CERLab), ubicado en la Escuela de Ingenierıa Electrica de laUniversidad de Costa Rica. El proceso se muestra en la figura 3.1.A pesar de que el proceso abarca flujo y temperatura, solo se va a trabajarcontrolando la parte de flujo. Como se observa, para controlar el flujo se pue-den utilizar entradas de tension que varıan de 0 V a 5V o de corriente que vande 4 mA a 20 mA, como se muestra en la figura 3.2Ademas el proceso permite la introduccion de perturbaciones mediante unorificio en la parte superior, dependiendo de la distancia que se abra, el com-portamiento del proceso varıa.Es necesario contar con el modelo de la planta para efectuar simulaciones delsistema. Para esto, se precisa que la planta trabaje en un punto de operacionen estado estacionario. Aplicando un cambio en la entrada se observa el cam-bio que se presente en la salida y empleando un metodo de identificacion seobtiene una estimacion del modelo.Se procedio a aplicar 2,5 V a la entrada del proceso y luego se realizo un cam-bio del 20% que corresponde a 0,5 V para registrar la variacion en la salida.En la figura 3.4 se muestra el grafico con la entrada y la salida del proceso, elcomportamiento corresponde a una planta de primer orden segun la curva dereaccion.La formula del modelo de primer orden segun Alfaro (2013).

Figura 3.1: Proceso de control de flujo y temperatura.

17

Page 34: implementacion de un controlador adaptativo

18 3 Desarrollo

Figura 3.2: Entradas y salidas del proceso de control de flujo y temperatura.

Figura 3.3: Orificio que permite introducir perturbaciones.

P (s) =K

τs+ 1(3.1)

En donde la ganancia del proceso se calcula con la ecuacion:

K =∆Y

∆R, (3.2)

∆Y representa el cambio en la salida del proceso y ∆R representa el cambioen la entrada. Por lo tanto aplicando (3.2) se obtiene que K = 1,35.

K =3,175− 2,5

3− 2,5= 1,35 (3.3)

Para obtener la constante de tiempo T se necesita calcular el 63,2%del valorfinal de la salida Y .

Yf = 3,175− 2,5 = 0,675 (3.4)

0,632 ∗ 0,675 = 0,4266 (3.5)

2,5 + 0,4266 = 2,9266 (3.6)

Localizando en la grafica el valor de (3.6) se obtiene el periodo de tiempo T .

T = 41,38− 39,6 = 1,78 (3.7)

Page 35: implementacion de un controlador adaptativo

3.2. Implementacion en Simulink 19

Figura 3.4: Entrada vs Salida proceso.

Con los datos obtenidos, se consigue el modelo de primer orden mostrado enla siguiente ecuacion.

P (s) =1,35

1,78s+ 1(3.8)

En la figura 3.6 se observa la comparacion de la salida del proceso con la salidadel modelo estimado ante la misma entrada, se observa que la aproximaciones muy cercana al proceso, ademas el error de mayor amplitud es 0,1, lo cualcorresponde a un 0,02%.

3.2 Implementacion en Simulink

Es sabido que“No hay garantıa de que un controlador adaptativo basado en laregla de MIT de como resultado un sistema de lazo cerrado estable” (Astromy Wittermark, 2008). Por lo tanto se utiliza la Teorıa de estabilidad de Lya-punov para disenar el controlador requerido, con la finalidad de que el sistemano caiga en la inestabilidad.Se implementa el diagrama de la figura 2.4 en Simulink utilizando los valo-

Page 36: implementacion de un controlador adaptativo

20 3 Desarrollo

Figura 3.5: Calculo del periodo

res del modelo obtenido para visualizar el comportamiento del sistema. Esnecesario establecer el modelo de referencia deseado:

Pm(s) =Km

τms+ 1, (3.9)

se fija ganancia unitaria para evitar que el proceso controlado sufra un errorpermanente diferente de cero. En cuanto a la constante de tiempo de lazocerrado deseada, esta se fija en uno para realizar las simulaciones en Matlab,sin embargo, la rapidez del modelo de referencia se define de manera que sea lamayor sin alterar negativamente la dinamica del sistema cuando se implementeen su uso real.El sistema se encuentra trabajando con una entrada de 2,5 V que representa unpunto de operacion del 50%, para que sea congruente con el punto de operaciony el cambio en la entrada con los cuales se obtuvo el modelo del proceso, comose explico anteriormente. Para realizar la simulacion, se introdujo una ondacuadrada de amplitud 0,5 y periodo 20 s como entrada de referencia. Ademasel sistema se simula durante 200 s. Se realizaron pruebas con tres diferentesvalores de γ para observar como varıan las senales del sistema.En la figura 3.8 se presenta el comportamiento de θ1 y θ2, se observa que sin

Page 37: implementacion de un controlador adaptativo

3.2. Implementacion en Simulink 21

Figura 3.6: Modelo vs Proceso

Figura 3.7: Simulacion en Simulink

Page 38: implementacion de un controlador adaptativo

22 3 Desarrollo

Figura 3.8: Valores de θ1 y θ2

importar el valor de γ las tres graficas convergen al mismo valor, aunque nocon la misma rapidez. Para el mayor valor de γ, θ1 y θ2 alcanzan su valor finala los 500s aproximadamente, mientras que cuando γ es igual a 0,2 requiere1900s para alcanzar el mismo valor. Se espera que la senal de control tengaun comportamiento similar, ya que esta es dependiente de ambos parametros.Segun la figura 3.9 el sistema que mejor se adapta al modelo deseado es elque trabaja con el valor unitario de γ. Entre menor es la magnitud de γ, esnotorio que el proceso necesita mas tiempo para ajustarse al comportamientodel modelo de referencia. El aumento del valor de γ influye en la senal decontrol de manera que consigue el valor final mas rapido que los restantesvalores tal como se aprecia en 3.10.De acuerdo con la senal de error en la figura 3.11, para el valor unitario de γ,el error es menor en todo momento en comparacion con los conseguidos conlos dos valores restantes de γ, tal como se esperaba ya que tiene que coincidircon los resultados de la figura 3.9.Considerando lo anterior se propone utilizar un valor unitario en γ, con lafinalidad de garantizar el menor error posible entre el proceso y el modelo dereferencia, sin embargo, es necesario aclarar que se pueden seleccionar valoresmayores a la unidad, pero podrıa ser contraproducente ya que para valores dereferencia superiores a 0,5 la senal de control excederıa el lımite permitido porel proceso.A partir de lo anterior y con los valores establecidos a utilizar en el sistema, seprocede a eleccion del metodo para la programacion del algoritmo de control.

Page 39: implementacion de un controlador adaptativo

3.3. Seleccion del metodo numerico 23

Figura 3.9: Senal de salida del proceso

3.3 Seleccion del metodo numerico

Se realizaron pruebas utilizando distintos metodos numericos para analizarcual de ellos es el mas preciso. Para esto, se recurrio a la utilizacion de Matlab,en el cual se crearon tres codigos implementando el metodo de Runge-Kuttade segundo orden, el metodo de Euler y la Regla del trapecio. Los codigosrealizados siguen la logica del diagrama de flujo de la figura 3.12.El sistema se encuentra trabajando al 50% y se aplica a la entrada unaonda cuadrada de magnitud 0,5, lo cual representa un cambio del 10% enla referencia. Se utilizan valores iniciales igualados a cero para empezar lasiteraciones en cada metodo. El paso de integracion utilizado es 0,01s en lostres casos.En la figura 3.13 se muestra el codigo implementado para el metodo de Runge-Kutta, es necesario aplicarlo en cuatro ocasiones distintas, ya que se debecalcular la aproximacion de la salida del proceso real, la salida del modelo dereferencia, y los valores de θ1 y θ2, para esto se utilizan las variables k1, k2,m1, m2, p1, p2, j1 y j2 que son exclusivas de este metodo.El programa se ejecuta durante 500s ya que se esta utilizando γ igualado auno, y el tiempo que requiere para alcanzar el modelo deseado es menor comose explico anteriormente.En la figura 3.14 se muestra la programacion del metodo de Euler y el de laRegla del Trapecio, solo se muestra la parte del codigo que cambia, ya que laparte inicial de la declaracion de variables y valores iniciales es la misma.

Page 40: implementacion de un controlador adaptativo

24 3 Desarrollo

Figura 3.10: Senal de control del proceso

Cuando se ejecutan los programas, se realiza la aproximacion de los valoressiguientes de cada funcion con base en los valores actuales, lo que permite elajuste de los parametros θ del controlador.

En la figura 3.15 se muestra la comparacion de la salida obtenida concada metodo numerico y el comportamiento deseado, todos los metodos lo-graron darle seguimiento al modelo propuesto, sin embargo, el realizado conRunge-Kutta de segundo orden es el que muestra menor margen de error. Paracorroborar esto, se muestra la senal de error registrada con los tres metodosen la figura 3.16.El maximo error obtenido es con la Regla del Trapecio de un 7,4940%, mien-tras que el maximo error obtenido con el metodo Runge-Kutta es de 6,8790%,lo cual implica una diferencia de 0,6150%. Ademas, el error que que se generautilizando el metodo de Runge-Kutta se atenua con mucha mas rapidez encomparacion con el de los restantes procedimientos.Como se presenta la senal de control en la figura 3.17, en ningun momento seacerca al 100%, lo cual es importante, ya que en la medida de lo posible, la

Page 41: implementacion de un controlador adaptativo

3.3. Seleccion del metodo numerico 25

Figura 3.11: Senal de error

entrada al proceso no debe ser muy cercana al lımite permitido, que son 5Ven este caso.Los resultados anteriores indican que el modelo matematico mas acertado esel de Runge-Kutta, por lo tanto es el escogido para introducir en el algoritmode control.Es importante aclarar que los analisis anteriores se basaron en que el cam-bio en la entrada es 0,5 V, o sea, de un 10%, pero es necesario observar elcomportamiento de la senal de control para cambios mayores en el valor dereferencia. Como el sistema se encuentra trabajando al 50%, el mayor cambioque podrıa sufrir es del 50%, como se observa en la figura 3.18. La senal decontrol alcanza el 90% aproximadamente como valor maximo.Se hacen pruebas conservando 50% en la referencia, pero aumentando larapidez del modelo deseado, como se presenta en la figura 3.19. Se concluyeque valor optimo de τm es el unitario, ya que con valores menores a este, sise producen cambios grandes en el valor de referencia, la entrada al procesosobrepasarıa el lımite, lo cual incurrirıa en un mal funcionamiento o posibledano del sistema.

Page 42: implementacion de un controlador adaptativo

26 3 Desarrollo

Figura 3.12: Diagrama de flujo

Page 43: implementacion de un controlador adaptativo

3.3. Seleccion del metodo numerico 27

Figura 3.13: Codigo para el Metodo de Runge-Kutta

Page 44: implementacion de un controlador adaptativo

28 3 Desarrollo

Figura 3.14: Codigo para Metodo de Euler y para Regla del Trapecio

Figura 3.15: Salidas obtenidas con los metodos numericos

Page 45: implementacion de un controlador adaptativo

3.3. Seleccion del metodo numerico 29

Figura 3.16: Senal de error obtenida con los metodos numericos

Figura 3.17: Senal de control obtenida con los metodos numericos

Page 46: implementacion de un controlador adaptativo

30 3 Desarrollo

Figura 3.18: Senal de control para 2,5 V en la referencia

Figura 3.19: Senal de control para cambios en la rapidez del sistema

Page 47: implementacion de un controlador adaptativo

4 Implementacion del Controlador

4.1 Algoritmo de control en Arduino

La logica del programa que se desarrollo en Matlab se modifico para adaptar elcodigo a Arduino, como se muestra en la figura 4.1. El cambio es basicamentehabilitar las entradas y salidas para la captura y transmision de datos. En lafigura 4.2 se encuentra la primera parte del codigo creado en Arduino, comose observa se declara el paso de integracion, los parametros del proceso y delmodelo deseado y demas valores iniciales tal como se hizo anteriormente parael programa realizado en Matlab.No es necesario declarar las variables k1 y k2, ya que no se requiere realizarla aproximacion de los valores de proceso porque se leeran directamente utili-zando las entradas analogicas del Arduino.Para leer la salida se habilito la entrada analogica A1 y se utiliza la funcionanalogRead(), como se explico en el capıtulo 2, se necesita el factor de con-version 0,0049 para realizar los calculos con el valor correcto de la entrada,porque en el pin se encuentra un convertidor analogico digital que convierte eldato leıdo en un valor dentro del rango 0 a 1023. Esta conversion se observa

Figura 4.1: Diagrama de flujo del codigo realizado en Arduino

31

Page 48: implementacion de un controlador adaptativo

32 4 Implementacion del Controlador

en la figura 4.3.La entrada A0 se encarga de leer el valor de referencia y requiere la mismaconversion utilizada para la lectura de la salida del proceso.Con base en esto, se calcula el valor del error y la senal de control, seguidamen-te la senal de control se crea utilizando una salida PWM, para esto se calculael ciclo al cual debe trabajar la senal, de tal manera que el valor promediocorresponda al requerido segun el controlador.Se habilita el pin 3, el cual es para salidas de este tipo, como se aprecia en 4.3.Los valores de la senal del controlador se encuentran entre 0 V y 5 V, comose menciono en el capıtulo 2 el ciclo de trabajo se especifica en valores entre0 y 255, por lo tanto es necesario realizar la conversion presentada en (4.1),donde Uact es el valor actual de la senal de control.

ciclo =

(

Uact

5

)

∗ 255 (4.1)

Se divide entre 5 para obtener la proporcion del valor total de la senal decontrol y luego se multiplica por 255 para obtener su equivalencia entre 0 y255. La ecuacion se escribe de la siguiente forma en el codigo:

ciclo = Uact ∗ 51, (4.2)

que es equivalente a (4.1).Posteriormente, se calculan las variables para aplicar el metodo de Runge-Kutta y ası obtener los parametros del controlador para la siguiente iteracion.Se utiliza la funcion millis, la cual mide la duracion de los calculos, y conayuda de la funcion delay() se logra que el tiempo entre cada iteracion seacongruente con el paso de integracion, de 10 milisegundos.

4.2 Interfaz de adquisicion de datos

Para la visualizacion de resultados en tiempo real, se utiliza un programadesarrollado en LabView, el cual emplea una tarjeta NI USB-6009 para laadquisicion de los datos. En la figura 4.4 se presenta dicha tarjeta, la cualconsta con pines analogicos y digitales, ya que se esta trabajando con valorescontınuos se utilizan los pines de salidas y entradas analogicas que son losenumerados del 1 al 16, de estos 4 son entradas y sus respectivos pines paraconectarlos a la referencia o tierra, y cuenta con 2 salidas, los 6 pines restantesson conexiones a tierra.En la figura 4.5 se presenta el programa que se complementa con el de la figura4.4, se observa que permite introducir el tiempo de lectura de los valores, elcual se fija en 10 ms, tambien permite seleccionar el valor de referencia, yademas contiene una grafica en funcion del tiempo que permite observar el

Page 49: implementacion de un controlador adaptativo

4.2. Interfaz de adquisicion de datos 33

Figura 4.2: Codigo realizado en Arduino, parte I

Page 50: implementacion de un controlador adaptativo

34 4 Implementacion del Controlador

Figura 4.3: Codigo realizado en Arduino, parte II

Page 51: implementacion de un controlador adaptativo

4.3. Conexiones 35

Figura 4.4: Tarjeta NI USB-6009

Figura 4.5: Programa de adquisicion de datos

comportamiento de la salida del sistema y de la senal de control.Todos los datos registrados se guardan en un archivo .tex, lo que permiteaccesarlos con otros programas para su posterior analisis.

4.3 Conexiones

El diagrama de componentes del sistema se muestra en la figura 4.6, tambiense dibujaron las conexiones entre los componentes. La salida del proceso seconecta a la tarjeta NI para que guarde los valores, y se conecta al pin A1 delArduino para que realice los calculos necesarios como se menciono anterior-

Page 52: implementacion de un controlador adaptativo

36 4 Implementacion del Controlador

Figura 4.6: Diagrama de componentes del sistema

mente.La senal de control se trasmnite por el pin 3 y tambien es capturada por latarjeta NI. La senal de referencia se difunde de la tarjeta NI hacia el Arduinopara que realice los calculos respectivos. El resto son conexiones a tierra, in-cluyendo el pin 7 del arduino, que debe estar en BAJO para que realice losprocedimientos.

Page 53: implementacion de un controlador adaptativo

5 Resultados

5.1 Implementacion en el proceso

Se implemento el sistema segun las conexiones de la figura 4.6 tal como semuestra en la figura 5.1 y en la figura 5.2. Posteriormente se realizaron mul-tiples pruebas para verificar el funcionamiento del controlador.

5.2 Seguimiento del valor de referencia

En la figura 5.3 se aprecian los resultados obtenidos para cambios en el valorde referencia, se muestra la salida del proceso y el seguimiento del modelodeseado. Las graficas se presentan con los valores reales y valores en porcen-taje para su mejor comprension.Inicialmente el sistema se encuentra trabajando en el punto de operacion del50%, cuando se realizan los cambios en el valor de referencia, el proceso no

Figura 5.1: Conexion del Sistema

37

Page 54: implementacion de un controlador adaptativo

38 5 Resultados

Figura 5.2: Conexion del Sistema

presenta dificultad en adaptarse a ellos, excepto al inicio que le toma 30 se-gundos en cambiar de 2,5 V a 2,8 V en la salida.El comportamiento de la planta parece darle buen seguimiento al modelodeseado, en la figura 5.4 se muestra el comportamiento de la senal de error en-tre la salida del proceso y la del modelo de referencia, los picos que se observanse producen inmediatamente cuando se da el cambio en el valor de referencia,pero una vez que el proceso ha alcanzado el valor especificado, no se producencambios significantes en la variacion del error. En cuanto al error producidoentre el valor de referencia y la salida, parece tener el mismo comportamiento,el error es mas pronunciado inmediatamente despues de los cambios en la en-trada, sin embargo los picos son de mayor amplitud. Lo anterior tiene sentido,ya que al modelo de referencia le toma cierto tiempo para adaptarse al cambioen la entrada al igual que el proceso, por lo tanto el error entre ambos va aser menor que si se compara el error entre la entrada y la salida del proceso,pues el cambio es mas brusco.La senal de control es PWM, como se habıa mencionado anteriormente y esimportante monitorear que el valor promedio no sobrepase el lımite permitidoen la entrada de control del proceso que son 5 V.Para monitorear los valores promedio de la senal de control se utilizo un osci-loscopio, como se muestra en la figura 5.6, se observa que cuando el valor dereferencia es de 4 V, el valor promedio de la senal de control permanece pordebajo de 4 V.Para tomar los datos de θ1 y θ2 provenientes del controlador es necesario que

las iteraciones con que se calculan los valores se hagan cada 100 ms, ya que elArduino necesita un tiempo adicional para enviar los datos a la computadora

Page 55: implementacion de un controlador adaptativo

5.2. Seguimiento del valor de referencia 39

Figura 5.3: Salida del Sistema

Figura 5.4: Error entre el proceso y el modelo de referencia

Page 56: implementacion de un controlador adaptativo

40 5 Resultados

Figura 5.5: Senal de control del sistema

Figura 5.6: Valor promedio de la senal de control del sistema

Page 57: implementacion de un controlador adaptativo

5.2. Seguimiento del valor de referencia 41

Figura 5.7: Salida del sistema para 100 ms

Figura 5.8: Parametros del controlador para 100 ms

a traves del puerto serial, lo que afecta la rapidez del mismo. Sin embargo, estose realizo para analizar el comportamiento de los parametros del controlador.En la figura 5.7 se observa la salida del sistema ante la referencia y en la figura5.8 se observa el comportamiento de los parametros del controlador, ademasen la figura 5.9 se muestran los errores producidos entre la entrada del sistemay la salida del modelo deseado.

Page 58: implementacion de un controlador adaptativo

42 5 Resultados

Figura 5.9: Errores producidos para 100 ms

5.3 Rapidez del Sistema

Considerando que el sistema trabaje con mayor rapidez se disminuyo la cons-tante de tiempo de lazo cerrado deseada τm a 0,6, con la finalidad de compro-bar como se habıa dicho en la seccion anterior, que la senal del controladorpuede elevarse y estar operando cerca del lımite. Lo cual es cierto, cuando semantiene la referencia en 4 V, se observa que el valor promedio de la senal decontrol alcanza 4,66 V, el aumento es de 0,7 V en comparacion del sistematrabajando con el valor unitario para τm. Dado el resultado anterior, se decideno realizar ningun cambio en la constante de tiempo para no comprometer elfuncionamiento de la planta.

Figura 5.10: Cambio en el codigo para τm=0,6

5.4 Comportamiento ante perturbaciones

• Perturbacion mediante perdida de flujo

Se registro el comportamiento del sistema introduciendo una perturbacion alos 25 segundos aproximadamente, como se muestra en la figura 5.13, paralo cual se abrio un 50% el orificio con el que el proceso cuenta en la parte

Page 59: implementacion de un controlador adaptativo

5.4. Comportamiento ante perturbaciones 43

Figura 5.11: Senal del controlador para τm=0,6

Figura 5.12: Orificio al 50%

superior. Se observa que la respuesta del sistema decae en el momento en elque se produce la perturbacion pero logra seguir los cambios en la referencia,con el inconveniente de que cuando se encuentra operando en valores cercanosal 50% presenta problemas para seguir la entrada.Este error puede deberse a problemas de calculo en el algoritmo de controlcuando se efectua la resta de 2,5 en las entradas, como se observa en la figura4.3, incurriendo a una actualizacion de los parametros incorrecta cuando setrabaja cerca del punto de operacion del 50%. Otra posibilidad es que el tiem-po que necesita para retomar el valor de referencia de 50% es mucho mayoren comparacion con el tiempo que necesita para alcanzar los otros valores dereferencia durante la perturbacion.En la figura 5.14 se presentan en porcentajes, el error entre el proceso y elmodelo de referencia no sobrepasa el 10%, pero el error entre la entrada yel proceso alcanza valores de hasta 20%, por la misma razon que se explicoanteriormente.

Page 60: implementacion de un controlador adaptativo

44 5 Resultados

Figura 5.13: Senal de salida del sistema con pertubacion al 50%

En la figura 5.17 se muestra el comportamiento del sistema con una pertur-bacion mayor, para esto se abre el orificio al 100%. El sistema se encuentratrabajando al 60% y aproximadamente a los 230 s se introduce la perturba-cion. La respuesta decae pero le toma poco menos de 15 segundos en retomarel valor de referencia.En la figura 5.18 se observa el comportamiento de los parametros del con-

trolador. Para tomar estos datos se realizo la misma modificacion en el codigopara que calculara las iteraciones cada 100 ms por la razon que se explicoanteriormente.Se capturo como varıa la tension antes de introducir la perturbacion y luegoque el sistema ha alcanzado nuevamente el valor de referencia sobrellevan-do la perturbacion. En la figura 5.19 se observa que la tension promedio dela senal de control debe aumentar 0,75 V para comportarse como es requerido.

• Perturbacion mediante variacion de la ganancia del proceso

Se modifico la ganancia del proceso utilizando la perilla con la cual se fijan losparametros del sensor de flujo, esto para simular una perturbacion que afectelos parametros del proceso. El cambio de la ganancia se realizo de acuerdo ala secuencia mostrada en la figura 5.20. En la posicion 1 es cuando la plantase encuentra funcionando normalmente, seguidamente se ajusta la ganancia

Page 61: implementacion de un controlador adaptativo

5.4. Comportamiento ante perturbaciones 45

Figura 5.14: Senal de error del sistema con pertubacion al 50%

Figura 5.15: Senal de control del sistema con pertubacion al 50%

Page 62: implementacion de un controlador adaptativo

46 5 Resultados

Figura 5.16: Orificio al 100%

Figura 5.17: Salida del sistema con pertubacion al 100%

de acuerdo a la posicion 2 a los 70 segundos aproximadamente, en donde seaprecia que la salida sufre un aumento momentaneo en su amplitud. Luegode unos segundos consigue volver al valor de referencia. A los 105 segundos laperilla se fija en la posicion 3, en donde nuevamente la salida sufre otro picomomentaneo, de menor magnitud, ya que el cambio en la ganancia fue menosbrusco. Estos resultados se observan en 5.21.Se realizo una prueba similar variando una vez la ganancia a los 70 s aproxi-madamente como se muestra en 5.23, el sistema necesita menos de 20 s pararetomar el valor de referencia. El comportamiento de θ1 y θ2 se observan enla figura 5.24, al presentarse el cambio en la ganacia, el θ1 tiende a aumentar,por otro lado θ2 disminuye. La tension aumenta 0,29 V como se aprecia en lafigura 5.25.

Page 63: implementacion de un controlador adaptativo

5.4. Comportamiento ante perturbaciones 47

Figura 5.18: Comportamiento de θ1 y θ2 con perturbacion al 100%

Figura 5.19: Aumento en la tension de la senal de control.

Figura 5.20: Secuencia de la variacion de las ganancias

Page 64: implementacion de un controlador adaptativo

48 5 Resultados

Figura 5.21: Salida del sistema con variaciones en la ganancia.

Figura 5.22: Variacion de la ganancia.

Page 65: implementacion de un controlador adaptativo

5.4. Comportamiento ante perturbaciones 49

Figura 5.23: Salida del sistema con variacion en la ganancia.

Figura 5.24: Comportamiento de θ1 y θ2 para variacion en la ganancia.

Page 66: implementacion de un controlador adaptativo

50 5 Resultados

Figura 5.25: Cambio en la tension para variacion en la ganancia.

Page 67: implementacion de un controlador adaptativo

6 Conclusiones y recomendaciones

6.1 Conclusiones

Utilizando el controlador disenado el sistema presenta un buen seguimiento delvalor de referencia en las pruebas realizadas, ademas actua de manera efectivatanto para cambios en los parametros del proceso como ante perturbaciones,lo que lo convierte en una herramienta util para controlar el proceso. Por lotanto se cumple el objetivo principal del presente trabajo.Una de las ventajas del control adaptativo es que no se disena para un puntode operacion en particular, lo que proporciona cierta flexibilidad en el sistemapara trabajar en varios puntos de operacion.El metodo numerico Runge-Kutta de segundo orden proporciona es efectivopara la actualizacion de los parametros del controlador. Se pudo haber esco-gido un metodo que utilizara mayor cantidad de valores iniciales para obteneraproximaciones mas exactas, como la regla de Simpson, sin embargo, se podrıacomprometer la memoria del Arduino.Utilizar Arduino fue una gran ventaja, ya que ademas de ser un componenteeconomico y de software gratuito, utiliza un lenguaje sencillo. Posee gran va-riedad de funciones para manipular el hardware lo que facilita y disminuye eltiempo de programacion.A pesar de que la plataforma Arduino no posee salidas de tension directa quevarıen en un determinado rango, las salidas PWM son una alternativa util,ya que el ciclo de trabajo de la senal se configura facilmente para obtener elvalor deseado de tension.

6.2 Recomendaciones

Se puede mejorar el rendimiento del controlador utilizando un microprocesadorque posea una mayor frecuencia de reloj lo que permitirıa que los calculos seejecuten con mayor rapidez.Existen otras plataformas que poseen mayor resolucion en los convertidoresanalogicos digitales, lo cual producirıa mejor exactitud en la lectura y escriturade valores. El Arduino Due cumple este requisito, ademas la frecuencia de relojes de 84 MHz, mucho mayor en comparacion al Arduino Uno que trabaja a16 MHz. Sin embargo la tension a la que trabaja el sistema es de 3,3 V, por

51

Page 68: implementacion de un controlador adaptativo

52 6 Conclusiones y recomendaciones

lo tanto no era de utilidad para este caso.Es importante limitar el envıo de datos a traves del puerto serial del Arduinoa la computadora, ya que esto produce un retardo entre los calculos de cadaiteracion, lo que produce un control mas lento.Es necesario que el valor de la senal de control no sobrepase los 5 V, en estecaso la senal no puede sobrepasar este valor porque el Arduino UNO no entregamas de esa cantidad. Sin embargo, si se implementa con una plataforma queentregue mas de 5 V, el proceso puede sufrir una situacion adversa si no semonitorea este valor.Para mejorar la senal de la salida del proceso se puede implementar un filtroque atenue el ruido presente en la misma.

Page 69: implementacion de un controlador adaptativo

Bibliografıa

Alfaro, V. (2013). Identificacion de los modelos del proceso controlado.

Blazquez, L. y de Miguel, L. (2004). Diagnostico automatico de fallos pa-ra sistemas dinamicos no lineales. Universidad de Leon, Universidad deValladolid.

Chapra, S. y Canale, R. (2010). Metodos numericos para ingenieros. Mc GrawHill.

Chekkouri, M. R. y Romeral, J. L. (2001). Clasificacion de los reguladoresadaptativos. Universitat Politecnica de Catalunya.

Landau, I. D., Lizano, R., y M’Saad, M. (2011). Adaptive Control: Algorithms,Analysis and Applications. Springer-Verlag London.

Rubio, F. R. y Sanchez, M. J. L. (1996). Control Adaptativo y Robusto. Uni-versidad de Sevilla.

Astrom, K. J. y Wittermark, B. (2008). Adaptive Control. Dover Publications,INC.

www.arduino.cc (2014).

53

Page 70: implementacion de un controlador adaptativo