100% encontró este documento útil (1 voto)
145 vistas70 páginas

Implementacion de Un Controlador Adaptativo

Este documento presenta el desarrollo e implementación de un controlador adaptativo para un proceso de laboratorio utilizando la plataforma Arduino. El proceso es de primer orden y se modeló como un sistema de primer orden más rápido. Se utilizó el método de control adaptativo por modelo de referencia y la regla de adaptación se obtuvo con la teoría de Lyapunov para garantizar la estabilidad. El método numérico de Runge-Kutta se utilizó para actualizar los parámetros del controlador. El controlador implementado logra el seguimiento de
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
100% encontró este documento útil (1 voto)
145 vistas70 páginas

Implementacion de Un Controlador Adaptativo

Este documento presenta el desarrollo e implementación de un controlador adaptativo para un proceso de laboratorio utilizando la plataforma Arduino. El proceso es de primer orden y se modeló como un sistema de primer orden más rápido. Se utilizó el método de control adaptativo por modelo de referencia y la regla de adaptación se obtuvo con la teoría de Lyapunov para garantizar la estabilidad. El método numérico de Runge-Kutta se utilizó para actualizar los parámetros del controlador. El controlador implementado logra el seguimiento de
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 70

Universidad de Costa Rica

Facultad de Ingeniera
Escuela de Ingeniera 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

Implementaci
on de un controlador
adaptativo para un proceso de laboratorio,
utilizando la plataforma Arduino

Por:
Macarena Cespedes Quesada

IE-0499 Proyecto el
ectrico
Aprobado por el Tribunal:

Dr. Jose David Rojas Fernandez


Profesor gua

Ing. Mercedes Chacon Vasquez


Profesora lectora

Ing. Federico Ruiz Ugalde


Profesor lector

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

Alvarez.

Agradecimientos
Le agradezco al profesor Dr. Jose David Rojas Fern
andez por su tiempo y
disposicion para aconsejarme durante la elaboracion del presente trabajo.
A mis compa
neros que se han convertido en amigos y que formaron parte de
este proceso.
A las personas que me han apoyado a lo largo de la carrera.
Profundamente agradecida con la Universidad de Costa Rica.

vii

Resumen
El objetivo primordial del presente trabajo fue implementar un control adaptativo utilizando la plataforma Arduino en un proceso de laboratorio.
El proceso que requiri
o control es de primer orden, por lo tanto se estudiaron
distintas tecnicas de control adaptativo y se decidio utilizar el control adaptativo por modelo de referencia (MRAC), estableciendo un modelo deseado de
primer orden m
as r
apido. La regla de adaptaci
on se obtuvo con la teora de
estabilidad de Lyapunov para garantizar la estabilidad del sistema.
Para realizar la actualizacion de los par
ametros del controlador se utiliza el
metodo numerico Runge-Kutta de segundo orden, ya que mostro mejores resultados entre las m
ultiples pruebas y simulaciones que se realizaron en Matlab
implementando distintos metodos.
La implementaci
on del control se realiz
o utilizando un Arduino UNO, que se
encarga de ejecutar el algoritmo de control.
Una vez implementado el controlador el sistema logra el seguimiento del valor
de referencia, de igual forma, ante perturbaciones y variaciones de par
ametros
del proceso, logra retomar el valor de referencia propuesto.

ix

Indice general

Indice de figuras

xiii

Nomenclatura

xv

1 Introducci
on
1.1 Alcance del proyecto . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3 Metodologa . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 Antecedentes
2.1 Control Adaptativo . . . . . . . . . . . . . . . . . . . . . . .
2.2 Reguladores autoajustables . . . . . . . . . . . . . . . . . .
2.3 Controladores adaptativos por modelo de referencia . . . . .
2.4 Metodo del gradiente (Regla del MIT) . . . . . . . . . . . .
2.5 Teora de estabilidad de Lyapunov para sistemas din
amicos
2.6 Metodos numericos . . . . . . . . . . . . . . . . . . . . . . .
2.7 Arduino . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.

.
.
.
.
.
.
.

1
1
1
2
3
3
4
5
6
7
10
14

3 Desarrollo
17
3.1 Proceso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.2 Implementaci
on en Simulink . . . . . . . . . . . . . . . . . . . . 19
3.3 Selecci
on del metodo numerico . . . . . . . . . . . . . . . . . . 23
4 Implementaci
on 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
5.1 Implementaci
on en el proceso . . . .
5.2 Seguimiento del valor de referencia .
5.3 Rapidez del Sistema . . . . . . . . .
5.4 Comportamiento ante perturbaciones

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

37
37
37
42
42

6 Conclusiones y recomendaciones
51
6.1 Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
xi

6.2

Recomendaciones . . . . . . . . . . . . . . . . . . . . . . . . . .

Bibliografa

51
53

xii

Indice de figuras
2.1
2.2
2.3
2.4
2.5
2.6

Sistema adaptativo . . . . . . . . . . . . . . . . .
Regulador autoajustable . . . . . . . . . . . . . .
Controlador adaptativo por modelo de referencia
Control utilizando teora de estabilidad. . . . . .
Arduino UNO . . . . . . . . . . . . . . . . . . . .
PWM . . . . . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.

.
.
.
.
.
.

3
5
6
11
15
16

3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
3.9
3.10
3.11
3.12
3.13
3.14
3.15
3.16
3.17
3.18
3.19

Proceso de control de flujo y temperatura. . . . . . . . . . . . . .


Entradas y salidas del proceso de control de flujo y temperatura.
Orificio que permite introducir perturbaciones. . . . . . . . . . .
Entrada vs Salida proceso. . . . . . . . . . . . . . . . . . . . . . .
C
alculo del periodo . . . . . . . . . . . . . . . . . . . . . . . . . .
Modelo vs Proceso . . . . . . . . . . . . . . . . . . . . . . . . . .
Simulacion en Simulink . . . . . . . . . . . . . . . . . . . . . . .
Valores de 1 y 2 . . . . . . . . . . . . . . . . . . . . . . . . . .
Se
nal de salida del proceso . . . . . . . . . . . . . . . . . . . . .
Se
nal de control del proceso . . . . . . . . . . . . . . . . . . . . .
Se
nal de error . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Diagrama de flujo . . . . . . . . . . . . . . . . . . . . . . . . . .
C
odigo para el Metodo de Runge-Kutta . . . . . . . . . . . . . .
C
odigo para Metodo de Euler y para Regla del Trapecio . . . . .
Salidas obtenidas con los metodos numericos . . . . . . . . . . .
Se
nal de error obtenida con los metodos numericos . . . . . . . .
Se
nal de control obtenida con los metodos numericos . . . . . . .
Se
nal de control para 2,5 V en la referencia . . . . . . . . . . . .
Se
nal de control para cambios en la rapidez del sistema . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

17
18
18
19
20
21
21
22
23
24
25
26
27
28
28
29
29
30
30

4.1
4.2
4.3
4.4
4.5
4.6

Diagrama de flujo del codigo realizado en Arduino


C
odigo realizado en Arduino, parte I . . . . . . . .
C
odigo realizado en Arduino, parte II . . . . . . .
Tarjeta NI USB-6009 . . . . . . . . . . . . . . . . .
Programa de adquisicion de datos . . . . . . . . .
Diagrama de componentes del sistema . . . . . . .

.
.
.
.
.
.

31
33
34
35
35
36

5.1
5.2

Conexion del Sistema . . . . . . . . . . . . . . . . . . . . . . . . .


Conexion del Sistema . . . . . . . . . . . . . . . . . . . . . . . . .

