Implementacion de Un Controlador Adaptativo
Implementacion de Un Controlador Adaptativo
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
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:
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
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
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
.
.
.
.
.
.
31
33
34
35
35
36
5.1
5.2
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
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
dt
paso de integracion.
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
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
M IT
M RAC
ms
milisegundos.
NI
national instruments.
p1
par
ametro para aproximar 1 .
p2
par
ametro para aproximar 1 .
vector de se
nales de r y y.
PWM
pulse-width modulation.
entrada al sistema.
segundos.
ST R
tiempo.
Tm
par
ametro del controlador.
par
ametro del controlador.
se
nal de control.
Uact
se
nal de control.
V (x)
funcion de Lyapunov.
Yf
yi
yi+1
ym
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
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
Antecedentes
2.1
Control Adaptativo
2 Antecedentes
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
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
2.4
M
etodo del gradiente (Regla del MIT)
1
2
e2 dt,
(2.1)
(2.2)
(2.3)
(2.4)
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)
2.5
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
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.10)
(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)
(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)
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)
(2.24)
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
11
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)
12
2 Antecedentes
(2.29)
(2.30)
(2.31)
k1 = f (xi , yi )
(2.32)
k2 = f (xi + p1 h, yi + q11 k1 h)
(2.33)
donde:
13
(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)
(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
(2.44)
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)
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
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
18
3 Desarrollo
K
s + 1
En donde la ganancia del proceso se calcula con la ecuaci
on:
P (s) =
K=
Y
,
R
(3.1)
(3.2)
3,175 2,5
= 1,35
3 2,5
(3.3)
(3.5)
(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
3.2
Implementaci
on en Simulink
20
3 Desarrollo
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
21
22
3 Desarrollo
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
24
3 Desarrollo
Figura 3.10: Se
nal de control del proceso
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
3.3. Selecci
on del metodo numerico
27
28
3 Desarrollo
Figura 3.14: C
odigo para Metodo de Euler y para Regla del Trapecio
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
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
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)
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
33
34
4 Implementaci
on del Controlador
Figura 4.3: C
odigo realizado en Arduino, parte II
35
4.3. Conexiones
4.3
Conexiones
36
4 Implementaci
on del Controlador
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
5.2
38
5 Resultados
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
39
40
5 Resultados
Figura 5.5: Se
nal de control del sistema
41
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
5.3
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.
5.4
43
Figura 5.11: Se
nal del controlador para m =0,6
44
5 Resultados
Figura 5.13: Se
nal de salida del sistema con pertubacion al 50 %
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
47
48
5 Resultados
49
50
5 Resultados
Conclusiones y recomendaciones
6.1
Conclusiones
6.2
Recomendaciones
52
6 Conclusiones y recomendaciones
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