Está en la página 1de 64

Construccion y Diseno de Controladores

de un Pendulo Invertido Rotante

Sebastian Mallo
Virginia Mazzone

Director: Ing. Roberto Saco

Pendulo Invertido Rotante

Proyecto Fin de Carrera


Ing. Automatizacion y Control Industrial
Departamento de Ciencia y Tecnologa
Universidad Nacional de Quilmes
11 de febrero de 2003
Este informe describe el proyecto de fin de carrera Construccion y Diseno de Controladores
de un Pendulo Invertido Rotante, realizado por Sebastian Mallo y Virginia Mazzone, para la
carrera Ingeniera en Automatizacion y Control Industrial dependiente del Departamento de
Ciencia y Tecnologa de la Universidad Nacional de Quilmes. Este proyecto fue realizado
bajo la supervision del profesor Ing. Roberto Saco.
El informe fue tipeado en LATEX y pdfLATEX usando la clase book con los paquetes ba-
bel(spanish) y hyperref. La familia de fuentes utilizada es bookman para texto, y
mathpple para matematica.

Florencio Varela, 11 de febrero de 2003.


Resumen

Este informe sintetiza la construccion de un pendulo invertido rotante y su posterior con-


trol a traves de una PC. Utilizamos como actuador un motor de corriente continua y
sensamos los angulos del brazo rotatorio y del pendulo con un encoder incremental y un
sensor magnetico respectivamente.
Construido el sistema lo modelizamos matematicamente, utilizamos como herramienta
las ecuaciones de Euler-Lagrange. Una vez obtenido el modelo, e identificado, procedimos
al diseno de diversos controladores: control en cascada y control por realimentacion de
estados. Para verificar el desempeno de los controladores disenados, simulamos el modelo
no lineal obtenido en S IMULINK junto con los controles.
Para poder implementar el control por realimentacion de estado, fue necesario disenar
un observador para estimar aquellas variables de estado que no podemos medir. Una
vez disenado el observador, obtuvimos el desempeno deseado, salvo al pretender que el
brazo siga referencias constantes. Por otro lado, la implementacion del control en cas-
cada fue inmediata ya que solo necesitamos las mediciones que tenemos. Para concluir,
disenamos una variante robusta del control en realimentacion de estado, accion integral,
ademas solucionamos el problema de seguimiento de referencias, la implementamos sa-
tisfactoriamente, obteniendo as el mejor desempeno.
La implementacion la realizamos utilizando una placa de adquisicion de datos junto
con el software M ATLAB, S IMULINK, Real Time Workshop y Real Time Windows Target, que
nos permitieron el control en tiempo real.
iv
Indice General

Resumen iii

Introduccion vii
0.1 Formulacion del Problema y Objetivos . . . . . . . . . . . . . . . . . . . . . . . vii
0.2 Contenido del Informe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii

1 Descripcion del Sistema 1


1.1 Controlador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1.1 Programa de Simulacion y Control . . . . . . . . . . . . . . . . . . . . . 2
1.1.2 Adquisicion de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Actuador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.1 Limitaciones debidas al Actuador (Motor) . . . . . . . . . . . . . . . . . . 4
1.3 Sensores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.3.1 Limitaciones debidas a Sensores . . . . . . . . . . . . . . . . . . . . . . . 5

2 Modelizacion Matematica del Sistema 7


2.1 Ecuaciones de movimiento del pendulo invertido . . . . . . . . . . . . . . . . . 7
2.1.1 Ecuaciones de Euler-Lagrange . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2 Modelo Matematico de un Motor de CC . . . . . . . . . . . . . . . . . . . . . . . 10
2.3 Representacion en Modelo de Estado . . . . . . . . . . . . . . . . . . . . . . . . 11
2.4 Linealizacion del Sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.5 Representacion Entrada-Salida . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.6 Simplificacion del Modelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.7 Ajuste de los Parametros en forma Aproximada . . . . . . . . . . . . . . . . . . 14

3 Diseno de Controladores y Simulacion 17


3.1 Control en Cascada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.1.1 Diseno de K2 (s) por Asignacion de Polos . . . . . . . . . . . . . . . . . . 18
3.1.2 Diseno de K1 (s) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.1.3 Simulacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.2 Control por Realimentacion de Estado . . . . . . . . . . . . . . . . . . . . . . . 26
3.2.1 Diseno de la Matriz K . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.2.2 Seguimiento Robusto: Accion Integral . . . . . . . . . . . . . . . . . . . 27
3.2.3 Estimadores de las variables de Estado no Medidos . . . . . . . . . . . 29
3.2.4 Observador de las variables de Estado . . . . . . . . . . . . . . . . . . . 29
3.2.5 Simulacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

4 Ensayos de Controladores sobre el Sistema Real 37


4.1 Implementacion del Control en Cascada . . . . . . . . . . . . . . . . . . . . . . 37
4.2 Implementacion del Control en Realimentacion de Estados . . . . . . . . . . . 39
4.3 Implementacion de la Accion Integral . . . . . . . . . . . . . . . . . . . . . . . . 40
vi Indice General

5 Analisis del efecto de las cuantizaciones y de las perturbaciones del motor 43


5.1 Disminucion en la cuantificacion del Actuador y de los Sensores . . . . . . . . 43
5.2 Mejoras fsicas del motor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

6 Conclusiones 47

A Descripcion detallada de los componentes del Sistema 49


A.1 Controlador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
A.1.1 Especificaciones de la PC . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
A.1.2 Placa de Adquisiscion de Datos . . . . . . . . . . . . . . . . . . . . . . . 49
A.2 Actuador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
A.3 Sensores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
A.3.1 Encoder Incremental . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
A.3.2 Sensor Magnetico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

Bibliografa 55
Introduccion

El objetivo de este trabajo es la aplicacion de los conocimientos adquiridos a lo largo


de la carrera, donde nos centramos en el diseno de controladores. Para ello elegimos
como sistema un pendulo invertido rotante. Muchas Universidades del mundo poseen
un pendulo invertido para demostrar resultados de control. La razon por la cual este
problema es interesante desde el punto de vista de control es por que ilustra muchas de
las dificultades asociadas con problemas de control del mundo real.

0.1 Formulacion del Problema y Objetivos


El pendulo invertido rotante consiste en un brazo giratorio horizontal, el cual posee en su
extremo una barra vertical la cual gira libremente alrededor de un eje paralelo al brazo,
como podemos apreciar en la Figura 1.

m, g

z

y I, l
r

x
a

Figura 1: Diagrama del pendulo invertido rotante

Dado que nuestra Universidad no cuenta con un Pendulo Invertido Rotante, por su alto
costo, nos propusimos como objetivo del trabajo, la construccion del mismo. Mientras
que la especificacion de diseno de los controladores que nos propusimos, es mantener la
barra, de ahora en mas pendulo, en forma vertical mediante la aplicacion de una fuerza
en el brazo. Este proceso se ve intuitivamente a traves del ejemplo de tratar de mantener
una escoba en forma vertical con una mano. Una especificacion secundaria es controlar
el brazo en una posicion determinada. Estos objetivos fueron alcanzados implementando
los controladores por medio de una PC.
El proceso de diseno de un sistema de control requiere de los siguientes pasos, segun
[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.


viii Introduccion

3. Simplificar el modelo si es necesario para hacerlo mas facil.

4. Analizar el modelo resultante, determinar sus parametros.

5. Decidir las especificaciones de desempeno.

6. Decidir el tipo de control a utilizar.

7. Disenar un controlador que alcance las especificaciones, si es posible, si no, modifi-


car las especificaciones.

8. Repetir desde 1 si es necesario.

9. Elegir hardware y software e implementar el controlador.

10. Ajustar el controlador on-line si es necesario.

0.2 Contenido del Informe


Este informe consta de cinco captulos y un apendice. En el Captulo 1 describimos
cada uno de los componentes del sistema a controlar, de los sensores y del controlador.
En el Captulo 2 modelizamos matematicamente el sistema, utilizando las ecuaciones de
Euler-Lagrange, linealizamos alrededor del punto donde queremos controlar al sistema y
a partir de ciertas consideraciones, obtuvimos un modelo simplificado del mismo. En el
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
controladores en el sistema real, verificando los resultados obtenidos por simulacion. En
el Captulo 5 analizamos el efecto de las cuantizaciones y de las perturbaciones utilizando
simulaciones. En el Capitulo 6 mostramos las conclusiones generales del trabajo. En el
Apendice A detallamos los componentes descriptos en el Captulo 1.
Por ultimo, queremos agregar que este proyecto es una contribucion al laboratorio de la
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

Descripcion del Sistema

En la introduccion describimos el sistema sin entrar en detalle de la fuente de movimiento


ni que mediciones debemos realizar para lograr las especificaciones de control propues-
tas. El sistema de movimiento del brazo es basicamente un motor de corriente continua,
mientras que intuitivamente de las especificaciones planteadas podemos deducir que es
necesario medir el angulo del pendulo y del brazo, en 3.2 demostraremos que esta condi-
cion es necesaria y suficiente.
En la etapa de diseno es de gran utilidad contar con programas que nos permita simu-
lar de forma sencilla sistemas dinamicos en una PC. Estos programas nos proporcionan
un ambiente flexible de trabajo a la hora del diseno y analisis del funcionamiento de dis-
tintos controladores o bien del comportamiento del sistema a lazo abierto. Lo interesante
de esto sera poder contar con ese ambiente pero no solo para ser utilizado en simulacio-
nes y luego programar el controlador en un microprocesador o un PLC que interactuaran
con el sistema real. Cualquier modificacion que queramos realizar sobre el controlador
implica tener que grabar nuevamente el programa en la memoria del microprocesador o
PLC, y en una etapa de diseno en la cual se realizan muchas modificaciones esto resulta
engorroso. Por dicha razon, nuestra idea fue implementar el control a traves de una PC.
En la Figura 1.1 podemos ver un diagrama de los componentes del sistema y del flujo de
senales, que sintetiza lo mencionado anteriormente.

Sistema fisico

- Actuador Sensores

Controlador 

Figura 1.1: Diagrama del lazo de control

El bloque Sensores representa los sistemas de medicion utilizados, el bloque Actuador


representa el sistema de movimiento del brazo y el bloque Controlador la implementacion
del controlador. En este capitulo detallaremos cada uno de los bloques que forman parte
del sistema.
2 Descripcion del Sistema

1.1 Controlador
La implementacion del controlador la realizamos a traves de una PC, la cual cuenta con
una placa adquisidora de datos, que es nuestro nexo entre la PC y el sistema real. El
conjunto de programas que utilizamos para el manejo de la placa adquisidora y para la
simulacion e implementacion de los controladores en la PC son el Real Time Workshop,
Real Time Windows Target [9], M ATLAB y S IMULINK. En el diagrama en bloques de la
Figura 1.2 se sintetiza la implementacion del controlador.

Placa de - Actuador
Sensores -
Adquisicion de Datos
6

?
Driver
6
?
Programa de
Simulacion y
Control

CONTROLADOR

Figura 1.2: Diagrama de bloques del Controlador

1.1.1 Programa de Simulacion y Control


El programa utilizado para las simulaciones y la implementacion del control es el S IMU -
LINK . S IMULINK es un paquete de programas para modelado, simulacion y analisis de
sistemas dinamicos. Soporta sistemas lineales y no lineales, modelados en tiempo con-
tinuo, discreto o un hbrido de ambos. Las simulaciones son interactivas, es decir, se
pueden cambiar parametros on-line e inmediatamente ver que esta sucediendo. Para el
analisis de los sistemas se pueden utilizar las herramientas de analisis de M ATLAB .
R Pa-
ra la implementacion de los controladores se utilizaron tambien los programas Real Time
Workshop y Real Time Windows Target, los cuales nos permiten la ejecucion en tiempo
real.

Real Time Workshop. Es un generador de codigo en lenguaje C a partir de diagramas


en bloques de S IMULINK. Ademas construye programas capaces de ser ejecutados en
tiempo real en una gran variedad de entornos, incluyendo dispositivos como micro-
controladores, placas dedicadas o DSP.

Real Time Windows Target. Es un programa que permite ejecutar programas, com-
pilados en lenguaje C a traves del Real Time Workshop, en una PC bajo sistema
operativo Windows en tiempo real.

1.1.2 Adquisicion de datos


Placa de Adquisicion de Datos La placa adquisidora que utilizamos es una Interfaz
Multiple para PC de Electroqumica Delta S.R.L. para Slot ISA de PC. Si bien es una placa
1.2 Actuador 3

de bajo costo, cuenta con los requisitos que demanda nuestro proyecto, veamos algunas
de sus principales caractersticas:

8 entradas digitales.

8 salidas digitales.

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 de 8 bits.

Driver La forma en la que interactua esta placa con los distintos programas es a traves de
registros o direcciones de memoria de la PC. Las distintas funciones de la placa se efectuan
por medio de operaciones de lectura y escritura en dichas direcciones. Las secuencias de
lectura y escritura sobre estas direcciones de memoria se realizan a traves de un programa
denominado driver.

1.2 Actuador
A continuacion citamos algunas de las caractersticas principales del motor de corriente
continua que, como mencionamos anteriormente, es quien proveera el movimiento del
brazo:

Sin escobillas.

Tension nominal de alimentacion: 24V.

Consumo de corriente: 2A.

Reduccion: a engranajes, 1:130.

En la Figura 1.3, mostramos el diagrama de bloques del Actuador.

Puente
H  
Generador
-
PWM
-
On/Off M
Bloque  
PC
- Dir

Figura 1.3: Diagrama de bloques del Bloque motor

El Generador de PWM, es el encargado de generar una senal cuadrada, con tiempo


activo proporcional a una senal de 0 a 5V proveniente de la placa de adquisicion de datos.
Mientras la senal de direccion proviene de una salida digital.
El Puente H es la etapa de potencia e inversor de marcha que alimenta al motor.
4 Descripcion del Sistema

1.2.1 Limitaciones debidas al Actuador (Motor)


Los actuadores son origen de limitaciones de desempeno en control. En particular, consi-
deraremos
restricciones en actuacion mnima, y
restricciones en actuacion maxima.
Estas restricciones pueden ser tanto en amplitud, como en velocidad.

Restricciones de Actuacion Mnima


Una limitacion frecuente es la imposibilidad de efectuar actuaciones arbitrariamente pe-
quenas. Un caso tpico es el de un controlador que actua mediante un dispositivo cuan-
tizado. En nuestro caso la actuacion la realizamos a traves de una salida analogica de la
placa adquisidora que, como podemos ver en A.1, entrega una tension de 0-5V a traves de
un conversor digital/analogico de 8 bits. Por lo tanto tendremos solo 256 niveles distintos
de actuacion.
Cuando la actuacion esta cuantizada, el mnimo error estatico de seguimiento estara
limitado por el umbral de cuantizacion del actuador en general no podra conseguirse error
nulo en regimen permanente. Otro caso en que existen limitaciones de actuacion mnima
se origina en la existencia de elementos mecanicos con friccion estatica (el actuador se
pega).

Restricciones de Actuacion Maxima


En la practica, todos los actuadores tienen lmites maximos de actuacion, que pueden
alcanzarse si la senal de control experimenta picos elevados o cambios bruscos en la
referencia, y as, el actuador satura.
El limitador saturacion se define, Figura 1.4, por

u(t)
umax

umax
si u(t) > umax , umin
u(t) = sat(u(t))) = u(t) si umin u(t) umax , umax u(t)