37
38

xiii

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

5.3
5.4
5.5
5.6
5.7
5.8
5.9
5.10
5.11
5.12
5.13
5.14
5.15
5.16
5.17
5.18
5.19
5.20
5.21
5.22
5.23
5.24
5.25

Salida del Sistema . . . . . . . . . . . . . . . . . . . . . .


Error entre el proceso y el modelo de referencia . . . . . .
Se
nal de control del sistema . . . . . . . . . . . . . . . . .
Valor promedio de la se
nal de control del sistema . . . . .
Salida del sistema para 100 ms . . . . . . . . . . . . . . .
Par
ametros del controlador para 100 ms . . . . . . . . . .
Errores producidos para 100 ms . . . . . . . . . . . . . . .
Cambio en el codigo para m =0,6 . . . . . . . . . . . . . .
Se
nal del controlador para m =0,6 . . . . . . . . . . . . .
Orificio al 50 % . . . . . . . . . . . . . . . . . . . . . . . .
Se
nal de salida del sistema con pertubacion al 50 % . . . .
Se
nal de error del sistema con pertubacion al 50 % . . . .
Se
nal de control del sistema con pertubacion al 50 % . . .
Orificio al 100 % . . . . . . . . . . . . . . . . . . . . . . .
Salida del sistema con pertubacion al 100 % . . . . . . . .
Comportamiento de 1 y 2 con perturbacion al 100 % . .
Aumento en la tension de la se
nal de control. . . . . . . .
Secuencia de la variaci
on de las ganancias . . . . . . . . .
Salida del sistema con variaciones en la ganancia. . . . . .
Variaci
on de la ganancia. . . . . . . . . . . . . . . . . . .
Salida del sistema con variacion en la ganancia. . . . . . .
Comportamiento de 1 y 2 para variacion en la ganancia.
Cambio en la tension para variacion en la ganancia. . . .

xiv

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

39
39
40
40
41
41
42
42
43
43
44
45
45
46
46
47
47
47
48
48
49
49
50

Nomenclatura
a

par
ametro del proceso.

am

par
ametro del modelo de referencia.

par
ametro del proceso.

bm

par
ametro del modelo de referencia.

CERlab

Control engineering research laboratory.

dt

paso de integracion.

Error entre la salida del proceso y la salida del modelo de


referencia.

ganancia de adaptaci
on.

paso de integracion.

integral

j1

par
ametro para aproximar 2 .

j2

par
ametro para aproximar 2 .

Ganancia de la planta.

Km

Ganancia del modelo de referencia.

k1

par
ametro para aproximar la salida del proceso.

k2

par
ametro para aproximar la salida del proceso.

ndice de desempe
no.

m1

par
ametro para aproximar la salida del modelo de referencia.

m2

par
ametro para aproximar la salida del modelo de referencia.

M Hz

mega-hertz, unidad de frecuencia.


xv

M IT

Massachusetts Institute of Technology.

M RAC

model reference adaptive control.

ms

milisegundos.

NI

national instruments.

p1

par
ametro para aproximar 1 .

p2

par
ametro para aproximar 1 .

pendiente estimada en metodo Runge-Kutta.

vector de se
nales de r y y.

PWM

pulse-width modulation.

entrada al sistema.

segundos.

ST R

self tuning regulator.

tiempo.

constante de tiempo de la planta.

Tm

constante de tiempo del modelo de referencia.

constante de tiempo de la planta.

constante de tiempo del modelo de referencia.

par
ametro del controlador.

par
ametro del controlador.

se
nal de control.

Uact

se
nal de control.

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

Introducci
on

La intenci
on del trabajo fue el estudio del control adaptativo, que es una tecnica de control avanzado, con la finalidad de implementar un controlador utilizando esta tecnica para un proceso de laboratorio, empleando como recurso
principal la plataforma de desarrollo Arduino. Para tal objetivo fue necesario
considerar las caractersticas del proceso, y con esta informaci
on se analizo
cual metodologa de control adaptativo se ajustaba a los intereses y alcances
del proyecto. Logrado esto, se dise
no el controlador con la metodologa que
se considero adecuada y se implemento en una tarjeta de pruebas. Se realizaron m
ultiples ensayos controlando un proceso que utiliza se
nales estandar de
tension y se verifico el funcionamiento del controlador con el dise
no propuesto.

1.1

Alcance del proyecto

El presente trabajo contiene la documentaci


on necesaria sobre conceptos de
interes acerca de control adaptativo. Adem
as, se pone en practica estos conceptos para el dise
no de un controlador utilizando esta tecnica de control,
mediante simulaciones en computadora e implementaci
on en un proceso de
control de flujo. No es un estudio a profundidad sobre las diferentes tecnicas de control adaptativo. No se aplica control a diferentes procesos, solo al
proceso mencionado para validar el funcionamiento del controlador dise
nado.

1.2

Objetivos

Objetivo general
Implementar un prototipo de controlador adaptativo en la plataforma de desarrollo Arduino de manera que pueda controlar un proceso a nivel de laboratorio.

Objetivos especficos
Para el desarrollo de este proyecto se establecieron los siguientes objetivos:
Investigar sobre las metodologas que existen alrededor del control adaptativo y documentar dicha investigacion.
1

1 Introducci
on
Escoger una metodologa adecuada y programar el controlador en la
plataforma de desarrollo Arduino.
Dise
nar e implementar un prototipo a nivel de protoboard del controlador, de manera que se pueda conectar a un proceso que utilice se
nales
estandar de tension.
Utilizar este controlador para manipular un proceso a nivel de laboratorio y validar el funcionamiento.
Documentar el dise
no y la programaci
on. Crear un sitio web (o un wiki)
que contenga la documentaci
on realizada.

1.3

Metodologa

El desarrollo del trabajo incluyo los siguientes pasos y procedimientos, listados


en secuencia:
1. Investigacion sobre control adaptativo en libros y publicaciones varias,
de los cuales se extrajeron y documentaron los conceptos de mayor relevancia.
2. An
alisis del proceso a controlar caracterizando el comportamiento deseado del sistema de lazo cerrado.
3. Determinaci
on de la ley adecuada de control adaptativo para el dise
no
del controlador tomando en cuenta las caractersticas del proceso.
4. Programaci
on del controlador adaptativo implementando la ley de control que mejor se adapt
o utilizando la plataforma Arduino.
5. Empleo del controlador en el proceso analizado con anterioridad para
m
ultiples pruebas y verificacion de su funcionamiento.
6. An
alisis del funciomiento del controlador y el comportamiento a la salida
del proceso.
7. Elaboracion de la documentaci
on del trabajo realizado, incluyendo investigacion, aplicacion practica, programaci
on, resultados obtenidos y el
an
alisis de dichos resultados.

Antecedentes

2.1

Control Adaptativo

El control adaptativo es una tecnica de control avanzado, que se utiliza cuando


la din
amica de un proceso presenta variaciones impredecibles en sus par
ametros. Por la naturaleza de estos procesos, se necesita de un controlador que
este preparado para adaptarse a estos cambios inesperados. Seg
un Rubio y
Sanchez (1996) un controlador adaptativo es el que puede modificar su comportamiento en respuesta a cambios en la din
amica del sistema y a las perturbaciones. En otras palabras, un controlador adaptativo es un controlador con
par
ametros ajustables y un mecanismo de ajuste de los par
ametros (
Astrom
y Wittermark, 2008). La importancia de este tipo de control radica en que
muchos procesos dependen de condiciones variantes en el tiempo, y como se
dijo anteriormente, muchas veces impredecibles. Por ejemplo un sistema que
se encuentre expuesto, o que dependa de condiciones ambientales, va a tener
un punto de operacion variante, por lo cual resulta necesario este mecanismo
de control.
En la figura 2.1 se presenta un esquema general de un sistema adaptativo,
donde se observa el control realimentado y las lneas punteadas resaltan las
partes que son propiamente de control adaptativo. El control adaptativo puede verse como la composicion de dos lazos, uno encargado del mecanismo de

