Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Pendulo Invertdo
Pendulo Invertdo
de Controladores
Construccion
de un Pendulo Invertido Rotante
Mallo
Sebastian
Virginia Mazzone
Director: Ing. Roberto Saco
Resumen
de un pendulo
Este informe sintetiza la construccion
invertido rotante y su posterior con
trol a traves de una PC. Utilizamos como actuador un motor de corriente continua y
de estado, accion
disenamos
una variante robusta del control en realimentacion
integral,
solucionamos el problema de seguimiento de referencias, la implementamos saademas
iv
Indice General
Resumen
iii
Introduccion
vii
del Problema y Objetivos . . . . . . . . . . . . . . . . . . . . . . . vii
0.1 Formulacion
0.2 Contenido del Informe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii
del Sistema
1 Descripcion
1.1 Controlador . . . . . . . . . . . . . . . . . . . . . .
y Control . . . .
1.1.1 Programa de Simulacion
de datos . . . . . . . . . . . . .
1.1.2 Adquisicion
1.2 Actuador . . . . . . . . . . . . . . . . . . . . . . .
1.2.1 Limitaciones debidas al Actuador (Motor) .
1.3 Sensores . . . . . . . . . . . . . . . . . . . . . . .
1.3.1 Limitaciones debidas a Sensores . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
2
2
2
3
4
5
5
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
7
7
7
10
11
11
13
14
14
de Controladores y Simulacion
3 Diseno
3.1 Control en Cascada . . . . . . . . . . . . . . . . .
de K2 (s) por Asignacion
de Polos .
3.1.1 Diseno
de K1 (s) . . . . . . . . . . . . . . . .
3.1.2 Diseno
3.1.3 Simulacion
. . . . . . . . . . . . . . . . . .
de Estado . . . . . .
3.2 Control por Realimentacion
de la Matriz K . . . . . . . . . . . .
3.2.1 Diseno
Integral . .
3.2.2 Seguimiento Robusto: Accion
3.2.3 Estimadores de las variables de Estado no
3.2.4 Observador de las variables de Estado . .
3.2.5 Simulacion
. . . . . . . . . . . . . . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
Medidos
. . . . . .
. . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
17
17
18
22
23
26
26
27
29
29
31
Indice General
vi
47
Sistema
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
49
49
49
49
50
52
52
53
55
Introduccion
de los conocimientos adquiridos a lo largo
El objetivo de este trabajo es la aplicacion
de controladores. Para ello elegimos
de la carrera, donde nos centramos en el diseno
como sistema un pendulo
invertido rotante. Muchas Universidades del mundo poseen
z
y
r
x
m, g
I, l
El proceso de diseno
[4]:
1. Estudiar el sistema a controlar y decidir que tipo de sensores y actuadores utilizar y
donde
ubicarlos.
2. Modelar el sistema resultante a controlar.
Introduccion
viii
facil.
0.2
Captulo 3 disenamos
los controladores: control en cascada y realimentacion
de estados a
partir del modelo lineal simplificado, realizando simulaciones para analizar su desempeno
teniendo en cuenta las alinealidades del sistema. En el Captulo 4 implementamos dichos
al laboratorio de la
Por ultimo,
queremos agregar que este proyecto es una contribucion
carrera para que otros alumnos puedan seguir profundizando conocimientos y aplicarlos
en un sistema real. En realidad este fue nuestro primer objetivo y estamos orgullos de
haber podido devolver de alguna manera todo lo que recibimos durante estos anos.
Captulo 1
del Sistema
Descripcion
senales,
que sintetiza lo mencionado anteriormente.
Sistema fisico
- Actuador
Sensores
Controlador
Figura 1.1: Diagrama del lazo de control
del Sistema
Descripcion
1.1
Controlador
Sensores
Placa de
Adquisicion de Datos
- Actuador
6
?
Driver
6
?
Programa de
Simulacion y
Control
CONTROLADOR
Figura 1.2: Diagrama de bloques del Controlador
1.1.1
y Control
Programa de Simulacion
sistemas dinamicos.
Soporta sistemas lineales y no lineales, modelados en tiempo continuo, discreto o un hbrido de ambos. Las simulaciones son interactivas, es decir, se
analisis
de los sistemas se pueden utilizar las herramientas de analisis
de M ATLAB
.
de los controladores se utilizaron tambien los programas Real Time
ra la implementacion
en tiempo
Workshop y Real Time Windows Target, los cuales nos permiten la ejecucion
real.
1.1.2
de datos
Adquisicion
1.2 Actuador
de bajo costo, cuenta con los requisitos que demanda nuestro proyecto, veamos algunas
de sus principales caractersticas:
8 entradas digitales.
8 salidas digitales.
de 8 bits.
8 entradas analogicas
de 0V a 5V o 0V a 5.12V con una resolucion
de 8 bits.
2 salidas analogicas
de 0 a 5V o 0V a 5.12V con una resolucion
esta placa con los distintos programas es a traves de
Driver La forma en la que interactua
1.2 Actuador
citamos algunas de las caractersticas principales del motor de corriente
A continuacion
continua que, como mencionamos anteriormente, es quien proveera el movimiento del
brazo:
Sin escobillas.
nominal de alimentacion:
24V.
Tension
Consumo de corriente: 2A.
a engranajes, 1:130.
Reduccion:
En la Figura 1.3, mostramos el diagrama de bloques del Actuador.
Bloque
PC
Generador
PWM
Puente
H
-
On/Off
- Dir
del Sistema
Descripcion
1.2.1
restricciones en actuacion
Estas restricciones pueden ser tanto en amplitud, como en velocidad.
Mnima
Restricciones de Actuacion
frecuente es la imposibilidad de efectuar actuaciones arbitrariamente peUna limitacion
un conversor digital/analogico
de 8 bits. Por lo tanto tendremos solo 256 niveles distintos
de actuacion.
esta cuantizada, el mnimo error estatico
Cuando la actuacion
de seguimiento estara
del actuador en general no podra conseguirse error
limitado por el umbral de cuantizacion
mnima
nulo en regimen permanente. Otro caso en que existen limitaciones de actuacion
estatica (el actuador se
Restricciones de Actuacion
En la practica,
todos los actuadores tienen lmites maximos
de actuacion,
que pueden
de control experimenta picos elevados o cambios bruscos en la
alcanzarse si la senal
referencia, y as, el actuador satura.
se define, Figura 1.4, por
El limitador saturacion
u(t)
umax
umax
u(t) = sat(u (t))) = u (t)
umin
umin
umax
u (t)
umin
La senal
de actuacion
ya que en las simulaciones
nominal del motor es 24V. Elegimos este valor de tension
en el regimen permanente rondaba los 2V. Si utilizamos como
previas el valor de tension
maxima
de la placa de adquisicion
de datos, la
tension
los 24V, debido a la discretizacion
24
es de 255
mnima actuacion
= 0.0941. Es decir, en el rango 2V tendremos 42 niveles de
distintas, en cambio, si tomamos como actuacion
maxima
actuacion
15V aumenta a 68.
la tension.
El problema
Con este razonamiento, una pregunta sera por que no bajar mas
el motor se mueve con menos velocidad, no teniendo
se presenta cuando, a menor tension,
la suficiente reaccion.
1.3 Sensores
1.3 Sensores
Como vimos anteriormente, las variables del sistema que debemos medir son el angulo
del
brazo y el angulo
del pendulo. En cada uno de los casos utilizamos metodos de medicion
diferentes, por lo tanto veamos a cada uno en forma separada.
detallada de los sensores la encontramos en A.3.
La descripcion
del Angulo
Medicion
del Brazo En este caso utilizamos un encoder incremental. Una de
es ilimitado.
las ventajas de este tipo de sensor de angulo,
es que el rango de medicion
Mientras que la mayor desventaja es que los pulsos entregados por el encoder son de alta
del Angulo
Medicion
del Pendulo
El sensor que utilizamos es un sensor magnetico, estos
sensores usan la propiedad por la cual un material magnetico cambia su resistencia en
presencia de un campo magnetico.
Angulo real
Angulo medido
El ruido por lo general es de alta frecuencia por lo que antes de realizar la medicion
con un filtro pasabajos.
filtramos la senal
lo podemos ver en el encoder. Como podemos ver en
El problema de la cuantificacion
A.3, cada pulso entregado por el encoder representa un movimiento de 0.0012 radianes,
de angulo
del Sistema
Descripcion
de 0-5V correspondiente a una variaEl sensor del pendulo, nos entrega una tension
de angulo
cion
de 18o (ver A.3). Al ser el conversor de la placa adquisidora de 8 bits,
distintos. Por lo que la mnima variacion
de
este sensa solamente 256 niveles de tension
18o
angulo
que sensara sera 256 , en radianes 0.0024.
Captulo 2
Matematica
Modelizacion
del Sistema
es el primer paso en el diseno
de un lazo de control. Cuanto mayor es el
La modelizacion
conocimiento del proceso, mejores son los resultados que obtendremos, ya que el diseno
mecanicas,
termicas, etc. o podemos utilizar tecnicas de identificacion
de sistemas, que
matematico
utilizamos las ecuaciones de Euler-Lagrange, que proporcionan dos ecuaciones diferenciales ordinarias de segundo orden no lineales, las que escribimos como cuatro
funciones diferenciales de primer orden no lineales (ecuaciones de estado). Dado que el
ma robotico
es aplicando las ecuaciones de Euler-Lagrange. En primer lugar calculamos
el Lagrangiano, que es la energa cinetica menos la energa potencial del sistema. Para
ello utilizaremos el diagrama simplificado de la Figura 2.1 . Las ecuaciones que describen el movimiento las encontramos calculando algunas derivadas del Lagrangiano e
L(q(t), q (t)) =
Ecin
|{z}
Energa cinetica
E pot
|{z}
q(t) =
(t)
(t)
(2.1)
Energia potencial
con
q (t) =
(t)
(t)
vectorial estan
definidas como
Las ecuaciones de Euler-Lagrange en notacion
L
d L
= f,
dt q
q
(2.2)
(2.3)
Matematica
Modelizacion
del Sistema
m, g
r,
:
:
m:
l:
I:
r:
g:
angulo
entre el pendulo y la vertical
angulo de giro del brazo
masa del pendulo
longitud del pendulo
inercia del brazo
radio de giro del brazo
gravedad
(2.4)
Energa cinetica
del pendulo
invertido
Para calcular la energa cinetica consideramos los dos cuerpos como si estuvieran aislados. Calculamos la energa cinetica de cada uno de ellos y tomamos como energa cinetica
total la resultante entre ambas.
Brazo giratorio: La energa cinetica del brazo giratorio es
Ecin1 =
1 2
I .
2
(2.5)
2.1 Ecuaciones de movimiento del pendulo
invertido
1
1
1 2
mv = ml 2 2 + r2 m 2 + rlm cos .
2
2
2
(2.6)
L(q(t), q (t)) =
1 2
[ I + ml 2 + r2 m 2 + 2rlm cos ] mgl cos ,
2
mgl cos
L(q(t), q (t)) =
mrl cos I + mr2
2
1
= q T M(q)q E pot ,
2
donde la matriz M(q) se llama matriz de masa generalizada y q y q vienen dadas por (2.2).
y luego respecto de q, tenemos que
Si derivamos el Lagrangiano respecto de q,
L
= M(q)q
(dado que la matriz M es simetrica)
q
E pot
L
1 M(q)
= q T
q
.
q
2
q
q
Si ahora derivamos la derivada del Lagrangiano respecto de t, utilizando la regla del producto, obtenemos
d
d L
= M(q)q +
( M(q) q.
dt q
dt
Notemos que
d
M(q)
( M(q)) q q T
q.
dt
q
de Euler-Lagrange (2.3) con los resultados obtenidos
Escribamos la ecuacion
E pot
1 M(q)
M(q)q + q T
q +
= f ,
| {z } 2
|{z}
q
q
|
{z
} | {z }
4
1
2
anterior representa
donde cada uno de los terminos de la ecuacion
1. termino referido a la inercia de la masa
2. termino de coriolisis
3. termino gravitacional
4. fuerzas o momentos externos aplicados
(2.7)
Matematica
Modelizacion
del Sistema
10
de (2.7) tenemos
Despejando la derivada de mayor orden, en este caso q,
E pot
1 M(q)
q = M1 (q) q T
q
+f
2
q
q
E pot
1 d
1
= M (q)
M(q) q
+f
2 dt
q
(2.8)
ml 2
mrl cos
0
mrl sin
mgl sin
f
=
0
f
2 mrl sin
(2.9)
donde f es la fuerza de rozamiento del pendulo y f = es el torque aportado por el
motor, la entrada del sistema. Dado que no vamos a controlar el pendulo con el torque del
necesitamos una ecuacion
que nos relacione el torque con la
motor sino con la tension,
del motor, u. Para ello calculamos el modelo matematico
tension
del motor de corriente
continua.
Modelo Matematico
de un Motor de CC
2.2
R
V
e = K
J:
b:
K:
R:
L:
:
(2.10)
(2.11)
En el sistema internacional de medidas (SI), la constante de armadura, K y la constante del motor Ke son iguales, por lo que K = Ke = K.
De la Figura 2.2, podemos escribir las ecuaciones basadas en las leyes de Newton,
(2.12), y en las leyes de Kirchhoff, (2.13).
J + b = Ki
Li + Ri = v K
(2.12)
(2.13)
en Modelo de Estado
2.3 Representacion
11
(t) =
K
K2
v(t)
(t).
R
R
(2.14)
en Modelo de Estado
2.3 Representacion
Nos encontramos frente a un sistema que puede ser descripto por un numero
finito de
representaremos las
ecuaciones diferenciales ordinarias, (2.9) y (2.14). En esta seccion
diferencial vectorial de primer grado
ecuaciones en una forma compacta por la ecuacion
(ecuaciones de estado), que en sistemas continuos es de la forma
x = f ( x, u),
(2.15)
1 0
0
0
0 0
0
0
0 1
1
0
0
0
0
0 0
=
2
0 0
ml
mrl cos
0
mrl sin
2 0 0
2
0 0 mrl cos I + mr
0 0 mrl sin
0
0 0 1 0
0
0
0 0 0 1
0
0
+
0 0 0 0 mgl sin + f
0 0 0 0
0
f
(2.16)
x 1 = x3
x = x4
2
2
x 3 =
K
K
1
1
2
x 4 = 2
del Sistema
2.4 Linealizacion
El modelo de estado que obtuvimos en (2.17) es no lineal, como la mayora de los sistemas
fsicos. Bajo ciertas condiciones podemos aproximar el modelo (2.17) con un modelo de
simple
estado lineal incremental. La idea de utilizar un modelo lineal que es mucho mas
de controladores.
el analisis
del sistema y el diseno
de un modelo lineal a partir de uno no lineal se llama lineaEl proceso de obtencion
se realiza alrededor de un punto o trayectoria de operacion,
lizacion
[2]. La linealizacion
(2.15), es decir
definido por valores nominales, x (t), x 0 y u (t), que satisfacen la ecuacion
x (t) = f ( x (t), u (t)).
Matematica
Modelizacion
del Sistema
12
x (t0 ) + x (t0 ) = x 0 + x0 .
f
f
fi
u ) x1 + + i ( x,
u ) x4 + i ( x,
u )u .
( x,
x1
x4
u
vectorial, obtenemos
Repitiendo para cada i = 1, . . . , 4 y volviendo a la notacion
f
f
x (t) + x (t) f ( x (t), u (t)) +
( x (t), u (t)) x + ( x (t), u (t))u ,
x
u
f
x
donde la notacion
vector x,
f
1
x. 1 .
f
..
, ..
x
f4
x1
(2.18)
..
f4
x4
x (t0 ) = x0 ,
donde
A(t) =
f
( x (t), u (t)),
x
B(t) =
f
( x (t), u (t)).
u
(2.19)
Notemos que el sistema lineal (2.19) resulta inestacionario cuando se trata de una
el sistema lineal resulta
trayectoria nominal, cuando se trata de un punto de operacion,
estacionario, es decir A(t) = A y B(t) = B .
que nos interesa en nuestro sistema es el punto de equiLa trayectoria de operacion
librio del mismo. Un punto x = xeq en el espacio de estado es un punto de equilibrio de
(2.15) con u(t) = 0, si tiene la propiedad de que cuando el estado inicial del sistema es xeq ,
el estado permanece en dicho punto en todo tiempo futuro [5].
Buscamos entonces xeq tal que x eq = f ( xeq , 0) = 0, as
0 = x3
0 = x4
0 = 2
Entrada-Salida
2.5 Representacion
13
0
0
= ( I +mr2 ) g
A=
x x=xeq Il
rmg
I
0
0
0
0
1
0
( I +mr2 )b
ml 2 I
rbl Is
0
1
rK 2
l IR
2
KIR
f
B=
u x=xeq
0
0
=
rK
l IR
K
IR
Dado que las salidas del sistema son y , definimos las matrices
1 0 0 0
0 0
y
D=
,
C=
0 1 0 0
0 0
quedando de esta forma el sistema lineal totalmente definido como
0
0
1
0
0
0
0
0
1
0
=
2
2
2 +
(
I
+
mr
)
g
(
I
+
mr
)
b
rK
s
rK u
0
l IR
Il
l IR
ml 2 I
2
K
rmg
0
rbl Is
KIR
IR
I
1 0 0 0
.
y=
0 1 0 0
(2.20)
Entrada-Salida
2.5 Representacion
entrada-salida no es mas
ni menos que una forma de obtener la salida
La representacion
de su entrada. Para ello sabemos que la salida del
de un sistema cualquiera en funcion
sistema puede calcularse como
y(t) =
Z t
0
g(t )u( ) d,
(2.21)
(2.22)
En nuestro sistema, dado que la matriz A es de cuarto orden, resulta complejo calcu del modelo lineal, bajo algunas
lar (sI A)1 . Por eso utilizaremos una simplificacion
condiciones sobre nuestras variables que detallaremos.
Matematica
Modelizacion
del Sistema
14
2.6
del Modelo
Simplificacion
Para obtener el modelo de estado simplificado partiremos de suponer que el sistema tiene
como sabemos
rozamiento dinamico
en el pendulo despreciable, es decir bs 0. Ademas,
de su masa como
la inercia, I, del brazo giratorio del pendulo se puede escribir en funcion
I = Mr2 , donde r el radio de giro del brazo.
Si ahora escribimos el termino de la fila 3 y 4 de la columna 1 de la matriz A de la
(2.20) en funcion
de la masa del brazo, resulta
linealizacion
a31 =
( I + mr2 ) g
( M + m) g
=
Il
Ml
a41 =
0
0
=
g/l
0
|
0
0
0
0
1
0
0
1
+ 0 u,
0 r /l
r/l
{z
}
| {z }
A
Calculamos ahora la
mero calculamos
0
(sI A )1 =
g/l
0
rmg
mg
=
.
I
Mr
(2.23)
g
mg
y a41 =
0, por lo que el modelo
l
Mr
con =
K2
K
y=
.
2
Mr R
Mr2 R
(2.24)
1
0 1
0
s 0
1
0 s r /l
0 0
s +
2
s (s + )
0
s(s + )
sr /l
1
0
(s + )(s2 g/l )
0
s2 g/l
=
2
2
0
s (s + )
s2 r /l
s(s + )(s g/l ) s(s + ) g/l
0
0
0
s(s2 g/l ).
De donde
s r/l
(s + )(s2 g/l )
(s)
U (s).
Y (s) =
=
(s)
s(s + )
2.7
(2.25)
2.7 Ajuste de los Parametros
en forma Aproximada
15
g = 9.8 [m/seg2 ]
Los parametros
relacionados con el motor, R y K, no los conocemos. Motivo por el cual estimaremos es forma aproximada utilizando un metodo iterativo, previamente verificamos
En esta seccion
describiremos los pasos que seguimos
su funcionamiento en simulacion.
=
.
U (s)
s(s + )
(2.26)
1.4
Datos Simulados
Datos Reales
1.2
Radianes
0.8
0.6
0.4
0.2
0
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
Tiempo
Matematica
Modelizacion
del Sistema
16
Por lo tanto queda as definido el sistema (2.24) por todos sus parametros
como ecua de estado
cion
0
0
0 1
0
0
0 0
1
=
+ 0 u
32.66 0 0 10.62 8.82
9.8
0
0 0 11.8
(2.27)
1 0 0 0
y=
0 1 0 0
transferencia
y como funcion
8.82s
(s)
s2 32.66)
= (s + 11.8)(
U (s).
9.8
(s)
s(s + 11.8)
Captulo 3
Dise
no de Controladores y Simulacion
de control basadas en el
En este captulo desarrollaremos diversas tecnicas de diseno
modelo matematico
del sistema, para lo que debemos plantear cuales
son nuestras es es decir como
pecificaciones de diseno,
queremos que se comporte el sistema luego de
calculado el control . Comenzaremos con tecnicas de control simples, tomando al sistema
como dos sistemas de una entrada y una salida en cascada, llamada control en casca complejas utilizando las ecuaciones en espacio de
da. Luego desarrollamos tecnicas mas
estado como realimentacion
de estado.
entrada-salida del sistema
Para el control en cascada utilizamos la representacion
de polos [3] disenaremos
cion
(LQR) y dado que solo podemos
medir dos de las cuatro variables de estados, estimaremos las variables de estado no
medidos.
de
Para el calculo
de los controladores utilizamos M ATLAB. Para analizar el desempeno
cada controlador en el lazo cerrado del sistema, utilizamos S IMULINK, donde armamos el
diagrama de bloques del modelo no lineal (2.17). Aplicamos cada controlador disenado
a
se aproxime al sistema real.
este sistema para que la simulacion
detallaremos cada una de las tecnicas utilizadas, desarrollando alguA continuacion
nas herramientas necesarias para cada tecnicas, y detallaremos tambien los resultados
obtenidos en la simulacion.
basica.
El caso (ii) se da, por ejemplo, cuando G1 (s) tiene ceros de fase no mnima o retardos
en nuestro problema G1 (s) tiene un cero de
temporales. Como veremos en esta seccion,
fase no mnima.
1
Siglas que significa una entrada una salida (single input single outpu)
Dise
no de Controladores y Simulacion
18
R(s) +
d - j- K1 (s)
Y (s)
+ j- K (s)
2
-. G2 (s)
. .
G1 (s)
-d
Lazo secundario
T2 (s)
Lazo primario
Si pensamos nuestro problema como si fuera SISO, tomando como entrada U (s) y sa medimos el angulo
U (cs) -
r/l s
(s2 g/l )(s+ )
2
- (s g2/l )
(s)
-c
r/l s
-(sc)
Figura 3.2: Diagrama de bloques del pendulo como si fuera un sistema SISO
de la Figura 3.1, puede separarse en dos etapas:
El diseno
G2 (s)K2 (s)
,
1 + G2 (s)K2 (s)
donde
G2 (s) =
(s2
r/l s
.
g/l )(s + )
(s2 g/l )
.
r/l s2
de Polos
3.1.1 Dise
no de K2 (s) por Asignacion
detallaremos la tecnica utilizada para disenar
En esta seccion
el controlador K2 (s), que
estabiliza el angulo
del pendulo. La tecnica utilizada es por asignacion
de polos [3], pero
antes mencionaremos de que se trata esta tecnica.
de Polos La tecnica de asignacion
de polos trata basicamente
Asignacion
en ubicar los
polos del polinomio caracterstico a lazo cerrado en forma arbitraria. Dado un lazo de
control de un grado de libertad como muestra la Figura 3.3, con
B(s)
b sn1 + bn1 sn1 + + b0
= n1 n
A(s)
an s + an1 sn1 + + a0
pn p sn p + pn p 1 sn p 1 + + p0
P(s)
K (s) =
=
,
L(s)
l nl s nl + l nl 1 s nl 1 + + l 0
G (s) =
(3.1)
19
Las cuatro funciones de sensibilidad asociadas al lazo de la Figura 3.3 vienen dadas por
G (s)K (s)
B(s) P(s)
=
1 + G (s)K (s)
A(s) L(s) + B(s) P(s)
1
A(s) L(s)
S(s) ,
=
1 + G (s)K (s)
A(s) L(s) + B(s) P(s)
G (s)
B(s) L(s)
Si ( s ) ,
=
1 + G (s)K (s)
A(s) L(s) + B(s) P(s)
T (s) ,
Sensibilidad complementaria
(3.2)
Sensibilidad
(3.3)
de entrada
Sensibilidad de perturbacion
(3.4)
Su (s) ,
K (s)
A(s) P(s)
=
1 + G (s)K (s)
A(s) L(s) + B(s) P(s)
Sensibilidad de control
(3.5)
y donde el polinomio Alc (s) , A(s) L(s) + B(s) P(s) se llama polinomio caracterstico a lazo
cerrado.
Di ( s )
Do ( s )
R ( s )- j U (s-) ?
j - G (s)
K (s)
6
?
- j Y(s)
-
j
6
Dm ( s )
Nuestro objetivo es ver bajo que condiciones dados B(s) yA(s), que definen nuestra
P(s) y L(s) tal que el polinomio caracterstico a lazo cerrado sea
planta, se pueden disenar
ver [3]).
Alc (s). El siguiente lema resume estas condiciones (demostracion
de Polos SISO). Consideremos un lazo de realimentacion
de un
Lema 1 (Asignacion
grado de libertad con un controlador K (s) y un modelo nominal G (s) dado por (3.1). Suponiendo que A(s) y B(s) son coprimos 2 y que sus grados son n y n 1, respectivamente.
Sea Alc (s) un polinomio arbitrario de grado nlc = 2n 1. Entonces existen polinomios P(s)
y L(s), con grados n p = nl = n 1 tal que
(3.6)
K2 (s) =
Volvamos a nuestro problema, disenar
B(s) = r/l s
2
3
P2 (s)
L2 ( S)
Dise
no de Controladores y Simulacion
20
es decir vamos a elegir Alc (s) = (s + g/l )(s + ) Alc (s), donde ahora A lc (s) tiene orden 3.
De esta forma nuestro polinomio caracterstico a lazo cerrado se reduce a
q
(s + g/l )(s + ) A lc (s) = P2 (s) (r/l s) + L2 (s) (s2 g/l )(s + ),
| {z }
|
{z
}
|
{z
}
B(s)
Alc (s)
A(s)
L2 (s)
1 0
0
l1
c2 + g/l
0 1 r/l l2 =
,
c1
p
p0
0 0 g/l
c0
|
{z
}
Me
Lo unico
que nos queda ahora es elegir coeficientes de A lc (s) tal que sea estable. La
de este polinomio no es trivial ya que nuestra G2 (s) es inestable, y existen limieleccion
taciones de dise
no para la sensibilidad complementaria cuando existen polos inestables
detallaremos estas limitaciones y como
Respuesta al escalon
Definamos los parametros
que describen las propiedades rele5
la Figura
vantes de la dinamica
de los sistemas , considerando como respuesta al escalon
3.4
(esto
valor en el regimen estacionario, y : el valor final de la respuesta al escalon
no tiene sentido si el sistema tiene polos en el SPD 6 ).
4
21
y + ysob
y +
y
kr y
ysub
tc
tp
Tiempo
te
segun
se toma tanto 0.9 o 1.
excede su valor
Sobrevalor, ysob : el maximo
valor por el que la respuesta el escalon
final. Generalmente se expresa como un porcentaje de y .
pasa por
subvalor, ysub : el maximo
(valor absoluto) por el que la respuesta al escalon
debajo del cero.
Tiempo de establecimiento, te : el tiempo transcurrido hasta que la respuesta al
ingresa (sin dejarlo en tiempo subsiguiente) a una banda , alrededor del
escalon
valor final. Esta banda , generalmente se define como un porcentaje de y , 2% a
5%
detalles ver [8].
Veamos el siguiente resultado, que no vamos a demostrar, para mas
Corolario 1. [Polos inestables reales y sobrevalor]. Si la planta tiene un polo inestable real
en p > 0, su respuesta al escalon
tiene forzosamente sobrevalor. Mas
aun,
si tc es el tiempo
de crecimiento del sistema a lazo cerrado, entonces se cumple que
ysob
( ptc 1)e p tc + 1
ptc
.
ptc
2
peno
sean los polos inestables, mayor
sera esta demanda.
podemos extraer la siguiente regla practica
Dise
no de Controladores y Simulacion
22
El polo dominante a lazo cerrado debe ser mayor (en magnitud) que cualquier
polo inestable a lazo abierto del sistema.
p
Dado que nuestro sistema G2 (s) tiene un polo inestable en g/l = 5.7154, elegiremos
valor un poco mayor para hacer
como frecuencia de corte del sistema a lazo cerrado algun
de control rapida.
la accion
Utilizamos los valores de los parametros
descriptos en la
2.7, donde
seccion
G2 (s) =
8.82s
.
(s + 11.8)(s2 32.66)
3.1.2
T2 (s) =
1143.7s
.
(s + 14)(s + 13)(s + 12)
Dise
no de K1 (s)
Una vez estabilizado el lazo secundario, seleccionamos K1 (s) tal que estabilice el lazo de la
Figura 3.5. Para ello debemos tomar como sistema a lazo abierto a
T2 (s) G1 (s) =
(3.8)
limitaciones
que tiene un polo en el origen y un cero de fase no mnima que impondran
en el diseno.
T2 (s) =
R(se) - lK1 (s) - l 6
6
p0 r/l s
A lc
r/l s
(s2 g/l )(s+ )
r/l s2
(s)
-c
Limitaciones de Dise
no Impuestas por G1 (s) T2 (s)
Como vieramos en 3.1.1, tanto los polos inestables como los ceros de fase no mnima,
por ejemplo, implican la existencia de subvalor, induimponen limitaciones en el diseno,
23
1
.
1
eqte
(s2 32.66)
0.9s2
G1 (s) T2 (s) =
1270.7(s2 32.66)
.
s(s + 14)(s + 13)(s + 12)
(3.9)
En la Figura 3.6, vemos el lugar de races, obtenido con el comando rlocus de M ATLAB,
25.41(s2 32.66)
.
(s + 20)(s + 0.35)(s2 + 17.7s + 95.05)
3.1.3 Simulacion
tomamos los controles K1 (s) y K2 (s) y los implementamos en S IMULINK
En esta seccion
obtenido. Simular dichos controladores con el sistema lineal
para analizar el desempeno
tal como los calculamos, 3.1, sabemos que se comporta de forma deseada. Pero ahora
mostramos los resultados que obtenemos si tomamos el sistema no lineal, descripto por
(2.17) y tomando en cuenta las limitaciones de los sensores y del actuador. En la Figura
donde el
3.8, mostramos el diagrama de bloques que implementamos para la simulacion,
bloque Alinealidades representa, en forma aproximada las perturbaciones del motor: la
Dise
no de Controladores y Simulacion
24
10
Imag Axis
10
15
10
0
Real Axis
10
15
20
estatica
friccion
(Figura 3.7) y el juego en el eje del motor ( 1o ). El bloque K1d es el control
inicial tomamos
K1 (s) discretizado con un tiempo de muestreo T = 0.02 y como condicion
todos las variables de estado en cero salvo = 0.05 rad. Los valores de las alinealidades
las obtuvimos comparando el sistema real con el simulado, y as ajustamos el valor de la
estatica.
friccion
(t)
0.15
(t)
estatica
La Figura 3.9 muestra los resultados obtenidos luego de simular el lazo cerrado duran
entre la posicion
te 20 segundos. En el grafico
de la izquierda mostramos la comparacion
tanto a la posicion
25
Discretizacio Tita
Discretizacion
de la Actuacion
.1
Step3
tita
K2d
K1
Tita
psi
Saturacion
de la actuacion
K2
Pendulo no lineal1
In1
Out1
Alinealidades
Psi
Discretizacin Psi
0.12
0.06
con alinealidades
sin alinealidades
sin alinealidades
con alinealidades
0.05
0.1
0.04
0.08
0.03
Posicin [rad]
Posicin [rad]
0.06
0.04
0.02
0.02
0.01
0
0
0.01
0.02
0.02
0.04
0.06
0.03
10
Tiempo [seg]
12
14
16
18
20
0.04
10
Tiempo[seg]
12
14
16
18
20
Dise
no de Controladores y Simulacion
26
3.2
de Estado
Control por Realimentacion
(3.10)
y(t) = Cx(t).
de control se propone
En realimentacion
de estado, como muestra la Figura 3.10, la senal
lineal al estado
u(t) = r(t) Kx(t).
(3.11)
- i- B
6
x R S x
- i - S
6
-C
y-
A
K
de estado
Figura 3.10: Realimentacion
de (3.11) en (3.10), da lugar al lazo cerrado del sistema, cuyo modelo
La substitucion
de estado viene dado por
x (t) = ( A BK ) x(t) + Br(t)
y(t) = Cx(t).
(3.12)
Para utilizar esta tecnica estamos suponiendo que todas las variables de estado estan
detallaremos como
3.2.1
Dise
no de la Matriz K
de Estado
3.2 Control por Realimentacion
27
de autovalores). Si la ecuacion
de estado (3.10) es controlable,
Teorema 1 (Asignacion
de estado u(t) = r(t) Kx(t), donde K es un vector
entonces mediante la realimentacion
real constante 1 n, los autovalores de ( A BK ) pueden ser asignados arbitrariamente,
siempre que los autovalores complejos conjugados se asignen en pares.
Un metodo para analizar controlabilidad de un sistema dado es que la matriz de controlabilidad C tenga rango n (rango(C) = n), donde
C = B AB . . . An1 B
Ahora solo nos resta verificar si nuestro sistema es controlable para poder elegir K.
Para ello tomemos el sistema (2.27), y calculamos
rango C = rango B AB A2 B A3 B = 4,
por lo que podemos afirmar que el sistema (2.27) es controlable.
K=place(A,B,P), que calcula K para ubiConvenientemente, M ATLAB tiene la funcion
criterio de optimizacion,
J=
Z t
(3.13)
donde Q y R son matrices constantes que ponderan las variables de estado y la actuacion
100 0 0 0
0 1 0 0
Q=
y
R = 10,
0 0 1 0
0 0 0 1
A y B de (2.27) y obtuvimos
K = 24 0.3 3.8 2.4
(3.14)
Integral
3.2.2 Seguimiento Robusto: Accion
introducimos un esquema de seguimiento de referencias constantes. La
En esta seccion
idea se basa en aumentar la cantidad de variables de estado de la planta, agregando una
nueva: x a que integra el error, es decir
x a = r y = r Cx,
como mostramos en la Figura 3.11.
Dise
no de Controladores y Simulacion
28
r - i- R Sxa
S
- iu- B
K
a
6
6
x R S x
- i - S
6
-C
y-
A
K
x
A BK BKa
x
0
=
+
r
x a
C
0
xa
1
(3.15)
lim y(t) = r.
en
(3.15)
pueden
asignarse
arbitrariamente
seleccionando
la
matriz
de
realimentaci
on
K Ka .
3.2.1, vimos que nuestro sistema es controlable, es decir que rango C = 4
En la seccion
y si tomamos como salida , que es quien queremos que siga la referencia constante, G (s)
no tiene ceros en el origen, ver (2.25). Para calcular las ganancias K y Ka utilizamos el
comando [K,Ka]=lqr(Aa,Ba,Qa,R), donde
A 0
Aa =
,
C 0
B
Ba =
,
0
100
0
Qa =
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
1
R = 10.
(3.16)
de Estado
3.2 Control por Realimentacion
29
(
k
+
1
) (k)
T
(3.17)
donde T es el perodo con el cual la PC toma los datos y la diferencia corresponde a dos
mediciones consecutivas. Esta forma de estimar las variables de estado es muy sencilla
de implementar en S IMULINK, como vemos en la Figura 3.12, pero para que esta estima
1
1
1
Tita P
Gain
z
Unit Delay
es dinamico
(o con
En esta seccion
llamado observador, cuya salida
es una estima del vector de estado. En particular vamos a detallar el observador de orden
completo, que tiene el mismo orden que la planta, y de esta forma estimamos todo el
vector de estado. Representemos con x (t) a la estima de x(t) y tomemos el sistema (3.10),
donde suponemos A, B, y C conocidas, y la entrada u(t) y la salida y(t) son medibles,
(3.18)
donde y (t) es la salida que se obtiene de las variables de estado estimados. Si inyectamos
de correccion
L( y(t) C x ), donde L es una matriz de ganancia
al sistema (3.18) una senal
7
Dise
no de Controladores y Simulacion
30
constante, de forma tal que si no hay error no debemos corregir nada, pero si hay error,
apropiada de L puede hacer que el error de estimacion
tienda asintoticamente
una eleccion
a cero. La Figura 3.13 muestra el observador que explicamos, donde las ecuaciones vienen
dadas por
x (t) = A x (t) + Bu(t) + L( y(t) C x (t))
(3.19)
tiende asintoticamente
a cero.
- B
x R S x
- i - S
6
-C
y-
A
B
x
x
R
S
S
?
i
L
- A LC
En la seccion
testear si un sistema es
controlable y para que sirve. Ahora para ver que condiciones debe cumplir el sistema para
que exista la matriz L, tal que el estado estimado x (t) tienda asintoticamente
al estado real
x(t) , debemos definir el observabilidad. El concepto de observabilidad tiene que ver con
la posibilidad de estimar el vector de estado del sistema a partir del conocimiento de la
salida.
La ecuacion
de estado (3.10) es observable si para cualquier estado inicial x(0)
(desconocido), existe un tiempo finito t1 tal que el conocimiento de la entrada u y
la salida y sobre el intervalo [0, t1 ] es suficiente para determinar en forma unica
O=
C
CA
CA2
..
.
CAn1
de Estado
3.2 Control por Realimentacion
31
C
CA
O=
donde
rango O = 4,
CA2 =,
CA3
por lo que nuestro pendulo invertido es un sistema observable.
resultan del control LQR a lazo cerrado pero los ponemos 1.2 veces mas
y luego
utilizamos el comando de M ATLAB L=place(A,C,P).
El valor de L obtenido es
0.5335 0.1312
0.0177 0.3533
(3.20)
L=
7.6284 4.3791
0.2567 1.4825
3.2.5 Simulacion
describiremos las simulaciones realizadas utilizando el programa S IMU En esta seccion
LINK . Implementamos al sistema utilizando las ecuaciones no lineales (2.17) en diagrama
de bloques y agregamos las alinealidades y limitaciones descriptas en el Captulo 1 para
que se aproxime en mejor forma al sistema real.
En primer lugar simulamos el sistema suponiendo que las variables de estado estan
de estado (3.14). Lueal alcance de ser medidos, utilizando el control por realimentacion
realimentando las variables de estado estimados con los
go comparamos el desempeno
observados. Una vez que decidimos cual es el mejor metodo, realizamos pruebas de seguimiento a referencias y robustez.
El periodo de muestreo utilizado en todas las simulaciones es T = 0.01 y tomamos
como condiciones iniciales (0) = 0.05, (0) = 0, (0) = 0 y (0) = 0.
de Estado
Realimentacion
en diagrama de bloques de S IMULINK
En la Figura 3.14, mostramos la implementacion
suponiendo que las
utilizado, y la Figura 3.15 los resultados obtenidos de la simulacion,
cuatro variables de estado son medidos.
de Desempe
Comparacion
no Estimador-Observador
en diagrama de bloques del sistema, el
En la Figura 3.16, podemos ver la implementacion
de estado, los estimadores de las velocidades y las limitaciones
control en realimentacion
debidas al actuador y a los sensores. Y en la Figura 3.17 la misma idea pero implementando el observador calculado en (3.20), para ello utilizamos un bloque variable de estado
(3.19).
representando la ecuacion
de la Figura
En la Figura 3.18 mostramos los resultados que obtuvimos por simulacion
izquierda, en su version
podemos
Para comparar los resultados obtenidos, y dado que en nuestra simulacion
medir las velocidades angulares, calculamos la sumatoria de los errores absolutos de
y dando para el observador 21.71 y 4.1 respectivamente y para el estimador 79.48
y 57.34, respectivamente. Vemos as, como era de esperar, que el observador obtiene
mejores resultados que el estimador y esto se debe a que el observador utiliza mucha
Dise
no de Controladores y Simulacion
32
24
KTita
Actuacin
.3
KPsi
tita
Dsicretizacion Tita
Fi
In1
Discretizacion Psi
Discretizacion
de la Actuacion
Tita
Out1
psi
Alinealidades3
titap
Saturacion
de la actuacion
Fip
Pendulo no lineal
2.4
K TitaP
3.8
K Psip
de estado
Figura 3.14: Diagrama de bloques de la realimentacion
0.16
0.06
0.14
0.05
0.12
0.04
0.1
Posicin [rad]
Posicin [rad]
0.03
0.08
0.06
0.04
0.02
0.01
0.02
0
0
0.01
0.02
0.04
0
10
12
Tiempo [seg]
14
16
18
20
0.02
0
10
12
14
16
Tiempo [seg]
24
KTita
Actuacin
.3
KPsi
tita
u
Discretizacion
de la Actuacion
Saturacion
de la actuacion
Fi
In1
3.8
Out1
2.4
K Psip
Tita
Discretizacion Psi
psi
Out1
Alinealidades
Pendulo no lineal
K TitaP
Dsicretizacion Tita
In1
Out1
In1
18
20
de Estado
3.2 Control por Realimentacion
33
24
KTita
Actuacin
.3
KPsi
tita
u
Discretizacion
de la Actuacion
Saturacion
de la actuacion
Fi
In1
3.8
Tita
Discretizacion Psi
psi
Out1
Alinealidades
Pendulo no lineal
Out1
K TitaP
Dsicretizacion Tita
In1
2.4
Out1
K Psip
In1
0.06
0.15
0.04
0.1
Posicin [rad]
Posicin [rad]
0.02
0.05
0.02
0.05
0.04
0.1
0
10
12
Tiempo [seg]
14
16
18
20
0.06
0
10
12
Tiempo [seg]
14
16
18
20
Dise
no de Controladores y Simulacion
34
informacion
del sistema para estimar las variables de estado. Para terminar de
mas
confirmar esto, veamos en la Figura 3.19, ambas acciones de control. Para tener una idea
de la potencia consumida por el motor calculamos la sumatoria del valor absoluto de la
en el intervalo simulado, dando 577 para el caso del observador y de 1678 para
actuacion
el estimador.
15
Actuacin con observador
Actuacin con estimador
10
Tensin [Volts]
10
15
0
10
12
Tiempo [seg]
14
16
18
20
de la senal
de actuacion
Seguimiento a Referencias
accion
del pendulo con 0.2 rad.
este valor. Si ubicamos una ganancia delante del lazo cerrado con la inversa de la ganancia estatica,
en el
regimen permanente tendera al valor de referencia.
de Estado
3.2 Control por Realimentacion
35
Posicin [rad]
4
Ganancia de precompensacin
Accion Integral
Referencia
1
0
10
15
20
25
Tiempo [seg]
10
Posicin [rad]
0
Ganancia de precompensacin
Accin Integral
Referencia
10
15
20
0
10
15
20
25
Tiempo [seg]
36
Dise
no de Controladores y Simulacion
Captulo 4
Una vez que en las simulaciones obtuvimos controladores que nos proveen el desempeno
deseado, implementamos dichos controladores en el sistema real, para comprobar que
In1
Out1
Radianes
K1
ngulo Base
numcas(z)
Selector Manual
dencas(z)
Actuacin
K2
ZeroOrder
Hold1
Motor
0
Constante
Radianes
ngulo Pndulo
Actuacion
ZeroOrder
Hold
Posicin Pendulo
mas
Por otro lado podramos tambien
modificar el tiempo de establecimiento, eligiendo K1 (s) mayor, ya que cuanto mayor sea
cerca del eje j estaran
los polos a lazo cerrado, ver Figura 3.6.
dicha ganancia, mas
0.25
0.1
0.2
0.08
0.15
0.06
0.1
0.04
Poscicin [rad]
Posicin [rad]
38
0.05
0.02
0.05
0.02
0.1
0.04
0.15
0
10
15
20
Tiempo [seg]
25
30
35
40
0.06
0
10
15
20
Tiempo [seg]
25
30
35
40
4
Posicin del brazo
Referencia
Posicin [rad]
2
0
20
40
60
80
100
Tiempo [seg]
120
140
160
180
39
Radianes
ngulo Pndulo
K Tita
ZeroOrder
Hold1
In1
Posicin Base
Out1
3.8
K TitaPunto
Selector Manual
Actuacin
In1
Out1
2.4
Posicin Pendulo
Estmador velocidad base
Product
K Psi Punto
Motor
0
.3
Radianes
ngulo Base
Constante
K Psi
ZeroOrder
Hold
Step
Actuacin
0
Referencia
Posicin Pendulo
24
Radianes
ngulo Pndulo
K Tita
ZeroOrder
Hold1
Actuacion
U
Tita P
3.8
Selector Manual
K TitaPunto
Tita
Actuacin
Psi P
Psi
2.4
Product
Posicin Base
Observador
K Psi Punto
Motor
0
ngulo Base
Step
.3
Radianes
ZeroOrder
Hold
Constante
K Psi
0
Referencia
desempeno
40
0.06
0.8
0.6
0.4
Posicin [rad]
Posicin [rad]
0.02
0.2
0
0.2
0.02
0.4
0.6
0.04
0.8
1
20
22
24
26
28
30
32
Tiempo [seg]
34
36
38
40
0.06
20
22
24
26
28
30
32
Tiempo [seg]
34
36
38
40
observador 1764 y para el estimador 3334. SI bien los valores no son los mismos que en
la relacion
entre ambos es bastante parecida.
la simulacion,
6
Actuacin con Observador
Actuacin con Estimador
4
Posicin [rad]
6
20
22
24
26
28
30
32
Tiempo [seg]
34
36
38
40
de actuaciones
Figura 4.7: Comparacion
4.3
de la Accion
Integral
Implementacion
analizaremos como
de estados,
En esta seccion
se comporta el sistema con realimentacion
de la Accion
Integral
4.3 Implementacion
41
3.5
Referencia
Posicin del Brazo
1.5
2.5
Posicin [rad]
Posicin [rad]
2
1
0.5
1.5
1
0.5
0
0.5
0.5
0
20
40
60
80
100
120
Tiempo [seg]
140
160
180
200
1
0
20
40
60
80
100
120
Tiempo [seg]
140
160
180
200
Posicin [rad]
1.5
0.5
0.5
0
20
40
60
80
100
120
140
160
180
200
Tiempo [seg]
de referencia onda cuadrada con ganancia de precomFigura 4.9: Seguimiento una senal
pensacion
42
Captulo 5
Analisis
del efecto de las cuantizaciones y de
las perturbaciones del motor
del
Con el fin de realizar el proyecto con un bajo presupuesto, para la construccion
pendulo utilizamos mayormente componentes que se encontraban en el stock del Labora
torio de Electronica
de la Universidad. Como vimos en el Capitulo 1 dichos componentes
del lazo cerrado, que hicieron que
imponen ciertas restricciones fsicas en el desempeno
en la cuantificacion
del Actuador y de los Sensores
5.1 Disminucion
de los conversores digitalLa primera mejora que se nos ocurre es aumentar la resolucion
analogico
(para la actuacion),
y analogico-digital
(para el sensor del pendulo). La reso actual del conversor-digital analogico
lucion
es de ocho bits obteniendo una variacion
de 0.05859 V, aumentaremos dicha resolucion
con un conversor de domnima de tension
utilizamos para el sensor de posicion
supusimos
valor en la PC a traves de un conversor digital-analogico.
Para la simulacion
del sensor a 0.0003rad.
que podramos aumentar la resolucion
Analisis
del efecto de las cuantizaciones y de las perturbaciones del motor
44
0.12
0.06
Con mejoras
Sin mejoras
0.08
0.04
0.06
0.03
0.04
0.02
0.02
0
0.01
0
0.02
0.01
0.04
0.02
0.06
0.03
0.08
0
10
15
20
Con mejoras
Sin mejoras
0.05
Posicin [rad]
Posicin [rad]
0.1
0.04
0
25
10
Tiempo [seg]
15
20
25
Tiempo [seg]
0.06
Con mejoras
Sin mejoras
0.08
0.04
0.06
0.03
0.04
0.02
0.02
0
0.01
0
0.02
0.01
0.04
0.02
0.06
0.03
0.08
0
10
15
Tiempo [seg]
20
Con mejoras
Sin mejoras
0.05
Posicin [rad]
Posicin [rad]
0.1
25
0.04
0
10
15
20
25
Tiempo [seg]
Concluimos, a partir de los ensayos realizados, que para obtener un mejor desempeno
las perturbaciones originadas por el motor.
hay que centrarse en la disminucion
45
0.12
0.06
Con mejoras
Sin mejoras
0.08
0.04
0.06
0.03
0.04
0.02
0.02
0
0.01
0
0.02
0.01
0.04
0.02
0.06
0.03
0.08
0
10
15
Tiempo [seg]
20
Con mejoras
Sin mejoras
0.05
Posicin [rad]
Posicin [rad]
0.1
25
0.04
0
10
15
20
Tiempo [seg]
25
46
Analisis
del efecto de las cuantizaciones y de las perturbaciones del motor
Captulo 6
Conclusiones
y el posterior control a traves de una PC del
En este informe describimos la construccion
de utilizar un software en tiempo real fue una
pendulo invertido rotatorio. La eleccion
gran ventaja, dado que pudimos desarrollar controladores, observadores y estimadores
nos permitio almacenar los datos obtenidos del sistema para
en forma sencilla. Ademas
analisis
y ajuste de los parametros
del modelo matematico.
El modelo matematico
que obtuvimos, y el metodo de ajuste de los parametros
en forma
iterativa, mostro ser fiel al sistema real. Esto resulta una ventaja cuando los controladores
planteamos: estabilizacion
del angulo
del pendulo y seguimiento a referencias
El diseno
LQR, no lo calculamos analticamente por su complejidad. Para ello utilizamos el software
48
Conclusiones
Apendice
A
Lectura
Entrada
Datos
EOC
Escritura
Salida
DAC1
DAC2
Start 0
Start 1
Start 2
Start 3
Start 4
Start 5
Start 6
Start 7
Digital
Salidas
Analogicas
Entradas
Analogica
50
A.2
Actuador
El circuito PWM que implementamos, Figura A.2, tiene como entrada una senal
del tiempo activo de la senal
PWM se realiza a traves de dicha ende 0 - 5V, la variacion
trada. La frecuencia de PWM que utilizamos es 250Hz.
A.2 Actuador
51
15V
15V
5V
5V
15V
10K
820
10K
820
MOS1
820
15V
MOS3
MOS2
MOS4
Motor
820
15V
10K
10K
820
820
820
5V
5V
Logica de Control
Direccion
On/Off
50K
1M
12V
5V
1M
47K
7
12V
1K
6
+
+
820
74HC14
12V
Vin
50K
47nF
12V
ne555
2
1
10K
12V
PWM
7
del PWM
Figura A.2: Circuito de implementacion
52
A.3
Sensores
Placa ranurada
s1
A
Receptor
Emisor
tiempo
s2
s1
s1
s2
s2
Sentido de giro
a la Figura
defasaje es util para detectar el sentido de giro del eje, si prestamos atencion
adelanta a la otra. ToA.4, podemos ver que dependiendo del sentido de giro una senal
s1 para contar los pulsos, en cada flanco ascendente de s1 contamos
mamos a una senal
un pulso, ahora tenemos que saber si lo sumamos o lo restamos, dependiendo el sentido
la obtenemos de la senal
s2 . Si s2 esta en alto, la sumamos, si
de giro. Esa informacion
esta en bajo la restamos.
es
Una de las ventajas de este tipo de sensor de angulo,
es que el rango de medicion
ilimitado, mientras que la mayor desventaja es que los pulsos entregados por el encoder
son de alta frecuencia, por lo tanto es posible que al contarlos se pierdan pulsos.
A.3 Sensores
53
En nuestro caso este sensor se encuentra solidario al eje del motor y la placa ranurada
o
de 360
cuenta con 20 ranuras, lo que representa una precision
40 , ya que contamos los
1:130, al dar el
pulsos de ambas senales.
Debido a que el motor posee una reduccion
1
a
motor una vuelta el eje exterior da 130 vueltas. Por lo tanto aumentamos la precision
2
40130 = 0.0012 rad / pulso.
La logica
para contar los pulsos fue realizada en el S IMULINK, en la Figura A.5 podemos
2
S2
1
In1
SubSystem
NOT
2*pi/5150
Conversion de
pulsos a Radianes
In1
1
Radianes
Logical
Operator
1
Out1
2
In2
Out1
Trigger
In2
SubSystem1
variar el valor de una de las resistencias se desbalancea provocando una cada de tension
Vout .
Vcc
R
Vout
Debido al iman
de para
terminado, 60o . Como solamente utilizaremos el rango 18o , ajustamos la senal
de 18o , as obtenemos mayor precision
en la
que los 0-5V correspondan a una variacion
conversion.
54
Pendulo
60o
Iman
Brazo
Eje
Sensor Magnetico
Ajuste de la Ganancia
Amplificador Diferencial
47nF
47nF
25K
220K
12V
22K
Vo Sensor Magnetico
22K
12V
Vo : 0 5V
12V
12V
820K
1M
47nF
10K
12V
12V
4, 7K
12V
12V
Bibliografa
[1] John S. Bay. Linear Space Systems. McGraw-Hill, 1999.
[2] C-T Chen. Linear System Theory and Design. Oxford University Press, 1999.
[3] Graham C. Goodwin, Stefan F. Graebe, and Mario E. Salgado. Control System Design.
Prentice Hall International, 2001.
[4] Bruce A. Francis John C. Doyle and Allen R. Tannenbaun. Feedback Control Theory.
Maxwell Macmillan International Editions, 1992.
[5] H. Khalil. Nonlinear Systems. Prentice Hall, 1996.
[6] Lennart Ljung. System Identification: Theoty for the User. Prentice-Hall, 1987.
[7] Katsiuko Ogata. Control Moderno. Pentice Hall, 1998.
[8] Mara M. Seron, Julio H. Braslavsky, and Graham C. Goodwin. Fundamental Limitations in Filtering and Control. Springer, 1997.
[9] Real Time Windows Target. Users Guide Version 1. The Math Works Inc., 1998.