umin si u(t) > umin .

umin

Figura 1.4: Saturacion

La senal maxima de actuacion umax es 15V y la mnima umin es 15V, si bien la tension
nominal del motor es 24V. Elegimos este valor de tension ya que en las simulaciones
previas el valor de tension en el regimen permanente rondaba los 2V. Si utilizamos como
tension maxima los 24V, debido a la discretizacion de la placa de adquisicion de datos, la
24
mnima actuacion es de 255 = 0.0941. Es decir, en el rango 2V tendremos 42 niveles de
actuacion distintas, en cambio, si tomamos como actuacion maxima 15V aumenta a 68.
Con este razonamiento, una pregunta sera por que no bajar mas la tension. El problema
se presenta cuando, a menor tension, el motor se mueve con menos velocidad, no teniendo
la suficiente reaccion.
1.3 Sensores 5

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.
La descripcion detallada de los sensores la encontramos en A.3.

Medicion del Angulo del Brazo En este caso utilizamos un encoder incremental. Una de
las ventajas de este tipo de sensor de angulo, es que el rango de medicion es 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. La logica encargada
de contar los pulsos fue implementada en la PC, utilizando dos entradas digitales de la
placa adquisidora para leer los pulsos del encoder.

Medicion del Angulo 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.

1.3.1 Limitaciones debidas a Sensores


Los sensores son una parte crucial de cualquier diseno en un sistema de control, dado
que proveen la informacion necesaria a partir de la cual se genera la accion de control.
Podemos pensar que son los ojos del controlador, por lo que cualquier defecto signifi-
cativo, o error en la medicion tendra un impacto significativo en el desempeno global del
sistema. Los principales dificultades asociadas a los sensores tienen origen en

ruido, inherente a la medicion, y

cuantificacion, inherente a la discretizacion, Figura 1.5.

Angulo real

Angulo medido

Figura 1.5: Cuantificacion

El ruido por lo general es de alta frecuencia por lo que antes de realizar la medicion
filtramos la senal con un filtro pasabajos.
El problema de la cuantificacion lo podemos ver en el encoder. Como podemos ver en
A.3, cada pulso entregado por el encoder representa un movimiento de 0.0012 radianes,
lo que hace imposible medir una variacion de angulo menor a ese valor.
6 Descripcion del Sistema

El sensor del pendulo, nos entrega una tension de 0-5V correspondiente a una varia-
cion de angulo de 18o (ver A.3). Al ser el conversor de la placa adquisidora de 8 bits,
este sensa solamente 256 niveles de tension distintos. Por lo que la mnima variacion de
18o
angulo que sensara sera 256 , en radianes 0.0024.
Captulo 2

Modelizacion Matematica del Sistema

La modelizacion es el primer paso en el diseno de un lazo de control. Cuanto mayor es el


conocimiento del proceso, mejores son los resultados que obtendremos, ya que el diseno
del control sera basado en el modelo. Para conocer la dinamica del sistema, podemos
deducir su comportamiento a partir de las leyes fsicas que lo rigen, como electricas,
mecanicas, termicas, etc. o podemos utilizar tecnicas de identificacion de sistemas, que
tiene que ver con el problema de construir el modelo matematico de sistemas dinamicos a
partir de la observacion de entradas y salidas del sistema [6].
En este captulo detallaremos la obtencion del modelo matematico del pendulo in-
vertido rotatorio a partir de las leyes fsicas que lo gobiernan. Para obtener el modelo
matematico utilizamos las ecuaciones de Euler-Lagrange, que proporcionan dos ecuacio-
nes 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
modelo obtenido es no lineal, linealizamos el sistema alrededor del puntos de operacion
(equilibrio del sistema) que propusimos como especificaciones en el Capitulo 0.1: estabili-
zar el pendulo en forma vertical y controlar el angulo del brazo.

2.1 Ecuaciones de movimiento del pendulo invertido


Una de las formas mas eficientes de encontrar las ecuaciones de movimiento de un siste-
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 des-
criben el movimiento las encontramos calculando algunas derivadas del Lagrangiano e
igualandolas a la fuerza aplicada (friccion y torque del motor).

2.1.1 Ecuaciones de Euler-Lagrange


Para escribir las ecuaciones de Euler-Lagrange, necesitaremos calcular derivadas parcia-
les del Lagrangiano, donde definimos el Lagrangiano L como
L(q(t), q(t)) = Ecin E pot , (2.1)
|{z} |{z}
Energa cinetica Energia potencial

con
   
(t) (t)
q(t) = y q(t) = (2.2)
(t) (t)
Las ecuaciones de Euler-Lagrange en notacion vectorial estan definidas como
d L L
 
= f, (2.3)
dt q q
8 Modelizacion Matematica del Sistema

donde f es cualquier momento aplicado al sistema, por ejemplo el torque de un motor o


friccion. La ecuacion (2.3) es simplemente una forma diferente del Principio de DAlambert
o de las ecuaciones de movimiento de Newton.
Calculamos ahora la energa cinetica y potencial para calcular el Lagrangiano y luego
derivarlo En la Figura 2.1 podemos ver un esquema simple del pendulo y las variables.

z m, g
: angulo entre el pendulo y la vertical
: angulo de giro del brazo
m: masa del pendulo
y l: longitud del pendulo
I: inercia del brazo
x l r: radio de giro del brazo
r,
I

g: gravedad

Figura 2.1: Esquema del pendulo invertido rotatorio

Energa potencial del pendulo invertido


La energa potencial es almacenada en el pendulo invertido y depende de la elevacion del
centro de masa m, suponiendo que el brazo del pendulo no tiene masa. Por lo que resulta

E pot = mgl cos . (2.4)

Energa cinetica del pendulo invertido


Para calcular la energa cinetica consideramos los dos cuerpos como si estuvieran aisla-
dos. 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

1 2
Ecin1 = I . (2.5)
2

siendo la velocidad angular del brazo.

Centro de masa del pendulo: Para calcular la energa cinetica total absoluta del
centro de masa del pendulo, debemos considerar ambos movimientos, en direccion
vertical y horizontal.
A la componente horizontal de la velocidad del centro de masa contribuye la rotacion
del brazo, es decir

vm,h = r + l cos ,

con la velocidad angular del pendulo.


La componente vertical de la velocidad es

vm,v = l sin .
2.1 Ecuaciones de movimiento del pendulo invertido 9

Resultando as el valor absoluto de la velocidad la suma del cuadrado de ambos


componentes

v2 = v2m,h + v2m,v = l 2 2 + r2 2 + 2rl cos ,

de donde la energa cinetica total del pendulo resulta


1 2 1 1
Ecin2 = mv = ml 2 2 + r2 m2 + rlm cos . (2.6)
2 2 2

Reemplazando en la ecuacion del Lagrangiano, ecuacion (2.1), la energa potencial (2.4)


y la energa cinetica total (suma de (2.5) y (2.6)), obtenemos

1
L(q(t), q(t)) = [ I2 + ml 2 + r2 m2 + 2rlm cos ] mgl cos ,
2
que podemos escribir en forma matricial como

ml 2
  
1  mrl cos
L(q(t), q(t)) = mgl cos
2 mrl cos I + mr2
1
= qT 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).
Si derivamos el Lagrangiano respecto de q, y luego respecto de q, tenemos que

L
= M(q)q (dado que la matriz M es simetrica) y
q
L 1 M(q) E pot
= qT q .
q 2 q q

Si ahora derivamos la derivada del Lagrangiano respecto de t, utilizando la regla del pro-
ducto, obtenemos
d L
   