Figura 2.1: Sistema adaptativo. Adaptado de:


Astrom y Wittermark (2008)
3

2 Antecedentes

ajuste de los par


ametros del controlador y el lazo normal de realimentaci
on
que contiene el controlador y el proceso (
Astrom y Wittermark, 2008). El
lazo de realimentaci
on tiene la funcion de rechazar las perturbaciones y es
com
unmente m
as r
apido que el lazo de ajuste.
El control adaptativo se puede clasificar en dos categoras: directo e indirecto.

Control adaptativo directo


Los par
ametros del controlador se ajustan de manera que el error entre la
salida de la planta y el modelo de referencia a lazo cerrado sea el mnimo, sin
ninguna estimacion de por medio. En otras palabras El control adaptativo
directo cubre aquellos procesos en que los par
ametros del controlador se actualizan directamente de una se
nal de error que refleja la diferencia entre el
rendimiento obtenido y el deseado (Landau et al., 2011).

Control adaptativo indirecto


Los par
ametros de la planta son primero estimados y el controlador escoge
la accion de control suponiendo que los valores estimados son correctos. Si el
error 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 constituidos por dos lazos. Uno de estos es el lazo de realimentaci
on en el que se
encuentra el controlador y el proceso. Por otro lado, el segundo lazo cumple la
funcion de estimar los par
ametros del proceso por medio de un algoritmo y con
estos datos se procede a realizar el ajuste de los par
ametros del controlador.
La estructura de un sistema que utiliza este tipo de control se observa en la
figura 2.2, se muestra en lneas punteadas el lazo adicional que realiza la l
ogica
de ajuste.
Es ideal aplicar este control cuando no se cuenta con un modelo de comportamiento del sistema o se tienen perturbaciones que no se pueden medir. Seg
un
Rubio y Sanchez (1996) los reguladores adaptativos autoajustables tratan
de alcanzar un control
optimo, sujeto a un tipo de controlador y a obtener
informaci
on del proceso y sus se
nales.

2.3. Controladores adaptativos por modelo de referencia

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

2.3

Controladores adaptativos por modelo de


referencia

Los controladores adaptativos por modelo de referencia o MRAC por sus siglas
en ingles, se utilizan cuando se cuenta con un modelo de referencia, el cual
indica como debe ser la respuesta a la salida del proceso con base en una se
nal
de entrada, tal como lo menciona Rubio y Sanchez (1996) Los controladores
adaptativos con modelo de referencia, intentan alcanzar para una se
nal de
entrada definida, un comportamiento en bucle cerrado dado por un modelo de
referencia.
En la figura 2.3 se observa el modelo paralelo que es la configuraci
on m
as
com
un, se cuenta con el lazo ordinario de realimentaci
on, adem
as se observa
otro lazo encargado de obtener el error entre el modelo de comportamiento
del sistema y la salida real del proceso, dicha informaci
on se utiliza para el
calculo y ajuste de los par
ametros del controlador con la finalidad de que el
error sea mnimo. Los bloques adicionales que son propios de esta metodologa
se presentan con lneas punteadas.
El mecanismo de ajuste de los par
ametros en un sistema adaptativo por
modelo de referencia puede obtenerse siguiendo dos caminos: usando el metodo
del gradiente o aplicando teora de estabilidad (
Astrom y Wittermark, 2008).
Tanto el control adaptativo por modelo de referecencia (MRAC ), como los
reguladores autoajustables (STR), son de adaptaci
on continua, por lo tanto es
un ciclo que se repite continuamente ajustando los par
ametros del controlador
en tiempo real.
A continuaci
on se introducen los metodos de ajuste de par
ametros para un
MRAC.

2 Antecedentes

Figura 2.3: Controlador adaptativo por modelo de referencia. Adapatado de:


Rubio y Sanchez (1996)

2.4

M
etodo del gradiente (Regla del MIT)

Este metodo fue desarrollado en el Laboratorio de Instrumentaci


on perteneciente al Instituto de Tecnologa de Massachusetts, o MIT, por sus siglas en
ingles, por lo tanto se conoce como la regla del MIT.
Se presenta esta regla seg
un Rubio y Sanchez (1996), considerando que el controlador tiene un solo par
ametro ajustable , pero debe tomarse en cuenta que
esta metodologa es aplicable al caso en que se tengan m
as par
ametros en el
controlador.
Para encontrar el valor de , es necesario contar con un ndice que indique
el desempe
no del sistema a lazo cerrado. Si se considera e como la variable
que indica el error entre la salida real del lazo de control, comparado con el
deseado, un posible ndice de desempe
no viene dado por:
J=

1
2

e2 dt,

(2.1)

utilizando la tecnica de optimizaci


on del gradiente, donde es la variacion
de con respecto al u
ltimo valor calculado y K es llamada la ganancia de
adaptaci
on.
(e, t) = Kgrad(J) = K

(2.2)

2.5. Teora de estabilidad de Lyapunov para sistemas din


amicos
Donde vara respecto al tiempo, se tiene:
 
J
= K
t
Cambiando el orden de las derivadas se obtiene (2.4).
 2
= K ( J ) = K e
t
2

(2.3)

(2.4)

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


e
= Ke
(2.5)

Se observa que esta regla queda en terminos de la derivada parcial del error
respecto a los par
ametros ajustables del controlador. La variacion del error de
acuerdo con el ajuste de los par
ametros es llamada funcion de sensibilidad y
viene dada por:
(ym y)
e
=
,
(2.6)

Donde el error es la diferencia entre la salida del modelo de referencia ym y la


salida real de proceso y.
La regla del MIT tambien puede ser utilizada cuando se requieren ajustar
muchos par
ametros, seg
un
Astrom y Wittermark (2008), El smbolo debe
ser interpretado como un vector, y (2.6) como el gradiente del error con respecto a los par
ametros. Sin embargo este metodo no garantiza la estabilidad
a lazo cerrado de un sistema adaptativo. El sistema puede hacerse inestable
si el modelo de referencia no se escoge adecuadamente o si la ganancia de
adaptaci
on se elige demasiado grande (Rubio y Sanchez, 1996).

2.5

Teora de estabilidad de Lyapunov para


sistemas din
amicos

La teora de estabilidad de Lyapunov esta compuesta de dos metodos: metodo


indirecto o metodo de linealizaci
on y metodo directo o segundo metodo.
Metodo indirecto de Lyapunov
Este metodo establece que las propiedades de estabilidad de un sistema no
lineal en las proximidades de punto de equilibrio son esencialmente las mismas
que las de su correspondiente sistema liealizado simple (Blazquez y de Miguel,
2004). Dado esto, es importante tener claro que existen ciertas restricciones, ya
que este metodo es aplicable cuando se trabaja alrededor de un determinado
punto de operacion.

2 Antecedentes
Metodo directo de Lyapunov

Seg
un Blazquez y de Miguel (2004) El metodo directo es una generalizaci
on
de los conceptos de energa asociados con un sistema mecanico: el movimiento
de un sistema mecanico es estable si el total de su energa mecanica disminuye
todo el tiempo. El objetivo de este metodo es obtener una funcion escalar
de signo positivo que contenga los estados del sistema y adaptar una ley de
control que logre que la funcion decrezca.
El metodo directo de Lyapunov establece que para sistemas variantes en el
tiempo:
x = f (x, t) ,
(2.7)
tiene un equilibrio x = 0 y es asintoticamente estable si existe una funcion de
Lyapunov, V (x), que cumple las condiciones:
V (x) > 0 para

x 6= 0 definida

positiva

V (x) < 0 para

x 6= 0 definida

negativa

V (x)

para

(2.8)

k x k

V (0) = 0
Usualmente cuando se trabaja con sistemas adaptativos V (x) es negativa
semi def inida, lo cual implica que la segunda condici
on de (2.8) sea de la
forma:
V (x) 0,
(2.9)
por lo tanto, para comprobar que el sistema es estable basta con demostrar
que V (x) es acotada (
Astr
om y Wittermark, 2008).
Seg
un Rubio y Sanchez (1996) para obtener la ley de adaptaci
on con esta
teora es necesario seguir los pasos:
1. Encontrar la ecuaci
on de error.
2. Encontrar una funcion de Lyapunov como una funcion del error entre
las se
nales y del error en los par
ametros del controlador.
3. Calcular la derivada de la funcion de Lyapunov. La derivada debe ser
negativa.
que normalmente esta relacionada con
4. Obtener la ley de adaptaci
on ,
el error y el vector de se
nales.

2.5. Teora de estabilidad de Lyapunov para sistemas din


amicos

MRAS de primer orden obtenido con la teora de estabilidad


Se tiene el proceso
y = ay + bu,

(2.10)

y suponiendo que la respuesta deseada es:


y m = am ym + bm r

(2.11)

La se
nal del controlador viene dada por:
u = 1 r 2 y

(2.12)

La se
nal 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
= y y m
(2.14)
dt
de
= ay + b1 r b2 y + am ym bm r,
(2.15)
dt
Reemplazando ym de acuerdo a (2.13), se obtiene (2.16). El objetivo es que el
error disminuya conforme se avance en el tiempo.
de
= am e (b2 + a am )y + (b1 bm )r
dt

(2.16)

Se escoge una funcion que cumpla las condiciones de (2.8) y que este definida
en funcion del error y de los par
ametros del controlador.


1 2
1
1
2
2
V (e, 1 , 2 ) =
(2.17)
e + (b2 + a am ) + (b1 bm )
2
b
b
Para que (2.17) sea considerada una funcion de Lyapunov su derivada respecto
al tiempo debe ser negativa.
1
1
dV
= ee + (b2 + a am )2 + (b1 bm )1
dt

(2.18)

dV
1
d2
1
d1
= am e2 + (b2 + a am )(
ye) + (b1 bm )(
+ re) (2.19)
dt

dt

dt
Entonces, es claro que para que esta funcion sea siempre negativa, se requiere
que los par
ametros del controlador, 1 y 2 , tomen los valores:
d1
= re
dt

(2.20)

10

2 Antecedentes

d2
= ye
dt

(2.21)

dV
= am e2
dt

(2.22)

con lo que se llega a que:

Como se se
nalo anteriormente, V (x) es negativa semi def inida, por lo tanto
es necesario obtener la segunda derivada.
dV 2
de
= 2am e
2
dt
dt

(2.23)

Sustituyendo e por (2.16):


dV 2
= 2am e (am e (b2 + a am )y + (b1 bm )r) ,
dt2

(2.24)

como se demuestra en (2.24), la segunda derivada de la funci


on de Lyapunov
depende de la entrada al sistema r, de la salida del sistema y y del error e,
que son se
nales acotadas, lo cual implica que V (x) es tambien acotada.
Por lo tanto se garantiza la estabilidad del sistema y la ley de control puede
escribirse:
d
= e,
(2.25)
dt
donde es el vector de se
nales.
= (r

y)T

(2.26)

La implementaci
on del control adaptativo con el proceso descrito se ilustra
en el diagrama de la figura 2.4. Se observa que todas las tecnicas descritas
anteriormente conllevan a la resoluci
on de ecuaciones diferenciales. Muchas de
estas ecuaciones representan gran complejidad a la hora encontrar la solucion
analtica. Una herramienta u
til cuando se requieren calculos de este tipo son
los metodos numericos, ya que constituyen una alternativa m
as simple para la
resoluci
on de ecuaciones diferenciales.

2.6

M
etodos num
ericos

Los metodos numericos son procedimientos iterativos, que mediante calculos


aritmeticos permiten la aproximacion de la solucion de ecuaciones diferenciales
y de integrales.
La diferencia entre la variedad de metodos numericos existentes es el error
entre la aproximacion y el valor real. Para disminuir la magnitud de los errores,
se requiere el calculo de algoritmos complicados y extensos, muchas veces

11

2.6. Metodos numericos

Figura 2.4: Control utilizando teora de estabilidad. Adaptado de:


Astrom y
Wittermark (2008)

siendo necesario utilizar una herramienta de computo para realizar dichos


calculos.
En la presente secci
on se presentan algunas de las tecnicas de la familia de
Metodos de Runge-Kutta y el metodo del trapecio que forma parte de las
formulas de integracion de Newton-Cotes.

M
etodos de Runge-Kutta para soluci
on de ecuaciones
diferenciales ordinarias
Los metodos de Runge-Kutta permiten la solucion de ecuaciones diferenciales
de la forma:
dy
= f (x, y),
(2.27)
dx
utilizando fomulas de este tipo:
yi+1 = yi + h,

(2.28)

en donde la pendiente estimada se usa para extrapolar desde un valor


anterior yi a un nuevo valor yi+1 en una distancia h. Esta formula se aplica
paso a paso para calcular un valor posterior, y por lo tanto, para trazar la
trayectoria de la solucion (Chapra y Canale, 2010). Como el valor siguiente
depende del valor actual, para empezar las iteraciones es necesario contar con
los valores iniciales respectivos. La diferencia entre la variedad de metodos

12

2 Antecedentes

de Runge-Kutta radica en la manera de estimar la pendiente. La solucion


mediante estos metodos conllevan a dos tipos de error: de truncamiento y de
redondeo.
1. Los errores de truncamiento son originados por la naturaleza de las tecnicas empleadas para aproximar los valores de y (Chapra y Canale, 2010).
2. Los errores de redondeo son causados por el n
umero limitado de cifras
significativas que una computadora puede manejar.
Existen limitaciones para calcular el error, pues incluyen expansiones de Taylor
que no son simples de obtener, adem
as de que los valores verdaderos de la
solucion de las ecuaciones no se conocen. Seg
un Chapra y Canale (2010) el
error de truncamiento es proporcional al tama
no del paso h, por lo tanto
lo recomendable para disminuir este error es que el tama
no de h sea lo m
as
peque
no 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 resoluci
on la siguiente ecuaci
on.
yi+1 = yi + f (xi , yi )h

(2.30)

El nuevo valor de y se predice utilizando la primera derivada para obtener la


estimacion de la pendiente en el valor actual. Entre las ventajas que presenta
este metodo, es que no es necesaria la evaluacion de derivadas parciales de orden 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 muy
peque
no para alcanzar resultados aceptables, lo que implica mayor cantidad
de 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 + (a1 k1 + a2 k2 )h,

(2.31)

k1 = f (xi , yi )

(2.32)

k2 = f (xi + p1 h, yi + q11 k1 h)

(2.33)