d
= M(q)q + ( M(q) q.
dt q dt
Notemos que

M(q)
 
d
( M(q)) q qT q.
dt q

Escribamos la ecuacion de Euler-Lagrange (2.3) con los resultados obtenidos

1 M(q) E pot
M(q)q + q T q + = f , (2.7)
| {z } 2 q q |{z}
1 | {z } | {z } 4
2 3

donde cada uno de los terminos de la ecuacion anterior representa

1. termino referido a la inercia de la masa

2. termino de coriolisis

3. termino gravitacional

4. fuerzas o momentos externos aplicados


10 Modelizacion Matematica del Sistema

Despejando la derivada de mayor orden, en este caso q, de (2.7) tenemos

1 T M(q) E pot
 
1
q = M (q) q q +f
2 q q
(2.8)
E pot
   
1 1 d
= M (q) M(q) q +f
2 dt q
Notemos que det M 6= 0, por lo que la matriz M es invertible.
Escribimos la ecuacion (2.8) reemplazando a M, a q y q por la matriz y los vectores
correspondientes, quedando as
1 
ml 2
         
mrl cos 1 0 mrl sin mgl sin f
= +
mrl cos I + mr2 2 mrl sin 0 0 f
(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
motor sino con la tension, necesitamos una ecuacion que nos relacione el torque con la
tension del motor, u. Para ello calculamos el modelo matematico del motor de corriente
continua.

2.2 Modelo Matematico de un Motor de CC


Para calcular el modelo matematico del motor de corriente continua, planteamos las ecua-
ciones fsicas del sistema. Para ello recurrimos a un diagrama del circuito electrico del
armadura y al diagrama de cuerpo libre del rotor como mostramos en la Figura 2.2, donde

J: momento de inercia del rotor


R L
b: factor de amortiguamiento
+
+ K: constante de la fuerza electromotriz
V e = K R: resistencia electrica

L: inductancia electrica
b
: posicion del eje del motor

Figura 2.2: Diagrama de bloques de un motor de CC

El torque del motor, , esta relacionado linealmente con la corriente de armadura, i,


por un factor K . La fuerza contra electromotriz (fcem), e, depende de la velocidad de giro
como muestran las ecuaciones (2.10) y (2.11).

= K i (2.10)
e = Ke (2.11)

En el sistema internacional de medidas (SI), la constante de armadura, K y la cons-


tante 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 (2.12)
Li + Ri = v K (2.13)
2.3 Representacion en Modelo de Estado 11

Dado que J, b y L toman valores muy pequenos, podemos despreciarlos y as obtenemos


el modelo simple aproximado

K K2
(t) = v(t) (t). (2.14)
R R

2.3 Representacion en Modelo de Estado


Nos encontramos frente a un sistema que puede ser descripto por un numero finito de
ecuaciones diferenciales ordinarias, (2.9) y (2.14). En esta seccion representaremos las
ecuaciones en una forma compacta por la ecuacion diferencial vectorial de primer grado
(ecuaciones de estado), que en sistemas continuos es de la forma

x = f ( x, u), (2.15)

donde x es el vector de variables de estado y u es el vector de entradas de control.


Para escribir nuestro sistema como (2.15), elegimos como variables de estado a x1 =
, x2 = , x3 = y x4 = , de donde (2.9) resulta
1
1 0 0 0 0 0 0 0
0 1
= 0 0 1
0 0
0 0

0 0 ml 2 mrl cos mrl sin
2 0 0
0
0 0 mrl cos I + mr 2 0 0 mrl sin 0
(2.16)
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

y si reemplazamos el torque del motor f por (2.14), con u = v y el rozamiento dinamico


del pendulo f = bs, obtenemos el modelo de estado


x1 = x3
x = x4

2


2
( I + mr2 )( 12 mrlx3 x4 sin x1 + mgl sin x1 + bs x3 ) r cos x1 ( 12 mrlx23 sin x1 + KR u KR x4 )
x3 =

ml 2 ( I + mr2 mr2 cos2 x1 ) l ( I + mr2 mr2 cos2 x1 )
1 K K 2 1
2


mrlx3 sin x1 + R u R x4 r cos x1 ( 2 x3 x4 sin x1 + mgl sin x1 + bs x3 )
x4 = 2


I + mr2 mr2 cos2 x1 l (( I + mr2 mr2 cos2 x1 )
(2.17)

y ahora el sistema del pendulo sobre un brazo giratorio esta escrito de la forma (2.15),
donde x R4 y u R.

2.4 Linealizacion del Sistema


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
estado lineal incremental. La idea de utilizar un modelo lineal que es mucho mas simple
el analisis del sistema y el diseno de controladores.
El proceso de obtencion de un modelo lineal a partir de uno no lineal se llama linea-
lizacion [2]. La linealizacion se realiza alrededor de un punto o trayectoria de operacion,
definido por valores nominales, x(t), x0 y u(t), que satisfacen la ecuacion (2.15), es decir
x (t) = f ( x(t), u(t)).
12 Modelizacion Matematica del Sistema

Nos interesa el comportamiento de la ecuacion no lineal (2.15) para una entrada y


estado inicial apenas perturbados de los valores nominales, es decir para u(t) = u(t) + u (t)
y x0 = x0 + x0 con u (t) y x0 suficientemente pequenos para t t0 . Si suponemos que la
solucion permanece cercana a la nominal, en terminos de la ecuacion de estado no lineal,
tenemos

x (t) + x (t) = f ( x(t) + x (t), u(t) + u (t)) x(t0 ) + x (t0 ) = x0 + x0 .

Supongamos que f ( x, u) es diferenciable, entonces podemos usar la serie de Taylor


alrededor de x y u. Si nos quedamos solo con los terminos de primer orden para la
componente i de f , resulta
fi f f
f i ( x + x , u + u ) f i ( x, u) + ( x, u) x1 + + i ( x, u) x4 + i ( x, u)u .
x1 x4 u
Repitiendo para cada i = 1, . . . , 4 y volviendo a la notacion vectorial, obtenemos
f f
x (t) + x (t) f ( x(t), u(t)) + ( x(t), u(t)) x + ( x(t), u(t))u , (2.18)
x u
f
donde la notacion x representa la Matriz Jacobiana, del campo vectorial f con respecto al
vector x,
f f1

1

f x. 1 . x4
..
, .. .. .
x

f4 f4
x1 x4

Por lo que el modelo (2.18) se aproxima con una ecuacion de estado lineal de la forma

x (t) = A(t) x (t) + B(t)u( t), x (t0 ) = x0 ,

donde
f f
A(t) = ( x(t), u(t)), B(t) = ( x(t), u(t)). (2.19)
x u
Notemos que el sistema lineal (2.19) resulta inestacionario cuando se trata de una
trayectoria nominal, cuando se trata de un punto de operacion, el sistema lineal resulta
estacionario, es decir A(t) = A y B(t) = B .
La trayectoria de operacion que nos interesa en nuestro sistema es el punto de equi-
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 xeq = f ( xeq , 0) = 0, as


0 = x3
0 = x4



2
( I + mr2 )( 21 mrlx3 x4 sin x1 + mgl sin x1 + bs x3 ) r cos x1 ( 12 mrlx23 sin x1 + KR u KR x4 )


0 =

ml 2 ( I + mr2 mr2 cos2 x1 ) l ( I + mr2 mr2 cos2 x1 )
2
1
mrlx23 sin x1 + KR u KR x4 r cos x1 ( 12 x3 x4 sin x1 + mgl sin x1 + bs x3 )



0 = 2


I + mr2 mr2 cos2 x1 l (( I + mr2 mr2 cos2 x1 )
y despejando, obtenemos que el punto de equilibrio resulta
 
xeq = 0 x2 0 0 x2 R
ueq = 0.
2.5 Representacion Entrada-Salida 13

Si ahora tomamos el punto de equilibrio xeq y linealizamos el sistema alrededor de


dicho punto utilizando (2.19), obtenemos


0 0 1 0

0
f 0 0 0 1 f 0
A= = ( I +mr2 ) g B= =

( I +mr2 )b rK 2
x x=xeq Il u x=xeq rK

s
0

ml 2 I l IR l IR
2 K
rmg
I 0 rbl Is KIR IR

Dado que las salidas del sistema son y , definimos las matrices
   
1 0 0 0 0 0
C= y D= ,
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 +
rK u
( I + mr 2 ) g 2
( I + mr ) b

s rK
0

Il ml 2 I l IR l IR
2 K
rmg I 0 rbl Is KIR IR
(2.20)
 
1 0 0 0 .

y=
0 1 0 0

2.5 Representacion Entrada-Salida


La representacion entrada-salida no es mas ni menos que una forma de obtener la salida
de un sistema cualquiera en funcion de su entrada. Para ello sabemos que la salida del
sistema puede calcularse como
Z t
y(t) = g(t )u( ) d,
0

donde g(t) es la respuesta al impulso: la salida del sistema a un impulso unitario en el


instante . O, si ya tenemos el modelo en variables de estado,

x = Ax + Bu
(2.21)
y = Cx + Du

aplicamos la transformada de Laplace a (2.21) y obtenemos

sX (s) x(0) = AX (s) + BU (s)


Y (s) = CX (s) + DU (s).

Si despejamos X (s) de la primer ecuacion y suponemos que las condiciones iniciales son
nulas, x(0) = 0, y la reemplazamos en la segunda, obtenemos la matriz transferencia

G (s) = C (sI A)1 B + D. (2.22)

En nuestro sistema, dado que la matriz A es de cuarto orden, resulta complejo calcu-
lar (sI A)1 . Por eso utilizaremos una simplificacion del modelo lineal, bajo algunas
condiciones sobre nuestras variables que detallaremos.
14 Modelizacion Matematica del Sistema

2.6 Simplificacion del Modelo


Para obtener el modelo de estado simplificado partiremos de suponer que el sistema tiene
rozamiento dinamico en el pendulo despreciable, es decir bs 0. Ademas, como sabemos
la inercia, I, del brazo giratorio del pendulo se puede escribir en funcion de su masa como
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
linealizacion (2.20) en funcion de la masa del brazo, resulta

( I + mr2 ) g ( M + m) g rmg mg
a31 = = y a41 = = . (2.23)
Il Ml I Mr
g mg
Si tenemos en cuenta que M  m, entonces a31 = y a41 = 0, por lo que el modelo
l Mr
(2.20) se reduce a


0 0 1 0 0
0 0 0 1 + 0 u,
K2 K
= con = y= . (2.24)
g/l 0 0 r /l r/l 2
Mr R Mr2 R
0 0 0
| {z } | {z }
A B

Calculamos ahora la matriz transferencia (2.22) para el sistema (2.24). Para ello pri-
mero calculamos
1
s 0 1 0
0 s 0 1
(sI A)1 =


g/l 0 s r /l
0 0 0 s +
2
s (s + ) 0 s(s + ) sr /l
1 0 (s + )(s2 g/l ) 0 s2 g/l
=
2

2
s(s + )(s g/l ) s(s + ) g/l
0 s (s + ) s2 r /l
0 0 0 s(s2 g/l ).

De donde

  s r/l
(s) (s + )(s2 g/l )
Y (s) = =
U (s). (2.25)
(s)
s(s + )

2.7 Ajuste de los Parametros en forma Aproximada


Dado que el diseno de los controladres sera basado en el modelo matematico del siste-
ma, necesitamos conocer los valores numericos de los parametros. Mucho de ellos son
variables que podemos medir o que conocemos, como

l = 0.3 [m]

r = 0.27 [m]

M = 0.5 [kg]

m = 0.05 [kg]
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 es-
timaremos es forma aproximada utilizando un metodo iterativo, previamente verificamos
su funcionamiento en simulacion. En esta seccion describiremos los pasos que seguimos
para ajustar los parametros del modelo.
Bajo las consideraciones detalladas en 2.6 para obtener el modelo simplificado, vemos
que el motor se comporta independientemente del pendulo. Por lo que estimaremos los
valores de y solo con el motor. Para ello procedimos de la siguiente manera:

1. Excitamos al sistema con un escalon de amplitud 1.5 V a lazo abierto durante un


segundo con un perodo de muestreo de T = 1/1000 seg y guardamos los valores que
obtuvimos en la salida .

2. Obtenemos la funcion transferencia que relaciona la entrada u con la salida , de


(2.24), en funcion de y , dando como resultado

(s)
= . (2.26)
U (s) s(s + )

3. Dimos valores a y a hasta lograr una salida que comparandola con las muestras
obtenidas tenga un error aceptable.

4. La Figura 2.3 muestra el resultado obtenido mediante simulacion del sistema (2.26),
con

= 11.8
= 9.8

1.4

Datos Simulados
1.2 Datos Reales

0.8
Radianes

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 1
Tiempo

Figura 2.3: Comparacion entre la salida real y la aproximada


16 Modelizacion Matematica del Sistema

Por lo tanto queda as definido el sistema (2.24) por todos sus parametros como ecua-
cion de estado

0 0 1 0 0
0 0 0 1
+ 0 u

=
32.66 0 0 10.62 8.82
0 0 0 11.8 9.8
(2.27)
 
1 0 0 0

y=
0 1 0 0

y como funcion transferencia

 
8.82s
(s) s2 32.66)
= (s + 11.8)( U (s).

(s) 9.8
s(s + 11.8)
Captulo 3

Diseno de Controladores y Simulacion

En este captulo desarrollaremos diversas tecnicas de diseno de control basadas en el


modelo matematico del sistema, para lo que debemos plantear cuales son nuestras es-
pecificaciones de diseno, es decir como 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-
da. Luego desarrollamos tecnicas mas complejas utilizando las ecuaciones en espacio de
estado como realimentacion de estado.
Para el control en cascada utilizamos la representacion entrada-salida del sistema
(2.25) y a traves de la asignacion de polos [3] disenaremos el control. Para la realimenta-
cion de estado utilizaremos un regulador lineal cuadratico (LQR) y dado que solo podemos
medir dos de las cuatro variables de estados, estimaremos las variables de estado no
medidos.
Para el calculo de los controladores utilizamos M ATLAB. Para analizar el desempeno de
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
este sistema para que la simulacion se aproxime al sistema real.
A continuacion detallaremos cada una de las tecnicas utilizadas, desarrollando algu-
nas herramientas necesarias para cada tecnicas, y detallaremos tambien los resultados
obtenidos en la simulacion.

3.1 Control en Cascada


El control en cascada es una estructura alternativa de control, cuya idea basica es reali-
mentar variables intermedias en un sistema SISO1 [3]. Esta estructura, representada en
la Figura 3.1, tiene dos lazos:

un lazo primario con un controlador primario K1 (s), y


un lazo secundario con un controlador secundario K2 (s).

Los principales beneficios del control en cascada se obtienen


(i) cuando G2 (s) tiene alinealidades significativas que limiten el desempeno del lazo, o
(ii) cuando G1 (s) impone limitaciones al ancho de banda en una estructura de control
basica.
El caso (ii) se da, por ejemplo, cuando G1 (s) tiene ceros de fase no mnima o retardos
temporales. Como veremos en esta seccion, en nuestro problema G1 (s) tiene un cero de
fase no mnima.
1
Siglas que significa una entrada una salida (single input single outpu)
18 Diseno de Controladores y Simulacion

R(s) + Y (s)
d - j- K1 (s) + j- K (s) -. G2 (s) . .
G1 (s) -d
- 2 -

6 6
Lazo secundario
Lazo primario
T2 (s)

Figura 3.1: Estructura de control en cascada

Si pensamos nuestro problema como si fuera SISO, tomando como entrada U (s) y sa-
lida (s), donde ademas medimos el angulo del pendulo (s), podemos reescribir nuestro
sistema como muestra la Figura 3.2, teniendo en cuenta (2.25).

U (cs) - 2 (s)
r/l s - (s g2/l ) -c
(s2 g/l )(s+ ) r/l s
-(sc)

Figura 3.2: Diagrama de bloques del pendulo como si fuera un sistema SISO

El diseno de la Figura 3.1, puede separarse en dos etapas:


1. Lazo secundario. Disenamos K2 (s) para estabilizar el angulo del pendulo (s), as
obtenemos la funcion de sensibilidad complementaria (transferencia a lazo cerrado)
para el lazo secundario como

G2 (s)K2 (s) r/l s


T2 (s) = , donde G2 (s) = .
1 + G2 (s)K2 (s) (s2 g/l )(s + )

2. Lazo primario. Una vez disenado K2 (s) para estabilizar el angulo del pendulo (s),
el controlador primario K1 (s) puede disenarse tomando como planta equivalente
T2 (s) G1 (s), donde

(s2 g/l )
G1 (s) = .
r/l s2

3.1.1 Diseno de K2 (s) por Asignacion de Polos


En esta seccion detallaremos la tecnica utilizada para disenar 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.

Asignacion de Polos La tecnica de asignacion de polos trata basicamente 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


G (s) = = n1 n y (3.1)
A(s) an s + an1 sn1 + + a0
P(s) pn p sn p + pn p 1 sn p 1 + + p0
K (s) = = ,
L(s) l nl s nl + l nl 1 s nl 1 + + l 0
3.1 Control en Cascada 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)


T (s) , = Sensibilidad complementaria (3.2)
1 + G (s)K (s) A(s) L(s) + B(s) P(s)
1 A(s) L(s)
S(s) , = Sensibilidad (3.3)
1 + G (s)K (s) A(s) L(s) + B(s) P(s)
G (s) B(s) L(s)
Si ( s ) , = Sensibilidad de perturbacion de entrada
1 + G (s)K (s) A(s) L(s) + B(s) P(s)
(3.4)
K (s) A(s) P(s)
Su (s) , = Sensibilidad de control (3.5)
1 + G (s)K (s) A(s) L(s) + B(s) P(s)

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) - j Y(s)
?
K (s) -
6
j
6
Dm ( s )

Figura 3.3: Lazo de control de un grado de libertad

Nuestro objetivo es ver bajo que condiciones dados B(s) yA(s), que definen nuestra
planta, se pueden disenar P(s) y L(s) tal que el polinomio caracterstico a lazo cerrado sea
Alc (s). El siguiente lema resume estas condiciones (demostracion ver [3]).

Lema 1 (Asignacion de Polos SISO). Consideremos un lazo de realimentacion de un


grado de libertad con un controlador K (s) y un modelo nominal G (s) dado por (3.1). Su-
poniendo 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

A(s) L(s) + B(s) P(s) = Alc (s) (3.6)

Notemos que si elegimos Alc (s) estable 3 , y si ademas no existen cancelaciones inesta-
bles entre el controlador K (s) y la planta G (s), el lazo de la Figura 3.3, resulta internamente
estable, es decir que las funciones de sensibilidad (3.2) a (3.5) son estables.

P2 (s)
Volvamos a nuestro problema, disenar K2 (s) = L2 ( S)
tal que estabilice el lazo tomando

B(s) = r/l s y A(s) = (s2 g/l )(s + ),


2
no tienen factores en comun
3
con todos sus ceros con parte real negativa
20 Diseno de Controladores y Simulacion

donde el grado de la planta es n = 3. Segun el Lema 1, tenemos que elegir nlc = 2n 1 = 5


para que existan polinomios P2 (s) y L2 (s) de grado n p = nl = n 1 = 2 que satisfagan (3.6).
Para la eleccion de Alc (s) vamos a recurrir
p a la cancelacion estable de los factores de A(s),
es decir vamos a elegir Alc (s) = (s + g/l )(s + ) Alc (s), donde ahora Alc (s) tiene orden 3.
De esta forma nuestro polinomio caracterstico a lazo cerrado se reduce a
q
(s + g/l )(s + ) Alc (s) = P2 (s) (r/l s) + L2 (s) (s2 g/l )(s + ),
| {z } | {z } | {z }
Alc (s) B(s) A(s)

que ppara que podamos realizar la cancelacion estable, debemos asegurar que P2 (s) =
(s + g/l )(s + ) P2 (s), por lo que P2 (s) = p0 , con p0 R, ya que P2 (s) tienen grado 2 . De
esta forma la ecuacion diofantina que nos queda es
q
Alc (s) = p0 (r/l s) + (s2 + l1 s + l0 )(s g/l ). (3.7)
|{z} | {z }
P2 (s) L2 (s)

Si tomamos Alc (s) = s3 + c2 s2 + c1 s + c0 , y expresamos (3.7) en forma de sistema de


ecuaciones matricial, obtenemos
p
1 0 0 l1 c2 + g/l
0 1 r/l l2 = c1 ,
p
0 0 g/l p0 c0
| {z }
Me

que admite solucion ya que Me es no singular, es decir det Me 6= 0.


Lo unico que nos queda ahora es elegir coeficientes de Alc (s) tal que sea estable. La
eleccion de este polinomio no es trivial ya que nuestra G2 (s) es inestable, y existen limi-
taciones de diseno para la sensibilidad complementaria cuando existen polos inestables
en el sistema. En la siguiente seccion detallaremos estas limitaciones y como elegir el
polinomio caracterstico en estos casos [8].

Limitaciones de Diseno Impuestas por G2 (s) para la Eleccion de Alc(s)


En esta seccion discutiremos los compromisos de diseno que existen en la respuesta
temporal debida a la entrada escalon en un sistema SISO. Estos compromisos de diseno
se originan en limitaciones estructurales de la planta a controlar impuestas por polos
inestables y ceros de fase no mnima4 de su funcion transferencia. Estas limitaciones son
inevitables para cualquier controlador que estabilice el lazo. Por ejemplo, como veremos
a continuacion, los polos inestables a lazo abierto implican la existencia de sobrevalor en
la respuesta, e inducen un compromiso de diseno entre la magnitud de este sobrevalor y
el tiempo de establecimiento de la respuesta.

Respuesta al escalon Definamos los parametros que describen las propiedades rele-
vantes de la dinamica de los sistemas 5 , considerando como respuesta al escalon la Figura
3.4

valor en el regimen estacionario, y : el valor final de la respuesta al escalon (esto


no tiene sentido si el sistema tiene polos en el SPD 6 ).
4
ceros con parte real positiva
5
Existen distintas definiciones para estos parametros en la literatura, nosotros adoptamos las definiciones
propuestas por [7]
6
SPD: semiplano derecho
3.1 Control en Cascada 21

y + ysob

y +
y
kr y y

0
ysub
tc tp te
Tiempo

Figura 3.4: Indicadores de la respuesta escalon

Tiempo de crecimiento, tc : el tiempo que transcurre hasta el instante en el cual


la respuesta al escalon alcanza, la primer vez, el valor kr y . La constante kr vara
segun el autor, comunmente se toma tanto 0.9 o 1.

Sobrevalor, ysob : el maximo valor por el que la respuesta el escalon excede su valor
final. Generalmente se expresa como un porcentaje de y .

subvalor, ysub : el maximo (valor absoluto) por el que la respuesta al escalon pasa por
debajo del cero.

Tiempo de establecimiento, te : el tiempo transcurrido hasta que la respuesta al


escalon ingresa (sin dejarlo en tiempo subsiguiente) a una banda , alrededor del
valor final. Esta banda , generalmente se define como un porcentaje de y , 2% a
5%

Veamos el siguiente resultado, que no vamos a demostrar, para mas detalles ver [8].
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
( ptc 1)e p tc + 1 ptc
ysob .
ptc 2
Sigue del Corolario 1 que si la planta tiene un polo inestable:
necesariamente hay sobrevalor en la respuesta al escalon

el sobrevalor sera mayor cuanto mayor sea el tiempo de respuesta del lazo cerrado.
Es decir los polos inestables demandaran accion de control rapida para un mejor desem-
peno (menor sobrevalor). Cuanto mayores (mas rapidos) sean los polos inestables, mayor
sera esta demanda.
En conclusion podemos extraer la siguiente regla practica de diseno para evitar gran-
des sobrevalores.
22 Diseno de Controladores y Simulacion

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
como frecuencia de corte del sistema a lazo cerrado algun valor un poco mayor para hacer
la accion de control rapida. Utilizamos los valores de los parametros descriptos en la
seccion 2.7, donde
8.82s
G2 (s) = .
(s + 11.8)(s2 32.66)
Propusimos tres polos rapidos para la eleccion del Alc (s) tal que la frecuencia del lazo
sea mayor que el polo inestable. Los polos propuestos son p=[-14 -13 -12], es decir,
Alc (s) = s3 + 39s2 + 506s + 2184, con el que resolvimos la ecuacion (3.7) dando como resul-
tado el controlador
129.67(s + 11.8)(s + 5.715) 1143.7s
K2 (s) = , y T2 (s) = .
(s + 52)(s 7.341) (s + 14)(s + 13)(s + 12)

3.1.2 Diseno 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
p0 r/l s (s2 g/l )
T2 (s) G1 (s) =
Alc r/l s2
p r/l (s2 g/l )
= 0 , (3.8)
r/l s Alc
que tiene un polo en el origen y un cero de fase no mnima que impondran limitaciones
en el diseno.
p0 r/l s
T2 (s) = Alc

R(se) - l- (s) (s2 g/l ) (s)


K1 (s) - l - p0 (s+ g/l )(s+ ) - r/l s
(s2 g/l )(s+ )
-
r/l s2
-c
6 6 s2 +l1 s+l0

Figura 3.5: Diseno del lazo primario

Limitaciones de Diseno Impuestas por G1 (s) T2 (s)


Como vieramos en 3.1.1, tanto los polos inestables como los ceros de fase no mnima,
imponen limitaciones en el diseno, por ejemplo, implican la existencia de subvalor, indu-
ciendo un compromiso entre la magnitud de este y el maximo tiempo de establecimiento de
la respuesta, como veremos a continuacion citando un resultado parecido al del Corolario
1, de [8].
3.1 Control en Cascada 23

Corolario 2. [Ceros de fase no mnima y subvalor]. Si la planta tiene un cero de fase no


mnima real en q > 0, su respuesta al escalon tiene forzosamente subvalor. Mas aun, si te
es el tiempo de establecimiento a un nivel del sistema a lazo cerrado, entonces se cumple
que

1
ysub .
eqte
1
La interpretacion del Corolario 2, es que si la planta tiene un cero real de fase no
mnima

necesariamente hay subvalor en la respuesta al escalon

el pico del subvalor sera mayor cuanto menor sea el tiempo de establecimiento del
lazo cerrado.

Es decir, los ceros de fase no mnima demandaran accion de control lenta para un
mejor desempeno (menor subvalor). Cuanto menores (mas lentos) sean los ceros de fase
no mnima, mayor sera esta demanda.
En conclusion podemos extraer la siguiente regla practica de diseno para evitar gran-
des subvalores.

El polo dominante a lazo cerrado debe ser menor (en magnitud) que el menor cero
de fase no mnima del sistema.

Si retomamos nuestro sistema con los valores constantes, con

(s2 32.66) 1270.7(s2 32.66)


G1 (s) = G1 (s) T2 (s) = . (3.9)
0.9s2 s(s + 14)(s + 13)(s + 12)

En la Figura 3.6, vemos el lugar de races, obtenido con el comando rlocus de M ATLAB,
de G1 (s) T2 (s). Este grafico muestra donde se ubicaran los polos cuando realimentamos
solo con una ganancia proporcional. Como podemos apreciar, existen valores de ganancia
tal que los polos se ubiquen todos en el semiplano izquierdo.
Para encontrar un valor de ganancia tal que estabilice el lazo cerrado, utilizamos el
comando rlocfind(G2T2) que nos permite encontrar ganancias en un lugar de races en
forma interactiva. De esta forma vimos que tomando K1 (s) = 0.02, los polos a lazo cerrado
resultan las cruces, +, de la Figura 3.6. Por lo que la transferencia a el lazo cerrado
resulta
25.41(s2 32.66)
T1 (s) = .
(s + 20)(s + 0.35)(s2 + 17.7s + 95.05)

3.1.3 Simulacion
En esta seccion tomamos los controles K1 (s) y K2 (s) y los implementamos en S IMULINK
para analizar el desempeno obtenido. Simular dichos controladores con el sistema lineal
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
3.8, mostramos el diagrama de bloques que implementamos para la simulacion, donde el
bloque Alinealidades representa, en forma aproximada las perturbaciones del motor: la
24 Diseno de Controladores y Simulacion

10

2
Imag Axis

10
15 10 5 0 5 10 15 20
Real Axis

Figura 3.6: Lugar de races de G1 (s) T2 (s)

friccion estatica (Figura 3.7) y el juego en el eje del motor ( 1o ). El bloque K1d es el control
K1 (s) discretizado con un tiempo de muestreo T = 0.02 y como condicion inicial tomamos
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
friccion estatica.

(t)

0.15 (t)

Figura 3.7: Friccion estatica del motor

La Figura 3.9 muestra los resultados obtenidos luego de simular el lazo cerrado duran-
te 20 segundos. En el grafico de la izquierda mostramos la comparacion entre la posicion
del brazo sin tener en cuenta el rozamiento estatico ni el juego del motor (las alinealidades)
con el que s las tiene en cuenta. A la derecha vemos que estas alinealidades no afectan
tanto a la posicion del angulo.
3.1 Control en Cascada 25

Discretizacio Tita
Discretizacion
de la Actuacion tita

.1 K2d u Tita
Step3 K1 K2 Saturacion psi In1 Out1
de la actuacion
Pendulo no lineal1 Discretizacin Psi Psi
Alinealidades

Figura 3.8: Diagrama de bloques de la simulacion

0.12 0.06
con alinealidades sin alinealidades
sin alinealidades con alinealidades
0.1 0.05

0.04
0.08

0.03
0.06

0.02
Posicin [rad]

Posicin [rad]

0.04
0.01
0.02
0

0
0.01

0.02
0.02

0.04 0.03

0.06 0.04
0 2 4 6 8 10 12 14 16 18 20 0 2 4 6 8 10 12 14 16 18 20
Tiempo [seg] Tiempo[seg]

Figura 3.9: Resultados obtenidos, a la derecha y a la izquierda


26 Diseno de Controladores y Simulacion

3.2 Control por Realimentacion de Estado


En esta seccion vamos a introducir conceptos y tecnicas de control en sistemas descriptos
por ecuaciones de estado. Los resultados y definiciones de esta seccion fueron obtenidos
de [2].
Tomemos el sistema a lazo abierto de dimension n y de una sola entrada descripto por
x(t) = Ax(t) + Bu(t)
(3.10)
y(t) = Cx(t).
En realimentacion de estado, como muestra la Figura 3.10, la senal de control se propone
lineal al estado

u(t) = r(t) Kx(t). (3.11)

r u
- i- B
x R S x
- i - S -C
y-
6 6 

A 

K 

Figura 3.10: Realimentacion de estado

La substitucion de (3.11) en (3.10), da lugar al lazo cerrado del sistema, cuyo modelo
de estado viene dado por
x(t) = ( A BK ) x(t) + Br(t)
(3.12)
y(t) = Cx(t).
Para utilizar esta tecnica estamos suponiendo que todas las variables de estado estan
al alcance para medirlos. Pero en realidad no es as, en esta seccion detallaremos como
podemos calcular la matriz de realimentacion K para que la dinamica del sistema a lazo
cerrado se comporte de una determinada manera. Veremos tambien bajo que condiciones
esto ocurre y que hacer en aquellos casos donde no podemos medir todas las variables de
estado.

3.2.1 Diseno de la Matriz K


Una propiedad de sistemas lineales esencial en la realimentacion de estado es la de con-
trolabilidad. La controlabilidad tiene que ver con la posibilidad de llevar al sistema de
cualquier estado inicial a cualquier estado final en tiempo finito, no importando que tra-
yectoria se siga, o que entrada se use.

La ecuacion de estado (3.10), o el par ( A, B), se dice controlable si para cual-


quier estado inicial x(0) = x0 Rn y cualquier estado final x1 Rn , existe una
entrada que transfiere el estado x de x0 a x1 en tiempo finito. En caso contrario,
la ecuacion (3.10), o el par ( A, B), se dice no controlable.

El siguiente Teorema afirma bajo que condiciones existe una matriz K tal que la reali-
mentacion de estado con dicha matriz ubique los autovalores del sistema a lazo cerrado
donde queramos (demostracion ver [2]).
3.2 Control por Realimentacion de Estado 27

Teorema 1 (Asignacion de autovalores). Si la ecuacion de estado (3.10) es controlable,


entonces mediante la realimentacion de estado u(t) = r(t) Kx(t), donde K es un vector
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 con-


trolabilidad 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.


Convenientemente, M ATLAB tiene la funcion K=place(A,B,P), que calcula K para ubi-
car los autovalores en los valores dados en el vector P. Lo unico que resta hacer es elegir
los autovalores deseados para nuestro sistema, para lo que debemos tener en cuenta las
restricciones estructurales que posee el pendulo invertido, ver seccion 3.1.2.

Control LQR Otra forma de calcular la ganancia de realimentacion K es siguiendo algun


criterio de optimizacion, por ejemplo minimizando el funcional cuadratico
Z t
J= [ xT (t) Qx(t) + uT (t) Ru(t)] dt, (3.13)
0

donde Q y R son matrices constantes que ponderan las variables de estado y la actuacion
respectivamente. Como el criterio se basa en funcionales cuadraticos, recibe el nombre
de regulador lineal cuadratico (LQR). El funcional J puede interpretarse como el costo total
de la transicion de las variables de estado de un punto a otro.
Obtener la matriz K, minimizando el funcional (3.13) analticamente no es tarea facil,
ver [1], pero M ATLAB cuenta con la funcion K=lqr(A,B,Q,R). Para ello es necesario ajustar
Q y R hasta obtener el desempeno deseado.
Para nuestro diseno tomamos

100 0 0 0
0 1 0 0
Q= 0 0 1 0
y R = 10,
0 0 0 1

A y B de (2.27) y obtuvimos
 
K = 24 0.3 3.8 2.4 (3.14)

3.2.2 Seguimiento Robusto: Accion Integral


En esta seccion introducimos un esquema de seguimiento de referencias constantes. La
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.


28 Diseno de Controladores y Simulacion

r - i- R Sx-
S
a
K - iu- B x R S x
- i - S -C
y-
a
6 
 6 6 

A 

K 

Figura 3.11: Diagrama de bloques del esquema de seguimiento

Quedando as las ecuaciones de estado del sistema aumentado


        
x A 0 x B 0
= + u+ r
x a C 0 x a 0 1
 
 x 
Si consideramos la realimentacion de estado u = K Ka , el sistema a lazo ce-
xa
rrado de la Figura 3.11 es
      
x A BK BKa x 0
= + r (3.15)
x a C 0 xa 1
 
La idea ahora es disenar K Ka de forma tal que el sistema (3.15) sea asintoticamente
estable. En particular, la estabilizacion de x a , implica que se produzca el seguimiento
deseado ya que

lim x a = 0 lim y(t) = r.


t t

 
Para saber si podemos disenar K Ka para que (3.15) sea estable veamos el siguiente
teorema:

Teorema 2 (Controlabilidad de la planta aumentada). Si ( A, B) es controlable y si G (s) =


C (sI A)1 B no tiene ceros en s = 0, los autovalores de la matriz de evolucion aumentada
en
 (3.15) pueden asignarse arbitrariamente seleccionando la matriz de realimentacion
K Ka .

En la seccion 3.2.1, vimos que nuestro sistema es controlable, es decir que rango C = 4
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

100 0 0 0 0
    0 1 0 0 0
A 0 B
Aa = , Ba = , Qa =
0 0 1 0 0 y R = 10.
C 0 0 0

0 0 1 0
0 0 0 0 1

La ganancia que obtuvimos es


 
K = 27 1.06 4.29 2.85 0.316 . (3.16)
3.2 Control por Realimentacion de Estado 29

El control con realimentacion de estado asume la disponibilidad de las variables de


estado. Esto no es lo que pasa en la practica, en particular nuestro sistema no cuen-
ta con sensores para medir las velocidades angulares (variables de estado del sistema)
por lo que debemos estimar estas variables no medidas. A continuacion describiremos
dos ideas para estimar dichas variables de estado y luego mostraremos las simulaciones
correspondientes.

3.2.3 Estimadores de las variables de Estado no Medidos


Esta primer idea es basica, aproximamos la derivada de una variable como cociente incre-
mentales. Esto lo podemos hacer ya que las variables de estado que queremos estimar no
son ni mas ni menos que la derivada de las dos variables estado que medimos. Es decir

(k + 1) (k)

T (3.17)
(k + 1) (k)

T
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
sea buena, T tiene que tomar valores pequenos.

Tita
1 1/T 1
Tita P
1 Gain
z
Unit Delay

Figura 3.12: Estimador de la derivada

Quedando de esta forma un control que en lugar de ser estatico 7 es dinamico (o con
memoria).

3.2.4 Observador de las variables de Estado


En esta seccion introduciremos un dispositivo dinamico, 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,
aunque no el estado x(t). El problema es estimar x(t) a partir de esta informacion.
La idea es que dado que conocemos las matrices A, B y C, podemos duplicar el sistema,

x (t) = A x(t) + Bu(t)


(3.18)
y(t) = C x(t),

donde y(t) es la salida que se obtiene de las variables de estado estimados. Si inyectamos
al sistema (3.18) una senal de correccion L( y(t) C x), donde L es una matriz de ganancia
7
que depende en forma instantanea de las variables de estado
30 Diseno de Controladores y Simulacion

constante, de forma tal que si no hay error no debemos corregir nada, pero si hay error,
una eleccion apropiada de L puede hacer que el error de estimacion tienda asintoticamente
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)
= ( A LC ) x(t) + Bu(t) + Ly(t).
Definamos x(t) = x(t) x(t) como el error de estimacion. Si calculamos x (t) y reem-
plazamos (3.10) y (3.19) vemos que x (t) = ( A LC ) x(t), donde los autovalores de ( A LC )
son los que gobiernan la dinamica del error de estimacion. Si pudieramos elegir L tal que
( A LC ) tenga autovalores negativos, estaramos afirmando que el error de estimacion
tiende asintoticamente a cero.

u - B
x R S x
- i - S -C
y-

6
A 

B
x x
R  i
?
   L 
S
S 6
- A LC

Figura 3.13: Observador de estado completo

En la seccion 3.2 vimos el concepto de controlabilidad, como 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
el estado inicial x(0). En caso contrario el sistema se dice no observable.
El siguiente teorema define bajo que condiciones existira L (demostracion ver [2]).
Teorema 3 (Asignacion de Autovalores en Observadores). Dado el par ( A, C ), todos los
autovalores de ( A LC ) pueden asignarse arbitrariamente seleccionando una matriz L si
y solo si ( A, C ) es observable.
Para analizar la observabilidad de un sistema basta ver que la matriz de observabilidad
O

C

CA

O=
CA2 ,

..
.
CAn1
3.2 Control por Realimentacion de Estado 31

es de rango n (es decir rango O = n).


Para analizar la observabilidad de nuestro sistema, calculamos

C
CA
O= CA2 =,
donde rango O = 4,
CA3

por lo que nuestro pendulo invertido es un sistema observable.


Para elegir donde ponemos los autovalores de A LC, tomamos los autovalores que
resultan del control LQR a lazo cerrado pero los ponemos 1.2 veces mas rapidos 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
L= 7.6284 4.3791
(3.20)
0.2567 1.4825

3.2.5 Simulacion
En esta seccion describiremos las simulaciones realizadas utilizando el programa S IMU -
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
al alcance de ser medidos, utilizando el control por realimentacion de estado (3.14). Lue-
go comparamos el desempeno realimentando las variables de estado estimados con los
observados. Una vez que decidimos cual es el mejor metodo, realizamos pruebas de se-
guimiento 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.

Realimentacion de Estado
En la Figura 3.14, mostramos la implementacion en diagrama de bloques de S IMULINK
utilizado, y la Figura 3.15 los resultados obtenidos de la simulacion, suponiendo que las
cuatro variables de estado son medidos.

Comparacion de Desempeno Estimador-Observador


En la Figura 3.16, podemos ver la implementacion en diagrama de bloques del sistema, el
control en realimentacion de estado, los estimadores de las velocidades y las limitaciones
debidas al actuador y a los sensores. Y en la Figura 3.17 la misma idea pero implementan-
do el observador calculado en (3.20), para ello utilizamos un bloque variable de estado
representando la ecuacion (3.19).
En la Figura 3.18 mostramos los resultados que obtuvimos por simulacion de la Figura
3.16 y 3.17. Cada uno de los graficos muestra una salida, (t) a la derecha y (t) a la
izquierda, en su version estimada y observada para comparar desempeno.
Para comparar los resultados obtenidos, y dado que en nuestra simulacion podemos
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
32 Diseno de Controladores y Simulacion

24

KTita

Actuacin
.3

KPsi
tita

Dsicretizacion Tita Tita


Fi In1 Out1

u Discretizacion Psi psi


Alinealidades3
titap
Discretizacion Saturacion
de la Actuacion de la actuacion
Fip

Pendulo no lineal

2.4

K TitaP

3.8

K Psip

Figura 3.14: Diagrama de bloques de la realimentacion de estado

0.16 0.06

0.14 0.05

0.12
0.04
0.1
0.03
0.08
Posicin [rad]
Posicin [rad]

0.06 0.02

0.04
0.01

0.02
0
0

0.01
0.02

0.04 0.02
0 2 4 6 8 10 12 14 16 18 20 0 2 4 6 8 10 12 14 16 18 20
Tiempo [seg]
Tiempo [seg]

Figura 3.15: Resultados obtenidos, a la derecha y a la izquierda

24

KTita

Actuacin
.3

KPsi
tita

u
Dsicretizacion Tita Tita

Discretizacion Saturacion Fi In1 Out1


de la Actuacion de la actuacion
Discretizacion Psi psi
Pendulo no lineal Alinealidades

3.8 Out1 In1

K TitaP
Estmador velocidad base

2.4 Out1 In1

K Psip
Estmador velocidad Pendulo

Figura 3.16: Realimentacion de estado con estimador


3.2 Control por Realimentacion de Estado 33

24

KTita

Actuacin
.3

KPsi
tita

Dsicretizacion Tita Tita


u

Discretizacion Saturacion Fi In1 Out1


de la Actuacion de la actuacion
Discretizacion Psi psi
Pendulo no lineal Alinealidades

3.8 Out1 In1

K TitaP
Estmador velocidad base

2.4 Out1 In1

K Psip
Estmador velocidad Pendulo

Figura 3.17: Realimentacion de estado con observador

0.06
0.15
Posicin del pndulo con Observador
Posicin del Brazo con Observador Posicin del pndulo con Estimador
Posicin del Brazo con Estimador
0.04
0.1

0.02

0.05
Posicin [rad]
Posicin [rad]

0
0.02

0.05
0.04

0.1 0.06
0 2 4 6 8 10 12 14 16 18 20 0 2 4 6 8 10 12 14 16 18 20
Tiempo [seg]
Tiempo [seg]

Figura 3.18: Comparacion de los resultados de la simulacion


34 Diseno de Controladores y Simulacion

mas informacion del sistema para estimar las variables de estado. Para terminar de
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
actuacion en el intervalo simulado, dando 577 para el caso del observador y de 1678 para
el estimador.
15
Actuacin con observador
Actuacin con estimador

10

5
Tensin [Volts]

10

15
0 2 4 6 8 10 12 14 16 18 20
Tiempo [seg]

Figura 3.19: Comparacion de la senal de actuacion

Seguimiento a Referencias
Uno de los objetivos basicos en el control es el de seguimiento de la salida a senales de re-
ferencias. En nuestro caso esta referencia es sobre la posicion del angulo del brazo. Para
la simulacion, utilizamos el sistema a lazo cerrado, estimando las velocidades angulares
con el observador calculado en 3.2.3. En la Figura 3.20 comparamos los resultados obte-
nidos cuando ponemos una referencia constante re f = 6 rad y tomamos la ganancia (3.16),
utilizando realimentacion de estado con ganancia de precompensacion 8 por un lado, y el
esquema de accion integral que mostramos en 3.2.2 por el otro.
Como dijeramos en 3.2.2, el esquema de accion integral es robusto frente a pertur-
baciones constantes. En la Figura 3.21 mostramos como se comporta un lazo con y sin
accion integral, donde perturbamos (corrimos el cero) al angulo del pendulo con 0.2 rad.

8
El sistema tiene una ganancia estatica no nula, lo que implica que en el regimen permanente tendera a
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.
3.2 Control por Realimentacion de Estado 35

4
Posicin [rad]

Ganancia de precompensacin
3 Accion Integral
Referencia

1
0 5 10 15 20 25
Tiempo [seg]

Figura 3.20: Comparacion entre ganancia de precompensacion y accion integral

10

0
Posicin [rad]

Ganancia de precompensacin
Accin Integral
5 Referencia

10

15

20
0 5 10 15 20 25
Tiempo [seg]

Figura 3.21: Comparacion entre ganancia de precompensacion y accion integral, pertur-


bando a
36 Diseno de Controladores y Simulacion
Captulo 4

Ensayos de Controladores sobre el Sistema Real

Una vez que en las simulaciones obtuvimos controladores que nos proveen el desempeno
deseado, implementamos dichos controladores en el sistema real, para comprobar que
los desempenos obtenidos en la simulacion concuerdan con los resultados reales. En
este captulo mostraremos la implementacion de dichos controladores en S IMULINK y los
resultados que obtuvimos al realizar los mismos ensayos con el sistema real.

4.1 Implementacion del Control en Cascada


En esta seccion mostraremos los resultados que obtuvimos al implementar el lazo de
control en cascada con los controles K1 ( S) y K2 (s) calculados en la seccion 3.1. La Figura
4.1 muestra la implementacion en diagrama de bloques de S IMULINK, en donde utilizamos
en lugar de una constante para K1 (s) implementamos un control proporciona-integral, PI
[7], para que el sistema no tenga error en el regimen permanente.

Referencia

0
Posicin Base

In1 Out1 Selector Manual


numcas(z)
Radianes
K1 dencas(z) Actuacin
ZeroOrder K2
ngulo Base Hold1
Motor
0
Actuacion
Radianes Constante

ngulo Pndulo ZeroOrder


Hold

Posicin Pendulo

Figura 4.1: Diagrama de bloques de la implementacion del control en cascada

La Figura 4.2 muestra los resultados obtenidos de la implementacion. Para ello cuando
comenzamos el ensayo, mantuvimos el pendulo en posicion vertical ya que este control no
puede levantarlo desde su reposo ( 0.2rad) y tomamos referencia nula.
En la Figura 4.3 mostramos los resultados que obtuvimos para (t), cuando tomamos
como referencia la senal que se muestra en la figura. Como podemos ver, el sobrevalor de
la salida es considerado, esto podra mejorarse redisenando el control K2 (s), haciendolo
mas lento (eligiendo polos para Alc2 mas pequenos). Por otro lado podramos tambien
modificar el tiempo de establecimiento, eligiendo K1 (s) mayor, ya que cuanto mayor sea
dicha ganancia, mas cerca del eje j estaran los polos a lazo cerrado, ver Figura 3.6.
38 Ensayos de Controladores sobre el Sistema Real

0.25 0.1

0.2 0.08

0.15 0.06

0.1 0.04

Poscicin [rad]
Posicin [rad]

0.05 0.02

0 0

0.05 0.02

0.1 0.04

0.15 0.06
0 5 10 15 20 25 30 35 40 0 5 10 15 20 25 30 35 40
Tiempo [seg] Tiempo [seg]

Figura 4.2: Resultados obtenidos de la implementacion del control en cascada, a la iz-


quierda (t) y a la derecha (t)

Posicin del brazo


3 Referencia

2
Posicin [rad]

2
0 20 40 60 80 100 120 140 160 180
Tiempo [seg]

Figura 4.3: Resultados obtenidos de la implementacion del control en cascada, para ana-
lizar seguimiento
4.2 Implementacion del Control en Realimentacion de Estados 39

4.2 Implementacion del Control en Realimentacion de Estados


En esta seccion describiremos el desempeno obtenido de implementar el control por reali-
mentacion de estados en el sistema real utilizando el estimador de estados y el observados,
que calculamos en la seccion 3.2. En las Figura 4.4 y 4.5 podemos ver el diagrama de
bloques S IMULINK de dicha implementacion.

Radianes 24

ZeroOrder K Tita
ngulo Pndulo
Hold1
In1 Out1 3.8

K TitaPunto
Posicin Base Estmador velocidad base1 Selector Manual

Actuacin
In1 Out1 2.4
Posicin Pendulo Product
K Psi Punto Motor
Estmador velocidad base
0
Radianes .3
Constante

ZeroOrder K Psi
ngulo Base Actuacin
Hold Step

Referencia N

Figura 4.4: Diagrama de bloques de la implementacion del control por realimentacion de


estados y el estimador

Posicin Pendulo

Radianes 24

ZeroOrder K Tita
ngulo Pndulo
Hold1
Actuacion
U
Tita P 3.8

K TitaPunto Selector Manual


Tita

Actuacin
Psi P 2.4 Product
Psi
Posicin Base
K Psi Punto
Observador Motor
0
Radianes .3 Step
Constante

ZeroOrder K Psi
ngulo Base
Hold

Referencia N

Figura 4.5: Diagrama de bloques de la implementacion del control por realimentacion de


estados y el observador

La Figura 4.6, muestra la comparacion entre los resultados obtenidos de la imple-


mentacion del estimador de las velocidades angulares y el observador. Para obtener este
desempeno utilizamos las mismas ganancias, de K y L calculadas para la simulacion.
Como esperabamos, el desempeno con el observador es mejor que el del estimador.
En la Figura 4.7 comparamos las actuaciones con uno y otro metodo de estimacion de
las variables de estado que no podemos medir. Dado que podemos guardar los valores,
calculamos nuevamente la suma absoluta de los valores muestreados de la actuacion,
para tener una idea de la potencia consumida por el motor, y obtuvimos para el caso del
40 Ensayos de Controladores sobre el Sistema Real

1 0.06
Posicin del Brazo con Observador Posicin del Pndulo con Observador
Posicin del Brazo con Estimador Posicin del Pndulo con Estimador
0.8

0.04
0.6

0.4
0.02
0.2
Posicin [rad]

Posicin [rad]
0 0

0.2
0.02
0.4

0.6
0.04

0.8

1 0.06
20 22 24 26 28 30 32 34 36 38 40 20 22 24 26 28 30 32 34 36 38 40
Tiempo [seg] Tiempo [seg]

Figura 4.6: Angulo medido en el sistema real, a la derecha y a la izquierda

observador 1764 y para el estimador 3334. SI bien los valores no son los mismos que en
la simulacion, la relacion entre ambos es bastante parecida.

6
Actuacin con Observador
Actuacin con Estimador

2
Posicin [rad]

6
20 22 24 26 28 30 32 34 36 38 40
Tiempo [seg]

Figura 4.7: Comparacion de actuaciones

4.3 Implementacion de la Accion Integral


En esta seccion analizaremos como se comporta el sistema con realimentacion de estados,
calculada en (3.16), observador de las velocidades angulares, calculada en (3.20) y accion
integral. En la Figura 4.8, mostramos la respuesta del sistema cuando la referencia es
una onda cuadrada de amplitud /2 rad y de frecuencia 60 seg. Los picos que realiza en
los primero 15 seg es debido a que el brazo tuvo que levantar el pendulo desde su reposo,
0.2 rad. El angulo no lo graficamos porque el objetivo es mostrar el seguimiento. El
4.3 Implementacion de la Accion Integral 41

grafico de la izquierda representa a la implementacion del esquema de accion integral y el


de la izquierda es la salida obtenida del lazo cerrado con ganancia de precompensacion.
2 3.5
Referencia Posicin del Brazo
Posicin del Brazo Referencia
3

1.5
2.5

2
1
Posicin [rad]

Posicin [rad]
1.5

1
0.5
0.5

0
0

0.5

0.5 1
0 20 40 60 80 100 120 140 160 180 200 0 20 40 60 80 100 120 140 160 180 200
Tiempo [seg] Tiempo [seg]

Figura 4.8: Seguimiento a una senal de referencia onda cuadrada

Dado que los resultados obtenidos con la ganancia de precompensacion son bastante
malos, Figura derecha de 4.8, modificamos las ganancias para obtener un mejor desem-
peno. Tomando
 
K = 32.04 2.50 5.06 2.5

obtuvimos los resultados de la Figura 4.9

2
Posicin del Brazo
Referencia

1.5

1
Posicin [rad]

0.5

0.5
0 20 40 60 80 100 120 140 160 180 200
Tiempo [seg]

Figura 4.9: Seguimiento una senal de referencia onda cuadrada con ganancia de precom-
pensacion
42 Ensayos de Controladores sobre el Sistema Real
Captulo 5

Analisis del efecto de las cuantizaciones y de


las perturbaciones del motor

Con el fin de realizar el proyecto con un bajo presupuesto, para la construccion del
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
imponen ciertas restricciones fsicas en el desempeno del lazo cerrado, que hicieron que
nuestros objetivos de control no sean muy estrictos en cuanto al desempeno. En este
Capitulo estudiaremos como afectan dichas restricciones al sistema y las posibles mejo-
ras. Para comprobar si dichas mejoras son justificables en cuanto al desempeno posterior
del sistema, analizamos el comportamiento del sistema a lazo cerrado a traves de si-
mulaciones, basandonos en el hecho de que el sistema simulado se comporta en forma
aproximada al real.

5.1 Disminucion en la cuantificacion del Actuador y de los Sensores


La primera mejora que se nos ocurre es aumentar la resolucion de los conversores digital-
analogico (para la actuacion), y analogico-digital (para el sensor del pendulo). La reso-
lucion actual del conversor-digital analogico es de ocho bits obteniendo una variacion
mnima de tension de 0.05859 V, aumentaremos dicha resolucion con un conversor de do-
ce bits (0.0036 V). El mismo aumento de resolucion utilizamos para el sensor de posicion
del pendulo, pasando de 0.0024 rad a 0.0012 rad. En cuanto al sensor de posicion del bra-
zo, no podremos aumentar la la resolucion en forma categorica, debido a la velocidad del
contador de pulsos implementado en la PC comenzara a perder pulsos. Una solucion es
implementar dicho contador a traves de un circuito integrado dedicado y luego leer dicho
valor en la PC a traves de un conversor digital-analogico. Para la simulacion supusimos
que podramos aumentar la resolucion del sensor a 0.0003rad.
En la Figura 5.1 podemos ver el resultado de la simulacion, donde comparamos el
sistema mismo bajo las mismas condiciones que en 3.2.5, con el sistema agregando las
mejoras mencionadas.
Como pudimos ver en la Figura 5.1, el aumento en la resolucion de los conversores
no representa una mejora en el desempeno del sistema. Pero como vimos en 1.2.1 s
es mejor aumentar la resolucion del conversor digital-analogico ya que podemos de esa
forma aumentar la tension de alimentacion al motor, de esa forma aumentar su reaccion.

5.2 Mejoras fsicas del motor


Otra de las cosas que se podran mejorar tienen que ver con el motor. Como vimos en
3.1.3 existen dos tipos de perturbaciones ocasionadas por el motor friccion estatica y
44 Analisis del efecto de las cuantizaciones y de las perturbaciones del motor

0.12 0.06

Con mejoras
0.1 0.05 Con mejoras
Sin mejoras
Sin mejoras

0.08 0.04

0.06 0.03

0.04 0.02
Posicin [rad]

Posicin [rad]
0.02 0.01

0 0

0.02 0.01

0.04 0.02

0.06 0.03

0.08 0.04
0 5 10 15 20 25 0 5 10 15 20 25
Tiempo [seg] Tiempo [seg]

Figura 5.1: Comparacion entre el sistema con y sin ampliacion en la resolucion del actua-
dor y de los sensores, derecha (t) y a la izquierda (t)

juego en el eje. Veamos que sucede si disminuimos el roce estatico en 20 veces, Figura
5.2. Esta disminucion se puede lograr, por ejemplo, utilizando un motor con rodamientos
a rulemanes.
0.12 0.06

0.1 Con mejoras 0.05 Con mejoras


Sin mejoras Sin mejoras
0.08 0.04

0.06 0.03

0.04 0.02
Posicin [rad]

Posicin [rad]

0.02 0.01

0 0

0.02 0.01

0.04 0.02

0.06 0.03

0.08 0.04
0 5 10 15 20 25 0 5 10 15 20 25
Tiempo [seg] Tiempo [seg]

Figura 5.2: Comparacion entre el sistema con friccion estatica y reduciendola 20 veces,
derecha (t) y a la izquierda (t)

Veamos ahora que sucede si ademas disminuimos el juego del eje, Figura 5.3. Esta
disminucion se puede lograr, por ejemplo, utilizando una reduccion con correas dentadas
en lugar de engranajes.
Concluimos, a partir de los ensayos realizados, que para obtener un mejor desempeno
hay que centrarse en la disminucion las perturbaciones originadas por el motor.
5.2 Mejoras fsicas del motor 45

0.12 0.06

Con mejoras
0.1 0.05 Con mejoras
Sin mejoras
Sin mejoras
0.08 0.04

0.06 0.03

0.04 0.02
Posicin [rad]

Posicin [rad]

0.02 0.01

0 0

0.02 0.01

0.04 0.02

0.06 0.03

0.08 0.04
0 5 10 15 20 25 0 5 10 15 20 25
Tiempo [seg] Tiempo [seg]

Figura 5.3: Comparacion entre el sistema , derecha (t) y a la izquierda (t)


46 Analisis del efecto de las cuantizaciones y de las perturbaciones del motor
Captulo 6

Conclusiones

En este informe describimos la construccion y el posterior control a traves de una PC del


pendulo invertido rotatorio. La eleccion de utilizar un software en tiempo real fue una
gran ventaja, dado que pudimos desarrollar controladores, observadores y estimadores
en forma sencilla. Ademas nos permitio almacenar los datos obtenidos del sistema para
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
que disenamos estan basados en dicho modelo.
Las tecnicas de control que desarrollamos son tecnicas lineales. Aunque utilizamos
un sistema no lineal, mostramos que es posible desarrollar tecnicas simples aunque el
modelo es complejo. Todas las tecnicas coinciden en la especificacion de diseno que
planteamos: estabilizacion asintotica del angulo del pendulo y seguimiento a referencias
constantes del angulo de giro del brazo.
El diseno del control en cascada fue sencillo ya que supone que el sistema es de una
entrada y una salida y de esta forma permite utilizar cualquier tecnica de control que
utilice la representacion entrada salida. La implementacion fue inmediata dado que solo
necesitamos medir las variables que tenemos disponibles. Si bien el desempeno obtenido
a lazo cerrado fue bueno, la estabilidad resulta muy sensible a perturbaciones.
El diseno de control por realimentacion de estado, siguiendo el criterio de optimizacion
LQR, no lo calculamos analticamente por su complejidad. Para ello utilizamos el software
de control M ATLAB, donde la ventaja es que los unicos parametros que ajustamos fueron
las ponderacion de cada una de las variables de estado y de la senal de control. Para im-
plementar el control por realimentacion de estados fue necesario desarrollar tecnicas que
aproximen las variables de estado que no podemos medir. En nuestro caso propusimos
dos: estimador de derivadas y observador lineal de estado. Si bien el primero es simple de
implementar, el desempeno alcanzado por el segundo mejor, dado que la amplitud de las
oscilaciones que produce es menor. El unico inconveniente de este control, es que para
que siga referencias constantes es necesario agregar una ganancia de precompensacion,
que para resulta sensible frente a perturbaciones.
Por ultimo, al sistema con realimentacion de estado, le agregamos accion integral para
lograr seguimiento de referencias constantes. Con este esquema, logramos no solo que
siga referencias constantes sino tambien hicimos mas robusto el lazo cerrado del sistema.
Una pregunta que nos planteamos cuando finalizamos los ensayos, fue si era posible
mejorar los desempenos obtenidos con los controladores disenados modificando aquellos
componentes fsicos, sensores y actuador,que nos imponen limitaciones. La conclusion
que obtuvimos por simulacion es que para mejorar el desempeno, hay que centrarse en
disminuir el roce estatico y el juego en el eje del motor.
48 Conclusiones
Apendice A

Descripcion detallada de los componentes del


Sistema

A.1 Controlador
A.1.1 Especificaciones de la PC
A.1.2 Placa de Adquisiscion de Datos
En la Tabla A.1, podemos ver las distintas direcciones de la placa. La direccion de memo-

DIR h Lectura Escritura


xx0 Entrada Salida Digital
xx1 DAC1 Salidas
xx2 DAC2 Analogicas
xx8 Datos Start 0
xx9 EOC Start 1
xxA Start 2
xxB Start 3 Entradas
xxC Start 4 Analogica
xxD Start 5
xxE Start 6
xxF Start 7

Tabla A.1: Direcciones de memoria

ria base se elige a traves de tres jumpers ubicados en la placa. La direccion por defecto es
la 300h.

Driver
La forma de programar estos drivers en el S IMULINK es a traves de un bloque denominado
S-Function.

S-Function Permiten agregar algoritmos propios a bloques de S IMULINK. Se pueden es-


cribir en M ATLAB o en C. Las S-function las incorporamos mediante un bloque llamado
S-function. En nuestro caso programamos cuatro S-functions distintas:

lectura de entradas analogicas,

escritura de entradas analogicas,


50 Descripcion detallada de los componentes del Sistema

lectura de entradas digitales, y

escritura de entradas digitales.

Las cuatro fueron programadas en C.

A.2 Actuador
Existen principalmente tres problemas a la hora de controlar un motor de corriente con-
tinua.

1. Senal de actuacion de baja potencia. La senal de actuacion entregada por la PC es de


5V y en el orden de los mA., mientras que la tension nominal de trabajo del motor es
de 24V y la corriente que consume es de 2A.

2. Sentido de giro. Para cambiar el sentido de giro de un motor de corriente continua es


necesario invertir la tension que lo alimenta.

3. Consumo de energa. Para variar la velocidad de un motor de corriente continua exis-


ten varios metodos. El mas comun de ellos es variar la tension de alimentacion del
mismo, obteniendo una variacion proporcional en el numero de revoluciones. Uno
de los problemas es la disipacion de potencia de los amplificadores utilizados para
alimentar el motor, ya que si queremos alimentar al motor con la mitad de tension
de alimentacion nominal, la mitad de la potencia entregada por la fuente de alimen-
tacion se disipa en el amplificador. Este metodo es muy utilizado si necesitamos que
el motor se encuentre en las proximidades de su velocidad nominal.

Los dos primeros problemas los solucionamos a traves de un Puente H, Figura A.1.
Este puente esta compuesto por cuatro transistores MosFet, dos de canal N y dos de
canal P que los haremos trabajar en corte o saturacion, es decir, conducen o no conducen.
Cuando queremos que el motor gire hacia un lado hacemos conducir a los transistores
MOS1 y MOS3, en este caso el potencial positivo se encuentra en el borne 1 del motor,
si queremos que gire en sentido contrario, hacemos conducir los transistores MOS2 y
MOS4, en este caso el potencial positivo se encuentra en el borne 2 del motor, es decir,
invertimos la tension aplicada. Para lograr que los transistores conduzcan o no en el
momento indicado, se le agrega una etapa de logica que evita que transistores del mismo
lado de la H conduzcan al mismo tiempo, ya que eso provocara que ambos se quemen
debido a que no tienen una resistencia que limite la corriente que circula a traves de ellos.
El metodo que utilizamos para solucionar el problema 3, es el de modulacion de ancho
de pulso (PWM), en el cual se alimenta al motor con una senal cuadrada de una frecuencia
determinada y amplitud igual a la tension nominal del motor, a la cual se le modifica el
tiempo activo, obteniendo una media de tension proporcional a ese tiempo. Al ser la
frecuencia de la onda mucho mayor al tiempo de respuesta del motor, este ve en sus
bornes la tension media resultante. La diferencia que existe con el primer metodo es que
en este caso, siempre se le aplica la tension nominal al motor.
El circuito PWM que implementamos, Figura A.2, tiene como entrada una senal analogica
de 0 - 5V, la variacion del tiempo activo de la senal PWM se realiza a traves de dicha en-
trada. La frecuencia de PWM que utilizamos es 250Hz.
A.2 Actuador 51

15V 15V

5V 15V 5V
10K 10K
820

820

MOS1 1 2 MOS2 820


820 15V 15V
MOS3 Motor MOS4
10K
10K 820

820 820

5V 5V

Logica de Control

Direccion

On/Off

Figura A.1: Puente H

5V

50K

1M 1M
47K 8 4
7
5V 12V 12V
1K
6 ne555

8 1 + 50K
+ 47nF
2 2
820
12V 1
3 Vin
12V
74HC14 4
10K

12V

PWM
7

Figura A.2: Circuito de implementacion del PWM


52 Descripcion detallada de los componentes del Sistema

A.3 Sensores
A.3.1 Encoder Incremental
El encoder incremental consta de dos diodos emisores de luz cada uno enfrentado con un
fotodiodo, entre los cuales se ubica un disco con n ranuras que gira solidaria a un eje,
como podemos ver en la Figura A.3 ,

Placa ranurada

A s1
tiempo
Emisor Receptor

B s2

Figura A.3: Diagrama de un encoder incremental

Cuando una ranura se encuentra entre el diodo emisor de luz y el fotodiodo, el fotodio-
do sensa la luz emitida, no as cuando entre ambos se encuentra la placa. A medida que
el disco gira, obtenemos en los fotodiodos dos senales como las que vemos en la Figura
A.4.

s1 s1

s2 s2

t t
Sentido de giro

Figura A.4: Senales en los fotodiodos

El defasaje de 90 grados de las senales es debido a la ubicacion de los sensores. Este


defasaje es util para detectar el sentido de giro del eje, si prestamos atencion a la Figura
A.4, podemos ver que dependiendo del sentido de giro una senal adelanta a la otra. To-
mamos a una senal s1 para contar los pulsos, en cada flanco ascendente de s1 contamos
un pulso, ahora tenemos que saber si lo sumamos o lo restamos, dependiendo el sentido
de giro. Esa informacion la obtenemos de la senal s2 . Si s2 esta en alto, la sumamos, si
esta en bajo la restamos.
Una de las ventajas de este tipo de sensor de angulo, es que el rango de medicion es
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
cuenta con 20 ranuras, lo que representa una precision de 360 40 , ya que contamos los
pulsos de ambas senales. Debido a que el motor posee una reduccion 1:130, al dar el
1
motor una vuelta el eje exterior da 130 vueltas. Por lo tanto aumentamos la precision a
2
40130 = 0.0012 rad / pulso.
La logica para contar los pulsos fue realizada en el S IMULINK, en la Figura A.5 podemos
ver dicha implementacion.

1
S1

In1

Out1

In2 1
In1
2 SubSystem NOT 1
S2 Out1
Logical
2*pi/5150 1 Operator
Radianes 2
Conversion de In2
In1
pulsos a Radianes

Out1
Trigger
In2

SubSystem1

Figura A.5: Diagrama de bloques S IMULINK de la Implementacion del Contador de Pulsos

A.3.2 Sensor Magnetico


El sensor magnetico consta de un puente de Wheatstone como el de la figura A.6, el cual al
variar el valor de una de las resistencias se desbalancea provocando una cada de tension
Vout .

Vcc
R R

Vout

R R

Figura A.6: Sensor Magneto-Resistivo

En nuestro caso, colocamos un iman solidario al pendulo, Figura A.7, al moverse el


pendulo vara el campo magnetico sobre el sensor. La senal entregada por el sensor
es del orden de los 50 V, por lo tanto fue necesario acondicionar la senal para que
se encuentre en el rango de 0V a 5V requeridos por la placa de adquisicion de datos.
Podemos ver el circuito de implementacion en la Figura A.8.
Debido al iman que colocamos, este sensor solo trabaja en un rango de angulo de-
terminado, 60o . Como solamente utilizaremos el rango 18o , ajustamos la senal para
que los 0-5V correspondan a una variacion de 18o , as obtenemos mayor precision en la
conversion.
54 Descripcion detallada de los componentes del Sistema

Pendulo

60o

Iman

Eje
Brazo Sensor Magnetico

Figura A.7: Montaje del sensor magnetico sobre el pendulo

Ajuste de la Ganancia

Amplificador Diferencial
47nF
47nF

25K

220K
Ajuste del Offset 12V
12V
4, 7K
22K 12V

+
+
Vo Sensor Magnetico Vo : 0 5V
+

12V
22K 12V
12V

820K

1M
47nF

10K
12V 12V

Figura A.8: Acondicionador de senal


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 Limita-
tions in Filtering and Control. Springer, 1997.

[9] Real Time Windows Target. Users Guide Version 1. The Math Works Inc., 1998.

También podría gustarte