donde:

13

2.6. Metodos numericos

Utilizando expansiones de Taylor, se llega a un sistema de tres ecuaciones que


contienen las cuatro incognitas.
a1 + a2 = 1

(2.34)

1
(2.35)
2
1
(2.36)
a2 q11 =
2
Seg
un Chapra y Canale (2010): como hay una incognita m
as que el n
umero de ecuaciones, no existe un conjunto u
nico de constantes que satisfaga
las 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 valores que a2 puede tomar, lo que conlleva a infinitos metodos de Runge-Kutta
de segundo orden.
a 2 p1 =

A continuaci
on se presenta el metodo de Heun, el cual propone dar el valor
a 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:




1
1
yi+1 = yi +
k1 + k2 h,
2
2

(2.40)

donde k1 y k2 se calculan:
k1 = f (xi , yi )

(2.41)

k2 = f (xi + h, yi + k1 h)

(2.42)

F
ormulas de integraci
on de Newton-Cotes
Las formulas Newton-Cotes se basan en la estrategia de reemplazar una funci
on complicada o datos tabulados por un polinomio de aproximacion que es
facil de integrar(Chapra y Canale, 2010).
Z

b
a

f (x) dx
=

fn (x) dx
a

(2.43)

14

2 Antecedentes

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


fn (x) = a0 + a1 x + + an1 xn1 + an xn

(2.44)

donde n es el grado del polinomio. Al ser un metodo iterativo igual que


Runge Kutta, se presentan errores de truncamiento y de redondeo.
Regla del trapecio
La regla del trapecio corresponde a la formula de Newton-Cotes en donde
el polinomio que se utiliza para realizar la aproximacion de la integral es de
primer grado.
Z b
Z b

f1 (x) dx
(2.45)
f (x) dx =
I=
a

Seg
un Chapra y Canale (2010) El calculo de f1 (x) se realiza representando
una lnea recta como se aprecia en la siguiente formula:


f (b) f (a)
(x a) ,
(2.46)
f1 (x) = f (a) +
ba
por lo tanto la integral pasa a ser de la siguiente forma:



Z b
f (b) f (a)
f (a) +
I=
(x a) dx,
ba
a

(2.47)

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


I = (b a)

2.7

f (a) + f (b)
2

(2.48)

Arduino

Como se mencion
o con anterioridad, el algoritmo de control sera implementado
en la plataforma Arduino, por lo tanto, es necesario conocer funciones que
pueden 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 con
este modelo porque cumple con la caracterstica de que trabaja con rangos de
tension de 0 V a 5 V, al igual que el proceso a controlar, como se vera m
as
adelante.

Funciones de Arduino
Entre la gran variedad de funciones que se encuentran disponibles, se explican
las siguientes de acuerdo a (www.arduino.cc, 2014), que son de utilidad para
el desarrollo del presente trabajo.

15

2.7. Arduino

Figura 2.5: Arduino UNO

digitalRead(pin) y digitalWrite(pin,value)
Estas funciones permiten utilizar pines como entradas o salidas digitales respectivamente. En el parentesis se debe escribir el n
umero del pin que se emplear
a. Primero se requiere habilitar el pin a utilizar especificando si es una
salida o entrada. Si es una salida, digitalWrite() pondr
a en la salida BAJO o
ALTO, dependiendo de la instruccion dada en value. Si es una entrada, digitalRead 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() puede leer BAJO o ALTO.
Los pines que sirven para estas funciones son los que en 2.5 estan identificados
de 0 al 13.
analogRead(pin)
Esta funcion permite leer los valores en la entrada de los pines designados
como 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 analogico
digital de 10 bits que transforma la variable entre un rango de 0 a 1023 unidades. 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 de
los pines 11, 10, 6, 5, o 3. Para esto, utiliza modulacion por ancho de pulso, o
por sus siglas en ingles PWM.
La modulacion por ancho de pulso es una funcion de pulsos cuyo valor promedio dependera del ciclo de trabajo asignado, tal como se muestra en la figura
2.6. El ciclo de trabajo se especifica dentro del parentesis en la posicion de
value y solo se admiten valores de 0 a 255.

16

2 Antecedentes

Figura 2.6: Se
nal PWM. Tomado de: arduino.cc

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

Desarrollo

3.1

Proceso

El proceso de laboratorio en el que se implementa el control adaptativo es el


de flujo y temperatura que se encuentra en el Control Engineering Research
Laboratory (CERLab), ubicado en la Escuela de Ingeniera Electrica de la
Universidad 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 trabajar
controlando la parte de flujo. Como se observa, para controlar el flujo se pueden utilizar entradas de tension que varan de 0 V a 5V o de corriente que van
de 4 mA a 20 mA, como se muestra en la figura 3.2
Adem
as el proceso permite la introducci
on de perturbaciones mediante un
orificio en la parte superior, dependiendo de la distancia que se abra, el comportamiento del proceso vara.
Es necesario contar con el modelo de la planta para efectuar simulaciones del
sistema. Para esto, se precisa que la planta trabaje en un punto de operacion
en estado estacionario. Aplicando un cambio en la entrada se observa el cambio que se presente en la salida y empleando un metodo de identificaci
on se
obtiene una estimacion del modelo.
Se procedio a aplicar 2,5 V a la entrada del proceso y luego se realiz
o un cambio del 20 % que corresponde a 0,5 V para registrar la variacion en la salida.
En la figura 3.4 se muestra el gr
afico con la entrada y la salida del proceso, el
comportamiento corresponde a una planta de primer orden seg
un la curva de
reacci
on.
La formula del modelo de primer orden seg
un Alfaro (2013).

Figura 3.1: Proceso de control de flujo y temperatura.


17

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.

K
s + 1
En donde la ganancia del proceso se calcula con la ecuaci
on:
P (s) =

K=

Y
,
R

(3.1)

(3.2)

Y representa el cambio en la salida del proceso y R representa el cambio


en la entrada. Por lo tanto aplicando (3.2) se obtiene que K = 1,35.
K=

3,175 2,5
= 1,35
3 2,5

(3.3)

Para obtener la constante de tiempo T se necesita calcular el 63,2 %del valor


final 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 gr
afica el valor de (3.6) se obtiene el periodo de tiempo T .
T = 41,38 39,6 = 1,78

(3.7)

3.2. Implementaci
on en Simulink

19

Figura 3.4: Entrada vs Salida proceso.

Con los datos obtenidos, se consigue el modelo de primer orden mostrado en


la siguiente ecuaci
on.
1,35
(3.8)
P (s) =
1,78s + 1
En la figura 3.6 se observa la comparacion de la salida del proceso con la salida
del modelo estimado ante la misma entrada, se observa que la aproximacion
es muy cercana al proceso, adem
as el error de mayor amplitud es 0,1, lo cual
corresponde a un 0,02 %.

3.2

Implementaci
on en Simulink

Es sabido que No hay garanta de que un controlador adaptativo basado en la


regla de MIT de como resultado un sistema de lazo cerrado estable (
Astrom
y Wittermark, 2008). Por lo tanto se utiliza la Teora de estabilidad de Lyapunov para dise
nar el controlador requerido, con la finalidad de que el sistema
no caiga en la inestabilidad.
Se implementa el diagrama de la figura 2.4 en Simulink utilizando los valo-

20

3 Desarrollo

Figura 3.5: Calculo del periodo


res del modelo obtenido para visualizar el comportamiento del sistema. Es
necesario establecer el modelo de referencia deseado:
Pm (s) =

Km
,
m s + 1

(3.9)

se fija ganancia unitaria para evitar que el proceso controlado sufra un error
permanente diferente de cero. En cuanto a la constante de tiempo de lazo
cerrado 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 la
mayor sin alterar negativamente la din
amica del sistema cuando se implemente
en su uso real.
El sistema se encuentra trabajando con una entrada de 2,5 V que representa un
punto de operacion del 50 %, para que sea congruente con el punto de operacion
y el cambio en la entrada con los cuales se obtuvo el modelo del proceso, como
se explico anteriormente. Para realizar la simulacion, se introdujo una onda
cuadrada de amplitud 0,5 y periodo 20 s como entrada de referencia. Adem
as
el sistema se simula durante 200 s. Se realizaron pruebas con tres diferentes
valores de para observar como varan las se
nales del sistema.
En la figura 3.8 se presenta el comportamiento de 1 y 2 , se observa que sin

3.2. Implementaci
on en Simulink

Figura 3.6: Modelo vs Proceso

Figura 3.7: Simulacion en Simulink

21

22

3 Desarrollo

Figura 3.8: Valores de 1 y 2

importar el valor de las tres gr


aficas convergen al mismo valor, aunque no
con la misma rapidez. Para el mayor valor de , 1 y 2 alcanzan su valor final
a los 500s aproximadamente, mientras que cuando es igual a 0,2 requiere
1900s para alcanzar el mismo valor. Se espera que la se
nal de control tenga
un comportamiento similar, ya que esta es dependiente de ambos par
ametros.
Seg
un la figura 3.9 el sistema que mejor se adapta al modelo deseado es el
que trabaja con el valor unitario de . Entre menor es la magnitud de , es
notorio que el proceso necesita m
as tiempo para ajustarse al comportamiento
del modelo de referencia. El aumento del valor de influye en la se
nal de
control de manera que consigue el valor final m
as rapido que los restantes
valores tal como se aprecia en 3.10.
De acuerdo con la se
nal de error en la figura 3.11, para el valor unitario de ,
el error es menor en todo momento en comparacion con los conseguidos con
los dos valores restantes de , tal como se esperaba ya que tiene que coincidir
con los resultados de la figura 3.9.
Considerando lo anterior se propone utilizar un valor unitario en , con la
finalidad de garantizar el menor error posible entre el proceso y el modelo de
referencia, sin embargo, es necesario aclarar que se pueden seleccionar valores
mayores a la unidad, pero podra ser contraproducente ya que para valores de
referencia superiores a 0,5 la se
nal de control excedera el lmite permitido por
el proceso.
A partir de lo anterior y con los valores establecidos a utilizar en el sistema, se
procede a elecci
on del metodo para la programaci
on del algoritmo de control.

3.3. Selecci
on del metodo numerico

23

Figura 3.9: Se
nal de salida del proceso

3.3

Selecci
on del m
etodo num
erico

Se realizaron pruebas utilizando distintos metodos numericos para analizar


cu
al de ellos es el m
as preciso. Para esto, se recurrio a la utilizacion de Matlab,
en el cual se crearon tres codigos implementando el metodo de Runge-Kutta
de segundo orden, el metodo de Euler y la Regla del trapecio. Los codigos
realizados siguen la l
ogica del diagrama de flujo de la figura 3.12.
El sistema se encuentra trabajando al 50 % y se aplica a la entrada una
onda cuadrada de magnitud 0,5, lo cual representa un cambio del 10 % en
la referencia. Se utilizan valores iniciales igualados a cero para empezar las
iteraciones en cada metodo. El paso de integracion utilizado es 0,01s en los
tres casos.
En la figura 3.13 se muestra el codigo implementado para el metodo de RungeKutta, es necesario aplicarlo en cuatro ocasiones distintas, ya que se debe
calcular la aproximacion de la salida del proceso real, la salida del modelo de
referencia, 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 a
uno, y el tiempo que requiere para alcanzar el modelo deseado es menor como
se explico anteriormente.
En la figura 3.14 se muestra la programaci
on del metodo de Euler y el de la
Regla del Trapecio, solo se muestra la parte del codigo que cambia, ya que la
parte inicial de la declaraci
on de variables y valores iniciales es la misma.

24

3 Desarrollo

Figura 3.10: Se
nal de control del proceso

Cuando se ejecutan los programas, se realiza la aproximaci


on de los valores
siguientes de cada funcion con base en los valores actuales, lo que permite el
ajuste de los par
ametros del controlador.
En la figura 3.15 se muestra la comparacion de la salida obtenida con
cada metodo numerico y el comportamiento deseado, todos los metodos lograron darle seguimiento al modelo propuesto, sin embargo, el realizado con
Runge-Kutta de segundo orden es el que muestra menor margen de error. Para
corroborar esto, se muestra la se
nal de error registrada con los tres metodos
en la figura 3.16.
El m
aximo error obtenido es con la Regla del Trapecio de un 7,4940 %, mientras que el m
aximo error obtenido con el metodo Runge-Kutta es de 6,8790 %,
lo cual implica una diferencia de 0,6150 %. Adem
as, el error que que se genera
utilizando el metodo de Runge-Kutta se aten
ua con mucha m
as rapidez en
comparacion con el de los restantes procedimientos.
Como se presenta la se
nal de control en la figura 3.17, en ning
un momento se
acerca al 100 %, lo cual es importante, ya que en la medida de lo posible, la

3.3. Selecci
on del metodo numerico

25

Figura 3.11: Se
nal de error

entrada al proceso no debe ser muy cercana al lmite permitido, que son 5V
en este caso.
Los resultados anteriores indican que el modelo matem
atico m
as acertado es
el de Runge-Kutta, por lo tanto es el escogido para introducir en el algoritmo
de control.
Es importante aclarar que los an
alisis anteriores se basaron en que el cambio en la entrada es 0,5 V, o sea, de un 10 %, pero es necesario observar el
comportamiento de la se
nal de control para cambios mayores en el valor de
referencia. Como el sistema se encuentra trabajando al 50 %, el mayor cambio
que podra sufrir es del 50 %, como se observa en la figura 3.18. La se
nal de
control alcanza el 90 % aproximadamente como valor m
aximo.
Se hacen pruebas conservando 50 % en la referencia, pero aumentando la
rapidez del modelo deseado, como se presenta en la figura 3.19. Se concluye
que valor
optimo de m es el unitario, ya que con valores menores a este, si
se producen cambios grandes en el valor de referencia, la entrada al proceso
sobrepasara el lmite, lo cual incurrira en un mal funcionamiento o posible
da
no del sistema.

26

3 Desarrollo

Figura 3.12: Diagrama de flujo

3.3. Selecci
on del metodo numerico

Figura 3.13: Codigo para el Metodo de Runge-Kutta

27

28

3 Desarrollo

Figura 3.14: C
odigo para Metodo de Euler y para Regla del Trapecio

Figura 3.15: Salidas obtenidas con los metodos numericos

3.3. Selecci
on del metodo numerico

Figura 3.16: Se
nal de error obtenida con los metodos numericos

Figura 3.17: Se
nal de control obtenida con los metodos numericos

29

30

3 Desarrollo

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

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

Implementaci
on del Controlador

4.1

Algoritmo de control en Arduino

La l
ogica del programa que se desarroll
o en Matlab se modifico para adaptar el
codigo a Arduino, como se muestra en la figura 4.1. El cambio es basicamente
habilitar las entradas y salidas para la captura y transmision de datos. En la
figura 4.2 se encuentra la primera parte del codigo creado en Arduino, como
se observa se declara el paso de integracion, los par
ametros del proceso y del
modelo deseado y demas valores iniciales tal como se hizo anteriormente para
el programa realizado en Matlab.
No es necesario declarar las variables k1 y k2 , ya que no se requiere realizar
la aproximacion de los valores de proceso porque se leeran directamente utilizando las entradas analogicas del Arduino.
Para leer la salida se habilit
o la entrada analogica A1 y se utiliza la funcion
analogRead(), como se explico en el captulo 2, se necesita el factor de conversi
on 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 el
dato ledo en un valor dentro del rango 0 a 1023. Esta conversi
on se observa

Figura 4.1: Diagrama de flujo del codigo realizado en Arduino


31

32

4 Implementaci
on del Controlador

en la figura 4.3.
La entrada A0 se encarga de leer el valor de referencia y requiere la misma
conversi
on utilizada para la lectura de la salida del proceso.
Con base en esto, se calcula el valor del error y la se
nal de control, seguidamente la se
nal de control se crea utilizando una salida PWM, para esto se calcula
el ciclo al cual debe trabajar la se
nal, de tal manera que el valor promedio
corresponda al requerido seg
un 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 se
nal del controlador se encuentran entre 0 V y 5 V, como
se mencion
o en el captulo 2 el ciclo de trabajo se especifica en valores entre
0 y 255, por lo tanto es necesario realizar la conversi
on presentada en (4.1),
donde Uact es el valor actual de la se
nal de control.


Uact
ciclo =
255
(4.1)
5
Se divide entre 5 para obtener la proporci
on del valor total de la se
nal de
control y luego se multiplica por 255 para obtener su equivalencia entre 0 y
255. La ecuaci
on se escribe de la siguiente forma en el codigo:
ciclo = U act 51,

(4.2)

que es equivalente a (4.1).


Posteriormente, se calculan las variables para aplicar el metodo de RungeKutta y as obtener los par
ametros del controlador para la siguiente iteraci
on.
Se utiliza la funcion millis, la cual mide la duraci
on de los calculos, y con
ayuda de la funcion delay() se logra que el tiempo entre cada iteraci
on sea
congruente con el paso de integracion, de 10 milisegundos.

4.2

Interfaz de adquisici
on de datos

Para la visualizaci
on de resultados en tiempo real, se utiliza un programa
desarrollado en LabView, el cual emplea una tarjeta NI USB-6009 para la
adquisicion de los datos. En la figura 4.4 se presenta dicha tarjeta, la cual
consta con pines analogicos y digitales, ya que se esta trabajando con valores
contnuos se utilizan los pines de salidas y entradas anal
ogicas que son los
enumerados del 1 al 16, de estos 4 son entradas y sus respectivos pines para
conectarlos a la referencia o tierra, y cuenta con 2 salidas, los 6 pines restantes
son conexiones a tierra.
En la figura 4.5 se presenta el programa que se complementa con el de la figura
4.4, se observa que permite introducir el tiempo de lectura de los valores, el
cual se fija en 10 ms, tambien permite seleccionar el valor de referencia, y
adem
as contiene una gr
afica en funcion del tiempo que permite observar el

4.2. Interfaz de adquisicion de datos

Figura 4.2: Codigo realizado en Arduino, parte I

33

34

4 Implementaci
on del Controlador

Figura 4.3: C
odigo realizado en Arduino, parte II

35

4.3. Conexiones

Figura 4.4: Tarjeta NI USB-6009

Figura 4.5: Programa de adquisicion de datos

comportamiento de la salida del sistema y de la se


nal de control.
Todos los datos registrados se guardan en un archivo .tex, lo que permite
accesarlos con otros programas para su posterior an
alisis.

4.3

Conexiones

El diagrama de componentes del sistema se muestra en la figura 4.6, tambien


se dibujaron las conexiones entre los componentes. La salida del proceso se
conecta a la tarjeta NI para que guarde los valores, y se conecta al pin A1 del
Arduino para que realice los calculos necesarios como se mencion
o anterior-

36

4 Implementaci
on del Controlador

Figura 4.6: Diagrama de componentes del sistema

mente.
La se
nal de control se trasmnite por el pin 3 y tambien es capturada por la
tarjeta NI. La se
nal de referencia se difunde de la tarjeta NI hacia el Arduino
para que realice los calculos respectivos. El resto son conexiones a tierra, incluyendo el pin 7 del arduino, que debe estar en BAJO para que realice los
procedimientos.

Resultados

5.1

Implementaci
on en el proceso

Se implemento el sistema seg


un las conexiones de la figura 4.6 tal como se
muestra en la figura 5.1 y en la figura 5.2. Posteriormente se realizaron m
ultiples 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 valor


de referencia, se muestra la salida del proceso y el seguimiento del modelo
deseado. Las gr
aficas se presentan con los valores reales y valores en porcentaje para su mejor comprensi
on.
Inicialmente el sistema se encuentra trabajando en el punto de operacion del
50 %, cuando se realizan los cambios en el valor de referencia, el proceso no

Figura 5.1: Conexion del Sistema


37

38

5 Resultados

Figura 5.2: Conexion del Sistema

presenta dificultad en adaptarse a ellos, excepto al inicio que le toma 30 segundos en cambiar de 2,5 V a 2,8 V en la salida.
El comportamiento de la planta parece darle buen seguimiento al modelo
deseado, en la figura 5.4 se muestra el comportamiento de la se
nal de error entre la salida del proceso y la del modelo de referencia, los picos que se observan
se 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 producen
cambios significantes en la variacion del error. En cuanto al error producido
entre el valor de referencia y la salida, parece tener el mismo comportamiento,
el error es m
as pronunciado inmediatamente despues de los cambios en la entrada, 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 cambio
en la entrada al igual que el proceso, por lo tanto el error entre ambos va a
ser menor que si se compara el error entre la entrada y la salida del proceso,
pues el cambio es m
as brusco.
La se
nal de control es PWM, como se haba mencionado anteriormente y es
importante monitorear que el valor promedio no sobrepase el lmite permitido
en la entrada de control del proceso que son 5 V.
Para monitorear los valores promedio de la se
nal de control se utilizo un osciloscopio, como se muestra en la figura 5.6, se observa que cuando el valor de
referencia es de 4 V, el valor promedio de la se
nal de control permanece por
debajo 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 el
Arduino necesita un tiempo adicional para enviar los datos a la computadora

5.2. Seguimiento del valor de referencia

Figura 5.3: Salida del Sistema

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

39

40

5 Resultados

Figura 5.5: Se
nal de control del sistema

Figura 5.6: Valor promedio de la se


nal de control del sistema

5.2. Seguimiento del valor de referencia

41

Figura 5.7: Salida del sistema para 100 ms

Figura 5.8: Par


ametros del controlador para 100 ms

a traves del puerto serial, lo que afecta la rapidez del mismo. Sin embargo, esto
se realiz
o para analizar el comportamiento de los par
ametros del controlador.
En la figura 5.7 se observa la salida del sistema ante la referencia y en la figura
5.8 se observa el comportamiento de los par
ametros del controlador, adem
as
en la figura 5.9 se muestran los errores producidos entre la entrada del sistema
y la salida del modelo deseado.

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 constante de tiempo de lazo cerrado deseada m a 0,6, con la finalidad de comprobar como se haba dicho en la secci
on anterior, que la se
nal del controlador
puede elevarse y estar operando cerca del lmite. Lo cual es cierto, cuando se
mantiene la referencia en 4 V, se observa que el valor promedio de la se
nal de
control alcanza 4,66 V, el aumento es de 0,7 V en comparacion del sistema
trabajando con el valor unitario para m . Dado el resultado anterior, se decide
no realizar ning
un cambio en la constante de tiempo para no comprometer el
funcionamiento 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 registr
o el comportamiento del sistema introduciendo una perturbacion a
los 25 segundos aproximadamente, como se muestra en la figura 5.13, para
lo cual se abrio un 50 % el orificio con el que el proceso cuenta en la parte

5.4. Comportamiento ante perturbaciones

43

Figura 5.11: Se
nal 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 el


que se produce la perturbacion pero logra seguir los cambios en la referencia,
con el inconveniente de que cuando se encuentra operando en valores cercanos
al 50 % presenta problemas para seguir la entrada.
Este error puede deberse a problemas de calculo en el algoritmo de control
cuando se efect
ua la resta de 2,5 en las entradas, como se observa en la figura
4.3, incurriendo a una actualizacion de los par
ametros incorrecta cuando se
trabaja cerca del punto de operacion del 50 %. Otra posibilidad es que el tiempo que necesita para retomar el valor de referencia de 50 % es mucho mayor
en comparacion con el tiempo que necesita para alcanzar los otros valores de
referencia durante la perturbacion.
En la figura 5.14 se presentan en porcentajes, el error entre el proceso y el
modelo de referencia no sobrepasa el 10 %, pero el error entre la entrada y
el proceso alcanza valores de hasta 20 %, por la misma razon que se explico
anteriormente.

44

5 Resultados

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

En la figura 5.17 se muestra el comportamiento del sistema con una perturbaci


on mayor, para esto se abre el orificio al 100 %. El sistema se encuentra
trabajando al 60 % y aproximadamente a los 230 s se introduce la perturbaci
on. La respuesta decae pero le toma poco menos de 15 segundos en retomar
el valor de referencia.
En la figura 5.18 se observa el comportamiento de los par
ametros del controlador. Para tomar estos datos se realiz
o la misma modificaci
on en el codigo
para que calculara las iteraciones cada 100 ms por la razon que se explico
anteriormente.
Se captur
o como vara la tension antes de introducir la perturbacion y luego
que el sistema ha alcanzado nuevamente el valor de referencia sobrellevando la perturbacion. En la figura 5.19 se observa que la tensi
on promedio de
la se
nal 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 los
par
ametros del sensor de flujo, esto para simular una perturbacion que afecte
los par
ametros del proceso. El cambio de la ganancia se realiz
o de acuerdo a
la secuencia mostrada en la figura 5.20. En la posicion 1 es cuando la planta
se encuentra funcionando normalmente, seguidamente se ajusta la ganancia

5.4. Comportamiento ante perturbaciones

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

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

45

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 se


aprecia que la salida sufre un aumento momentaneo en su amplitud. Luego
de unos segundos consigue volver al valor de referencia. A los 105 segundos la
perilla se fija en la posicion 3, en donde nuevamente la salida sufre otro pico
momentaneo, de menor magnitud, ya que el cambio en la ganancia fue menos
brusco. Estos resultados se observan en 5.21.
Se realiz
o una prueba similar variando una vez la ganancia a los 70 s aproximadamente como se muestra en 5.23, el sistema necesita menos de 20 s para
retomar el valor de referencia. El comportamiento de 1 y 2 se observan en
la 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 la
figura 5.25.

5.4. Comportamiento ante perturbaciones

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

Figura 5.19: Aumento en la tension de la se


nal de control.

Figura 5.20: Secuencia de la variacion de las ganancias

47

48

5 Resultados

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

Figura 5.22: Variacion de la ganancia.

5.4. Comportamiento ante perturbaciones

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

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

49

50

5 Resultados

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

Conclusiones y recomendaciones

6.1

Conclusiones

Utilizando el controlador dise


nado el sistema presenta un buen seguimiento del
valor de referencia en las pruebas realizadas, adem
as act
ua de manera efectiva
tanto para cambios en los par
ametros del proceso como ante perturbaciones,
lo que lo convierte en una herramienta u
til para controlar el proceso. Por lo
tanto se cumple el objetivo principal del presente trabajo.
Una de las ventajas del control adaptativo es que no se dise
na para un punto
de operacion en particular, lo que proporciona cierta flexibilidad en el sistema
para trabajar en varios puntos de operacion.
El metodo numerico Runge-Kutta de segundo orden proporciona es efectivo
para la actualizacion de los par
ametros del controlador. Se pudo haber escogido un metodo que utilizara mayor cantidad de valores iniciales para obtener
aproximaciones m
as exactas, como la regla de Simpson, sin embargo, se podra
comprometer la memoria del Arduino.
Utilizar Arduino fue una gran ventaja, ya que adem
as de ser un componente
econ
omico y de software gratuito, utiliza un lenguaje sencillo. Posee gran variedad de funciones para manipular el hardware lo que facilita y disminuye el
tiempo de programaci
on.
A pesar de que la plataforma Arduino no posee salidas de tension directa que
varen en un determinado rango, las salidas PWM son una alternativa u
til,
ya que el ciclo de trabajo de la se
nal se configura facilmente para obtener el
valor deseado de tension.

6.2

Recomendaciones

Se puede mejorar el rendimiento del controlador utilizando un microprocesador


que posea una mayor frecuencia de reloj lo que permitira que los calculos se
ejecuten con mayor rapidez.
Existen otras plataformas que poseen mayor resoluci
on en los convertidores
analogicos digitales, lo cual producira mejor exactitud en la lectura y escritura
de valores. El Arduino Due cumple este requisito, adem
as la frecuencia de reloj
es de 84 MHz, mucho mayor en comparacion al Arduino Uno que trabaja a
16 MHz. Sin embargo la tension a la que trabaja el sistema es de 3,3 V, por
51

52

6 Conclusiones y recomendaciones

lo tanto no era de utilidad para este caso.


Es importante limitar el envo de datos a traves del puerto serial del Arduino
a la computadora, ya que esto produce un retardo entre los calculos de cada
iteraci
on, lo que produce un control m
as lento.
Es necesario que el valor de la se
nal de control no sobrepase los 5 V, en este
caso la se
nal no puede sobrepasar este valor porque el Arduino UNO no entrega
m
as de esa cantidad. Sin embargo, si se implementa con una plataforma que
entregue m
as de 5 V, el proceso puede sufrir una situacion adversa si no se
monitorea este valor.
Para mejorar la se
nal de la salida del proceso se puede implementar un filtro
que aten
ue el ruido presente en la misma.

Bibliografa
Alfaro, V. (2013). Identificaci
on de los modelos del proceso controlado.
Blazquez, L. y de Miguel, L. (2004). Diagnostico automatico de fallos para sistemas din
amicos no lineales. Universidad de Le
on, Universidad de
Valladolid.
Chapra, S. y Canale, R. (2010). Metodos numericos para ingenieros. Mc Graw
Hill.
Chekkouri, M. R. y Romeral, J. L. (2001). Clasificacion de los reguladores
adaptativos. Universitat Politecnica de Catalunya.
Landau, I. D., Lizano, R., y MSaad, M. (2011). Adaptive Control: Algorithms,
Analysis and Applications. Springer-Verlag London.
Rubio, F. R. y Sanchez, M. J. L. (1996). Control Adaptativo y Robusto. Universidad de Sevilla.

Astr
om, K. J. y Wittermark, B. (2008). Adaptive Control. Dover Publications,
INC.
www.arduino.cc (2014).

53

También podría gustarte